Subversion Repositories HomeAutomation

Rev

Rev 1319 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | SVN | RSS feed

  1. /*
  2.  * Header.h
  3.  *
  4.  *  Created on: Jul 23, 2009
  5.  *      Author: Mattias Runge
  6.  */
  7.  
  8. #ifndef HEADER_H_
  9. #define HEADER_H_
  10.  
  11. #include <map>
  12. #include "message/Variable.h"
  13. #include "message/BitBuffer.h"
  14. #include "protocol/Protocol.h"
  15. #include "utils/convert.h"
  16.  
  17. namespace atom {
  18. namespace message {
  19.  
  20. using namespace std;
  21.  
  22. class Header
  23. {
  24.     typedef std::map<std::string, Variable> variableMap;
  25.  
  26. public:
  27.     Header();
  28.     Header(BitBuffer & buffer);
  29.     Header(unsigned long moduleId, string moduleType, string messageType);
  30.     virtual ~Header();
  31.  
  32.     unsigned long getModuleId();
  33.     string getModuleType();
  34.     string getMessageType();
  35.  
  36.     void readBits(BitBuffer & buffer);
  37.     void writeBits(BitBuffer & buffer);
  38.  
  39. private:
  40.     variableMap myVariables;
  41.  
  42.     void loadVariables();
  43. };
  44.  
  45. }
  46. }
  47.  
  48. #endif /* HEADER_H_ */
  49.