![]() |
VR-Forces 4.0.4 Class Documentation
|
00001 /****************************************************************************** 00002 ** Copyright (c) 2010 MAK Technologies, Inc. 00003 ** All rights reserved. 00004 ******************************************************************************/ 00005 /****************************************************************************** 00006 ** $RCSfile: $ $Revision: $ $State: $ 00007 ******************************************************************************/ 00008 00012 00013 #pragma once 00014 #include <vrvCore/vrvCore.h> 00015 #include <vrvUtil/DtVirtualBaseClass.h> 00016 #include <boost/unordered_map.hpp> 00017 #include <string> 00018 00019 namespace makVrv 00020 { 00021 class DtPageCollection; 00022 00026 class DT_DLL_VRVCORE DtPageCollectionManager : public DtVirtualBaseClass 00027 { 00028 public: 00029 typedef boost::unordered_map<std::string,DtPageCollection*> 00030 CollectionMap; 00031 00033 static DtPageCollectionManager& instance(DtDe& de); 00034 00036 virtual ~DtPageCollectionManager(); 00037 00039 DtPageCollection* findPageCollection( 00040 const std::string& collectionClassName) const; 00041 00043 DtPageCollection* assemblePageCollection( 00044 const std::string& collectionClassName) const; 00045 00047 const CollectionMap& pageCollections() const; 00048 00052 void showCollection(const std::string& collectionClassName, 00053 const std::string& page = std::string("")); 00054 00055 protected: 00056 00057 DtPageCollectionManager(DtDe& de); 00058 00061 friend class DtPageCollection; 00062 00067 void registerInstance(DtPageCollection*); 00068 00071 void unregisterInstance(DtPageCollection*); 00072 00073 protected: 00074 DtDe& myDe; 00075 CollectionMap myCollections; 00076 }; 00077 } 00078