VR-Link API Documentation for HLA Evolved
tReflectedAgg.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1992-2010 VT MAK
00003 ** All rights reserved.
00004 *********************************************************************/
00005 
00006 
00007 #if DtTENA
00008 
00009 #ifndef tReflectedAgg_H_
00010 #define tReflectedAgg_H_
00011 
00012 #include "tReflectedObj.h"
00013 #include "globalObjDes.h"
00014 #include "aggregateSR.h"
00015 
00019 
00020 class DT_DLL_VL DtExerciseConn;
00021 class DT_DLL_VL DtReflectedAggregate;
00022 
00024 typedef void (*DtAggregateCallbackFunction)(
00025    DtReflectedAggregate* obj, void* userData);
00026 
00027 
00031 class DT_DLL_VL DtReflectedAggregate  : public DtReflectedObject
00032 {
00033 public:
00034 
00037    typedef DtAggregateStateRepository* (*DtStateRepCreator)();
00038 
00039 public:
00040 
00042    DtReflectedAggregate(DtExerciseConn* conn);
00043 
00045    virtual ~DtReflectedAggregate();
00046 
00047 private:
00048 
00050    DtReflectedAggregate(const DtReflectedAggregate& orig);
00051 
00053    DtReflectedAggregate& operator=(const DtReflectedAggregate& orig);
00054 
00055 public:
00056    
00058    virtual DtReflectedAggregate* next() const;
00059 
00062    virtual DtAggregateStateRepository* aggregateStateRep() const;
00063 
00065    virtual DtAggregateStateRepository* asr() const;
00066 
00068    virtual DtReflectedAggregate* prev() const;
00069 
00072    virtual DtReflectedAggregate* wrapNext() const;
00073 
00076    virtual DtReflectedAggregate* wrapPrev() const;
00077 
00079    void removePostUpdateCallback( DtAggregateCallbackFunction , void* );
00080 
00082    void addPostUpdateCallback( DtAggregateCallbackFunction , void* );
00083 
00085    virtual const DtObjectId& id() const;
00086 
00088    virtual const DtGlobalObjectDesignator& globalId() const;
00089 
00091    virtual void printDataToStream(std::ostream& str) const;
00092 
00093 public:
00095    static DtStateRepCreator setStateRepCreator(DtStateRepCreator creator);
00096 
00097 protected:
00098 
00099    static DtStateRepCreator theStateRepCreator;
00100 
00101 
00102 };
00103 
00104 inline DtAggregateStateRepository* DtReflectedAggregate::aggregateStateRep() const
00105 {
00106    return (DtAggregateStateRepository*) myStateRep;
00107 }
00108 
00109 inline DtAggregateStateRepository* DtReflectedAggregate::asr() const
00110 {
00111    return (DtAggregateStateRepository*) myStateRep;
00112 }
00113 
00114 
00115 #endif  //! DtReflectedAggregate_H_
00116 #endif  //! DtTENA
00117 

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)