VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfParameterDb.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 
14 #include <vlutil/vlList.h>
16 #include <list>
17 #include <map>
18 #include <tbb/spin_rw_mutex.h>
19 #include <set>
20 
21 class DtObjectType;
24 class DtFilename;
25 class DtString;
26 
41 {
42 public:
43 
46 
48  virtual ~DtVrfParameterDb();
49 
52  virtual bool init();
53 
58  virtual DtVrfParameterDbEntry* add(const DtObjectType& objectType,
59  DtVrfObjectParameters * parameters);
60 
68  virtual DtVrfObjectParameters * lookup(
69  const DtObjectType & objectType,
70  DtObjectType * matchingType = NULL,
71  DtString* source = NULL) const;
72 
84  virtual std::list<const DtVrfObjectParameters*> lookupByEquipmentName(
85  const DtString& equipmentName) const;
86 
94  std::set<DtObjectType> lookupByObjectTypePattern(
95  const DtObjectType & objectTypePattern) const;
96 
104  virtual DtString equipmentName(const DtObjectType& objectType,
105  int& count) const;
106 
109  virtual void remove(const DtObjectType & objectType);
110 
113  virtual void removeAll();
114 
116  virtual const DtList& parameterList() const;
117 
121  virtual bool load(const DtFilename& filename, bool preloadParameters = false) {return true;}
122 
124  virtual bool save(const DtFilename& filename) {return true;}
125 
128  virtual void addParameters(const DtObjectType& objectType,
129  DtVrfObjectParameters * newParameters);
130 
133  virtual DtVrfObjectParameters * lookupParameters(
134  const DtObjectType & objectType, DtObjectType * matchingType) const;
135 
138  virtual void removeParameters(const DtObjectType & objectType);
139 
142  virtual void removeAndDeleteAll();
143 
147  virtual DtVrfParameterDbEntry * lookupParameterDbEntry(
148  const DtObjectType & objectType, DtObjectType * matchingType) const;
149 
151  virtual int numParameterEntries() const;
152 
157  virtual std::list<DtString>* getSysDefExtensionList();
158 
161  virtual void addExtension(DtString);
162 
163 public:
164 
166  static DtVrfParameterDb* create();
167 
168 protected:
169 
176  virtual void addParameterDbEntry(DtVrfParameterDbEntry * newParameterEntry);
177 
180  virtual DtListItem * lookupParameters(const DtObjectType & objectType) const;
181 
184  void emptyList();
185 
187  virtual DtVrfParameterDbEntry* createParameterEntry() const;
188 
189 private:
191  DtVrfParameterDb(const DtVrfParameterDb& orig);
192 
194  DtVrfParameterDb& operator=(const DtVrfParameterDb& orig);
195 
196 protected:
197 
200 
205  mutable std::map < DtString, std::list<const DtVrfObjectParameters*> > myEquipmentToParamsMap;
206  mutable tbb::spin_rw_mutex myEquipmentToParamsMapMutex;
207 
212  mutable std::map < DtString, std::set<DtObjectType> > myObjTypePatternToParamsMap;
213  mutable tbb::spin_rw_mutex myObjTypePatternToTypesMapMutex;
214 };
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:63
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:40
DtList myParameterList
List of DtVrfParameterDbEntry* objects.
Definition: vrfParameterDb.h:199
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
tbb::spin_rw_mutex myEquipmentToParamsMapMutex
Definition: vrfParameterDb.h:206
virtual bool save(const DtFilename &filename)
Save current contents of the parameter database to file.
Definition: vrfParameterDb.h:124
Definition: vrfParameterDbEntry.h:22
const char * source
Definition: lz4.h:442
std::map< DtString, std::list< const DtVrfObjectParameters * > > myEquipmentToParamsMap
A cache of equipment name to db entry list mappings. This is filled in as queries are made with looku...
Definition: vrfParameterDb.h:205
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
tbb::spin_rw_mutex myObjTypePatternToTypesMapMutex
Definition: vrfParameterDb.h:213
virtual bool load(const DtFilename &filename, bool preloadParameters=false)
Load the contents of a file into the parameter database. If the preloadParameters value is true will ...
Definition: vrfParameterDb.h:121
std::map< DtString, std::set< DtObjectType > > myObjTypePatternToParamsMap
A cache of generic object type pattern to specific object type mappings. This is filled in as queries...
Definition: vrfParameterDb.h:212

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)