Main Page | Class Hierarchy | Class List | File List | Class Members | File Members

TelepatiPkg.h

Go to the documentation of this file.
00001 #ifndef TELEPATIPKG_H_DEF
00002 #define TELEPATIPKG_H_DEF
00003 
00004 #include <OPENR/ODataFormats.h>
00005 #include <OPENR/OSyslog.h>
00006 
00009 using namespace std;
00010 
00014 enum pkg_type {
00015   DUMMY=0, 
00016   INFO=1, 
00017   HI=2, 
00018   HIREPLY=3, 
00019   BYE=4, 
00020   ACK=5, 
00021   DUMMYLED=6, 
00022   COUNTER=7,  
00023   LEADER=8, 
00024   LEADERREPLY=9, 
00025   COMMAND=10, 
00026   TIMEINFO=11, 
00027   OTHHEADREADY=12, 
00028   OTHLEGSREADY=13, 
00029   BREAKTHELINE=14 
00030 };
00031 
00032 
00048 class TelepatiPkg {
00049  public:
00051   TelepatiPkg();  
00056   TelepatiPkg(byte* ptr); 
00057 
00059   virtual ~TelepatiPkg() { 
00060     delete [] message;
00061   };  
00062   
00065    virtual inline void setAibo(int a) { aibo=a; return;};  
00068   virtual inline int getAibo() {return aibo;};  
00071   virtual inline pkg_type getType() { return type;};  
00076   virtual inline size_t getSize() { return size; };  
00079   virtual inline bool needConfirm() { return needAck; };  
00082   virtual inline unsigned short getSerial() { return serialNum; };  
00083 
00090   virtual byte* getMsg() = 0;  
00091 
00096   virtual TelepatiPkg* clone() = 0;
00097   
00102   byte* createStdHeader(size_t pkgDataSize); 
00103   
00110   static TelepatiPkg* createPkg(byte* ptr);  
00111 
00115   static size_t getSizeOfPkg(byte* ptr);
00116 
00117   static const int ADDR_INVALID=254; 
00118   static const int ADDR_BROADCAST=255; 
00119   static const size_t STD_HEADER_SIZE = 7;    
00121  protected:
00123   int aibo;  
00125   pkg_type type;  
00127   unsigned short size;  
00129   bool needAck;  
00131   unsigned short serialNum;  
00133   byte* message; 
00134 };
00135 #endif
00136 

Generated on Thu Jun 23 16:51:17 2005 for Packages_Library by  doxygen 1.3.9.1