VR-Link API Documentation for HLA 1.3
dRefRadXmit.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 DtReflectedRadioTransmitter_H_
00011 #define DtReflectedRadioTransmitter_H_
00012 
00013 #if DtDIS
00014 
00015 #include "dReflectedObj.h"
00016 #include "dRadioXmitDec.h"
00017 #include "transmitPdu.h"
00018 #include "globalObjDes.h"
00019 #include <vlutil/vlHashKeys.h>
00020 
00021 class DT_DLL_VL DtRadioTransmitterRepository;
00022 class DT_DLL_VL DtExerciseConn;
00023 class DT_DLL_VL DtReflectedRadioTransmitter;
00024 
00028 typedef void (*DtRadioTransmitterCallbackFunction) (
00029    DtReflectedRadioTransmitter* obj, void* userData);
00030 
00033 class DT_DLL_VL DtReflectedRadioTransmitter : public DtReflectedObject
00034 {
00035 
00036 public:
00037 
00039    typedef DtRadioTransmitterRepository* (*DtStateRepCreator)();
00040 
00041 public:
00042 
00044    DtReflectedRadioTransmitter(
00045       DtExerciseConn* conn,
00046       const DtEntityIdentifier& id,
00047       int radioId);
00048 
00050    virtual ~DtReflectedRadioTransmitter();
00051 
00054    virtual DtRadioTransmitterRepository* radioXmitRep() const;
00055 
00057    virtual DtRadioTransmitterRepository* tsr() const;
00058 
00060    virtual DtStateRepository* stateRep() const;
00061 
00064    virtual DtRadioTransmitterDecoder* decoder();
00065 
00067    virtual const DtEntityIdentifier& entityId() const;
00068 
00070    virtual const DtObjectId& id() const;
00071 
00073    virtual const DtObjectId& localId() const;
00074 
00077    virtual const DtGlobalObjectDesignator& globalId() const;
00078 
00080    virtual int radioId() const;
00081 
00084    virtual void processStateMessage(const DtStateMsg& msg);
00085 
00088    virtual DtReflectedRadioTransmitter* next() const;
00089    virtual DtReflectedRadioTransmitter* prev() const;
00090 
00092    virtual DtReflectedRadioTransmitter* wrapNext() const;
00093    virtual DtReflectedRadioTransmitter* wrapPrev() const;
00094 
00096    virtual void addPostUpdateCallback(
00097       DtRadioTransmitterCallbackFunction cb, void* userData);
00098    virtual void removePostUpdateCallback(
00099       DtRadioTransmitterCallbackFunction cb, void* userData);
00100 
00102    virtual const DtBaseHashKey& hashKey() const;
00103 
00105    virtual DtString idString() const;
00106 
00109    virtual void processRadioTransmitter(const DtTransmitterPdu& pdu);
00110 
00111 public:
00112    
00114    static void setStateRepCreator(DtStateRepCreator creator);
00115    static DtStateRepCreator stateRepCreator();
00116 
00117 protected:
00118 
00120    DtReflectedRadioTransmitter(const DtReflectedRadioTransmitter& orig);
00121 
00123    DtReflectedRadioTransmitter& operator=(const DtReflectedRadioTransmitter& orig);
00124 
00125 protected:
00126 
00127    DtEntityIdentifier            myId;
00128    DtRadioTransmitterRepository *myStateRep;
00129    DtRadioTransmitterDecoder    *myDecoder;
00130    DtStringHashKey               myHashKey;
00131    DtString                      myIdString;
00132 
00133 protected:
00134 
00135    static DtStateRepCreator theStateRepCreator;
00136 
00137 };
00138 
00139 inline int DtReflectedRadioTransmitter::radioId() const
00140 {
00141    return myStateRep->radioId();
00142 }
00143 
00144 #endif
00145 #endif
00146 

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)