VR-Link API Documentation for HLA 1.3
tReflectedObj.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #ifndef tReflectedObj_H_
00008 #define tReflectedObj_H_
00009 
00010 #if DtTENA 
00011 
00012 
00013 #include "refObjCbInfo.h"
00014 #include "hostStructs.h"
00015 
00016 #include <vlutil/vlTime.h>
00017 #include <vlutil/vlString.h>
00018 #include <vlutil/vlList.h>
00019 
00023 
00024 class DT_DLL_VL DtExerciseConn;
00025 class DT_DLL_VL DtStateRepository;
00026 
00027 
00032 class DT_DLL_VL DtReflectedObject  : public DtListedObj
00033 
00034 {
00035 public:
00036 
00038    typedef DtStateRepository* (*DtBaseStateRepCreator)();
00039 
00040 public:
00041 
00043    DtReflectedObject(DtExerciseConn* conn, 
00044       DtStateRepository *stateRep);
00045 
00047    DtReflectedObject(DtExerciseConn* conn, 
00048       DtBaseStateRepCreator creator);
00049 
00051    virtual ~DtReflectedObject();
00052 
00055    virtual DtStateRepository* stateRep() const;
00056 
00058    virtual DtReflectedObject* nextObj() const;
00059 
00061    virtual DtReflectedObject* prevObj() const;
00062 
00065    virtual DtReflectedObject* wrapNextObj() const;
00066 
00069    virtual DtReflectedObject* wrapPrevObj() const;
00070 
00072    virtual DtStateRepository* sr() const;
00073 
00075    virtual const DtGlobalObjectDesignator& globalId() const = 0;
00076 
00079    virtual void baseAddPostUpdateCallback(
00080       DtReflectedObjectCallbackFunction cb, void* userData);
00081    virtual void baseRemovePostUpdateCallback(
00082       DtReflectedObjectCallbackFunction cb, void* userData);
00083 
00085    virtual void processPostUpdateCallbacks();
00086 
00088    virtual void printDataToStream(std::ostream& str) const = 0;
00089 
00090 protected:
00091 
00092    DtExerciseConn     *myExConn;
00093    DtIntrusiveList     myStateUpdateCallbacks;
00094    DtStateRepository  *myStateRep;
00095 
00096 protected:
00097 
00099    DtReflectedObject(const DtReflectedObject& orig);
00100 
00102    DtReflectedObject& operator=(const DtReflectedObject& orig);
00103 };
00104 
00105 DT_DLL_VL std::ostream & operator << (std::ostream &str, const DtReflectedObject &sr);
00106 
00110 inline DtStateRepository* DtReflectedObject::stateRep() const
00111 {
00112    return myStateRep;
00113 }
00114 
00115 inline DtStateRepository* DtReflectedObject::sr() const
00116 {
00117    return myStateRep;
00118 }
00119 
00120 inline DtReflectedObject* DtReflectedObject::nextObj() const
00121 { 
00122    return (DtReflectedObject*) DtListedObj::next(); 
00123 }
00124 
00125 inline DtReflectedObject* DtReflectedObject::prevObj() const
00126 { 
00127    return (DtReflectedObject*) DtListedObj::prev(); 
00128 }
00129 
00130 inline DtReflectedObject* DtReflectedObject::wrapNextObj() const
00131 { 
00132    return (DtReflectedObject*) DtListedObj::wrapNext(); 
00133 }
00134 
00135 inline DtReflectedObject* DtReflectedObject::wrapPrevObj() const
00136 { 
00137    return (DtReflectedObject*) DtListedObj::wrapPrev(); 
00138 }
00139 
00140 
00141 #endif
00142 #endif
00143 

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)