Switchboard SDK
Loading...
Searching...
No Matches
Switchboard.hpp
1//
2// Switchboard.hpp
3// SwitchboardSDK
4//
5// Created by Balazs Kiss on 2025. 01. 22..
6//
7
8#pragma once
9
10#include "Config.hpp"
11#include "Result.hpp"
12#include "Event.hpp"
13
14#include <any>
15#include <functional>
16#include <map>
17#include <string>
18
19namespace switchboard {
20
25public:
26 using ObjectID = std::string;
27
35 static Result<ObjectID> initialize(const Config& config);
36
43
53 static Result<ObjectID> createEngine(const Config& config);
54
64 static Result<void> destroyEngine(ObjectID engineID);
65
75 static Result<std::any>
76 callAction(ObjectID objectID, const std::string& actionName, const std::map<std::string, std::any>& params = {});
77
87 static Result<void> setValue(ObjectID objectID, const std::string& key, const std::any& value);
88
97 static Result<std::any> getValue(ObjectID objectID, const std::string& key);
98
108 static Result<unsigned int> addEventListener(const ObjectID& objectID, const std::string& eventName, const std::function<void(const Event&)>& callback);
109
118 static Result<void> removeEventListener(const ObjectID& objectID, unsigned int listenerID);
119
120private:
121 class Impl;
122 static Impl* pImpl;
123};
124
125}
Configuration class to store and retrieve configuration values.
Definition Config.hpp:20
Represents the result of an operation that can either succeed or fail.
Definition Result.hpp:37
The main Switchboard SDK interface.
Definition Switchboard.hpp:24
static Result< void > deinitialize()
Deinitializes the Switchboard SDK.
static Result< void > destroyEngine(ObjectID engineID)
Destroys a Switchboard engine.
static Result< std::any > getValue(ObjectID objectID, const std::string &key)
Gets a value of a property from a Switchboard object.
static Result< ObjectID > createEngine(const Config &config)
Creates a new Switchboard engine.
static Result< ObjectID > initialize(const Config &config)
Initializes the Switchboard SDK.
static Result< std::any > callAction(ObjectID objectID, const std::string &actionName, const std::map< std::string, std::any > &params={})
Calls an action on a Switchboard object.
static Result< unsigned int > addEventListener(const ObjectID &objectID, const std::string &eventName, const std::function< void(const Event &)> &callback)
Adds a new event listener to a Switchboard object.
static Result< void > removeEventListener(const ObjectID &objectID, unsigned int listenerID)
Removes an event listener from a Switchboard object.
static Result< void > setValue(ObjectID objectID, const std::string &key, const std::any &value)
Sets a value of a property on a Switchboard object.
Represents an event that can be emitted and listened to.
Definition Event.hpp:13