Function System
API Reference
Function Definition
Public header: #include "brookesia/service_manager/function/definition.hpp"
Header File
Function Registry
Public header: #include "brookesia/service_manager/function/registry.hpp"
Header File
Classes
-
class FunctionRegistry
Registry of callable service functions and their schemas.
Public Functions
-
bool add(FunctionSchema func_schema, FunctionHandler func_handler)
Register a function schema and its handler.
- Parameters
func_schema – [in] Function metadata.
func_handler – [in] Handler that executes the function.
- Returns
true on success, false if the function name already exists.
-
bool remove(const std::string &func_name)
Remove a registered function.
- Parameters
func_name – [in] Function name to remove.
- Returns
true if the function was removed.
-
bool remove_all()
Remove every registered function.
- Returns
true if the registry was cleared successfully.
-
FunctionResult call(const std::string &func_name, FunctionParameterMap parameters)
Validate parameters and invoke a registered function.
- Parameters
func_name – [in] Function name to call.
parameters – [in] Parameter map passed to the handler.
- Returns
FunctionResult Execution result or validation failure information.
-
inline const FunctionSchema *get_schema(const std::string &func_name)
Look up the schema for a registered function.
- Parameters
func_name – [in] Function name to query.
- Returns
const FunctionSchema* Pointer to the schema, or
nullptrif not found.
-
std::vector<FunctionSchema> get_schemas() const
Get a snapshot of all registered function schemas.
- Returns
std::vector<FunctionSchema> Copy of the registered schemas.
-
boost::json::array get_schemas_json()
Export all registered function schemas as JSON.
- Returns
boost::json::array JSON representation of every schema.
-
inline bool has(const std::string &func_name)
Check whether a function is registered.
- Parameters
func_name – [in] Function name to check.
- Returns
true if the function exists.
-
inline size_t get_count()
Get the number of registered functions.
- Returns
size_t Count of registered functions.
-
bool add(FunctionSchema func_schema, FunctionHandler func_handler)