Switchboard Extension SDK
Loading...
Searching...
No Matches
Extension.hpp
1//
2// Extension.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/NodeFactory.hpp>
12#include <switchboard_core/SwitchboardObject.hpp>
13
14#include <string>
15
16namespace switchboard {
17
21class SWITCHBOARDSDK_EXPORT Extension : public SwitchboardObject {
22public:
23
28 Extension() : SwitchboardObject(SwitchboardObjectType::EXTENSION) {}
29
33 virtual ~Extension() = default;
34
42 virtual Result<void> initialize(const SBAnyMap& config) {
43 return makeSuccess();
44 }
45
51 virtual Result<void> deinitialize() {
52 return makeSuccess();
53 }
54
60 virtual std::string getName() = 0;
61
68 virtual std::shared_ptr<NodeFactory> getNodeFactory() = 0;
69};
70
71}
virtual std::shared_ptr< NodeFactory > getNodeFactory()=0
Gets the NodeFactory object of the extension.
virtual std::string getName()=0
Gets the name of the extension.
virtual ~Extension()=default
Destructor.
virtual Result< void > initialize(const SBAnyMap &config)
Initializes the extension.
Definition Extension.hpp:42
Extension()
Constructor for the Extension class.
Definition Extension.hpp:28
virtual Result< void > deinitialize()
Deinitializes the extension.
Definition Extension.hpp:51
SwitchboardObject(const std::string &objectType)
SwitchboardObject constructor.