HiveMindBridge
UserCallbackMap.h
Go to the documentation of this file.
1 #ifndef HIVEMINDBRIDGE_USERCALLBACKMAP_H
2 #define HIVEMINDBRIDGE_USERCALLBACKMAP_H
3 
4 #include "IUserCallbackMap.h"
6 
8 
9  public:
10  bool registerCallback(std::string name,
11  CallbackFunction callback,
12  CallbackArgsManifest manifest) override;
13 
14  bool registerCallback(std::string name, CallbackFunction callback) override;
15 
16  std::optional<CallbackFunction> getCallback(const std::string& name) override;
17 
18  uint32_t getLength() override;
19 
20  std::optional<CallbackArgsManifest> getManifestAt(uint32_t index) override;
21 
22  std::optional<std::string> getNameAt(uint32_t index) override;
23 
24  private:
26  std::vector<std::string> m_callbackNames; // Association between callbacks' names and their id
27 };
28 
29 #endif // HIVEMINDBRIDGE_USERCALLBACKMAP_H
CallbackArgsManifest
std::vector< UserCallbackArgumentDescription > CallbackArgsManifest
Definition: Callback.h:11
UserCallbackMap
Definition: UserCallbackMap.h:7
UserCallbackMap::getManifestAt
std::optional< CallbackArgsManifest > getManifestAt(uint32_t index) override
Definition: UserCallbackMap.cpp:34
IUserCallbackMap
Definition: IUserCallbackMap.h:6
UserCallbackMap::registerCallback
bool registerCallback(std::string name, CallbackFunction callback, CallbackArgsManifest manifest) override
Definition: UserCallbackMap.cpp:3
UserCallRequestHandler.h
CallbackFunction
std::function< std::optional< CallbackReturn >CallbackArgs)> CallbackFunction
Definition: Callback.h:31
UserCallbackMap::getCallback
std::optional< CallbackFunction > getCallback(const std::string &name) override
Definition: UserCallbackMap.cpp:23
UserCallbackMap::m_callbackNames
std::vector< std::string > m_callbackNames
Definition: UserCallbackMap.h:26
IUserCallbackMap.h
CallbackMap
std::unordered_map< std::string, UserCallbackFunctionWrapper > CallbackMap
Definition: IMessageHandler.h:15
UserCallbackMap::getLength
uint32_t getLength() override
Definition: UserCallbackMap.cpp:32
UserCallbackMap::m_callbacks
CallbackMap m_callbacks
Definition: UserCallbackMap.h:25
UserCallbackMap::getNameAt
std::optional< std::string > getNameAt(uint32_t index) override
Definition: UserCallbackMap.cpp:47