![]() |
VR-Link API Documentation for DIS
|
00001 /********************************************************************* 00002 ** Copyright (c) 1992-2010 VT MAK 00003 ** All rights reserved. 00004 *********************************************************************/ 00007 00008 #ifndef DtReflectedEnvironmentProcess_H_ 00009 #define DtReflectedEnvironmentProcess_H_ 00010 00011 #if DtDIS 00012 00013 #include "dReflectedObj.h" 00014 #include "dEnvProcDec.h" 00015 #include "envProcPdu.h" 00016 #include "globalObjDes.h" 00017 #include "objIdHashKey.h" 00018 00019 class DT_DLL_VL DtEnvironmentProcessRepository; 00020 class DT_DLL_VL DtExerciseConn; 00021 class DT_DLL_VL DtReflectedEnvironmentProcess; 00022 00026 typedef void (*DtEnvironmentProcessCallbackFunction) ( 00027 DtReflectedEnvironmentProcess* obj, void* userData); 00028 00034 class DT_DLL_VL DtReflectedEnvironmentProcess : public DtReflectedObject 00035 { 00036 public: 00037 00040 typedef DtEnvironmentProcessRepository* (*DtStateRepCreator)(); 00041 00042 public: 00043 00045 DtReflectedEnvironmentProcess( 00046 DtExerciseConn* conn, 00047 const DtEntityIdentifier& id, 00048 const DtEntityType& type); 00049 00051 virtual ~DtReflectedEnvironmentProcess(); 00052 00055 virtual DtEnvironmentProcessRepository* environmentProcessStateRep() const; 00056 00058 virtual DtEnvironmentProcessRepository* epsr() const; 00059 00061 virtual DtStateRepository* stateRep() const; 00062 00065 virtual DtEnvironmentProcessDecoder* decoder(); 00066 00068 virtual const DtEntityIdentifier& entityId() const; 00069 00071 virtual const DtObjectId& id() const; 00072 00074 virtual const DtObjectId& localId() const; 00075 00078 virtual const DtGlobalObjectDesignator& globalId() const; 00079 00082 virtual void processStateMessage(const DtStateMsg& msg); 00083 00086 virtual DtReflectedEnvironmentProcess* next() const; 00087 virtual DtReflectedEnvironmentProcess* prev() const; 00088 00090 virtual DtReflectedEnvironmentProcess* wrapNext() const; 00091 virtual DtReflectedEnvironmentProcess* wrapPrev() const; 00092 00094 virtual void addPostUpdateCallback( 00095 DtEnvironmentProcessCallbackFunction cb, void* userData); 00096 virtual void removePostUpdateCallback( 00097 DtEnvironmentProcessCallbackFunction cb, void* userData); 00098 00100 virtual const DtBaseHashKey& hashKey() const; 00101 00103 virtual DtString idString() const; 00104 00107 virtual void processEnvironmentProcess(const DtEnvironmentalProcessPdu& pdu); 00108 00109 public: 00110 00112 static void setStateRepCreator(DtStateRepCreator creator); 00113 static DtStateRepCreator stateRepCreator(void); 00114 00115 protected: 00116 00118 DtReflectedEnvironmentProcess(const DtReflectedEnvironmentProcess& orig); 00119 00121 DtReflectedEnvironmentProcess& operator=(const DtReflectedEnvironmentProcess& orig); 00122 00123 protected: 00124 00125 DtEntityIdentifier myId; 00126 DtEnvironmentProcessRepository* myStateRep; 00127 DtEnvironmentProcessDecoder* myDecoder; 00128 DtEntityIdentifierHashKey myHashKey; 00129 00130 protected: 00131 00132 static DtStateRepCreator theStateRepCreator; 00133 00134 }; 00135 00136 #endif 00137 #endif 00138