Orxonox  0.0.5 Codename: Arcturus
DynLibManager.h
Go to the documentation of this file.
1 /*
2 -----------------------------------------------------------------------------
3 This source file is part of OGRE
4  (Object-oriented Graphics Rendering Engine)
5 For the latest info, see http://www.ogre3d.org/
6 
7 Copyright (c) 2000-2006 Torus Knot Software Ltd
8 Also see acknowledgements in Readme.html
9 
10 This program is free software; you can redistribute it and/or modify it under
11 the terms of the GNU Lesser General Public License as published by the Free Software
12 Foundation; either version 2 of the License, or (at your option) any later
13 version.
14 
15 This program is distributed in the hope that it will be useful, but WITHOUT
16 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17 FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
18 
19 You should have received a copy of the GNU Lesser General Public License along with
20 this program; if not, write to the Free Software Foundation, Inc., 59 Temple
21 Place - Suite 330, Boston, MA 02111-1307, USA, or go to
22 http://www.gnu.org/copyleft/lesser.txt.
23 
24 You may alternatively use this source under the terms of a specific version of
25 the OGRE Unrestricted License provided you have obtained such a license from
26 Torus Knot Software Ltd.
27 -----------------------------------------------------------------------------
28 */
29 
30 // 08/11/2009: Small adjustments for Orxonox by Fabian 'x3n' Landau
31 
38 #ifndef _Core_DynLibManager_H__
39 #define _Core_DynLibManager_H__
40 
41 #include "core/CorePrereqs.h"
42 
43 #include <map>
44 #include <string>
45 #include "util/Singleton.h"
46 
47 namespace orxonox
48 {
55  class _CoreExport DynLibManager: public Singleton<DynLibManager>
56  {
57  friend class Singleton<DynLibManager>;
58 
59  protected:
60  typedef std::map<std::string, DynLib*> DynLibList;
61  DynLibList mLibList;
62 
63  public:
73  DynLibManager();
74 
81  virtual ~DynLibManager();
82 
89  DynLib* load(const std::string& filename);
90 
97  void unload(DynLib* lib);
98 
99  private:
101  };
102 }
103 
104 #endif /* _Core_DynLibManager_H__ */
Shared library macros, enums, constants and forward declarations for the core library ...
::std::string string
Definition: gtest-port.h:756
std::map< std::string, DynLib * > DynLibList
Definition: DynLibManager.h:60
Base for singleton classes.
Definition: Singleton.h:114
Die Wagnis Klasse hat die folgenden Aufgaben:
Definition: ApplicationPaths.cc:66
#define _CoreExport
Definition: CorePrereqs.h:61
Definition of the Singleton template that is used as base class for classes that allow only one insta...
Resource holding data about a dynamic library.
Definition: DynLib.h:72
DynLibList mLibList
Definition: DynLibManager.h:61
static DynLibManager * singletonPtr_s
Static pointer to the singleton.
Definition: DynLibManager.h:100
Manager for Dynamic-loading Libraries.
Definition: DynLibManager.h:55