![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2004 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: setFederateSwitches.h,v $ $Revision: 1.6 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtSetFederateSwitchesInteraction_H_ 00013 #define DtSetFederateSwitchesInteraction_H_ 00014 00015 #ifdef DtMOM 00016 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E) 00017 00018 #include "rtiMsConfig.h" 00019 #include "internalTypes.h" 00020 #include "mInteraction.h" 00021 #include <vlutil/vlList.h> 00022 00023 class DtMomInterCbMgr; 00024 class DtSetFederateSwitchesInteraction; 00025 typedef void (*DtSetFederateSwitchesInteractionCb) 00026 (const DtSetFederateSwitchesInteraction& inter, void* usr); 00027 00028 class DT_DLL_LRC DtSetFederateSwitchesInteraction : 00029 public DtServiceInteraction 00030 { 00031 public: 00032 00034 DtSetFederateSwitchesInteraction(); 00035 00037 virtual ~DtSetFederateSwitchesInteraction(); 00038 00040 DtSetFederateSwitchesInteraction( 00041 const DtSetFederateSwitchesInteraction& orig); 00042 00044 DtSetFederateSwitchesInteraction& operator=( 00045 const DtSetFederateSwitchesInteraction& orig); 00046 00049 virtual const DtPhvps& phvps(); 00050 00053 virtual bool setFromPhvps(const DtPhvps& phvps); 00054 00056 virtual bool conveyRegions() const; 00057 virtual void setConveyRegions(bool data); 00058 00060 virtual bool receivedConveyRegions() const; 00061 00062 #ifdef DtIFSPEC1516E 00063 00064 virtual bool conveyProducingFederate() const; 00065 virtual void setConveyProducingFederate(bool data); 00066 00068 virtual bool receivedConveyProducingFederate() const; 00069 #endif 00070 00071 public: 00073 static DtServiceInteraction* create(); 00074 00076 static void addCallback(DtMomInterCbMgr* callBackManager, 00077 DtSetFederateSwitchesInteractionCb cb, void* usr); 00078 static void removeCallback(DtMomInterCbMgr* callBackManager, 00079 DtSetFederateSwitchesInteractionCb cb, void* usr); 00080 00081 protected: 00082 00084 virtual void encodeConveyRegions( 00085 const DtMomInteraction& data, 00086 DtPhvps* parameters, 00087 DtParameterHandle parameterHandle); 00088 00090 virtual void decodeConveyRegions( 00091 DtMomInteraction* data, 00092 const DtPhvps& parameters, 00093 int index); 00094 00095 #ifdef DtIFSPEC1516E 00096 00097 virtual void encodeConveyProducingFederate( 00098 const DtMomInteraction& data, 00099 DtPhvps* parameters, 00100 DtParameterHandle parameterHandle); 00101 00103 virtual void decodeConveyProducingFederate( 00104 DtMomInteraction* data, 00105 const DtPhvps& parameters, 00106 int index); 00107 #endif 00108 00109 public: 00110 static const char* theInteractionName; 00111 00112 protected: 00114 bool myConveyRegions; 00115 00116 bool myReceivedConveyRegions; 00117 00118 const char *CONVEY_REGIONS_PARAMETER_NAME; 00119 00120 #ifdef DtIFSPEC1516E 00121 bool myConveyProducingFederate; 00122 00123 bool myReceivedConveyProducingFederate; 00124 00125 const char *CONVEY_PRODUCING_FEDERATE_PARAMETER_NAME; 00126 #endif 00127 00128 }; 00129 00130 #endif //! DtIFSPEC1516 00131 #endif //! DtMOM 00132 #endif //! DtSetFederateSwitchesInteraction_H_