VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
remoteConfigurationMapper.h
Go to the documentation of this file.
1 /*********************************************************************
2 ** Copyright (c) 2008 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 /*********************************************************************
6 ** $RCSfile: remoteConfigurationMapper.h,v $ $Revision: 1.2 $ $State: Exp $
7 *********************************************************************/
8 
9 #ifndef DtRemoteConfigurationMapper_H_
10 #define DtRemoteConfigurationMapper_H_
11 
14 
17 
18 #include <list>
19 #include <map>
20 #include <string>
21 
23 class DtObjectType;
24 class DtEntityIdentifier;
25 
28 #include "vrfutil/vrfutilDefines.h"
30 {
31 public:
32 
35  typedef std::list< std::pair<DtObjectType,DtRemoteConfigurationMapEntry*> > ObjTypeList;
36  typedef ObjTypeList::iterator ObjTypeIterator;
37  typedef ObjTypeList::const_iterator const_ObjTypeIterator;
39 
42  typedef std::map<DtEntityIdentifier,DtRemoteConfigurationMapEntry*> EntIdMap;
43  typedef EntIdMap::iterator EntIdIterator;
44  typedef EntIdMap::const_iterator const_EntIdIterator;
46 
49  typedef std::map<std::string,DtRemoteConfigurationMapEntry*> MarkingTextMap;
50  typedef MarkingTextMap::iterator MarkingTextIterator;
51  typedef MarkingTextMap::const_iterator const_MarkingTextIterator;
53 
55  typedef DtRemoteConfigurationMapEntry* (*CreatorFcn)();
56 
57 public:
60 
63  DtReaderWriterRegistry* parentRegistry = NULL,
64  bool readonly = false);
65 
68  DtReaderWriterRegistry* parentRegistry = NULL,
69  bool readonly = false);
70 
73  const DtRemoteConfigurationMapper& orig,
74  DtReaderWriterRegistry* parentRegistry = NULL);
75 
78  const DtRemoteConfigurationMapper& orig,
79  DtReaderWriterRegistry* parentRegistry = NULL);
80 
83 
85  virtual ~DtRemoteConfigurationMapper();
86 
87 public:
88 
97  virtual bool add(DtRemoteConfigurationMapEntry* pEntry);
98 
100  virtual void clear();
101 
103  virtual unsigned count() const;
104 
106  virtual void copyLists(const DtRemoteConfigurationMapper& orig);
107 
109  DtRemoteConfigurationMapper::EntIdMap& entityIdentifierMap();
110  const DtRemoteConfigurationMapper::EntIdMap& entityIdentifierMap() const;
111 
113  virtual DtRemoteConfigurationMapEntry* find(const DtEntityIdentifier& id);
114  virtual const DtRemoteConfigurationMapEntry* find(const DtEntityIdentifier& id) const;
115 
117  virtual DtRemoteConfigurationMapEntry* find(const DtObjectType& objType);
118  virtual const DtRemoteConfigurationMapEntry* find(const DtObjectType& objType) const;
119 
121  virtual DtRemoteConfigurationMapEntry* find(const char* pMarkingText);
122  virtual const DtRemoteConfigurationMapEntry* find(const char* pMarkingText) const;
123 
126  const DtRemoteConfigurationMapper::ObjTypeList& objectTypeList() const;
127 
130  const DtRemoteConfigurationMapper::MarkingTextMap& markingTextMap() const;
131 
133  virtual bool readFile(const DtFilename& fname, const DtReaderWriter::SearchPaths& searchPaths,
134  const DtVariableBindingsList& variableBindings);
135 
141  virtual void remove(DtRemoteConfigurationMapEntry* pEntry,
142  bool bDelete=true);
143 
146  DtRemoteConfigurationMapper::CreatorFcn creatorFcn() const;
147  void setCreatorFcn(DtRemoteConfigurationMapper::CreatorFcn fcn);
149 
150 protected:
152  virtual bool addByEntityId(DtRemoteConfigurationMapEntry* pEntry);
153 
155  virtual bool addByObjectType(DtRemoteConfigurationMapEntry* pEntry);
156 
158  virtual bool addByMarkingText(DtRemoteConfigurationMapEntry* pEntry);
159 
164  virtual bool addByOther(DtRemoteConfigurationMapEntry* pEntry);
165 
166  virtual const DtRemoteConfigurationMapEntry* findBestMatch(const DtObjectType& objtype) const;
167 
169  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
170  const DtVariableBindingsList& variableBindings);
171 
173  virtual void putData(std::string& fp, int indentLevel = 0);
174 
176  virtual void removeByEntityId(DtRemoteConfigurationMapEntry* pEntry,
177  bool bDelete=true);
178 
180  virtual void removeByObjectType(DtRemoteConfigurationMapEntry* pEntry,
181  bool bDelete=true);
182 
184  virtual void removeByMarkingText(DtRemoteConfigurationMapEntry* pEntry,
185  bool bDelete=true);
186 
191  virtual void removeByOther(DtRemoteConfigurationMapEntry* pEntry,
192  bool bDelete=true);
193 
194 protected:
196 
197  CreatorFcn myEntryCreatorFcn;
198 
200 
202 };
203 
206 
208 {
209  return (myEntityIdMap);
210 }
211 
213 {
214  return (myEntityIdMap);
215 }
216 
218 {
219  return (myObjTypeList);
220 }
221 
223 {
224  return (myObjTypeList);
225 }
226 
228 {
229  return (myMarkingTextMap);
230 }
231 
233 {
234  return (myMarkingTextMap);
235 }
236 
237 #endif /* DtRemoteConfigurationMapper_H_ */
DtRemoteConfigurationMapper.
Definition: remoteConfigurationMapper.h:29
Definition: symbolString.h:20
ObjTypeList::const_iterator const_ObjTypeIterator
Object Type list.
Definition: remoteConfigurationMapper.h:37
std::map< DtEntityIdentifier, DtRemoteConfigurationMapEntry * > EntIdMap
Entity Identifier list.
Definition: remoteConfigurationMapper.h:42
DtRemoteConfigurationMapper::MarkingTextMap & markingTextMap()
Return marking text list.
Definition: remoteConfigurationMapper.h:227
virtual DtlObjPtr getData(DtlObjPtr args, const SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)
Deriving class overrides these to get/put class specific data.
EntIdMap::const_iterator const_EntIdIterator
Entity Identifier list.
Definition: remoteConfigurationMapper.h:44
Definition: readerWriter.h:85
MarkingTextMap myMarkingTextMap
Definition: remoteConfigurationMapper.h:201
Definition: readerWriterRegistry.h:39
CreatorFcn myEntryCreatorFcn
Definition: remoteConfigurationMapper.h:197
Definition: objectType.h:27
ObjTypeList myObjTypeList
Definition: remoteConfigurationMapper.h:199
void setCreatorFcn(DtRemoteConfigurationMapper::CreatorFcn fcn)
factory function to create entries
Definition: remoteConfigurationMapper.h:205
MarkingTextMap::iterator MarkingTextIterator
Marking Text list.
Definition: remoteConfigurationMapper.h:50
This file declares DtRemoteConfigurationMapEntry.
Definition: remoteConfigurationMapEntry.h:27
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtRemoteConfigurationMapper::CreatorFcn creatorFcn() const
factory function to create entries
Definition: remoteConfigurationMapper.h:204
std::list< std::pair< DtObjectType, DtRemoteConfigurationMapEntry * > > ObjTypeList
Object Type list.
Definition: remoteConfigurationMapper.h:35
DtRemoteConfigurationMapper::EntIdMap & entityIdentifierMap()
Return entity identifier list.
Definition: remoteConfigurationMapper.h:207
DtRemoteConfigurationMapEntry *(* CreatorFcn)()
Factory function signature.
Definition: remoteConfigurationMapper.h:55
std::map< std::string, DtRemoteConfigurationMapEntry * > MarkingTextMap
Marking Text list.
Definition: remoteConfigurationMapper.h:49
MarkingTextMap::const_iterator const_MarkingTextIterator
Marking Text list.
Definition: remoteConfigurationMapper.h:51
virtual void putData(std::string &fp, int indentLevel=0)
Deriving class overrides these to get/put class specific data.
DtRemoteConfigurationMapper::ObjTypeList & objectTypeList()
Return object type list.
Definition: remoteConfigurationMapper.h:217
EntIdMap::iterator EntIdIterator
Entity Identifier list.
Definition: remoteConfigurationMapper.h:43
EntIdMap myEntityIdMap
Definition: remoteConfigurationMapper.h:195
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
const DtReaderWriter & operator=(const DtReaderWriter &orig)
assignment operator
ObjTypeList::iterator ObjTypeIterator
Object Type list.
Definition: remoteConfigurationMapper.h:36

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)