MAK RTIspy API Documentation for HLA 1516
fedWrapChain.h
Go to the documentation of this file.
00001 /*********************************************************************
00002 ** Copyright (c) 1998 MaK Technologies, Inc.
00003 ** All rights reserved.
00004 *********************************************************************/
00005 /*********************************************************************
00006 ** $RCSfile: fedWrapChain.h,v $ $Revision: 1.14 $ $State: Exp $
00007 *********************************************************************/
00008 
00011 
00012 #ifndef DtFedAmbWrapperChain_H_
00013 #define DtFedAmbWrapperChain_H_
00014 
00015 #include "rtiMsConfig.h"
00016 #include <vlutil/vlHashlist.h>
00017 #if defined(DtIFSPEC1516)
00018 #include <RTI/Handle.h>
00019 #include <RTI/Exception.h>
00020 #include <RTI/FederateAmbassador.h>
00021 #elif defined(DtIFSPEC1516E)
00022 #include <RTI/Handle.h>
00023 #include <RTI/Exception.h>
00024 #include <RTI/FederateAmbassador.h>
00025 #else
00026 #ifdef DtIFSPEC13DLC
00027 #include "RTI13.h"
00028 #define RTI rti13
00029 #else
00030 #include "RTI.hh"
00031 #endif
00032 #endif
00033 
00034 class DtFedAmbWrapper;
00035 
00044 
00045 class DT_DLL_LRC DtFedAmbWrapperChain
00046 {
00047 public:
00048 
00049    DtFedAmbWrapperChain();
00050    virtual ~DtFedAmbWrapperChain();
00051 
00053 #ifdef DtIFSPEC1516
00054    virtual void init (rti1516::FederateAmbassador* theBase);
00055 #elif defined(DtIFSPEC1516E)
00056    virtual void init (rti1516e::FederateAmbassador* theBase);
00057 #else
00058    virtual void init (RTI::FederateAmbassador* theBase);
00059 #endif
00060 
00062    virtual void reset();
00063 
00065 #ifdef DtIFSPEC1516
00066    virtual rti1516::FederateAmbassador* first() const;
00067 #elif defined(DtIFSPEC1516E)
00068    virtual rti1516e::FederateAmbassador* first() const;
00069 #else
00070    virtual RTI::FederateAmbassador* first() const;
00071 #endif
00072 
00074    virtual void addWrapper(MAKRti::DtString const& name, DtFedAmbWrapper* fedWrap);
00075    virtual DtFedAmbWrapper* removeWrapper(MAKRti::DtString const& name);
00076 
00081    virtual bool addWrapperAtFront(MAKRti::DtString const& name, DtFedAmbWrapper* fedWrap);
00082 
00083 protected:
00084 
00085 #ifdef DtIFSPEC1516
00086    rti1516::FederateAmbassador* myBase;
00087    rti1516::FederateAmbassador* myFirst;
00088 #elif defined(DtIFSPEC1516E)
00089    rti1516e::FederateAmbassador* myBase;
00090    rti1516e::FederateAmbassador* myFirst;
00091 #else
00092    RTI::FederateAmbassador* myBase;
00093    RTI::FederateAmbassador* myFirst;
00094 #endif
00095 
00096    MAKRti::DtHashList myWrappers;
00098    bool myFrontTaken;
00099 };
00100 
00101 #ifdef DtIFSPEC1516
00102 inline rti1516::FederateAmbassador* DtFedAmbWrapperChain::first() const
00103 {
00104    return myFirst;
00105 }
00106 #elif defined(DtIFSPEC1516E)
00107 inline rti1516e::FederateAmbassador* DtFedAmbWrapperChain::first() const
00108 {
00109     return myFirst;
00110 }
00111 #else
00112 inline RTI::FederateAmbassador* DtFedAmbWrapperChain::first() const
00113 {
00114    return myFirst;
00115 }
00116 #endif
00117 
00118 #endif

Document ID: Generated on Thu Jun 14 14:15:04 EDT 2012 from SVN revision 116116
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)