/* plugin.h - native plugin loader and registered backend inventory. */ #ifndef NAUT_PLUGIN_HOST_H #define NAUT_PLUGIN_HOST_H #include "naut/event.h" #include "naut/naut_plugin.h" #include "naut/rpc.h" typedef struct naut_plugin_manager naut_plugin_manager; naut_plugin_manager *naut_plugin_manager_create( naut_rpc_registry *rpc, naut_event_bus *events); void naut_plugin_manager_destroy(naut_plugin_manager *manager); naut_err naut_plugin_load(naut_plugin_manager *manager, const char *path); size_t naut_plugin_count(const naut_plugin_manager *manager); const char *naut_plugin_name(const naut_plugin_manager *manager, size_t index); size_t naut_plugin_storage_count(const naut_plugin_manager *manager); const char *naut_plugin_storage_name(const naut_plugin_manager *manager, size_t index); const naut_storage_backend_v1 *naut_plugin_storage_backend( const naut_plugin_manager *manager, const char *name); #endif /* NAUT_PLUGIN_HOST_H */