Go to the documentation of this file.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_DISCOVERY_REPORT_IDENTIFICATION__H
00041 #define __JAUS_CORE_DISCOVERY_REPORT_IDENTIFICATION__H
00042
00043 #include "jaus/core/corecodes.h"
00044 #include "jaus/core/message.h"
00045
00046 namespace JAUS
00047 {
00055 class JAUS_CORE_DLL ReportIdentification : public Message
00056 {
00057 public:
00058
00059 enum QueryType
00060 {
00061 Reserved = 0,
00062 SystemIdentification,
00063 SubsystemIdentification,
00064 NodeIdentification,
00065 ComponentIdentification
00066 };
00067
00068
00069 enum IdentificationType
00070 {
00071 Vehicle = 10001,
00072 OCU = 20001,
00073 OtherSubsystem = 30001,
00074 Node = 40001,
00075 Payload = 50001,
00076 Component = 60001
00077 };
00078 ReportIdentification(const Address& dest = Address(), const Address& src = Address());
00079 ReportIdentification(const ReportIdentification& message);
00080 ~ReportIdentification();
00081 void SetQueryType(const QueryType type) { mQueryType = type; }
00082 void SetType(const IdentificationType type) { mIdentificationType = type; }
00083 bool SetIdentification(const std::string& identification);
00084 QueryType GetQueryType() const { return mQueryType; }
00085 IdentificationType GetType() const { return mIdentificationType; }
00086 std::string GetIdentification() const { return mIdentification; }
00087 virtual bool IsCommand() const { return false; }
00088 virtual int WriteMessageBody(Packet& packet) const;
00089 virtual int ReadMessageBody(const Packet& packet);
00090 virtual Message* Clone() const { return new ReportIdentification(*this); }
00091 virtual UInt GetPresenceVector() const { return 0; }
00092 virtual UInt GetPresenceVectorSize() const { return 0; }
00093 virtual UInt GetPresenceVectorMask() const { return 0; }
00094 virtual UShort GetMessageCodeOfResponse() const { return 0; }
00095 virtual std::string GetMessageName() const { return "Report Identification"; }
00096 virtual void ClearMessageBody();
00097 virtual bool IsLargeDataSet(const unsigned int maxPayloadSize) const { return false; }
00098 ReportIdentification& operator=(const ReportIdentification& message);
00099 protected:
00100 QueryType mQueryType;
00101 IdentificationType mIdentificationType;
00102 std::string mIdentification;
00103 };
00104 }
00105
00106 #endif
00107