VR-Link API Documentation for HLA 1516
hReflectedFed.h
Go to the documentation of this file.
00001 /*******************************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *******************************************************************************/
00005 
00009 
00010 #ifndef hReflectedFed_H_
00011 #define hReflectedFed_H_
00012 
00013 #if DtHLA
00014 
00015 #include "hReflectedObj.h"
00016 #include "federateSR.h"
00017 
00018 class DtReflectedFederate;
00019 
00020 typedef void (*DtFederateCallbackFunction)(
00021    DtReflectedFederate* obj, void* userData);
00022 
00026 class DT_DLL_VL DtReflectedFederate : public DtReflectedObject
00027 {
00030    typedef DtFederateStateRepository* (*DtStateRepCreator)();
00031 
00032 public:
00034    DtReflectedFederate(DtHlaObject* obj, DtExerciseConn* exConn);
00035 
00037    virtual ~DtReflectedFederate();
00038 
00040    virtual DtFederateStateRepository* federateRep() const;
00041 
00043    virtual DtFederateStateRepository* fsr() const;
00044 
00047    virtual DtReflectedFederate* next() const;
00048 
00051    virtual DtReflectedFederate* prev() const;
00052 
00055    virtual DtReflectedFederate* wrapNext() const;
00056 
00059    virtual DtReflectedFederate* wrapPrev() const;
00060 
00063    virtual void addPostUpdateCallback(
00064       DtFederateCallbackFunction cb, void* userData);
00065 
00068    virtual void removePostUpdateCallback(
00069       DtFederateCallbackFunction cb, void* userData);
00070 
00071 public:
00073    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00074 
00075 protected:
00077    DtReflectedFederate(const DtReflectedFederate& orig);
00078 
00080    DtReflectedFederate& operator=(const DtReflectedFederate& orig);
00081 
00082 protected:
00084    static DtStateRepCreator theStateRepCreator;
00085 };
00086 
00087 inline DtFederateStateRepository* DtReflectedFederate::federateRep() const
00088 { 
00089    return (DtFederateStateRepository*) myStateRep;
00090 }
00091 
00092 inline DtFederateStateRepository* DtReflectedFederate::fsr() const
00093 {
00094    return (DtFederateStateRepository*) myStateRep;
00095 }
00096 
00097 
00098 #endif
00099 #endif
00100 

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)