Grok  7.6.3
minpf_plugin.h
Go to the documentation of this file.
1 
17 #pragma once
18 #include <stdint.h>
19 
20 namespace grk {
21 
23 
24 typedef struct minpf_object_params {
25  const char *id;
28 
29 typedef struct minpf_plugin_api_version {
30  int32_t major;
31  int32_t minor;
33 
34 typedef void* (*minpf_create_func)(minpf_object_params*);
35 typedef int32_t (*minpf_destroy_func)(void*);
36 
37 typedef struct minpf_register_params {
42 
43 typedef int32_t (*minpf_register_func)(const char *nodeType,
44  const minpf_register_params *params);
45 typedef int32_t (*minpf_invoke_service_func)(const char *serviceName,
46  void *serviceParams);
47 
48 typedef struct minpf_platform_services {
53 
54 typedef int32_t (*minpf_exit_func)();
55 
56 typedef minpf_exit_func (*minpf_post_load_func)(const char *pluginPath,
58 
59 #if defined(GRK_STATIC) || !defined(_WIN32)
60 /* http://gcc.gnu.org/wiki/Visibility */
61 # if __GNUC__ >= 4
62 # if defined(GRK_STATIC) /* static library uses "hidden" */
63 # define PLUGIN_API __attribute__ ((visibility ("hidden")))
64 # else
65 # define PLUGIN_API __attribute__ ((visibility ("default")))
66 # endif
67 # define PLUGIN_LOCAL __attribute__ ((visibility ("hidden")))
68 # else
69 # define PLUGIN_API
70 # define PLUGIN_LOCAL
71 # endif
72 #else
73 # if defined(GRK_EXPORTS) || defined(DLL_EXPORT)
74 # define PLUGIN_API __declspec(dllexport)
75 # else
76 # define PLUGIN_API __declspec(dllimport)
77 # endif /* GRK_EXPORTS */
78 #endif /* !GRK_STATIC || !_WIN32 */
79 
80 extern "C" PLUGIN_API minpf_exit_func minpf_init_plugin(const char *pluginPath,
81  const minpf_platform_services *params);
82 
83 }
grk::minpf_platform_services::registerObject
minpf_register_func registerObject
Definition: minpf_plugin.h:50
grk::minpf_exit_func
int32_t(* minpf_exit_func)()
Definition: minpf_plugin.h:54
PLUGIN_API
#define PLUGIN_API
Definition: minpf_plugin.h:69
grk::minpf_platform_services::version
minpf_plugin_api_version version
Definition: minpf_plugin.h:49
grk::minpf_platform_services::invokeService
minpf_invoke_service_func invokeService
Definition: minpf_plugin.h:51
grk::minpf_plugin_api_version
Definition: minpf_plugin.h:29
grk::minpf_plugin_api_version
struct grk::minpf_plugin_api_version minpf_plugin_api_version
grk::minpf_register_params::destroyFunc
minpf_destroy_func destroyFunc
Definition: minpf_plugin.h:40
grk::minpf_init_plugin
PLUGIN_API minpf_exit_func minpf_init_plugin(const char *pluginPath, const minpf_platform_services *params)
grk::minpf_platform_services
struct grk::minpf_platform_services minpf_platform_services
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
grk::minpf_destroy_func
int32_t(* minpf_destroy_func)(void *)
Definition: minpf_plugin.h:35
grk::minpf_register_params
struct grk::minpf_register_params minpf_register_params
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-2021 Grok Image Compression Inc.
Definition: BitIO.cpp:23
grk::minpf_register_func
int32_t(* minpf_register_func)(const char *nodeType, const minpf_register_params *params)
Definition: minpf_plugin.h:43
grk::minpf_plugin_api_version::major
int32_t major
Definition: minpf_plugin.h:30
grk::minpf_object_params::id
const char * id
Definition: minpf_plugin.h:25
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_api_version::minor
int32_t minor
Definition: minpf_plugin.h:31
grk::minpf_object_params
struct grk::minpf_object_params minpf_object_params
grk::minpf_create_func
void *(* minpf_create_func)(minpf_object_params *)
Definition: minpf_plugin.h:34
grk::minpf_object_params::platformServices
const struct minpf_platform_services * platformServices
Definition: minpf_plugin.h:26
grk::minpf_object_params
Definition: minpf_plugin.h:24