Finished RigCTL server

This commit is contained in:
Ryzerth
2021-07-18 04:30:55 +02:00
parent 2ddb1b93c4
commit 336d69c043
17 changed files with 522 additions and 69 deletions

View File

@ -97,6 +97,7 @@ void ModuleManager::createInstance(std::string name, std::string module) {
inst.module = modules[module];
inst.instance = inst.module.createInstance(name);
instances[name] = inst;
onInstanceCreated.emit(name);
}
void ModuleManager::deleteInstance(std::string name) {
@ -104,9 +105,11 @@ void ModuleManager::deleteInstance(std::string name) {
spdlog::error("Tried to remove non-existant instance '{0}'", name);
return;
}
onInstanceDelete.emit(name);
Instance_t inst = instances[name];
inst.module.deleteInstance(inst.instance);
instances.erase(name);
onInstanceDeleted.emit(name);
}
void ModuleManager::deleteInstance(ModuleManager::Instance* instance) {
@ -137,6 +140,14 @@ bool ModuleManager::instanceEnabled(std::string name) {
return instances[name].instance->isEnabled();
}
std::string ModuleManager::getInstanceModuleName(std::string name) {
if (instances.find(name) == instances.end()) {
spdlog::error("Cannot get module name of'{0}', instance doesn't exist", name);
return false;
}
return std::string(instances[name].module.info->name);
}
int ModuleManager::countModuleInstances(std::string module) {
if (modules.find(module) == modules.end()) {
spdlog::error("Cannot count instances of '{0}', Module doesn't exist", module);