![]() |
VR-Link API Documentation for HLA Evolved
|
00001 //******************************************************************** 00004 //******************************************************************** 00005 //******************************************************************** 00007 //******************************************************************** 00008 #ifndef tObjPub_H_ 00009 #define tObjPub_H_ 00010 00015 00016 #if DtTENA 00017 00018 #include <vlutil/vlMachineTypes.h> 00019 #include "objectId.h" 00020 00021 class DtExerciseConn; 00022 class DtTenaServantObject; 00023 class DtStateRepository; 00024 00025 class DT_DLL_VL DtObjectPublisher 00026 { 00027 public: 00028 DtObjectPublisher(DtExerciseConn* exConn, 00029 DtStateRepository* stateRep, 00030 DtStateRepository* asSeenByRemote, 00031 const DtObjectId& id); 00032 00033 virtual ~DtObjectPublisher(); 00034 00035 protected: 00036 DtObjectPublisher(const DtObjectPublisher& orig); 00037 00038 DtObjectPublisher& operator=(const DtObjectPublisher& orig); 00039 00040 public: 00043 virtual bool tick(); 00044 00047 virtual void forceUpdate(); 00048 00050 virtual const DtObjectId& id() const; 00051 00053 virtual const DtObjectId& localId() const; 00054 00056 virtual const DtGlobalObjectDesignator& globalId() const; 00057 00058 virtual DtString interfaceToUse() const = 0; 00059 00060 protected: 00061 void createServantObject(const DtString& interfaceName); 00062 00063 protected: 00064 DtObjectId myId; 00065 DtExerciseConn* myExConn; 00066 DtStateRepository* myStateRep; 00067 DtStateRepository* myAsSeenByRemoteRep; 00068 DtTenaServantObject* myServantObject; 00069 bool myForceUpdate; 00070 DtString myInterfaceName; 00071 00072 }; 00073 00074 00075 #endif 00076 #endif 00077