54 typedef void (*DtParameterEncoder)
55 (
const DtInteractionRep& inter,
56 RTI::ParameterHandleValuePairSet* avlist,
57 RTI::ParameterHandle handle);
62 virtual DtParameterEncoder addEncoder(RTI::ParameterHandle hand,
63 DtParameterEncoder func);
68 virtual DtParameterEncoder addEncoder(
char* name,
69 DtParameterEncoder proc);
72 virtual DtParameterEncoder encoder(RTI::ParameterHandle hand) ;
75 virtual void encode(
const DtInteractionRep& inter,
77 RTI::ParameterHandleValueMap &pvMap);
79 RTI::ParameterHandleValuePairSet* pvList);
83 virtual RTI::InteractionClassHandle interClassHandle();
96 RTI::ParameterHandleValuePairSet* avlist,
97 RTI::ParameterHandle handle);
105 RTI::RTIambassador* myRtiAmb;
113 std::map<RTI::ParameterHandle, DtParameterEncoder>
myList;
127 #define DtADD_PARAM_ENCODER(attrName) \
128 addEncoder((char *)#attrName, (DtParameterEncoder) encode##attrName)
130 #define DtDECLARE_PARAM_ENCODER(interClass, paramName) \
131 static void encode##paramName(const interClass& inter, \
132 RTI::ParameterHandleValuePairSet* params, \
133 RTI::ParameterHandle paramHandle)
135 #define DtDEFINE_SIMPLE_PARAM_ENCODER(encClass, interClass, \
136 paramName, netType, \
138 void encClass::encode##paramName(const interClass& inter, \
139 RTI::ParameterHandleValuePairSet* params, \
140 RTI::ParameterHandle paramHandle) \
143 netVal = inter.inspector(); \
144 params->add(paramHandle, (char*) &netVal, sizeof(netType)); \
147 #define DtDEFINE_SIMPLE_GLOBAL_OBJECT_DESIGNATOR_PARAM_ENCODER( \
148 encClass, interClass, paramName, inspector) \
149 void encClass::encode##paramName(const interClass& inter, \
150 RTI::ParameterHandleValuePairSet* params, \
151 RTI::ParameterHandle paramHandle) \
153 DtGlobalObjectDesignator netVal = inter.inspector(); \
154 params->add(paramHandle, (char*) netVal.string(), netVal.length()+1); \
DtInterClassDesc * myClassDesc
Definition: interactionEncoder.h:102
DtExerciseConn * myExConn
Definition: interactionEncoder.h:101
std::map< RTI::ParameterHandle, DtParameterEncoder > myList
myList is an array of classDesc->maxParamHandle() items.
Definition: interactionEncoder.h:113
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnHLA.h:60
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Instances of DtInterClassDesc are used to represent HLA Object and Interaction classes.
Definition: interClassDesc.h:33
DtInteractionEncoder is used to provide encoding of an interaction into an RTI::ParameterHandleValueP...
Definition: interactionEncoder.h:36
virtual DtParameterEncoder encoder(RTI::ParameterHandle hand)
Get the parameter encoder for the specified handle.
Definition: interactionEncoder.h:122
void(* DtParameterEncoder)(const DtInteractionRep &inter, RTI::ParameterHandleValuePairSet *avlist, RTI::ParameterHandle handle)
Attribute encoding function declaration.
Definition: interactionEncoder.h:55
virtual RTI::InteractionClassHandle interClassHandle()
Get the object's class handle.
Definition: interactionEncoder.h:116
This file provides a declaration of the class DtInteractionWithEncDec.
DtVrlRtiAmbassador * myRtiAmb
Definition: interactionEncoder.h:107
class DtInteractionWithEncDec:
Definition: interactionWithEncDec.h:44
Instances of DtVrlRtiAmbassador are for wrapping the calls to The RTI ambassador so that we may overr...
Definition: vrlRtiAmbassador1516e.h:24
RTI::InteractionClassHandle myHandle
Definition: interactionEncoder.h:110
This file contains typedefs for machine dependant types.