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_EVENTS_REJECT_EVENT_REQUEST__H 00041 #define __JAUS_CORE_EVENTS_REJECT_EVENT_REQUEST__H 00042 00043 #include "jaus/core/corecodes.h" 00044 #include "jaus/core/message.h" 00045 #include <string> 00046 00047 namespace JAUS 00048 { 00055 class JAUS_CORE_DLL RejectEventRequest : public Message 00056 { 00057 public: 00058 // Response types for rejection of event request. 00059 enum Response 00060 { 00061 NoPeriodicEvents = 0, 00062 NoEveryChangeEvents, 00063 ConnectionRefused, 00064 InvalidSetup, 00065 MessageNotSupported, 00066 InvalidEventID 00067 }; 00075 class JAUS_CORE_DLL PresenceVector : public JAUS::PresenceVector 00076 { 00077 public: 00078 const static Byte ErrorMessage = 0x01; 00079 }; 00080 RejectEventRequest(const Address& dest = Address(), const Address& src = Address()); 00081 RejectEventRequest(const RejectEventRequest& message); 00082 ~RejectEventRequest(); 00083 inline Byte GetRequestID() const { return mRequestID; } 00084 inline Byte GetResponseCode() const { return mResponseCode; } 00085 inline std::string GetErrorMessage() const { return mErrorMessage; } 00086 inline Byte SetRequestID(const Byte id) { return mRequestID = id; } 00087 inline Byte SetResponseCode(const Response code) { return mResponseCode = code; } 00088 bool SetErrorMessage(const std::string& message); 00089 virtual bool IsCommand() const { return false; } 00090 virtual int WriteMessageBody(Packet& packet) const; 00091 virtual int ReadMessageBody(const Packet& packet); 00092 virtual Message* Clone() const { return new RejectEventRequest(*this); } 00093 virtual UInt GetPresenceVector() const { return mPresenceVector; } 00094 virtual UInt GetPresenceVectorSize() const { return BYTE_SIZE; } 00095 virtual UInt GetPresenceVectorMask() const { return 0x01; } 00096 virtual UShort GetMessageCodeOfResponse() const { return 0; } 00097 virtual std::string GetMessageName() const { return "Reject Event Request"; } 00098 virtual void ClearMessageBody(); 00099 virtual bool IsLargeDataSet(const unsigned int maxPayloadSize) const { return false; } 00100 RejectEventRequest& operator=(const RejectEventRequest& message); 00101 protected: 00102 Byte mPresenceVector; 00103 Byte mRequestID; 00104 Response mResponseCode; 00105 std::string mErrorMessage; 00106 }; 00107 } 00108 00109 #endif 00110 /* End of File */