VR-Link API Documentation for HLA 1.3
dReflEmitrSys.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00009 
00010 #ifndef DtReflectedEmitterSystem_H_
00011 #define DtReflectedEmitterSystem_H_
00012 
00013 #if DtDIS
00014 
00015 
00016 #include "emitterSysSR.h"
00017 #include "dReflectedObj.h"
00018 #include "sysHashKey.h"
00019 
00020 class DT_DLL_VL DtReflectedEmitterSystem;
00021 
00024 typedef void (*DtEmitterSystemCallbackFunction)(
00025    DtReflectedEmitterSystem* obj, void* userData);
00026 
00027 
00032 class DT_DLL_VL DtReflectedEmitterSystem : public DtReflectedObject
00033 {
00034 public:
00035 
00037    typedef DtEmitterSystemRepository* (*DtStateRepCreator)();
00038 
00039 public:
00040 
00042    DtReflectedEmitterSystem(DtExerciseConn* conn,
00043       const DtGlobalObjectDesignator& emittingEntity,
00044       DtU8 systemNumber);
00045 
00047    virtual ~DtReflectedEmitterSystem();
00048 
00050    virtual DtEmitterSystemRepository* emitterSysRep() const;
00051 
00053    virtual DtEmitterSystemRepository* esr() const;
00054 
00058    virtual DtStateRepository* stateRep() const;
00059 
00062    virtual void processStateMessage(const DtStateMsg& msg);
00063 
00065    virtual DtReflectedEmitterSystem* next() const;
00066 
00068    virtual DtReflectedEmitterSystem* prev() const;
00069 
00072    virtual DtReflectedEmitterSystem* wrapNext() const;
00073 
00076    virtual DtReflectedEmitterSystem* wrapPrev() const;
00077 
00079    virtual void addPostUpdateCallback(
00080       DtEmitterSystemCallbackFunction cb, void* userData);
00081 
00082    virtual void removePostUpdateCallback(
00083       DtEmitterSystemCallbackFunction cb, void* userData);
00084 
00086    virtual const DtBaseHashKey& hashKey() const;
00087 
00089    virtual DtString idString() const;
00090 
00093    virtual const DtGlobalObjectDesignator& globalId() const;
00094 
00095 public:
00096   
00098    static void setStateRepCreator(DtStateRepCreator creator);
00099    static DtStateRepCreator stateRepCreator(void);
00100 
00101 protected:
00102 
00104    DtReflectedEmitterSystem(const DtReflectedEmitterSystem& orig);
00105 
00107    DtReflectedEmitterSystem& operator=(
00108       const DtReflectedEmitterSystem& orig);
00109 
00110 protected:
00111 
00112    DtString myIdString;
00113    DtEmitterSystemRepository *myStateRepository;
00114    DtSystemHashKey myHashKey;
00115 protected:
00116 
00117    static DtStateRepCreator theStateRepCreator;
00118 
00119 };
00120 
00121 
00122 #endif
00123 #endif
00124 

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)