MAK RTIspy API Documentation for HLA 1.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
mInteraction.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2001 MAK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: mInteraction.h,v $ $Revision: 1.18 $ $State: Exp $
7 *********************************************************************/
8 #ifdef DtMOM
9 
12 #ifndef DtMomInteraction_H_
13 #define DtMomInteraction_H_
14 
15 #include <vlutil/vlList.h>
16 #include "handleList.h"
17 #include "momInspector.h"
18 #include "fomMgr.h"
19 #include "momNetParam.h"
20 #if !defined(DtIFSPEC13)
21 #include <RTI/Typedefs.h>
22 #endif
23 
24 typedef DtFomClassMgr DtHandleMapper;
25 
26 enum DtMomBaseInteractionType
27 {
28  DtMomInteractionTypeInvalid,
29  DtMomInteractionTypeAdjust,
30  DtMomInteractionTypeRequest,
31  DtMomInteractionTypeReport,
32  DtMomInteractionTypeService,
33  DtMomInteractionTypeFederationAdjust,
34  DtMomInteractionTypeMax
35 };
36 
37 class DT_DLL_LRC DtMomInteraction
38 {
39 public:
40 
42  DtMomInteraction(const char* className, int numParams);
43 
45  virtual ~DtMomInteraction();
46 
48  DtMomInteraction(const DtMomInteraction& orig);
49 
51  DtMomInteraction& operator=(const DtMomInteraction& orig);
52 
54  virtual void setHandleMapper(DtHandleMapper* mapper);
58  virtual DtHandleMapper* handleMapper() const;
60 
62  virtual DtInteractionClassHandle handle() const;
63 
65  virtual unsigned int parameterCount() const;
66 
68  virtual const char *name() const;
69 
71  virtual const DtPhvps& phvps() = 0;
72 
75  virtual bool setFromPhvps(const DtPhvps& set) = 0;
76 
79  virtual bool parametersAreInvalid();
80 
82  virtual DtFederateHandle federateHandle() const;
83  virtual void setFederateHandle(DtFederateHandle handle);
84 
86  virtual DtMomBaseInteractionType interactionType() const;
87 
88 protected:
89 
91  virtual void encodeFederateHandle(
92  const DtMomInteraction& data,
93  DtPhvps* parameters,
94  DtParameterHandle parameterHandle);
95 
97  virtual void decodeFederateHandle(
98  DtMomInteraction* data,
99  const DtPhvps& parameters,
100  int index);
101 
103  virtual DtParameterHandle parameterHandle(const char* parameterName) const;
104 
105 protected:
106 
107  const char *myName;
108  DtFederateHandle myFederateHandle;
109  int myParameterCount;
110 
114  DtPhvps *myParameters;
115 #if !defined(DtIFSPEC13)
116  RTI_API::ParameterHandleValueMap myValueMap;
117 #endif
118 
119  DtHandleMapper* myHandleMapper;
120 
121 protected:
122  const char *FEDERATE_PARAMETER_NAME;
123  DtMomBaseInteractionType myBaseInteractionType;
124 
125 };
126 
127 typedef DtMomInteraction DtReportInteraction;
128 typedef DtMomInteraction DtRequestInteraction;
129 typedef DtMomInteraction DtAdjustInteraction;
130 typedef DtMomInteraction DtServiceInteraction;
131 
132 #endif
133 #endif
DtHandle DtInteractionClassHandle
Definition: internalTypes.h:52
DtHandle DtFederateHandle
Definition: internalTypes.h:46
Definition: fomMgr.h:49
#define DT_DLL_LRC
Definition: rtiMsConfig.h:155
Definition: pHandValSet.h:38
DtHandle DtParameterHandle
Definition: internalTypes.h:56

Document ID: Generated on Sun Jul 20 16:15:30 EDT 2025 from SVN revision 277985
Copyright © 2005-2025 MAK Technologies Inc. All Rights Reserved (www.mak.com)