VR-Link API Documentation for HLA 1516
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
fomMapper.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef fomMapper_H_
7 #define fomMapper_H_
8 
9 
10 #if DtHLA
11 
12 
13 #include "hostStructs.h"
14 #include "rtiCompatibility.h"
15 
16 #include <vlutil/vlHashlist.h>
17 
18 class DtExerciseConn;
23 class DtHlaObjectFactory;
25 class DtInteraction;
26 
34 {
35 public:
36 
39  typedef char* (*DtInteractionClassChooser)(
40  DtExerciseConn* exConn, const DtInteraction& inter);
41 
45  typedef char* (*DtObjectClassChooser)(
46  const char* vrlinkClassName, DtExerciseConn* conn, void* usr);
47 
48 public:
49 
52  DtFomMapper();
53 
55  virtual ~DtFomMapper();
56 
59  virtual DtStateDecoderFactory* setStateDecoderFactory(
60  DtStateDecoderFactory* fact);
61  virtual DtStateDecoderFactory* stateDecoderFactory();
62 
65  virtual DtStateEncoderFactory* setStateEncoderFactory(
66  DtStateEncoderFactory* fact);
67  virtual DtStateEncoderFactory* stateEncoderFactory();
68 
71  virtual DtInteractionDecoderFactory* setInteractionDecoderFactory(
73  virtual DtInteractionDecoderFactory* interactionDecoderFactory();
74 
77  virtual DtInteractionEncoderFactory* setInteractionEncoderFactory(
79  virtual DtInteractionEncoderFactory* interactionEncoderFactory();
80 
83  virtual DtHlaObjectFactory* setHlaObjectFactory(
84  DtHlaObjectFactory* fact);
85  virtual DtHlaObjectFactory* hlaObjectFactory();
86 
89  virtual DtInteractionFactory* setInteractionFactory(
90  DtInteractionFactory* fact);
91  virtual DtInteractionFactory* interactionFactory();
92 
97  virtual void setObjectClassToChoose(
98  const char* vrlinkClassName, const char* fomClassName);
99  virtual void setObjectClassChooser(
100  const char* vrlinkClassName, DtObjectClassChooser chooser);
101 
107  virtual char* chooseObjectClass(
108  const char* vrlinkClassName, void* usr = NULL) const;
109 
114  virtual void setInteractionClassToChoose(
115  const char* vrlinkClassName, const char* fomClassName);
116  virtual void setInteractionClassChooser(
117  const char* vrlinkClassName, DtInteractionClassChooser chooser);
118 
121  virtual char* chooseInteractionClass(const DtInteraction& inter) const;
122 
130  virtual void setInteractionClasses(const char* vrlinkClassName,
131  const DtList& classes);
132  virtual DtList* interactionClasses(const char* vrlinkClassName);
133 
137  virtual void setInteractionClass(const char* vrlinkClassName,
138  const char* fomClassName);
139 
148  virtual void setObjectClassNames(const char* vrlinkClassName,
149  const DtList& classes);
150  virtual DtList* objectClassNames(const char* vrlinkClassName);
151 
159  virtual DtList* objectClassHandles(const char* vrlinkClassName);
160 
164  virtual void setObjectClass(const char* vrlinkClassName,
165  const char* fomClassName);
166 
169  virtual void init(DtExerciseConn* conn) = 0;
170 
172  virtual void setVersion(double vers);
173  virtual double version() const;
174 
176  virtual void setRevision(int val);
177 
179  virtual int revision() const;
180 
184  virtual DtObjectClassChooser objectClassChooser(
185  const char* vrlinkClassName) const;
186 
190  virtual DtInteractionClassChooser interactionClassChooser(
191  const char* vrlinkClassName) const;
192 
193 protected:
195  DtFomMapper(const DtFomMapper& orig);
196 
198  DtFomMapper& operator=(const DtFomMapper& orig);
199 
200 protected:
201 
203 
211 
216 
222 
227 
231 
236 
240 
244 
248 
249 protected:
250  double myVersion;
252 
253 };
254 
255 #endif
256 #endif
257 

Document ID: Generated on Wed Jan 7 13:31:29 EST 2015 from SVN revision 149162
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)