![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /******************************************************************************* 00002 ** Copyright (c) 1999 MaK Technologies, Inc. 00003 ** All rights reserved. 00004 *******************************************************************************/ 00005 /******************************************************************************* 00006 ** $RCSfile: rsrcMgr.h,v $ $Revision: 1.13 $ $State: Exp $ 00007 *******************************************************************************/ 00008 00011 00017 00018 #ifndef DtSimResourceManager_H_ 00019 #define DtSimResourceManager_H_ 00020 00021 #include <vlutil/vlHashlist.h> 00022 #include "vrfutil/rwList.h" 00023 00024 class DtReaderWriterRegistry; 00025 class DtString; 00026 class DtSimResource; 00027 class DtListItem; 00028 00041 00042 #include "vrfutil/vrfutilDefines.h" 00043 class DT_DLL_vrfutil DtSimResourceManager : public DtRwList 00044 { 00045 00046 protected: 00047 00049 DtSimResourceManager(); 00050 00051 public: 00052 00054 DtSimResourceManager(const DtString& name, DtReaderWriterRegistry* 00055 parentRegistry = NULL); 00056 DtSimResourceManager(const DtSymbolString& name, DtReaderWriterRegistry* 00057 parentRegistry = NULL); 00058 00060 DtSimResourceManager(const DtString& name, const DtSimResourceManager& orig, 00061 DtReaderWriterRegistry* parentRegistry = NULL); 00062 DtSimResourceManager(const DtSymbolString& name, const DtSimResourceManager& orig, 00063 DtReaderWriterRegistry* parentRegistry = NULL); 00064 00066 DtSimResourceManager& operator=(const DtSimResourceManager& orig); 00067 00068 bool operator!= (const DtSimResourceManager& orig) const; 00069 bool operator== (const DtSimResourceManager& orig) const; 00070 00072 virtual ~DtSimResourceManager(); 00073 00074 virtual DtSimResource* lookupResource(const DtString & resourceName); 00075 virtual DtSimResource* lookupResource(const DtBaseHashKey & resourceName); 00076 00077 virtual const DtSimResource* lookupResource(const DtString & resourceName) const; 00078 virtual const DtSimResource* lookupResource(const DtBaseHashKey & resourceName) const; 00079 00082 virtual DtSimResource* addResource(DtSimResource* resource); 00083 00087 virtual bool removeResource(DtSimResource* resource); 00088 00089 virtual DtSimResourceManager* clone(const DtString& name, 00090 DtReaderWriterRegistry* parentRegistry = NULL) const; 00091 virtual DtSimResourceManager* clone(const DtSymbolString& name, 00092 DtReaderWriterRegistry* parentRegistry = NULL) const; 00093 00097 00099 virtual void addToHashIndex(DtSimResource* resource); 00100 00102 virtual void removeFromHashIndex(DtSimResource* resource); 00103 00106 const DtList* resources() const { return myHashIndex.keys(); }; 00107 00108 protected: 00110 virtual void removeResource(DtSimResource* resource, DtListItem* item); 00111 virtual DtlObjPtr getData(DtlObjPtr args, const DtFilename& searchPath, 00112 const DtVariableBindingsList& variableBindings); 00113 00114 protected: 00115 00116 DtHashlist myHashIndex; 00117 00118 }; 00119 00120 inline bool DtSimResourceManager::operator!=(const DtSimResourceManager& orig) const 00121 { 00122 return !(*this == orig); 00123 } 00124 00125 #endif