VR-Forces 4.0.4 Class Documentation
include/vrfExtObjects/refExtAggList.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 3003 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /********************************************************************
00006 * hRefEnvList.h
00007 *********************************************************************/
00008 
00009 #ifndef REFEXTAGGLIST_H
00010 #define REFEXTAGGLIST_H
00011 
00012 #include <vl/reflAggList.h>
00013 
00014 #include <vrfExtObjects/reflExtAgg.h>
00015 #include <vl/dataInter.h>
00016 
00017 // class DtReflectedExtAggregateList:
00018 //
00019 // Instances of DtReflectedExtAggregateList manage the list of 
00020 // remote environmental processes in the exercise.
00021 
00022 #include <vrfExtObjects/vrfExtObjectsDefines.h>
00023 class DT_DLL_vrfExtObjects DtReflectedExtAggregateList : public DtReflectedAggregateList
00024 {
00025 
00026 public:
00027 
00028    // Constructor - obtains the set of object classes to subscribe
00029    // to from the exConn's fomMapper.
00030    DtReflectedExtAggregateList(DtExerciseConn* exConn);
00031    DtReflectedExtAggregateList(DtExerciseConn* exConn, bool smoothCapable);
00032 
00033 #if DtHLA
00034 
00035 
00036    DtReflectedExtAggregateList(DtExerciseConn* exConn,
00037       const DtDDMRegionSet* regionSetToUse);
00038 
00041    DtReflectedExtAggregateList(DtExerciseConn* exConn,
00042       const DtList *handleList, const DtDDMRegionSet* regionSetToUse = 0);
00043 
00044 #endif
00045 
00046    // destructor
00047    virtual ~DtReflectedExtAggregateList();
00048 
00049 #if DtHLA
00050 #if DtHLA_1516
00051    virtual DtReflectedExtAggregate* lookupEA ( RTI::ObjectInstanceHandle id);
00052 #else
00053    virtual DtReflectedExtAggregate* lookupEA ( RTI::ObjectHandle id);
00054 #endif
00055 
00056    // Look up environmental process by name.
00057    virtual DtReflectedExtAggregate* lookupEA ( 
00058       const DtGlobalObjectDesignator& objName);
00059 #elif (DtDIS || DtTENA)
00060    // Look up environmental process by identifier.
00061    virtual DtReflectedExtAggregate* lookup(const DtObjectId& id);
00062 #endif
00063 
00064    // Get the first/last environmental process in the list.
00065    virtual DtReflectedExtAggregate* firstEA() const;
00066    virtual DtReflectedExtAggregate* lastEA() const;
00067 
00068    // Environmental process added callback registration/deregistration.
00069    virtual void addAggregateAdditionCallback
00070    (
00071       DtExtAggregateCallbackFunction cb, void* userData
00072    );
00073    virtual void removeAggregateAdditionCallback
00074    (
00075       DtExtAggregateCallbackFunction cb, void* userData
00076    );
00077 
00078    // Environmental process removed callback registration/deregistration.
00079    virtual void addAggregateRemovalCallback
00080    (
00081       DtExtAggregateCallbackFunction cb, void* userData
00082    );
00083    virtual void removeAggregateRemovalCallback
00084    (
00085       DtExtAggregateCallbackFunction cb, void* userData
00086    );
00087 
00088 private:
00089 
00090    // copy constructor
00091    DtReflectedExtAggregateList
00092    (
00093       const DtReflectedExtAggregateList& orig
00094    );
00095 
00096    // assignment operator
00097    DtReflectedExtAggregateList& operator=
00098    (
00099       const DtReflectedExtAggregateList& rhs
00100    );
00101 
00102 protected:
00103    static void dataInteractionCallback(DtDataInteraction* i, void* usr);
00104 
00105    virtual void processDataInteraction(DtDataInteraction* i);
00106 
00107 #if DtHLA
00108    virtual DtReflectedObject* newReflectedObject(DtHlaObject* obj) const;
00109 #elif DtDIS
00110    // Create a new reflected control object.
00111    virtual DtReflectedAggregate* newReflectedAggregate
00112    (
00113       const DtEntityIdentifier& id,
00114       const DtEntityType& type
00115    ) const;
00116    virtual DtReflectedAggregate* processAggregateState(const DtAggregateStatePdu& pdu);
00117    virtual void finalPduIsSetAction(DtReflectedAggregate* aggregate);
00118 #elif DtTENA
00119    // Create a new reflected control object.
00120    virtual DtReflectedAggregate* newReflectedAggregate
00121       (
00122       const DtEntityIdentifier& id,
00123       const DtEntityType& type
00124       ) const;
00125 #endif
00126 };
00127 
00128 #endif   // REFEXTAGGLIST_H

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)