Files
Sourcetrail/src/lib/app/LanguagePackageManager.cpp
T
Eberhard Graether 8e3ca182b9 src: refactored lib/utility
* removed unused utilityMath
* removed some unused functions from utility
* moved time related utility functions to TimeStamp
* moved path objects from utility to app/paths
* moved objects in lib to lib/app
* removed duplicate confirm methods in DialogView
* moved utilityFile to utility/file
* removed uint typedef and replaced with size_t everywhere
* removed boost header in utilityUuid
2019-07-17 15:10:05 +02:00

39 lines
973 B
C++

#include "LanguagePackageManager.h"
#include "IndexerComposite.h"
#include "LanguagePackage.h"
std::shared_ptr<LanguagePackageManager> LanguagePackageManager::getInstance()
{
if (!s_instance)
{
s_instance = std::shared_ptr<LanguagePackageManager>(new LanguagePackageManager());
}
return s_instance;
}
void LanguagePackageManager::destroyInstance()
{
s_instance.reset();
}
void LanguagePackageManager::addPackage(std::shared_ptr<LanguagePackage> package)
{
m_packages.push_back(package);
}
std::shared_ptr<IndexerComposite> LanguagePackageManager::instantiateSupportedIndexers()
{
std::shared_ptr<IndexerComposite> composite = std::make_shared<IndexerComposite>();
for (std::shared_ptr<LanguagePackage> package : m_packages)
{
for (std::shared_ptr<IndexerBase> indexer : package->instantiateSupportedIndexers())
{
composite->addIndexer(indexer);
}
}
return composite;
}
std::shared_ptr<LanguagePackageManager> LanguagePackageManager::s_instance;