VR-Forces 4.0.4 Class Documentation
include/vrfutil/rsrcMgr.h
Go to the documentation of this file.
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

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)