![]() |
MAK RTIspy API Documentation for HLA 1.3
|
00001 /********************************************************************* 00002 ** Copyright (c) 2001 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 *********************************************************************/ 00005 /********************************************************************* 00006 ** $RCSfile: setSwitches.h,v $ $Revision: 1.7 $ $State: Exp $ 00007 *********************************************************************/ 00008 00011 00012 #ifndef DtSetFederationSwitchesInteraction_H_ 00013 #define DtSetFederationSwitchesInteraction_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 DtSetFederationSwitchesInteraction; 00025 typedef void (*DtSetFederationSwitchesInteractionCb) 00026 (const DtSetFederationSwitchesInteraction& inter, void* usr); 00027 00028 class DT_DLL_LRC DtSetFederationSwitchesInteraction : 00029 public DtServiceInteraction 00030 { 00031 public: 00032 00034 DtSetFederationSwitchesInteraction(); 00035 00037 virtual ~DtSetFederationSwitchesInteraction(); 00038 00040 DtSetFederationSwitchesInteraction( 00041 const DtSetFederationSwitchesInteraction& orig); 00042 00044 DtSetFederationSwitchesInteraction& operator=( 00045 const DtSetFederationSwitchesInteraction& orig); 00046 00049 virtual const DtPhvps& phvps(); 00050 00053 virtual bool setFromPhvps(const DtPhvps& phvps); 00054 00056 virtual bool autoProvide() const; 00057 virtual void setAutoProvide(bool data); 00058 00060 virtual bool receivedAutoProvide() const; 00061 00062 public: 00064 static DtServiceInteraction* create(); 00065 00067 static void addCallback(DtMomInterCbMgr* callBackManager, 00068 DtSetFederationSwitchesInteractionCb cb, void* usr); 00069 static void removeCallback(DtMomInterCbMgr* callBackManager, 00070 DtSetFederationSwitchesInteractionCb cb, void* usr); 00071 00072 protected: 00073 00075 virtual void encodeAutoProvide( 00076 const DtMomInteraction& data, 00077 DtPhvps* parameters, 00078 DtParameterHandle parameterHandle); 00079 00081 virtual void decodeAutoProvide( 00082 DtMomInteraction* data, 00083 const DtPhvps& parameters, 00084 int index); 00085 00086 public: 00087 static const char* theInteractionName; 00088 00089 protected: 00091 bool myAutoProvide; 00092 bool myReceivedAutoProvide; 00093 00094 const char *AUTO_PROVIDE_PARAMETER_NAME; 00095 00096 }; 00097 00098 #endif //! DtIFSPEC1516 00099 #endif //! DtMOM 00100 #endif //! DtSetFederationSwitchesInteraction_H_