VR-Forces 5.0.3 Developer's Guide
 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. This is intended for use by things such as the Entity Editor which needs to load up all the system definitions available, and then find the appropriate ones for particular queries.
Definition: componentSystemDatabase.h:40

Document ID: Generated on Thu Jun 1 17:58:13 EDT 2023 from SVN revision 255404
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)