VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simResourceManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2018 MaK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
14 #pragma once
15 
16 #include <vlutil/vlHashlist.h>
17 #include <readerWriter/rwList.h>
18 
20 class DtString;
21 class DtSimResource;
22 class DtListItem;
23 
36 
37 #include "vrfutil/vrfutilDefines.h"
39 {
40 
41 protected:
42 
45 
46 public:
47 
50  parentRegistry = NULL);
52  parentRegistry = NULL);
53 
55  DtSimResourceManager(const DtString& name, const DtSimResourceManager& orig,
56  DtReaderWriterRegistry* parentRegistry = NULL);
58  DtReaderWriterRegistry* parentRegistry = NULL);
60  DtReaderWriterRegistry* parentRegistry = NULL);
61 
64 
65  bool operator!= (const DtSimResourceManager& orig) const;
66  bool operator== (const DtSimResourceManager& orig) const;
67 
69  virtual ~DtSimResourceManager();
70 
71  virtual const char* readerWriterType() const;
72 
73  virtual DtSimResource* lookupResource(const DtString & resourceName);
74 
75  virtual const DtSimResource* lookupResource(const DtString & resourceName) const;
76 
79  virtual DtSimResource* addResource(DtSimResource* resource);
80 
84  virtual bool removeResource(DtSimResource* resource);
85 
88  virtual void merge(const DtSimResourceManager&);
89 
90  virtual DtSimResourceManager* clone(const DtString& name,
91  DtReaderWriterRegistry* parentRegistry = NULL) const;
92  virtual DtSimResourceManager* clone(const DtSymbolString& name,
93  DtReaderWriterRegistry* parentRegistry = NULL) const;
94 
96  virtual void clearResources();
97 
101 
103  virtual void addToHashIndex(DtSimResource* resource);
104 
106  virtual void removeFromHashIndex(DtSimResource* resource);
107 
131  const std::map<DtString, DtSimResource*>& resources() const { return myResourceMap; };
132 
133  std::map<DtString, DtSimResource*>& resources() { return myResourceMap; };
134 
136  virtual void getSelf(DtlObjPtr args,
137  const DtReaderWriter::SearchPaths& searchPaths = SearchPaths(),
138  const DtVariableBindingsList& variableBindings = nullVariableReference());
139 
140 protected:
142  virtual void removeResource(DtSimResource* resource, DtListItem* item);
143  virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths& searchPaths,
144  const DtVariableBindingsList& variableBindings);
145 
146 protected:
147 
148  std::map<DtString, DtSimResource*> myResourceMap;
149 
150 };
151 
153 {
154  return !(*this == orig);
155 }
std::map< DtString, DtSimResource * > & resources()
Definition: simResourceManager.h:133
This class allows one to collect and compare strings using an index number instead of having to do st...
Definition: symbolString.h:27
A Readable, Writable version of DtList. This class cannot be used directly, but must be inherited to ...
Definition: rwList.h:26
bool operator!=(const DtRwList &rhs) const
Definition: rwList.h:157
virtual DtlObjPtr getData(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths, const DtVariableBindingsList &variableBindings)=0
This method must be overridden by a subclass. Within this method, new instances of the DtReaderWriter...
class DtSimResourceManager:
Definition: simResourceManager.h:38
Definition: readerWriterRegistry.h:39
std::map< DtString, DtSimResource * > myResourceMap
Definition: simResourceManager.h:148
bool operator!=(const DtSimResourceManager &orig) const
Definition: simResourceManager.h:152
std::list< const DtRwVariableBindings * > DtVariableBindingsList
Definition: readerWriterRegistry.h:29
std::vector< DtFilename > SearchPaths
Definition: readerWriter.h:92
bool operator==(const DtRwList &rhs) const
Iterates over all items and calls the factory to compare.
const std::map< DtString, DtSimResource * > & resources() const
Returns a list of the resource keys for this manager. Can be used to iterate through the resources...
Definition: simResourceManager.h:131
static const DtVariableBindingsList & nullVariableReference()
DtSimResource is an abstract base class that can be used to create a hierarchical resource list of a ...
Definition: simResource.h:41
const DtRwList & operator=(const DtRwList &orig)
Calls down to DtReaderWriter::operator=(). List elements are not copied.
#define DT_DLL_vrfutil
This file is used to determine how to build Disable inconsistent dll linkage warning Visual Studio 6...
Definition: vrfutilDefines.h:34
virtual const char * readerWriterType() const
Used to supply a string type that this reader writer type is. This can be used in place of dynamic-ca...
virtual void getSelf(DtlObjPtr args, const DtReaderWriter::SearchPaths &searchPaths=SearchPaths(), const DtVariableBindingsList &variableBindings=nullVariableReference())
Top level to read itself from an input stream. searchPath is passed down to all DtReaderWriter member...

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)