VR-Forces 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) 2024 MaK Technologies, Inc.
3 ** All rights reserved.
4 *********************************************************************/
5 
6 #pragma once
7 
10 
13 
14 #include <list>
15 #include <map>
16 #include <string>
17 
19 class DtEntityIdentifier;
20 class DtEntityType;
21 
24 #include "vrfutil/vrfutilDefines.h"
26 {
27 public:
28 
31  typedef std::list< std::pair<DtEntityType,DtRemoteConfigurationMapEntry*> > ObjTypeList;
32  typedef ObjTypeList::iterator ObjTypeIterator;
33  typedef ObjTypeList::const_iterator const_ObjTypeIterator;
35 
38  typedef std::map<DtEntityIdentifier,DtRemoteConfigurationMapEntry*> EntIdMap;
39  typedef EntIdMap::iterator EntIdIterator;
40  typedef EntIdMap::const_iterator const_EntIdIterator;
42 
45  typedef std::map<std::string,DtRemoteConfigurationMapEntry*> MarkingTextMap;
46  typedef MarkingTextMap::iterator MarkingTextIterator;
47  typedef MarkingTextMap::const_iterator const_MarkingTextIterator;
49 
51  typedef DtRemoteConfigurationMapEntry* (*CreatorFcn)();
52 
53 public:
56 
59  DtReaderWriterRegistry* parentRegistry = NULL,
60  bool readonly = false);
61 
64  DtReaderWriterRegistry* parentRegistry = NULL,
65  bool readonly = false);
66 
69  const DtRemoteConfigurationMapper& orig,
70  DtReaderWriterRegistry* parentRegistry = NULL);
71 
74  const DtRemoteConfigurationMapper& orig,
75  DtReaderWriterRegistry* parentRegistry = NULL);
76 
79 
81  virtual ~DtRemoteConfigurationMapper() override;
82 
83 public:
84 
93  virtual bool add(DtRemoteConfigurationMapEntry* pEntry);
94 
96  virtual void clear();
97 
99  virtual unsigned count() const;
100 
102  virtual void copyLists(const DtRemoteConfigurationMapper& orig);
103 
105  DtRemoteConfigurationMapper::EntIdMap& entityIdentifierMap();
106  const DtRemoteConfigurationMapper::EntIdMap& entityIdentifierMap() const;
107 
109  virtual DtRemoteConfigurationMapEntry* find(const DtEntityIdentifier& id);
110  virtual const DtRemoteConfigurationMapEntry* find(const DtEntityIdentifier& id) const;
111 
113  virtual DtRemoteConfigurationMapEntry* find(const DtEntityType& objType);
114  virtual const DtRemoteConfigurationMapEntry* find(const DtEntityType& objType) const;
115 
117  virtual DtRemoteConfigurationMapEntry* find(const char* pMarkingText);
118  virtual const DtRemoteConfigurationMapEntry* find(const char* pMarkingText) const;
119 
122  const DtRemoteConfigurationMapper::ObjTypeList& objectTypeList() const;
123 
126  const DtRemoteConfigurationMapper::MarkingTextMap& markingTextMap() const;
127 
129  virtual bool readFile(const DtFilename& fname, const DtReaderWriter::SearchPaths& searchPaths,
130  const DtVariableBindingsList& variableBindings);
131 
137  virtual void remove(DtRemoteConfigurationMapEntry* pEntry,
138  bool bDelete=true);
139 
142  DtRemoteConfigurationMapper::CreatorFcn creatorFcn() const;
143  void setCreatorFcn(DtRemoteConfigurationMapper::CreatorFcn fcn);
145 
146 protected:
148  virtual bool addByEntityId(DtRemoteConfigurationMapEntry* pEntry);
149 
151  virtual bool addByObjectType(DtRemoteConfigurationMapEntry* pEntry);
152 
154  virtual bool addByMarkingText(DtRemoteConfigurationMapEntry* pEntry);
155 
160  virtual bool addByOther(DtRemoteConfigurationMapEntry* pEntry);
161 
162  virtual const DtRemoteConfigurationMapEntry* findBestMatch(const DtEntityType& objtype) const;
163 
165  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
166  const DtVariableBindingsList& variableBindings) override;
167 
169  virtual void putData(std::string& fp, int indentLevel = 0) override;
170 
172  virtual void removeByEntityId(DtRemoteConfigurationMapEntry* pEntry,
173  bool bDelete=true);
174 
176  virtual void removeByObjectType(DtRemoteConfigurationMapEntry* pEntry,
177  bool bDelete=true);
178 
180  virtual void removeByMarkingText(DtRemoteConfigurationMapEntry* pEntry,
181  bool bDelete=true);
182 
187  virtual void removeByOther(DtRemoteConfigurationMapEntry* pEntry,
188  bool bDelete=true);
189 
190 protected:
192 
193  CreatorFcn myEntryCreatorFcn;
194 
196 
198 };
199 
202 
204 {
205  return (myEntityIdMap);
206 }
207 
209 {
210  return (myEntityIdMap);
211 }
212 
214 {
215  return (myObjTypeList);
216 }
217 
219 {
220  return (myObjTypeList);
221 }
222 
224 {
225  return (myMarkingTextMap);
226 }
227 
229 {
230  return (myMarkingTextMap);
231 }
DtRemoteConfigurationMapper.
Definition: remoteConfigurationMapper.h:25
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
ObjTypeList::const_iterator const_ObjTypeIterator
Object Type list.
Definition: remoteConfigurationMapper.h:33
std::map< DtEntityIdentifier, DtRemoteConfigurationMapEntry * > EntIdMap
Entity Identifier list.
Definition: remoteConfigurationMapper.h:38
std::list< std::pair< DtEntityType, DtRemoteConfigurationMapEntry * > > ObjTypeList
Object Type list.
Definition: remoteConfigurationMapper.h:31
DtRemoteConfigurationMapper::MarkingTextMap & markingTextMap()
Return marking text list.
Definition: remoteConfigurationMapper.h:223
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:40
Definition: readerWriter.h:85
MarkingTextMap myMarkingTextMap
Definition: remoteConfigurationMapper.h:197
Definition: readerWriterRegistry.h:39
CreatorFcn myEntryCreatorFcn
Definition: remoteConfigurationMapper.h:193
ObjTypeList myObjTypeList
Definition: remoteConfigurationMapper.h:195
void setCreatorFcn(DtRemoteConfigurationMapper::CreatorFcn fcn)
factory function to create entries
Definition: remoteConfigurationMapper.h:201
MarkingTextMap::iterator MarkingTextIterator
Marking Text list.
Definition: remoteConfigurationMapper.h:46
This file declares DtRemoteConfigurationMapEntry.
Definition: remoteConfigurationMapEntry.h:23
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:200
DtRemoteConfigurationMapper::EntIdMap & entityIdentifierMap()
Return entity identifier list.
Definition: remoteConfigurationMapper.h:203
DtRemoteConfigurationMapEntry *(* CreatorFcn)()
Factory function signature.
Definition: remoteConfigurationMapper.h:51
std::map< std::string, DtRemoteConfigurationMapEntry * > MarkingTextMap
Marking Text list.
Definition: remoteConfigurationMapper.h:45
MarkingTextMap::const_iterator const_MarkingTextIterator
Marking Text list.
Definition: remoteConfigurationMapper.h:47
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:213
EntIdMap::iterator EntIdIterator
Entity Identifier list.
Definition: remoteConfigurationMapper.h:39
EntIdMap myEntityIdMap
Definition: remoteConfigurationMapper.h:191
#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:32

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)