![]() |
VR-Link API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 00006 #ifndef amoSR_H_ 00007 #define amoSR_H_ 00008 00013 00014 #if DtTENA 00015 00016 #include "stateRep.h" 00017 #include <vlpi/entityIdentifier.h> 00018 #include <vlutil/vlString.h> 00019 #include <vector> 00020 00021 00023 enum DtAmoApplicationStatus 00024 { 00025 DtAppStatusUnknown, 00026 DtAppStatusInitializing, 00027 DtAppStatusNormalRunning, 00028 DtAppStatusWarning, 00029 DtAppStatusCritical, 00030 DtAppStatusFailure, 00031 DtAppStatusPaused, 00032 DtAppStatusStopped, 00033 DtAppStatusShuttingDown 00034 }; 00035 00036 00041 class DT_DLL_VL DtClassStatusRecord 00042 { 00043 public: 00045 DtClassStatusRecord(); 00046 00048 virtual ~DtClassStatusRecord(); 00049 00051 DtClassStatusRecord(const DtClassStatusRecord& orig); 00052 00054 DtClassStatusRecord& operator=(const DtClassStatusRecord& orig); 00055 00057 virtual bool operator==(const DtClassStatusRecord& rhs) const; 00058 00060 virtual bool operator!=(const DtClassStatusRecord& rhs) const; 00061 00064 virtual void setObjectType(unsigned int objType); 00065 00067 virtual unsigned int objectType() const; 00068 00070 virtual void setCount(unsigned int count); 00071 00073 virtual unsigned int count() const; 00074 protected: 00075 unsigned int myObjectType; 00076 unsigned int myCount; 00077 }; 00078 00083 class DT_DLL_VL DtAmoStateRepository : public DtStateRepository 00084 { 00085 public: 00087 DtAmoStateRepository(); 00088 00090 virtual ~DtAmoStateRepository(); 00091 00093 DtAmoStateRepository(const DtAmoStateRepository& orig); 00094 00096 DtAmoStateRepository& operator=(const DtAmoStateRepository& orig); 00097 00099 virtual void setAmoId(const DtEntityIdentifier& id); 00100 00102 virtual const DtEntityIdentifier& amoId() const; 00103 00105 virtual void setName(const DtString& name); 00106 00108 virtual const DtString& name() const; 00109 00111 virtual void setVersion(const DtString& version); 00112 00114 virtual const DtString& version() const; 00115 00117 virtual void setHostName(const DtString& name); 00118 00120 virtual const DtString& hostName() const; 00121 00123 virtual void setHostIpAddress(unsigned long ip); 00124 00126 virtual unsigned long hostIpAddress() const; 00127 00129 virtual void setOperatorName(const DtString& name); 00130 00132 virtual const DtString& operatorName() const; 00133 00135 virtual void setOperatorTelephoneNumber(const DtString number); 00136 00138 virtual const DtString& operatorTelephoneNumber() const; 00139 00141 virtual void setNumberOfObjectsServed(unsigned long number); 00142 00144 virtual unsigned long numberOfObjectsServed() const; 00145 00147 virtual void setNumberOfProxies(unsigned long number); 00148 00150 virtual unsigned long numberOfProxies() const; 00151 00153 virtual void setStatus(DtAmoApplicationStatus status); 00154 00156 virtual DtAmoApplicationStatus status() const; 00157 00159 virtual void setNumberOfSubscribedClasses(int number); 00160 00162 virtual int numberOfSubscribedClasses() const; 00163 00165 virtual void setNumberOfPublishedClasses(int number); 00166 00168 virtual int numberOfPublishedClasses() const; 00169 00171 virtual void setSubscribedClass(unsigned int index, const DtClassStatusRecord& classRecord); 00172 00175 virtual const DtClassStatusRecord& subscribedClass(unsigned int index) const; 00176 00178 virtual void setPublishedClass(unsigned int index, const DtClassStatusRecord& classRecord); 00179 00182 virtual const DtClassStatusRecord& publishedClass(unsigned int index) const; 00183 00186 virtual void setUpdatePeriod(double period); 00187 00189 virtual double updatePeriod() const; 00190 00192 virtual void printData() const; 00193 00195 virtual void printDataToStream(std::ostream& stream) const; 00196 00198 virtual DtStateRepository* clone(bool copy) const; 00199 00200 public: 00201 static DtAmoStateRepository* create(); 00202 00203 00204 protected: 00205 DtEntityIdentifier myAmoId; 00206 DtString myName; 00207 DtString myVersion; 00208 DtString myHostName; 00209 unsigned long myHostIpAddress; 00210 DtString myOperatorName; 00211 DtString myOperatorTelephoneNumber; 00212 unsigned long myNumberOfObjectsServed; 00213 unsigned long myNumberOfProxies; 00214 DtAmoApplicationStatus myStatus; 00215 std::vector<DtClassStatusRecord> mySubscribedClasses; 00216 std::vector<DtClassStatusRecord> myPublishedClasses; 00217 double myUpdatePeriod; 00218 }; 00219 00220 00221 00222 #endif //! DtTENA 00223 #endif //! amoSR_H_ 00224