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
13#include <any>
14#include <functional>
15#include <map>
16#include <string>
17
18namespace switchboard {
19
24public:
25 using ObjectID = std::string;
26
35
42
52 static Result<ObjectID> createEngine(const Config& config);
53
63 static Result<void> destroyEngine(ObjectID engineID);
64
74 static Result<std::any>
75 callAction(ObjectID objectID, const std::string& actionName, const std::map<std::string, std::any>& params = {});
76
86 static Result<void> setValue(ObjectID objectID, const std::string& key, const std::any& value);
87
96 static Result<std::any> getValue(ObjectID objectID, const std::string& key);
97
107 static Result<unsigned int> addEventListener(ObjectID objectID, const std::string& eventName, const std::function<void(const std::any&)>& callback);
108
117 static Result<void> removeEventListener(ObjectID objectID, unsigned int listenerID);
118
119private:
120 class Impl;
121 static Impl* pImpl;
122};
123
124}
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:23
static Result< void > removeEventListener(ObjectID objectID, unsigned int listenerID)
Removes an event listener from a Switchboard object.
static Result< void > deinitialize()
Deinitializes the Switchboard SDK.
static Result< void > destroyEngine(ObjectID engineID)
Destroys a Switchboard engine.
static Result< Switchboard::ObjectID > initialize(const Config &config)
Initializes the Switchboard SDK.
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< unsigned int > addEventListener(ObjectID objectID, const std::string &eventName, const std::function< void(const std::any &)> &callback)
Adds a new event listener to a Switchboard object.
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< void > setValue(ObjectID objectID, const std::string &key, const std::any &value)
Sets a value of a property on a Switchboard object.