Switchboard Extension SDK
Loading...
Searching...
No Matches
SwitchboardObject.hpp
1//
2// SwitchboardObject.hpp
3// SwitchboardSDK
4//
5// Created by Balazs Kiss on 2025. 01. 22..
6//
7
8#pragma once
9
10#include "EventEmitter.hpp"
11#include "SwitchboardCore.hpp"
12
13#include <any>
14#include <map>
15#include <string>
16#include <switchboard/Result.hpp>
17
18namespace switchboard {
19
20namespace SwitchboardObjectType {
21 inline constexpr const char* SWITCHBOARD = "switchboard";
22 inline constexpr const char* ENGINE = "engine";
23 inline constexpr const char* GRAPH = "graph";
24 inline constexpr const char* NODE = "node";
25 inline constexpr const char* EXTENSION = "extension";
26}
27
31class SwitchboardObject : public EventEmitter {
32public:
33
34 explicit SwitchboardObject(const std::string& objectType);
35
39 ~SwitchboardObject() override = default;
40
49 virtual Result<void> setValue(const std::string& key, const std::any& value);
50
58 virtual Result<std::any> getValue(const std::string& key);
59
68 virtual Result<std::any> callAction(const std::string& actionName, const std::map<std::string, std::any>& params);
69
70private:
71 std::string objectID;
72 std::string objectType;
73};
74
75}
EventEmitter()
Constructor for the EventEmitter class.
virtual Result< void > setValue(const std::string &key, const std::any &value)
Sets a value on the object.
~SwitchboardObject() override=default
SwitchboardObject destructor.
virtual Result< std::any > callAction(const std::string &actionName, const std::map< std::string, std::any > &params)
Calls an action on the object.
virtual Result< std::any > getValue(const std::string &key)
Gets a value from the object.