00001 // 00002 // C++ Interface: SctBase 00003 // 00004 // Description: 00005 // 00006 // 00007 // Author: Tiziano Müller <tiziano.mueller@neuronics.ch>, (C) 2006 00008 // 00009 // Copyright: See COPYING file that comes with this distribution 00010 // 00011 // 00012 00013 00014 #ifndef KMLSCTBASE_H 00015 #define KMLSCTBASE_H 00016 00017 #include "common/dllexport.h" 00018 00019 #include "KNI/kmlCommon.h" 00020 #include "KNI/cplBase.h" 00021 00022 00023 class CKatBase; //forward declaration 00024 class CSctBase; //forward declaration 00025 00026 00027 /****************************************************************************/ 00028 // CSctBase ----------------------------------------------------------------// 00029 /****************************************************************************/ 00030 00033 struct TSctDesc { 00034 byte ctrlID; 00035 short sens_res; 00036 short sens_count; 00037 }; 00038 00041 struct TKatSCT { 00042 short cnt; 00043 CSctBase* arr; 00044 TSctDesc* desc; 00045 }; 00046 00049 struct TSctGNL { 00050 CKatBase* own; 00051 byte SID; 00052 short res; 00053 }; 00054 00057 struct TSctDAT { 00058 short cnt; 00059 short* arr; 00060 }; 00061 00062 //--------------------------------------------------------------------------// 00063 00072 class DLLDIR CSctBase { 00073 00074 friend class CKatBase; 00075 00076 protected: 00077 TSctGNL gnl; 00078 TSctDAT dat; 00079 00080 public: 00081 const TSctGNL* GetGNL() { return &gnl; } 00082 const TSctDAT* GetDAT() { return &dat; } 00083 00084 protected: 00085 CCplBase* protocol; 00086 00087 public: 00088 virtual ~CSctBase() {} //destructor 00089 00090 bool init(CKatBase* _own, const TSctDesc _sctDesc, CCplBase* protocol); 00091 00094 void recvDAT(); 00095 }; 00096 00097 00098 00099 00100 00101 00102 00103 00104 00105 00106 00107 #endif