~ubuntu-branches/ubuntu/vivid/mygui/vivid

« back to all changes in this revision

Viewing changes to Tools/EditorFramework/FactoryManager.cpp

  • Committer: Package Import Robot
  • Author(s): Scott Howard, Bret Curtis, Scott Howard
  • Date: 2014-09-18 17:57:48 UTC
  • mfrom: (1.1.1)
  • Revision ID: package-import@ubuntu.com-20140918175748-dd8va78mvpw1jbes
Tags: 3.2.1-1
[ Bret Curtis ]
* Updated license for majority of files from LGPL to Expat (MIT)

[ Scott Howard ]
* New upstream release
* Updated patch to add build option for system GLEW libraries
* All patches accepted upstream except shared_libraries.patch
* Bumped SONAME due to dropped symbols, updated *.symbols and package
  names
* Updated license of debian/* to Expat with permission of all authors
* Don't install Doxygen autogenerated md5 and map files (thanks
  lintian)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "Precompiled.h"
 
2
#include "FactoryManager.h"
 
3
 
 
4
namespace components
 
5
{
 
6
 
 
7
        FactoryManager* FactoryManager::GetInstancePtr()
 
8
        {
 
9
                static FactoryManager instance;
 
10
                return &instance;
 
11
        }
 
12
 
 
13
        FactoryManager& FactoryManager::GetInstance()
 
14
        {
 
15
                return *GetInstancePtr();
 
16
        }
 
17
 
 
18
        FactoryManager::FactoryManager()
 
19
        {
 
20
        }
 
21
 
 
22
        FactoryManager::~FactoryManager()
 
23
        {
 
24
        }
 
25
 
 
26
        bool FactoryManager::ExistFactory(const std::string& _factoryName)
 
27
        {
 
28
                return mFactories.find(_factoryName) != mFactories.end();
 
29
        }
 
30
 
 
31
        void FactoryManager::RegisterFactory(IFactory* _factory, const std::string& _factoryName)
 
32
        {
 
33
                mFactories[_factoryName] = _factory;
 
34
        }
 
35
 
 
36
        IFactoryItem* FactoryManager::CreateItem(const std::string& _factoryName)
 
37
        {
 
38
                MapFactory::iterator item = mFactories.find(_factoryName);
 
39
                if (item != mFactories.end())
 
40
                        return (*item).second->CreateItem();
 
41
                return 0;
 
42
        }
 
43
 
 
44
        void FactoryManager::UnregisterAllFactories()
 
45
        {
 
46
                for (MapFactory::iterator factory = mFactories.begin(); factory != mFactories.end(); factory ++)
 
47
                        delete (*factory).second;
 
48
                mFactories.clear();
 
49
        }
 
50
}