#ifndef LANGUAGE_PACKAGE_MANAGER_H #define LANGUAGE_PACKAGE_MANAGER_H #include #include class IndexerComposite; class LanguagePackage; class LanguagePackageManager { public: static std::shared_ptr getInstance(); static void destroyInstance(); void addPackage(std::shared_ptr package); std::shared_ptr instantiateSupportedIndexers(); private: static std::shared_ptr s_instance; LanguagePackageManager() = default; std::vector> m_packages; }; #endif // LANGUAGE_PACKAGE_MANAGER_H