VR-Link API Documentation for DIS
dReflEnvProc.h
Go to the documentation of this file.
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 

Document ID: Generated on Mon May 14 08:06:18 EDT 2012 from SVN revision 114750
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)