VR-Link API Documentation for DIS
dReflectedObj.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #if DtDIS 
00008 
00011 
00012 #ifndef DtDisReflectedObject_H_
00013 #define DtDisReflectedObject_H_
00014 
00015 
00016 
00017 #include "refObjCbInfo.h"
00018 #include "hostStructs.h"
00019 
00020 #include <vlutil/vlList.h>
00021 #include <vlutil/vlTime.h>
00022 #include <vlutil/vlString.h>
00023 
00024 class DT_DLL_VL DtStateRepository;
00025 class DT_DLL_VL DtExerciseConn;
00026 class DT_DLL_VL DtHlaStateDecoder;
00027 class DT_DLL_VL DtStateMsg;
00028 class DT_DLL_VL DtBaseHashKey;
00029 
00034 class DT_DLL_VL DtReflectedObject : public DtListedObj
00035 {
00036 
00037 public:
00038 
00040    DtReflectedObject(DtExerciseConn* conn);
00041 
00043    virtual ~DtReflectedObject();
00044 
00047    virtual DtStateRepository* stateRep() const = 0;
00048 
00050    virtual DtStateRepository* sr() const;
00051 
00054    virtual DtTime lastTimeUpdated() const;
00055 
00058    virtual DtTime lastSimTimeUpdated() const;
00059 
00062    virtual DtTime lastReceivedTimeStamp() const;
00063 
00065    virtual void processStateMessage(const DtStateMsg& msg);
00066 
00068    virtual void baseAddPostUpdateCallback(
00069       DtReflectedObjectCallbackFunction cb, void* userData);
00070    virtual void baseRemovePostUpdateCallback(
00071       DtReflectedObjectCallbackFunction cb, void* userData);
00072 
00074    virtual DtReflectedObject* nextObj() const;
00075 
00077    virtual DtReflectedObject* prevObj() const;
00078 
00081    virtual DtReflectedObject* wrapNextObj() const;
00082 
00085    virtual DtReflectedObject* wrapPrevObj() const;
00086 
00088    virtual const DtBaseHashKey& hashKey() const = 0;
00089 
00091    virtual DtString idString() const = 0;
00092 
00094    virtual const DtGlobalObjectDesignator& globalId() const = 0;
00095 
00096 protected:
00097 
00099    DtReflectedObject(const DtReflectedObject& orig);
00100 
00102    DtReflectedObject& operator=(const DtReflectedObject& orig);
00103 
00105    virtual void processPostUpdateCallbacks();
00106 
00107 protected:
00108 
00109    DtExerciseConn* myExConn;
00110    DtIntrusiveList myStateUpdateCallbacks;
00111    DtTime myLastTimeUpdated;
00112    DtTime myLastSimTimeUpdated;
00113    DtTime myLastReceivedTimeStamp;
00114 
00115 };
00116 
00117 #endif
00118 #endif
00119 

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)