VR-Forces 5.0.1 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 #include <vlutil/vlList.h>
15 #include <list>
16 #include <map>
17 #include <tbb/spin_rw_mutex.h>
18 
19 class DtObjectType;
22 class DtFilename;
23 class DtString;
24 
39 {
40 public:
41 
44 
46  virtual ~DtVrfParameterDb();
47 
50  virtual bool init();
51 
56  virtual DtVrfParameterDbEntry* add(const DtObjectType& objectType,
57  DtVrfObjectParameters * parameters);
58 
66  virtual DtVrfObjectParameters * lookup(
67  const DtObjectType & objectType,
68  DtObjectType * matchingType = NULL,
69  DtString* source = NULL) const;
70 
82  virtual std::list<const DtVrfObjectParameters*> lookupByEquipmentName(
83  const DtString& equipmentName) const;
84 
92  virtual DtString equipmentName(const DtObjectType& objectType,
93  int& count) const;
94 
97  virtual void remove(const DtObjectType & objectType);
98 
101  virtual void removeAll();
102 
104  virtual const DtList& parameterList() const;
105 
109  virtual bool load(const DtFilename& filename, bool preloadParameters = false) {return true;}
110 
112  virtual bool save(const DtFilename& filename) {return true;}
113 
116  virtual void addParameters(const DtObjectType& objectType,
117  DtVrfObjectParameters * newParameters);
118 
121  virtual DtVrfObjectParameters * lookupParameters(
122  const DtObjectType & objectType, DtObjectType * matchingType) const;
123 
126  virtual void removeParameters(const DtObjectType & objectType);
127 
130  virtual void removeAndDeleteAll();
131 
135  virtual DtVrfParameterDbEntry * lookupParameterDbEntry(
136  const DtObjectType & objectType, DtObjectType * matchingType) const;
137 
139  virtual int numParameterEntries() const;
140 
145  virtual std::list<DtString>* getSysDefExtensionList();
146 
149  virtual void addExtension(DtString);
150 
151 public:
152 
154  static DtVrfParameterDb* create();
155 
156 protected:
157 
164  virtual void addParameterDbEntry(DtVrfParameterDbEntry * newParameterEntry);
165 
168  virtual DtListItem * lookupParameters(const DtObjectType & objectType) const;
169 
172  void emptyList();
173 
175  virtual DtVrfParameterDbEntry* createParameterEntry() const;
176 
177 private:
179  DtVrfParameterDb(const DtVrfParameterDb& orig);
180 
182  DtVrfParameterDb& operator=(const DtVrfParameterDb& orig);
183 
184 protected:
185 
188 
193  mutable std::map < DtString, std::list<const DtVrfObjectParameters*> > myEquipmentToParamsMap;
194  mutable tbb::spin_rw_mutex myEquipmentToParamsMapMutex;
195 };
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:38
DtList myParameterList
List of DtVrfParameterDbEntry* objects.
Definition: vrfParameterDb.h:187
#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:194
Definition: objectType.h:27
virtual bool save(const DtFilename &filename)
Save current contents of the parameter database to file.
Definition: vrfParameterDb.h:112
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:193
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
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:109

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)