VR-Link API Documentation for HLA 1.3
tReflEmitrSys.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 DtTENA
00008 
00009 #ifndef tReflEmitrSys_H_
00010 #define tReflEmitrSys_H_
00011 
00012 #include "tReflectedObj.h"
00013 #include "globalObjDes.h"
00014 #include "emitterSysSR.h"
00015 
00019 
00020 class DT_DLL_VL DtExerciseConn;
00021 class DT_DLL_VL DtReflectedEmitterSystem;
00022 
00024 typedef void (*DtEmitterSystemCallbackFunction)(
00025    DtReflectedEmitterSystem* obj, void* userData);
00026 
00027 
00031 class DT_DLL_VL DtReflectedEmitterSystem  : public DtReflectedObject
00032 {
00033 public:
00034 
00037    typedef DtEmitterSystemRepository* (*DtStateRepCreator)();
00038 
00039 public:
00040 
00042    DtReflectedEmitterSystem(DtExerciseConn* conn);
00043 
00045    virtual ~DtReflectedEmitterSystem();
00046 
00047 private:
00048 
00050    DtReflectedEmitterSystem(const DtReflectedEmitterSystem& orig);
00051 
00053    DtReflectedEmitterSystem& operator=(const DtReflectedEmitterSystem& orig);
00054 
00055 public:
00056    
00058    virtual DtReflectedEmitterSystem* next() const;
00059 
00062    virtual DtEmitterSystemRepository* emitterSysRep() const;
00063 
00065    virtual DtEmitterSystemRepository* esr() const;
00066 
00068    virtual DtReflectedEmitterSystem* prev() const;
00069 
00072    virtual DtReflectedEmitterSystem* wrapNext() const;
00073 
00076    virtual DtReflectedEmitterSystem* wrapPrev() const;
00077 
00079    void removePostUpdateCallback( DtEmitterSystemCallbackFunction , void* );
00080 
00082    void addPostUpdateCallback( DtEmitterSystemCallbackFunction , void* );
00083 
00085    virtual const DtObjectId& id() const;
00086 
00088    virtual const DtGlobalObjectDesignator& globalId() const;
00089 
00091    virtual void printDataToStream(std::ostream& str) const;
00092 
00093 public:
00095    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00096 
00097 protected:
00098 
00099    static DtStateRepCreator theStateRepCreator;
00100 
00101 
00102 };
00103 
00104 inline DtEmitterSystemRepository* DtReflectedEmitterSystem::emitterSysRep() const
00105 {
00106    return (DtEmitterSystemRepository*) myStateRep;
00107 }
00108 
00109 inline DtEmitterSystemRepository* DtReflectedEmitterSystem::esr() const
00110 {
00111    return (DtEmitterSystemRepository*) myStateRep;
00112 }
00113 
00114 
00115 #endif  //! DtReflectedEmitterSystem_H_
00116 #endif  //! DtTENA
00117 

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)