Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

Message.cpp

Go to the documentation of this file.
00001 
00002 #include <time.h>
00003 #include "Utility.h"
00004 #include "Message.h"
00005 
00006 namespace rwil {
00007   Message::Message(std::string deviceName, std::string command) : m_when(time(0))
00008   {
00009     m_parameters["device"] = deviceName;
00010     m_parameters["command"] = command;
00011   }
00012 
00013   Message::Message(std::string deviceName, std::string command, time_t when) : m_when(when)
00014   {
00015     m_parameters["device"] = deviceName;
00016     m_parameters["command"] = command;
00017   }
00018 
00019   Message::Message(std::map<std::string,std::string> params) : m_parameters(params), m_when(time(0))
00020   {
00021   }
00022 
00023   Message::Message(std::map<std::string,std::string> params, time_t when) : m_parameters(params), m_when(when)
00024   {
00025   }
00026 
00027   Message::Message(const Message &msg) : m_parameters(msg.m_parameters), m_when(msg.m_when) {}
00028 
00029 
00030   const std::string& Message::GetDevice() const { return m_parameters["device"]; }
00031   const std::string& Message::GetCommand() const { return m_parameters["command"]; }
00032 
00033   bool Message::operator<(const Message& rhs)
00034   {
00035     return this->m_when < rhs.m_when;
00036   }
00037 
00038   void Message::SetParam(std::string n, std::string param) { m_parameters[n] = param; }
00039   std::string Message::GetParam(std::string n) const { return m_parameters[n]; }
00040 
00041   time_t Message::GetWhen() const { return m_when; }
00042   const std::map<std::string,std::string>& Message::GetMap() const { return m_parameters; }
00043 
00044 
00045   EncapsulatingMessage::EncapsulatingMessage(std::string encapsulateCommand, const Message &oldMessage) : Message(oldMessage.GetMap())
00046   {
00047     this->SetParam("message", encapsulateCommand);
00048   }
00049   EncapsulatingMessage::EncapsulatingMessage(std::string encapsulateCommand, const Message & oldMessage, time_t when) : Message(oldMessage.GetMap(), when)
00050   {
00051     this->SetParam("message", encapsulateCommand);
00052   }
00053 
00054   FailedAfterRetryingMessage::FailedAfterRetryingMessage(const Message & oldMessage) : EncapsulatingMessage("Failed after retrying message", oldMessage) {}
00055 
00056   SetRetriesMessage::SetRetriesMessage(std::string deviceName, unsigned retries) : Message(deviceName, "SetRetries")
00057   {
00058     this->SetParam("retries", IntToString(retries));
00059   }
00060 }

Generated on Tue Apr 9 13:53:07 2002 for RWIL - Real World Interface Library by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001