Subversion Repositories HomeAutomation

Rev

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

  1. /*
  2.  * Message.cpp
  3.  *
  4.  *  Created on: Jul 21, 2009
  5.  *      Author: Mattias Runge
  6.  */
  7.  
  8. #include "Message.h"
  9.  
  10. namespace atom {
  11. namespace message {
  12.  
  13. Message::Message(string moduletype, unsigned int moduleId, string type)
  14. {
  15.     LOG.setName("Message");
  16.  
  17.     this->myModuletype = moduletype;
  18.     this->myModuleId = moduleId;
  19.     this->myType = type;
  20.  
  21.     // TODO Check if this message is supported for the module
  22.  
  23.     // TODO Find if this is in our out on module, if out then set myFromModule = true
  24.  
  25.     // TODO Convert type into variables
  26.     // TODO Convert type into responses
  27. }
  28.  
  29. Message::Message()
  30. {
  31. }
  32.  
  33. Message::~Message()
  34. {
  35. }
  36.  
  37. void Message::setOrigin(const void *origin)
  38. {
  39.     //LOG.debug("setOrigin(" + itos((unsigned long) origin) + ")");
  40.     this->myOrigin = origin;
  41. }
  42.  
  43. bool Message::isOrigin(const void *origin)
  44. {
  45.     //LOG.debug("isOrigin(" + itos((unsigned long)origin) + "==" + itos((unsigned long) this->myOrigin) + ")");
  46.     return this->myOrigin == origin;
  47. }
  48.  
  49.  
  50. bool Message::isFromModule()
  51. {
  52.     return this->myFromModule;
  53. }
  54.  
  55. string Message::getModuletype()
  56. {
  57.     return this->myModuletype;
  58. }
  59.  
  60. unsigned int Message::getModuleId()
  61. {
  62.     return this->myModuleId;
  63. }
  64.  
  65. string Message::getType()
  66. {
  67.     return this->myType;
  68. }
  69.  
  70. Variable & Message::getVariable(string name)
  71. {
  72.     return this->myVariables[name];
  73.  
  74.     // TODO Check if it does not exist, throw exception?
  75. }
  76.  
  77. void Message::readBits(BitBuffer & buffer)
  78. {
  79.     for (variableMap::iterator iter = this->myVariables.begin(); iter != this->myVariables.end(); iter++)
  80.     {
  81.         iter->second.readBits(buffer);
  82.     }
  83. }
  84.  
  85.  
  86. Message::responseList Message::getResponses()
  87. {
  88.     return this->myResponses;
  89. }
  90.  
  91. }
  92. }
  93.