1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
|
#pragma once
#include <map>
#include "iversioncontrol.h"
namespace vcs
{
class VersionControlManager final :
public IVersionControlManager
{
private:
std::map<std::string, IVersionControlModule::Ptr> _registeredModules;
public:
void registerModule(const IVersionControlModule::Ptr& vcsModule) override;
void unregisterModule(const IVersionControlModule::Ptr& vcsModule) override;
IVersionControlModule::Ptr getModuleForPrefix(const std::string& prefix) override;
// RegisterableModule implementation
const std::string& getName() const override;
const StringSet& getDependencies() const override;
void initialiseModule(const IApplicationContext& ctx) override;
};
}
|