![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef simulationAddress_H_ 00007 #define simulationAddress_H_ 00008 00009 #include <vlutil/vlMachineTypes.h> 00010 #include "NetStructs.h" 00011 #include "disEnums.h" 00012 #include <string> 00013 00017 00018 #define DtSimSendToAll DtSimulationAddress(0xFFFF, 0xFFFF) 00019 00020 typedef DtSimulationAddress DtFederateId; 00021 00029 class DT_DLL_VLPROTIND DtSimulationAddress 00030 { 00031 public: 00032 DtSimulationAddress(); 00033 DtSimulationAddress(const char* str); 00034 DtSimulationAddress(int site, int app); 00035 DtSimulationAddress(const DtNetFederateId& netId); 00036 DtSimulationAddress(const DtSimulationAddress& orig); 00037 ~DtSimulationAddress() {} 00038 00039 const DtNetFederateId& operator=(const DtNetFederateId &netId); 00040 const DtSimulationAddress& operator=(const DtSimulationAddress &netId); 00041 bool operator<(const DtSimulationAddress &other) const; 00042 00043 operator DtNetFederateId () const; 00044 00045 int operator==(const DtSimulationAddress &otherGuy) const; 00046 int operator!=(const DtSimulationAddress &otherGuy) const; 00047 00049 void init(int site, int app); 00050 00052 int siteId() const; 00054 void setSiteId(int siteId); 00055 00057 int applicationId() const; 00059 void setApplicationId(int id); 00060 00062 const char *string() const; 00063 00064 public: 00065 00066 static const DtSimulationAddress& nullId(); 00067 00068 public: 00069 00071 int DtSite; 00073 int DtHost; 00074 00075 00076 protected: 00082 mutable std::string myMutableStringRep; 00083 }; 00084 00085 std::ostream& operator<< (std::ostream& stream, const DtSimulationAddress& object); 00086 00087 #define simulationAddress_inl 00088 #include "simulationAddress.inl" 00089 #undef simulationAddress_inl 00090 00091 00092 #endif 00093