VR-Link API Documentation for DIS
dRefEmSysList.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 DtReflectedEmitterSystemList_H_
00011 #define DtReflectedEmitterSystemList_H_
00012 
00013 #if DtDIS
00014 
00015 
00016 #include "dRefObjList.h"
00017 #include "dReflEmitrSys.h"
00018 #include "globalObjDes.h"
00019 
00020 class DT_DLL_VL DtSystemHashKey;
00021 
00022 class DT_DLL_VL DtElectromagneticEmissionPdu;
00023 
00027 class DT_DLL_VL DtReflectedEmitterSystemList : public DtReflectedObjectList
00028 {
00029 
00030 public:
00031 
00033    DtReflectedEmitterSystemList(DtExerciseConn* exConn);
00034 
00036    virtual ~DtReflectedEmitterSystemList();
00037 
00039    virtual DtReflectedEmitterSystem* lookup(
00040       const DtGlobalObjectDesignator& emittingEntity,
00041       int systemId) const;
00042 
00044    virtual DtReflectedEmitterSystem* first() const;
00045    virtual DtReflectedEmitterSystem* last() const;
00046 
00048    virtual void addEmitterSystemAdditionCallback(
00049       DtEmitterSystemCallbackFunction cb, void* userData);
00050    virtual void removeEmitterSystemAdditionCallback(
00051       DtEmitterSystemCallbackFunction cb, void* userData);
00052 
00054    virtual void addEmitterSystemRemovalCallback(
00055       DtEmitterSystemCallbackFunction cb, void* userData);
00056    virtual void removeEmitterSystemRemovalCallback(
00057       DtEmitterSystemCallbackFunction cb, void* userData);
00058 
00062    virtual void addEmitterAdditionCallback(
00063       DtEmitterSystemCallbackFunction cb, void* userData);
00066    virtual void removeEmitterAdditionCallback(
00067       DtEmitterSystemCallbackFunction cb, void* userData);
00068 
00072    virtual void addEmitterRemovalCallback(
00073       DtEmitterSystemCallbackFunction cb, void* userData);
00076    virtual void removeEmitterRemovalCallback(
00077       DtEmitterSystemCallbackFunction cb, void* userData);
00078 
00080    virtual void print();
00081 
00082 protected:
00083 
00085    DtReflectedEmitterSystemList& operator=(
00086       const DtReflectedEmitterSystemList& orig);
00087 
00089    DtReflectedEmitterSystemList(const DtReflectedEmitterSystemList& orig);
00090 
00091 protected:
00092 
00094    virtual DtReflectedObject* newReflectedObj(
00095       const DtGlobalObjectDesignator& emittingEntity, int systemId);
00096 
00098    virtual DtReflectedObject* newReflectedObj(const DtStateMsg& msg);
00099 
00101    virtual DtReflectedObject* processStateMessage(const DtStateMsg& msg);
00102 
00105    virtual void objectAdded(DtReflectedObject* obj);
00106 
00108    virtual const DtBaseHashKey&
00109       hashKeyFromStateMessage(const DtStateMsg* msg);
00110 
00111 protected:
00112 
00114    static void emEmissionCb(DtElectromagneticEmissionPdu* pdu, void* usr);
00115 
00116 };
00117 
00118 
00119 #endif
00120 #endif
00121 
00122 

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)