12 #ifndef DtMomInteraction_H_
13 #define DtMomInteraction_H_
15 #include <vlutil/vlList.h>
20 #if defined(DtIFSPEC1516) || defined(DtIFSPEC1516E)
21 #include <RTI/Typedefs.h>
26 enum DtMomBaseInteractionType
28 DtMomInteractionTypeInvalid,
29 DtMomInteractionTypeAdjust,
30 DtMomInteractionTypeRequest,
31 DtMomInteractionTypeReport,
32 DtMomInteractionTypeService,
33 DtMomInteractionTypeFederationAdjust,
34 DtMomInteractionTypeMax
42 DtMomInteraction(
const char* className,
int numParams);
45 virtual ~DtMomInteraction();
48 DtMomInteraction(
const DtMomInteraction& orig);
51 DtMomInteraction& operator=(
const DtMomInteraction& orig);
57 virtual void setHandleMapper(DtHandleMapper* mapper);
58 virtual DtHandleMapper* handleMapper()
const;
65 virtual unsigned int parameterCount()
const;
68 virtual const char *name()
const;
71 virtual const DtPhvps& phvps() = 0;
75 virtual bool setFromPhvps(
const DtPhvps&
set) = 0;
79 virtual bool parametersAreInvalid();
86 virtual DtMomBaseInteractionType interactionType()
const;
91 virtual void encodeFederateHandle(
92 const DtMomInteraction& data,
97 virtual void decodeFederateHandle(
98 DtMomInteraction* data,
99 const DtPhvps& parameters,
106 int myParameterCount;
111 DtPhvps *myParameters;
113 rti1516::ParameterHandleValueMap myValueMap;
114 #elif defined(DtIFSPEC1516E)
115 rti1516e::ParameterHandleValueMap myValueMap;
118 DtHandleMapper* myHandleMapper;
121 const char *FEDERATE_PARAMETER_NAME;
122 DtMomBaseInteractionType myBaseInteractionType;
126 typedef DtMomInteraction DtReportInteraction;
127 typedef DtMomInteraction DtRequestInteraction;
128 typedef DtMomInteraction DtAdjustInteraction;
129 typedef DtMomInteraction DtServiceInteraction;