VR-Link API Documentation for HLA Evolved
 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 
176  virtual void setVersion(double vers);
177  virtual double version() const;
178 
185  virtual void setRevision(int val);
186 
193  virtual int revision() const;
194 
198  virtual DtObjectClassChooser objectClassChooser(
199  const char* vrlinkClassName) const;
200 
204  virtual DtInteractionClassChooser interactionClassChooser(
205  const char* vrlinkClassName) const;
206 
207 protected:
209  DtFomMapper(const DtFomMapper& orig);
210 
212  DtFomMapper& operator=(const DtFomMapper& orig);
213 
214 protected:
215 
217 
225 
230 
236 
241 
245 
250 
254 
258 
262 
263 protected:
264  double myVersion;
266 
267 };
268 
269 #endif
270 #endif
271 

Document ID: Generated on Fri May 15 06:36:13 EDT 2015 from SVN revision 153263
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)