Make ModuleManager accessible from outside CalamaresApplication.

This commit is contained in:
Teo Mrnjavac 2015-03-10 19:48:11 +01:00
parent 4e2e964503
commit dda7ea211d
2 changed files with 17 additions and 2 deletions

View File

@ -32,11 +32,24 @@
namespace Calamares
{
ModuleManager* ModuleManager::s_instance = nullptr;
ModuleManager*
ModuleManager::instance()
{
return s_instance;
}
ModuleManager::ModuleManager( const QStringList& paths, QObject* parent )
: QObject( parent )
, m_paths( paths )
, m_lastPhaseLoaded( Phase_NULL )
{
Q_ASSERT( !s_instance );
s_instance = this;
}
ModuleManager::~ModuleManager()

View File

@ -38,6 +38,8 @@ public:
explicit ModuleManager( const QStringList& paths, QObject* parent = nullptr );
virtual ~ModuleManager();
static ModuleManager* instance();
/**
* @brief init goes through the module search directories and gets a list of
* modules available for loading, along with their metadata.
@ -64,10 +66,10 @@ private:
void checkDependencies();
QMap< QString, Module* > m_availableModules;
QStringList m_paths;
Phase m_lastPhaseLoaded;
static ModuleManager* s_instance;
};
}