12 #ifndef DtSetFederateSwitchesInteraction_H_
13 #define DtSetFederateSwitchesInteraction_H_
16 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
21 #include <vlutil/vlList.h>
23 class DtMomInterCbMgr;
24 class DtSetFederateSwitchesInteraction;
25 typedef void (*DtSetFederateSwitchesInteractionCb)
26 (
const DtSetFederateSwitchesInteraction& inter,
void* usr);
28 class DT_DLL_LRC DtSetFederateSwitchesInteraction :
29 public DtServiceInteraction
34 DtSetFederateSwitchesInteraction();
37 virtual ~DtSetFederateSwitchesInteraction();
40 DtSetFederateSwitchesInteraction(
41 const DtSetFederateSwitchesInteraction& orig);
44 DtSetFederateSwitchesInteraction& operator=(
45 const DtSetFederateSwitchesInteraction& orig);
49 virtual const DtPhvps& phvps();
53 virtual bool setFromPhvps(
const DtPhvps& phvps);
56 virtual bool conveyRegions()
const;
57 virtual void setConveyRegions(
bool data);
60 virtual bool receivedConveyRegions()
const;
64 virtual bool conveyProducingFederate()
const;
65 virtual void setConveyProducingFederate(
bool data);
68 virtual bool receivedConveyProducingFederate()
const;
73 static DtServiceInteraction* create();
76 static void addCallback(DtMomInterCbMgr* callBackManager,
77 DtSetFederateSwitchesInteractionCb cb,
void* usr);
78 static void removeCallback(DtMomInterCbMgr* callBackManager,
79 DtSetFederateSwitchesInteractionCb cb,
void* usr);
84 virtual void encodeConveyRegions(
85 const DtMomInteraction& data,
90 virtual void decodeConveyRegions(
91 DtMomInteraction* data,
92 const DtPhvps& parameters,
97 virtual void encodeConveyProducingFederate(
98 const DtMomInteraction& data,
103 virtual void decodeConveyProducingFederate(
104 DtMomInteraction* data,
105 const DtPhvps& parameters,
110 static const char* theInteractionName;
114 bool myConveyRegions;
116 bool myReceivedConveyRegions;
118 const char *CONVEY_REGIONS_PARAMETER_NAME;
121 bool myConveyProducingFederate;
123 bool myReceivedConveyProducingFederate;
125 const char *CONVEY_PRODUCING_FEDERATE_PARAMETER_NAME;