CMessage.h 960 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. #ifndef CMessage__h
  2. #define CMessage__h
  3. #include <string>
  4. #include <iostream>
  5. #define MAX_TRANSFER_LEN (10*1024*1024)
  6. namespace Chromium {
  7. std::string UtfToGbk(const char* utf8);
  8. std::string ConvertGBKToUtf8(std::string &strGBK);
  9. class CMessage{
  10. public:
  11. CMessage();
  12. explicit CMessage(unsigned int length);
  13. explicit CMessage(CMessage *p);
  14. ~CMessage();
  15. const char* getPayload() const;
  16. const unsigned int getLength();
  17. char* getWriteableData();
  18. int getBufferLength();
  19. int getMessageType();
  20. int getSessionID();
  21. int getTransID();
  22. void exchangeSessionIdAndTransId();
  23. bool getIsEnd();
  24. int getEventID();
  25. int getSignatureID();
  26. unsigned int getCMessageLength();
  27. void clear();
  28. void setSessionID(int sessionid, bool hasTransId = true);
  29. void setTransID(int transid);
  30. private:
  31. int memoryDynamicGrowth();
  32. public:
  33. enum { HEADER_LENGTH = 4 };
  34. enum { SUGGEST_BUFFER_LENGTH = 1024 * 4 };
  35. private:
  36. char* _data;
  37. unsigned int _buf_length;
  38. };
  39. }
  40. #endif