VR-Link API Documentation for HLA 1516
dRefIffList.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 DtReflectedIffList_H_
00008 #define DtReflectedIffList_H_
00009  
00013 
00014 #if DtDIS
00015 
00016 
00017 #include "dRefObjList.h"
00018 #include "dReflIff.h"
00019 #include "globalObjDes.h"
00020 
00021 
00022 class DT_DLL_VL DtIffAtcNavaidsPdu;
00023 
00024 
00028 class DT_DLL_VL DtReflectedIffList : public DtReflectedObjectList
00029 {
00030 
00031 public:
00032 
00034    DtReflectedIffList(DtExerciseConn* exConn);
00035 
00037    virtual ~DtReflectedIffList();
00038 
00040    virtual DtReflectedIff* lookup(
00041       const DtGlobalObjectDesignator& emittingEntity) const;
00042 
00044    virtual DtReflectedIff* first() const;
00045    virtual DtReflectedIff* last() const;
00046 
00048    virtual void addIffAdditionCallback(
00049       DtIffCallbackFunction cb, void* userData);
00050    virtual void removeIffAdditionCallback(
00051       DtIffCallbackFunction cb, void* userData);
00052 
00054    virtual void addEmitterAdditionCallback(
00055       DtIffCallbackFunction cb, void* userData);
00057    virtual void removeEmitterAdditionCallback(
00058       DtIffCallbackFunction cb, void* userData);
00059 
00061    virtual void addIffRemovalCallback(
00062       DtIffCallbackFunction cb, void* userData);
00063    virtual void removeIffRemovalCallback(
00064       DtIffCallbackFunction cb, void* userData);
00065 
00067    virtual void addEmitterRemovalCallback(
00068       DtIffCallbackFunction cb, void* userData);
00070    virtual void removeEmitterRemovalCallback(
00071       DtIffCallbackFunction cb, void* userData);
00072 
00074    virtual void print();
00075 
00076 protected:
00077 
00079    DtReflectedIffList& operator=(
00080       const DtReflectedIffList& orig);
00081 
00083    DtReflectedIffList(const DtReflectedIffList& orig);
00084 
00085 protected:
00086 
00088    virtual DtReflectedIff* newReflectedIff(
00089       const DtGlobalObjectDesignator& emittingEntity);
00090 
00092    virtual DtReflectedObject* newReflectedObj(const DtStateMsg& msg);
00093 
00095    virtual DtReflectedObject* processStateMessage(const DtStateMsg& msg);
00096 
00099    virtual void objectAdded(DtReflectedObject* obj);
00100 
00102    virtual const DtBaseHashKey&
00103       hashKeyFromStateMessage(const DtStateMsg* msg);
00104 
00105 protected:
00106 
00108    static void emIffCb(DtIffAtcNavaidsPdu* pdu, void* usr);
00109 
00110    DtObjectIdHashKey *myHashKey;
00111 
00112 };
00113 
00114 
00115 #endif
00116 #endif
00117 
00118 

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)