Grok  9.5.0
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 {
26  const char* id;
29 
31 {
32  int32_t major;
33  int32_t minor;
35 
36 typedef void* (*minpf_create_func)(minpf_object_params*);
37 typedef int32_t (*minpf_destroy_func)(void*);
38 
39 typedef struct minpf_register_params
40 {
45 
46 typedef int32_t (*minpf_register_func)(const char* nodeType, const minpf_register_params* params);
47 typedef int32_t (*minpf_invoke_service_func)(const char* serviceName, void* serviceParams);
48 
50 {
55 
56 typedef int32_t (*minpf_exit_func)();
57 
58 typedef minpf_exit_func (*minpf_post_load_func)(const char* pluginPath,
60 
61 #if defined(GRK_STATIC) || !defined(_WIN32)
62 /* http://gcc.gnu.org/wiki/Visibility */
63 #if __GNUC__ >= 4
64 #if defined(GRK_STATIC) /* static library uses "hidden" */
65 #define PLUGIN_API __attribute__((visibility("hidden")))
66 #else
67 #define PLUGIN_API __attribute__((visibility("default")))
68 #endif
69 #define PLUGIN_LOCAL __attribute__((visibility("hidden")))
70 #else
71 #define PLUGIN_API
72 #define PLUGIN_LOCAL
73 #endif
74 #else
75 #if defined(GRK_EXPORTS) || defined(DLL_EXPORT)
76 #define PLUGIN_API __declspec(dllexport)
77 #else
78 #define PLUGIN_API __declspec(dllimport)
79 #endif /* GRK_EXPORTS */
80 #endif /* !GRK_STATIC || !_WIN32 */
81 
82 extern "C" PLUGIN_API minpf_exit_func minpf_init_plugin(const char* pluginPath,
83  const minpf_platform_services* params);
84 
85 } // namespace grk
#define PLUGIN_API
Definition: minpf_plugin.h:71
Copyright (C) 2016-2021 Grok Image Compression Inc.
Definition: ICacheable.h:20
int32_t(* minpf_register_func)(const char *nodeType, const minpf_register_params *params)
Definition: minpf_plugin.h:46
void *(* minpf_create_func)(minpf_object_params *)
Definition: minpf_plugin.h:36
int32_t(* minpf_destroy_func)(void *)
Definition: minpf_plugin.h:37
struct grk::minpf_object_params minpf_object_params
int32_t(* minpf_invoke_service_func)(const char *serviceName, void *serviceParams)
Definition: minpf_plugin.h:47
minpf_exit_func(* minpf_post_load_func)(const char *pluginPath, const minpf_platform_services *)
Definition: minpf_plugin.h:58
struct grk::minpf_register_params minpf_register_params
int32_t(* minpf_exit_func)()
Definition: minpf_plugin.h:56
struct grk::minpf_platform_services minpf_platform_services
struct grk::minpf_plugin_api_version minpf_plugin_api_version
PLUGIN_API minpf_exit_func minpf_init_plugin(const char *pluginPath, const minpf_platform_services *params)
Definition: minpf_plugin.h:25
const char * id
Definition: minpf_plugin.h:26
const struct minpf_platform_services * platformServices
Definition: minpf_plugin.h:27
Definition: minpf_plugin.h:50
minpf_invoke_service_func invokeService
Definition: minpf_plugin.h:53
minpf_plugin_api_version version
Definition: minpf_plugin.h:51
minpf_register_func registerObject
Definition: minpf_plugin.h:52
Definition: minpf_plugin.h:31
int32_t minor
Definition: minpf_plugin.h:33
int32_t major
Definition: minpf_plugin.h:32
Definition: minpf_plugin.h:40
minpf_create_func createFunc
Definition: minpf_plugin.h:42
minpf_plugin_api_version version
Definition: minpf_plugin.h:41
minpf_destroy_func destroyFunc
Definition: minpf_plugin.h:43