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_core/Extension.hpp>
11#include <vector>
12
13namespace switchboard {
14
18class ExtensionManager final {
19public:
24
30 void registerExtension(std::shared_ptr<Extension> extension);
31
32 Result<void> initializeExtension(const std::string& extensionName, const std::map<std::string, std::any>& config);
33 Result<void> deinitializeExtension(const std::string& extensionName);
34
35private:
36 static ExtensionManager* sharedInstance;
37
38 std::vector<std::shared_ptr<Extension>> extensions;
39};
40
41}
Manages the extensions of the Switchboard SDK.
Definition ExtensionManager.hpp:18
static ExtensionManager & getInstance()
Gets the shared instance of the ExtensionManager.
void registerExtension(std::shared_ptr< Extension > extension)
Registers an extension.