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_CLEAR_EMERGENCY__H 00041 #define __JAUS_CORE_MANAGEMENT_CLEAR_EMERGENCY__H 00042 00043 #include "jaus/core/corecodes.h" 00044 #include "jaus/core/message.h" 00045 00046 namespace JAUS 00047 { 00057 class ClearEmergency : public Message 00058 { 00059 public: 00060 ClearEmergency(const Address& dest = Address(), 00061 const Address& src = Address()) : Message(SET_EMERGENCY, dest, src) 00062 { 00063 mEmergencyCode = 0; 00064 } 00065 ClearEmergency(const ClearEmergency& message) : Message(SET_EMERGENCY) 00066 { 00067 mEmergencyCode = 0; 00068 *this = message; 00069 } 00070 ~ClearEmergency() 00071 { 00072 } 00073 void SetEmergencyCode(const UShort code) { mEmergencyCode = code; } 00074 UShort GetEmergencyCode() const { return mEmergencyCode; } 00075 virtual bool IsCommand() const { return true; } 00076 virtual int WriteMessageBody(Packet& packet) const { return packet.Write(mEmergencyCode); } 00077 virtual int ReadMessageBody(const Packet& packet) { return packet.Read(mEmergencyCode); } 00078 virtual Message* Clone() const { return new ClearEmergency(*this); } 00079 virtual UInt GetPresenceVector() const { return 0; } 00080 virtual UInt GetPresenceVectorSize() const { return 0; } 00081 virtual UInt GetPresenceVectorMask() const { return 0; } 00082 virtual UShort GetMessageCodeOfResponse() const { return 0; } 00083 virtual std::string GetMessageName() const { return "Clear Emergency"; } 00084 virtual void ClearMessageBody() { mEmergencyCode = 0; } 00085 virtual bool IsLargeDataSet(const unsigned int maxPayloadSize) const { return false; } 00086 ClearEmergency& operator=(const ClearEmergency& message) 00087 { 00088 CopyHeaderData(&message); 00089 mEmergencyCode = message.mEmergencyCode; 00090 return *this; 00091 } 00092 protected: 00093 UShort mEmergencyCode; 00094 }; 00095 } 00096 00097 #endif 00098 /* End of File */