VR-Link API Documentation for HLA 1.3
dReflDesigntr.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 DtDisReflectedDesignator_H_
00011 #define DtDisReflectedDesignator_H_
00012 
00013 #if DtDIS
00014 
00015 
00016 #include "designatorSR.h"
00017 #include "dDesignatrDec.h"
00018 #include "dReflectedObj.h"
00019 #include "sysHashKey.h"
00020 
00021 
00022 class DT_DLL_VL DtReflectedDesignator;
00023 
00026 typedef void (*DtDesignatorCallbackFunction)( DtReflectedDesignator*, void* );
00027 
00031 class DT_DLL_VL DtReflectedDesignator : public DtReflectedObject
00032 {
00033 public:
00034    
00036    typedef DtDesignatorRepository* (*DtStateRepCreator)();
00037 
00038 public:
00039 
00041    DtReflectedDesignator( DtExerciseConn* conn,
00042       const DtGlobalObjectDesignator& designatingEntity, int designatorCode );
00043 
00045    virtual ~DtReflectedDesignator();
00046 
00047 
00048 public:
00050    virtual inline DtDesignatorRepository* designatorRep() const { return myStateRepository; }
00051 
00053    virtual inline DtDesignatorRepository* dsr() const { return myStateRepository; }
00054 
00057    virtual inline DtStateRepository* stateRep() const { return myStateRepository; }
00058 
00060    virtual inline DtDesignatorDecoder* decoder() { return &myDecoder; }
00061 
00064    virtual void processStateMessage( const DtStateMsg& msg );
00065 
00067    virtual DtReflectedDesignator* next() const;
00068 
00070    virtual DtReflectedDesignator* prev() const;
00071 
00074    virtual DtReflectedDesignator* wrapNext() const;
00075 
00078    virtual DtReflectedDesignator* wrapPrev() const;
00079 
00081    virtual void addPostUpdateCallback(
00082       DtDesignatorCallbackFunction cb, void* userData );
00083 
00084    virtual void removePostUpdateCallback(
00085       DtDesignatorCallbackFunction cb, void* userData );
00086 
00088    virtual inline const DtBaseHashKey& hashKey() const { return myHashKey; }
00089 
00091    virtual inline DtString idString() const { return myIdString; }
00092 
00095    virtual const DtGlobalObjectDesignator& globalId() const;
00096 
00097 public:
00099    static void setStateRepCreator(DtStateRepCreator creator);
00100    static DtStateRepCreator stateRepCreator(void);
00101 
00102 protected:
00103 
00105    DtReflectedDesignator( const DtReflectedDesignator& );
00106 
00108    DtReflectedDesignator& operator=( const DtReflectedDesignator& );
00109 
00110 protected:
00111 
00112    static DtStateRepCreator theStateRepCreator;
00113 
00114 protected:
00115 
00116    DtSystemHashKey myHashKey;
00117    DtString        myIdString;
00118    DtDesignatorRepository *myStateRepository;
00119    DtDesignatorDecoder    myDecoder;
00120 };
00121 
00122 
00123 #endif   //! DtDIS
00124 
00125 #endif   //! DtDisReflectedDesignator_H_
00126 

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)