VR-Forces 4.8 Class Documentation
 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 
18 class DtObjectType;
21 class DtFilename;
22 class DtString;
23 
36 {
37 public:
38 
41 
43  virtual ~DtVrfParameterDb();
44 
47  virtual bool init();
48 
53  virtual DtVrfParameterDbEntry* add(const DtObjectType& objectType,
54  DtVrfObjectParameters * parameters);
55 
63  virtual DtVrfObjectParameters * lookup(
64  const DtObjectType & objectType,
65  DtObjectType * matchingType = NULL,
66  DtString* source = NULL) const;
67 
79  virtual std::list<DtVrfObjectParameters*> lookupByEquipmentName(
80  const DtString& equipmentName);
81 
89  virtual DtString equipmentName(const DtObjectType& objectType,
90  int& count);
91 
94  virtual void remove(const DtObjectType & objectType);
95 
98  virtual void removeAll();
99 
101  virtual const DtList& parameterList() const;
102 
106  virtual bool load(const DtFilename& filename, bool preloadParameters = false) {return true;}
107 
109  virtual bool save(const DtFilename& filename) {return true;}
110 
113  virtual void addParameters(const DtObjectType& objectType,
114  DtVrfObjectParameters * newParameters);
115 
118  virtual DtVrfObjectParameters * lookupParameters(
119  const DtObjectType & objectType, DtObjectType * matchingType) const;
120 
123  virtual void removeParameters(const DtObjectType & objectType);
124 
127  virtual void removeAndDeleteAll();
128 
132  virtual DtVrfParameterDbEntry * lookupParameterDbEntry(
133  const DtObjectType & objectType, DtObjectType * matchingType) const;
134 
136  virtual int numParameterEntries() const;
137 
142  virtual std::list<DtString>* getSysDefExtensionList();
143 
146  virtual void addExtension(DtString);
147 
148 public:
149 
151  static DtVrfParameterDb* create();
152 
153 protected:
154 
161  virtual void addParameterDbEntry(DtVrfParameterDbEntry * newParameterEntry);
162 
165  virtual DtListItem * lookupParameters(const DtObjectType & objectType) const;
166 
169  void emptyList();
170 
172  virtual DtVrfParameterDbEntry* createParameterEntry() const;
173 
174 private:
176  DtVrfParameterDb(const DtVrfParameterDb& orig);
177 
179  DtVrfParameterDb& operator=(const DtVrfParameterDb& orig);
180 
181 protected:
182 
185 
190  std::map < DtString, std::list<DtVrfObjectParameters*> > myEquipmentToParamsMap;
191 };
Instances of DtVrfObjectParameters are the readable/writeable objects that contain the information ne...
Definition: vrfObjectParameters.h:59
Instances of DtVrfParameterDb are the database of DtVrfObjectParameters objects used in the construct...
Definition: vrfParameterDb.h:35
DtList myParameterList
List of DtVrfParameterDbEntry* objects.
Definition: vrfParameterDb.h:184
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
*virtual const DtObjectType & objectType() const
Definition: objectType.h:27
virtual bool save(const DtFilename &filename)
Save current contents of the parameter database to file.
Definition: vrfParameterDb.h:109
Definition: vrfParameterDbEntry.h:22
const char * source
Definition: lz4.h:436
std::map< DtString, std::list< DtVrfObjectParameters * > > myEquipmentToParamsMap
A cache of equipment name to db entry list mappings.
Definition: vrfParameterDb.h:190
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.
Definition: vrfParameterDb.h:106

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)