00001 00002 00003 00004 00005 00006 00007 00008 00009 00010 00011 00012 00013 00014 00015 00016 00017 00018 00019 00020 00021 00022 00023 00024 00025 00026 00027 00028 00029 00030 00031 00032 00033 00034 00035 00036 00037 00038 00039 00040 #ifndef __JAUS_CORE_MANAGEMENT_SET_EMERGENCY__H 00041 #define __JAUS_CORE_MANAGEMENT_SET_EMERGENCY__H 00042 00043 #include "jaus/core/corecodes.h" 00044 #include "jaus/core/message.h" 00045 00046 namespace JAUS 00047 { 00058 class SetEmergency : public Message 00059 { 00060 public: 00061 SetEmergency(const Address& dest = Address(), 00062 const Address& src = Address()) : Message(SET_EMERGENCY, dest, src) 00063 { 00064 mEmergencyCode = 0; 00065 } 00066 SetEmergency(const SetEmergency& message) : Message(SET_EMERGENCY) 00067 { 00068 mEmergencyCode = 0; 00069 *this = message; 00070 } 00071 ~SetEmergency() 00072 { 00073 } 00074 void SetEmergencyCode(const UShort code) { mEmergencyCode = code; } 00075 UShort GetEmergencyCode() const { return mEmergencyCode; } 00076 virtual bool IsCommand() const { return true; } 00077 virtual int WriteMessageBody(Packet& packet) const { return packet.Write(mEmergencyCode); } 00078 virtual int ReadMessageBody(const Packet& packet) { return packet.Read(mEmergencyCode); } 00079 virtual Message* Clone() const { return new SetEmergency(*this); } 00080 virtual UInt GetPresenceVector() const { return 0; } 00081 virtual UInt GetPresenceVectorSize() const { return 0; } 00082 virtual UInt GetPresenceVectorMask() const { return 0; } 00083 virtual UShort GetMessageCodeOfResponse() const { return 0; } 00084 virtual std::string GetMessageName() const { return "Set Emergency"; } 00085 virtual void ClearMessageBody() { mEmergencyCode = 0; } 00086 virtual bool IsLargeDataSet(const unsigned int maxPayloadSize) const { return false; } 00087 SetEmergency& operator=(const SetEmergency& message) 00088 { 00089 CopyHeaderData(&message); 00090 mEmergencyCode = message.mEmergencyCode; 00091 return *this; 00092 } 00093 protected: 00094 UShort mEmergencyCode; 00095 }; 00096 } 00097 00098 #endif 00099 /* End of File */