VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
componentSystemDatabase.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <list>
15 #include <vlutil/vlString.h>
16 #include <vlutil/vlFilename.h>
19 
20 #include <map>
21 
23 
24 typedef std::map<DtFilename, DtComponentSystemDefinition*> DtSystemDefinitionMap;
25 
29 {
32 };
33 
34 typedef std::list<DtSystemDefinitionInfo> DtSystemDefinitionInfoList;
35 
41 {
42 private:
44 
48 
49 public:
51  virtual ~DtComponentSystemDatabase();
52 
56  virtual bool loadSystemDefinition(const DtFilename& definitionFilename,
57  const DtVariableBindingsList& variableBindings, const DtReaderWriter::SearchPaths& searchPaths = DtReaderWriter::SearchPaths());
58 
60  virtual void changeSystemFilename(const DtFilename& oldFilename, const DtFilename& newFilename);
61 
65  virtual DtSystemDefinitionInfoList findSystemsForCategoryAndSRType(
66  const DtString& category, const DtString& stateRepType) const;
67 
71  virtual const DtComponentSystemDefinition* findSystemByFilename(const DtFilename& filename) const;
72  virtual DtComponentSystemDefinition* findSystemByFilename(const DtFilename& filename);
73 
76  virtual const DtComponentSystemDefinition* findSystemBySystemName(const DtString& systemName) const;
77  virtual DtComponentSystemDefinition* findSystemBySystemName(const DtString& systemName);
78 
81  virtual bool replaceSystem(const DtFilename& definitionFilename,
82  const DtVariableBindingsList& variableBindings);
83 
86  virtual DtComponentSystemDefinition* addSystem(const DtFilename&, const DtComponentSystemDefinition&);
87 
89  virtual bool saveSystem(const DtFilename&);
90 
92  virtual bool saveSystem(const DtComponentSystemDefinition*);
93 
95  virtual bool removeSystem(const DtFilename& definitionFilename);
96 
98  virtual bool removeSystem(const DtComponentSystemDefinition* systemDefinition);
99 
102  virtual void findAllVariableBindings(DtVariableBindingsList& list, const DtReaderWriter* rw) const;
103 
104  virtual bool operator==(const DtComponentSystemDatabase&) const;
105  virtual bool operator!=(const DtComponentSystemDatabase& rhs) const
106  {
107  return !(*this == rhs);
108  }
109 
111  {
112  return mySystemDefinitions;
113  }
114 
117  {
118  return mySystemDefinitions;
119  }
120 
122  virtual DtFilename systemFilename(const DtComponentSystemDefinition*) const;
123 
124 protected:
126 };
std::list< DtSystemDefinitionInfo > DtSystemDefinitionInfoList
Definition: componentSystemDatabase.h:34
DtSystemDefinitionMap mySystemDefinitions
Definition: componentSystemDatabase.h:125
#define DT_DLL_vrfobjparam
This file is used to determine how to build.
Definition: vrfobjparamDefines.h:28
DtString filename
Definition: componentSystemDatabase.h:30
DT_DLL_terrainCS bool operator==(const DtDegMinSec &lhs, const DtDegMinSec &rhs)
Definition: readerWriter.h:85
virtual bool operator!=(const DtComponentSystemDatabase &rhs) const
Definition: componentSystemDatabase.h:105
const DtSystemDefinitionMap & systemDefinitions() const
Definition: componentSystemDatabase.h:110
DtComponentSystemDefinition.
Definition: componentSystemDefinition.h:25
Structure that holds additional information about a DtComponentSystemDefinition that is loaded by the...
Definition: componentSystemDatabase.h:28
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
DtComponentSystemDefinition * systemDefinition
Definition: componentSystemDatabase.h:31
DtSystemDefinitionMap & systemDefinitions()
This class owns the pointers to the system definitions so do not hold onto pointers. Use this for modification only.
Definition: componentSystemDatabase.h:116
std::map< DtFilename, DtComponentSystemDefinition * > DtSystemDefinitionMap
Definition: componentSystemDatabase.h:22
This class maintains a database of a set of DtComponentSystemDefinition instances.
Definition: componentSystemDatabase.h:40

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)