VR-Link API Documentation for HLA Evolved
lromMapper.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 1992-2010 VT MAK
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #ifndef lromMapper_H_
7 #define lromMapper_H_
8 
9 
10 #if DtTENA
11 
12 
13 #include "tMessageInterface.h"
14 #include "tObjectInterface.h"
15 #include <vlutil/vlMachineTypes.h>
16 
17 #include <map>
18 #include <vector>
19 
23 
24 class DT_DLL_VL DtString;
26 
29 class DT_DLL_VL DtLromMapper
30 {
31 public:
35  typedef const DtString& (*DtObjectInterfaceChooser)(
36  const DtString& vrlinkClassName, void* usr);
37 
38  typedef const DtString& (*DtMessageInterfaceChooser)(
39  const DtString& vrlinkClassName, void* usr);
40 
41 public:
43  DtLromMapper();
44 
46  virtual ~DtLromMapper();
47 
48 private:
50  DtLromMapper(const DtLromMapper& orig);
51 
53  DtLromMapper& operator=(const DtLromMapper& orig);
54 
55 public:
57  virtual void init(DtExerciseConn* exConn) = 0;
58 
60  virtual DtMessageInterface* messageInterface(const DtString& ifName) = 0;
61 
63  virtual DtObjectInterface* objectInterface(const DtString& ifName) = 0;
64 
69  virtual void setObjectInterfaceClassToChoose(
70  const DtString& vrlinkClassName, const DtString& interfaceName);
71 
75  virtual void setMessageInterfaceClassToChoose(
76  const DtString& vrlinkClassName, const DtString& interfaceName);
77 
82  virtual void setObjectInterfaceClassChooser(
83  const DtString& vrlinkClassName, DtObjectInterfaceChooser chooser);
84 
88  virtual void setMessageInterfaceClassChooser(
89  const DtString& vrlinkClassName, DtMessageInterfaceChooser chooser);
90 
96  virtual const DtString& chooseObjectInterfaceClass(const DtString& vrlinkClassName,
97  void* usr = NULL) const;
98 
101  virtual const DtString& chooseMessageInterfaceClass(const DtString& vrlinkClassName,
102  void* usr = NULL) const;
103 
106  DtLromMapper::DtObjectInterfaceChooser objectInterfaceClassChooser(
107  const DtString& vrlinkClassName) const;
108 
112  DtLromMapper::DtMessageInterfaceChooser messageInterfaceClassChooser(
113  const DtString& vrlinkClassName) const;
114 
117  virtual void setObjectInterfaceClassNames(const DtString& vrlinkClassName,
118  const std::vector<DtString>& classes);
119 
122  virtual const std::vector<DtString>& objectInterfaceClassNames(
123  const DtString& vrlinkClassName);
124 
128  virtual void setObjectInterfaceClass(const DtString& vrlinkClassName,
129  const DtString& fomClassName);
130 
133  virtual void setMessageInterfaceClasses(const DtString& vrlinkClassName,
134  const std::vector<DtString>& classes);
135 
139  virtual const std::vector<DtString>& messageInterfaceClasses(
140  const DtString& vrlinkClassName);
141 
145  virtual void setMessageInterfaceClass(const DtString& vrlinkClassName,
146  const DtString& fomClassName);
147 
148 
149 protected:
150  std::map<DtString, DtString> mySimpleObjectInterfaceChooserList;
151  std::map<DtString, DtObjectInterfaceChooser> myObjectInterfaceChooserList;
152  std::map<DtString, std::vector<DtString> > myObjectInterfaceMapList;
153 
154  std::map<DtString, DtString> mySimpleMessageInterfaceChooserList;
155  std::map<DtString, DtMessageInterfaceChooser> myMessageInterfaceChooserList;
156  std::map<DtString, std::vector<DtString> > myMessageInterfaceMapList;
157 };
158 
159 
160 #endif
161 #endif
162 
163 
164 

Document ID: Generated on Wed Aug 14 15:35:11 EDT 2013 from SVN revision 130445
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)