Grok  7.6.2
minpf_plugin_manager.h
Go to the documentation of this file.
1 
18 #pragma once
20 #include <map>
21 #include <stdint.h>
22 
23 
24 namespace grk {
25 
26 #define MINPF_MAX_PLUGINS 32
27 
28 typedef struct minpf_plugin_manager {
29 
31  size_t num_libraries;
32 
35 
37 
38  std::map<const char*, minpf_register_params*> *plugins;
39 
41 
44 
45 int32_t minpf_load_from_dir(const char *dir, minpf_invoke_service_func func);
46 int32_t minpf_load_from_path(const char *path, minpf_invoke_service_func func);
47 const char* minpf_get_dynamic_library_extension(void);
48 
49 }
grk::minpf_load_from_path
int32_t minpf_load_from_path(const char *path, minpf_invoke_service_func func)
Definition: minpf_plugin_manager.cpp:169
grk::minpf_dynamic_library
Definition: minpf_dynamic_library.h:34
grk::minpf_platform_services::registerObject
minpf_register_func registerObject
Definition: minpf_plugin.h:50
MINPF_FILE_SEPARATOR
#define MINPF_FILE_SEPARATOR
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: minpf_common.h:26
grk::minpf_exit_func
int32_t(* minpf_exit_func)()
Definition: minpf_plugin.h:54
grk::get_filename_ext
static const char * get_filename_ext(const char *filename)
Definition: minpf_plugin_manager.cpp:232
grk::minpf_load_from_dir
int32_t minpf_load_from_dir(const char *directory_path, minpf_invoke_service_func func)
Definition: minpf_plugin_manager.cpp:180
grk::minpf_plugin_manager::num_libraries
size_t num_libraries
Definition: minpf_plugin_manager.h:31
grk::minpf_dynamic_library::handle
dynamic_handle_t handle
Definition: minpf_dynamic_library.h:37
grk::minpf_platform_services::version
minpf_plugin_api_version version
Definition: minpf_plugin.h:49
grk::minpf_load
static int32_t minpf_load(const char *path)
Definition: minpf_plugin_manager.cpp:134
grk::minpf_plugin_manager::exit_functions
minpf_exit_func exit_functions[MINPF_MAX_PLUGINS]
Definition: minpf_plugin_manager.h:33
grk::minpf_platform_services::invokeService
minpf_invoke_service_func invokeService
Definition: minpf_plugin.h:51
grk::minpf_plugin_manager::dynamic_libraries
minpf_dynamic_library * dynamic_libraries[MINPF_MAX_PLUGINS]
Definition: minpf_plugin_manager.h:30
grk::minpf_get_symbol
void * minpf_get_symbol(minpf_dynamic_library *library, const char *symbol)
Definition: minpf_dynamic_library.cpp:150
grk::minpf_plugin_manager::platformServices
minpf_platform_services platformServices
Definition: minpf_plugin_manager.h:36
grk::minpf_plugin_api_version
Definition: minpf_plugin.h:29
grk::minpf_plugin_manager
Definition: minpf_plugin_manager.h:28
grk::minpf_unload_dynamic_library
bool minpf_unload_dynamic_library(minpf_dynamic_library *library)
Definition: minpf_dynamic_library.cpp:87
grk::minpf_register_params::destroyFunc
minpf_destroy_func destroyFunc
Definition: minpf_plugin.h:40
grk::minpf_platform_services
Definition: minpf_plugin.h:48
grk::minpf_invoke_service_func
int32_t(* minpf_invoke_service_func)(const char *serviceName, void *serviceParams)
Definition: minpf_plugin.h:45
minpf_plugin_manager.h
grk::minpf_register_params
struct grk::minpf_register_params minpf_register_params
grk::minpf_cleanup_plugin_manager
void minpf_cleanup_plugin_manager(void)
Definition: minpf_plugin_manager.cpp:110
grk::minpf_is_valid_plugin
static uint32_t minpf_is_valid_plugin(const char *id, const minpf_register_params *params)
Definition: minpf_plugin_manager.cpp:37
grk::minpf_register_params::version
minpf_plugin_api_version version
Definition: minpf_plugin.h:38
grk::minpf_post_load_func
minpf_exit_func(* minpf_post_load_func)(const char *pluginPath, const minpf_platform_services *)
Definition: minpf_plugin.h:56
grk
Copyright (C) 2016-2020 Grok Image Compression Inc.
Definition: BitIO.cpp:23
minpf_plugin.h
grk::minpf_plugin_manager
struct grk::minpf_plugin_manager minpf_plugin_manager
grk::minpf_plugin_api_version::major
int32_t major
Definition: minpf_plugin.h:30
grk::minpf_get_plugin_manager
minpf_plugin_manager * minpf_get_plugin_manager(void)
Definition: minpf_plugin_manager.cpp:98
grk::minpf_get_full_path
bool minpf_get_full_path(const char *path, void *addr, dynamic_handle_t handle, char *fullPath, size_t fullPathLen)
Definition: minpf_dynamic_library.cpp:48
grk::minpf_plugin_manager::num_exit_functions
size_t num_exit_functions
Definition: minpf_plugin_manager.h:34
MINPF_MAX_PLUGINS
#define MINPF_MAX_PLUGINS
Definition: minpf_plugin_manager.h:26
grk::minpf_register_params
Definition: minpf_plugin.h:37
grk::minpf_register_params::createFunc
minpf_create_func createFunc
Definition: minpf_plugin.h:39
grk::minpf_plugin_manager::plugins
std::map< const char *, minpf_register_params * > * plugins
Definition: minpf_plugin_manager.h:38
grk::minpf_plugin_api_version::minor
int32_t minor
Definition: minpf_plugin.h:31
grk::minpf_get_dynamic_library_extension
const char * minpf_get_dynamic_library_extension(void)
Definition: minpf_plugin_manager.cpp:74
grk::minpf_register_object
int32_t minpf_register_object(const char *id, const minpf_register_params *params)
Definition: minpf_plugin_manager.cpp:47
MINPF_MAX_PATH_LEN
#define MINPF_MAX_PATH_LEN
Definition: minpf_common.h:29
grk::managerInstance
minpf_plugin_manager * managerInstance
Definition: minpf_plugin_manager.cpp:30
grk::minpf_load_dynamic_library
minpf_dynamic_library * minpf_load_dynamic_library(const char *path, char *error)
Definition: minpf_dynamic_library.cpp:106
minpf_dynamic_library.h
grk::minpf_initialize_plugin_manager
void minpf_initialize_plugin_manager(minpf_plugin_manager *manager)
Definition: minpf_plugin_manager.cpp:86
grk::minpf_post_load_plugin
static int32_t minpf_post_load_plugin(const char *pluginPath, minpf_post_load_func initFunc)
Definition: minpf_plugin_manager.cpp:220