Switchboard Extension SDK
Loading...
Searching...
No Matches
ExtensionManager.hpp
1//
2// ExtensionManager.hpp
3// SwitchboardSDK
4//
5// Created by Balazs Kiss on 30/08/2024.
6//
7
8#pragma once
9
10#include <switchboard/export.h>
11#include <switchboard_core/Extension.hpp>
12#include <map>
13#include <string>
14
15namespace switchboard {
16
20class SWITCHBOARDSDK_EXPORT ExtensionManager final {
21public:
26
32 void registerExtension(std::shared_ptr<Extension> extension);
33
42 Result<void> initializeExtension(const std::string& extensionName, const SBAnyMap& config);
43
51 Result<void> deinitializeExtension(const std::string& extensionName);
52
53private:
54 static ExtensionManager* sharedInstance;
55
56 std::map<std::string, std::shared_ptr<Extension>> extensions;
57};
58
59}
Manages the extensions of the Switchboard SDK.
Definition ExtensionManager.hpp:20
Result< void > initializeExtension(const std::string &extensionName, const SBAnyMap &config)
Initializes an extension with the given configuration.
static ExtensionManager & getInstance()
Gets the shared instance of the ExtensionManager.
void registerExtension(std::shared_ptr< Extension > extension)
Registers an extension.
Result< void > deinitializeExtension(const std::string &extensionName)
Deinitializes an extension.