00001 // Copyright (c) 2004, Thomas Lochmatter, thl@lothosoft.ch 00002 00003 #ifndef classMipTxMessage 00004 #define classMipTxMessage 00005 00006 #include "MipMessage.h" 00007 00009 00012 class MipTxMessage: public MipMessage { 00013 00014 private: 00015 int mWriteIndex; // index of the next data byte to write 00016 00017 public: 00019 MipTxMessage(int src=0, int dest=0, eType type=sNone); 00020 00022 int GetLength() const {return mWriteIndex+2;} 00024 unsigned char *GetPacket(); 00025 00027 void WriteCommand(unsigned char value) {WriteByte(value);} 00029 void WriteByte(unsigned char value); 00031 void WriteUnsignedInteger16(unsigned short int value); 00033 void WriteSignedInteger16(short int value); 00035 void WriteUnsignedInteger32(unsigned int value); 00037 void WriteSignedInteger32(int value); 00039 void WriteFloat(float value); 00041 void WriteBool(bool value); 00042 00044 void WriteHeader(); 00046 void WriteLength(); 00048 void WriteCRC(); 00049 }; 00050 00051 #endif