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_MOBILITY_QUERY_GLOBAL_PATH_SEGMENT__H 00041 #define __JAUS_MOBILITY_QUERY_GLOBAL_PATH_SEGMENT__H 00042 00043 #include "jaus/core/message.h" 00044 #include "jaus/mobility/mobilitycodes.h" 00045 00046 namespace JAUS 00047 { 00060 class JAUS_MOBILITY_DLL QueryGlobalPathSegment : public Message 00061 { 00062 public: 00070 class JAUS_MOBILITY_DLL PresenceVector : public JAUS::PresenceVector 00071 { 00072 public: 00073 const static Byte P1Altitude = 0x01; 00074 const static Byte P2Altitude = 0x02; 00075 const static Byte PathTolerance = 0x04; 00076 }; 00077 QueryGlobalPathSegment(const Address& dest = Address(), const Address& src = Address()); 00078 QueryGlobalPathSegment(const QueryGlobalPathSegment& message); 00079 ~QueryGlobalPathSegment(); 00080 void SetPresenceVector(const Byte presenceVector) { mPresenceVector = presenceVector; } 00081 virtual bool IsCommand() const { return false; } 00082 virtual int WriteMessageBody(Packet& packet) const; 00083 virtual int ReadMessageBody(const Packet& packet); 00084 virtual Message* Clone() const { return new QueryGlobalPathSegment(*this); } 00085 virtual UInt GetPresenceVector() const { return mPresenceVector; } 00086 virtual UInt GetPresenceVectorSize() const { return BYTE_SIZE; } 00087 virtual UInt GetPresenceVectorMask() const { return 0x07; } 00088 virtual UShort GetMessageCodeOfResponse() const { return REPORT_GLOBAL_PATH_SEGMENT; } 00089 virtual std::string GetMessageName() const { return "Query Global Path Segment"; } 00090 virtual void ClearMessageBody(); 00091 virtual bool IsLargeDataSet(const unsigned int maxPayloadSize = 1437) const { return false; } 00092 virtual int RunTestCase() const; 00093 QueryGlobalPathSegment& operator=(const QueryGlobalPathSegment& message); 00094 protected: 00095 Byte mPresenceVector; 00096 }; 00097 } 00098 00099 #endif 00100 /* End of File */