函数系统

[English]

API 参考

函数定义

公共头文件: #include "brookesia/service_manager/function/definition.hpp"

Header File

函数注册表

公共头文件: #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.

参数
  • func_schema[in] Function metadata.

  • func_handler[in] Handler that executes the function.

返回

true on success, false if the function name already exists.

bool remove(const std::string &func_name)

Remove a registered function.

参数

func_name[in] Function name to remove.

返回

true if the function was removed.

bool remove_all()

Remove every registered function.

返回

true if the registry was cleared successfully.

FunctionResult call(const std::string &func_name, FunctionParameterMap parameters)

Validate parameters and invoke a registered function.

参数
  • func_name[in] Function name to call.

  • parameters[in] Parameter map passed to the handler.

返回

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.

参数

func_name[in] Function name to query.

返回

const FunctionSchema* Pointer to the schema, or nullptr if not found.

std::vector<FunctionSchema> get_schemas() const

Get a snapshot of all registered function schemas.

返回

std::vector<FunctionSchema> Copy of the registered schemas.

boost::json::array get_schemas_json()

Export all registered function schemas as JSON.

返回

boost::json::array JSON representation of every schema.

inline bool has(const std::string &func_name)

Check whether a function is registered.

参数

func_name[in] Function name to check.

返回

true if the function exists.

inline size_t get_count()

Get the number of registered functions.

返回

size_t Count of registered functions.