21 class DtVrlRtiAmbassador;
38 DtInterClassDesc(
const char* className,
39 DtInterClassDesc* base, RTI::InteractionClassHandle handle,
43 virtual ~DtInterClassDesc();
46 virtual void addParam(
const char* paramName);
49 virtual RTI::InteractionClassHandle handle()
const;
52 virtual const char* name()
const;
55 virtual const DtInterClassDesc* baseClass()
const;
58 virtual DtInterClassDesc* baseClass();
62 virtual int isOfClass(RTI::InteractionClassHandle hand)
const;
65 virtual int numParameters()
const;
68 virtual RTI::ParameterHandle parameterHandleByName(
const char *paramName);
71 virtual DtString parameterNameByHandle(
const RTI::ParameterHandle& hand);
74 virtual int minParamHandle()
const;
76 virtual int maxParamHandle()
const;
82 virtual const RTI::ParameterHandleSet& paramHandleSet()
const;
84 virtual const RTI::AttributeHandleSet& paramHandleSet()
const;
89 virtual const RTI::ParameterHandleSet& ownParamHandles()
const;
91 virtual const RTI::AttributeHandleSet& ownParamHandles()
const;
95 virtual void publish();
98 virtual void unpublish();
101 virtual void subscribe();
104 virtual void subscribe(DtDDMRegionSP region);
107 virtual void passiveSubscribe();
110 virtual void unsubscribe();
113 virtual void unsubscribe(DtDDMRegionSP region);
116 virtual bool published()
const;
119 virtual bool subscribed()
const;
123 virtual DtInterClassDesc* firstSubscribed();
126 virtual DtVrlRtiAmbassador* rtiAmb();
130 virtual bool neededByFederation()
const;
134 virtual bool everPublished()
const;
138 virtual bool everSubscribed()
const;
140 virtual void setUserTagModifier(DtInteractionTagModifierSP modifier);
141 virtual DtInteractionTagModifierSP userTagModifier();
146 static void setMaxParameters(
int num);
147 static int maxParameters();
154 static void setSubscriptionTimeDelay(
double delay);
162 virtual void enableUnknownParameters();
165 typedef void (*DtParameterEncoder)
166 (
const DtInteractionWithEncDec& inter,
167 RTI::ParameterHandleValuePairSet* avlist,
168 RTI::ParameterHandle handle);
170 typedef void (*DtParameterDecoder)(DtInteractionWithEncDec* inter,
171 const RTI::ParameterHandleValuePairSet& pvlist,
int i);
175 virtual void setUnknownParameterDecoder(
176 DtParameterDecoder decoder);
180 virtual void setUnknownParameterEncoder(
181 DtParameterEncoder encoder);
184 virtual DtParameterEncoder unknownParameterEncoder();
187 virtual DtParameterDecoder unknownParameterDecoder();
192 static void startIntersCb(RTI::InteractionClassHandle hand,
196 static void stopIntersCb(RTI::InteractionClassHandle hand,
200 virtual void processStartInters(RTI::InteractionClassHandle hand);
203 virtual void processStopInters(RTI::InteractionClassHandle hand);
208 DtInterClassDesc(
const DtInterClassDesc& orig);
211 DtInterClassDesc& operator=(
const DtInterClassDesc& orig);
216 RTI::InteractionClassHandle myHandle;
218 RTI::ParameterHandleSet* myParams;
219 RTI::ParameterHandleSet* myOwnParams;
221 RTI::AttributeHandleSet* myParams;
222 RTI::AttributeHandleSet* myOwnParams;
224 DtInterClassDesc* myBase;
229 bool myEverPublished;
230 bool myEverSubscribed;
231 RTI::ParameterHandle myMinParamHand;
232 RTI::ParameterHandle myMaxParamHand;
233 int myNumSubscribeRequests;
234 DtInteractionTagModifierSP myTagModifier;
235 std::set<DtDDMRegionSP> mySubscribedRegions;
236 DtParameterEncoder myUnknownParameterEncoder;
237 DtParameterDecoder myUnknownParameterDecoder;
241 static int theMaxParams;
242 static double theSubscriptionTimeDelay;
245 inline RTI::InteractionClassHandle DtInterClassDesc::handle()
const
250 inline int DtInterClassDesc::numParameters()
const
252 return (
int)myParams->size();
255 inline const RTI::ParameterHandleSet& DtInterClassDesc::paramHandleSet() const
257 inline const RTI::AttributeHandleSet& DtInterClassDesc::paramHandleSet() const
264 inline const RTI::ParameterHandleSet& DtInterClassDesc::ownParamHandles() const
266 inline const RTI::AttributeHandleSet& DtInterClassDesc::ownParamHandles() const
272 inline int DtInterClassDesc::maxParameters()
277 inline void DtInterClassDesc::setMaxParameters(
int num)
282 inline const char* DtInterClassDesc::name()
const
284 return myName.c_str();
287 inline const DtInterClassDesc* DtInterClassDesc::baseClass()
const
292 inline DtInterClassDesc* DtInterClassDesc::baseClass()
297 inline void DtInterClassDesc::setSubscriptionTimeDelay(
double delay)
299 theSubscriptionTimeDelay = delay;
Instances of DtExerciseConn are used to provide an application's interface or connection to the netwo...
Definition: exerciseConnDIS.h:61
#define DT_DLL_VL
Definition: vlMachineTypes.h:108
Contains the DtString class declaration.
Instances of DtString are used to represent strings.
Definition: vlString.h:29
This file contains declarations of the classes DtObjectTagModifier and DtInteractionTagModifier.
This file contains typedefs for machine dependant types.