File: CPL_library.h

package info (click to toggle)
python-cpl 0.7.4-4
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 484 kB
  • sloc: python: 2,882; ansic: 1,710; makefile: 89; sh: 3
file content (133 lines) | stat: -rw-r--r-- 5,861 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133

#ifndef CPL_LIBRARY_H
#define CPL_LIBRARY_H

/* For the header, either the CPL one can be used, or the header that was
   extracted from the 6.3 release. For API safety, it is better to include
   the one provided with python-cpl. The other option is just for the adoption
   to a new CPL version.
   */
#ifdef USE_INSTALLED_CPL_HEADER
#include <cpl.h>
#else
#include "cpl_api.h"
#endif

#if CPL_VERSION_CODE < CPL_VERSION(6,3,0)
#error CPL version too old. Minimum required version is 6.3.0.
#endif
#if CPL_VERSION_CODE > CPL_VERSION(7,0,0)
#warning Newer CPL version: check API compability with 7.0.0 at http://upstream-tracker.org/versions/cpl.html
#endif

extern unsigned long supported_versions[];
#define UNKNOWN_VERSION 0
#define KNOWN_MAJOR 1
#define KNOWN_VERSION 2

typedef struct {
    unsigned long version;
    int is_supported;

    typeof(cpl_init) *init;
    typeof(cpl_end) *end;
    typeof(cpl_get_description) *get_description;
    typeof(cpl_memory_dump) *memory_dump;
    typeof(cpl_memory_is_empty) *memory_is_empty;
    typeof(cpl_free) *free;

    typeof(cpl_plugin_get_author) *plugin_get_author;
    typeof(cpl_plugin_get_copyright) *plugin_get_copyright;
    typeof(cpl_plugin_get_deinit) *plugin_get_deinit;
    typeof(cpl_plugin_get_description) *plugin_get_description;
    typeof(cpl_plugin_get_email) *plugin_get_email;
    typeof(cpl_plugin_get_exec) *plugin_get_exec;
    typeof(cpl_plugin_get_init) *plugin_get_init;
    typeof(cpl_plugin_get_name) *plugin_get_name;
    typeof(cpl_plugin_get_synopsis) *plugin_get_synopsis;
    typeof(cpl_plugin_get_version) *plugin_get_version;
    typeof(cpl_plugin_get_version_string) *plugin_get_version_string;
    typeof(cpl_pluginlist_delete) *pluginlist_delete;
    typeof(cpl_pluginlist_find) *pluginlist_find;
    typeof(cpl_pluginlist_get_first) *pluginlist_get_first;
    typeof(cpl_pluginlist_get_next) *pluginlist_get_next;
    typeof(cpl_pluginlist_new) *pluginlist_new;

    typeof(cpl_dfs_update_product_header) *dfs_update_product_header;
    typeof(cpl_dfs_sign_products) *dfs_sign_products;

    typeof(cpl_error_get_code) *error_get_code;
    typeof(cpl_error_get_file) *error_get_file;
    typeof(cpl_error_get_function) *error_get_function;
    typeof(cpl_error_get_line) *error_get_line;
    typeof(cpl_error_get_message) *error_get_message;
    typeof(cpl_error_reset) *error_reset;
    typeof(cpl_error_set_message_macro) *error_set_message_macro;
    typeof(cpl_errorstate_dump) *errorstate_dump;
    typeof(cpl_errorstate_get) *errorstate_get;

    typeof(cpl_frame_get_filename) *frame_get_filename;
    typeof(cpl_frame_get_group) *frame_get_group;
    typeof(cpl_frame_get_tag) *frame_get_tag;
    typeof(cpl_frame_new) *frame_new;
    typeof(cpl_frame_set_filename) *frame_set_filename;
    typeof(cpl_frame_set_tag) *frame_set_tag;
    typeof(cpl_frameset_delete) *frameset_delete;
    typeof(cpl_frameset_get_position) *frameset_get_position;
    typeof(cpl_frameset_get_size) *frameset_get_size;
    typeof(cpl_frameset_insert) *frameset_insert;
    typeof(cpl_frameset_new) *frameset_new;

    typeof(cpl_msg_error) *msg_error;
    typeof(cpl_msg_set_level) *msg_set_level;
    typeof(cpl_msg_set_log_level) *msg_set_log_level;
    typeof(cpl_msg_set_log_name) *msg_set_log_name;
    typeof(cpl_msg_stop_log) *msg_stop_log;

    typeof(cpl_parameter_get_alias) *parameter_get_alias;
    typeof(cpl_parameter_get_class) *parameter_get_class;
    typeof(cpl_parameter_get_context) *parameter_get_context;
    typeof(cpl_parameter_get_default_bool) *parameter_get_default_bool;
    typeof(cpl_parameter_get_default_double) *parameter_get_default_double;
    typeof(cpl_parameter_get_default_int) *parameter_get_default_int;
    typeof(cpl_parameter_get_default_string) *parameter_get_default_string;
    typeof(cpl_parameter_get_enum_double) *parameter_get_enum_double;
    typeof(cpl_parameter_get_enum_int) *parameter_get_enum_int;
    typeof(cpl_parameter_get_enum_size) *parameter_get_enum_size;
    typeof(cpl_parameter_get_enum_string) *parameter_get_enum_string;
    typeof(cpl_parameter_get_help) *parameter_get_help;
    typeof(cpl_parameter_get_name) *parameter_get_name;
    typeof(cpl_parameter_get_range_max_double) *parameter_get_range_max_double;
    typeof(cpl_parameter_get_range_max_int) *parameter_get_range_max_int;
    typeof(cpl_parameter_get_range_min_double) *parameter_get_range_min_double;
    typeof(cpl_parameter_get_range_min_int) *parameter_get_range_min_int;
    typeof(cpl_parameter_get_type) *parameter_get_type;
    typeof(cpl_parameter_set_bool) *parameter_set_bool;
    typeof(cpl_parameter_set_double) *parameter_set_double;
    typeof(cpl_parameter_set_int) *parameter_set_int;
    typeof(cpl_parameter_set_string) *parameter_set_string;
    typeof(cpl_parameter_is_enabled) *parameter_is_enabled;
    typeof(cpl_parameterlist_delete) *parameterlist_delete;
    typeof(cpl_parameterlist_find) *parameterlist_find;
    typeof(cpl_parameterlist_get_first) *parameterlist_get_first;
    typeof(cpl_parameterlist_get_next) *parameterlist_get_next;
    typeof(cpl_parameterlist_get_size) *parameterlist_get_size;

    typeof(cpl_recipeconfig_delete) *recipeconfig_delete;
    typeof(cpl_recipeconfig_get_inputs) *recipeconfig_get_inputs;
    typeof(cpl_recipeconfig_get_max_count) *recipeconfig_get_max_count;
    typeof(cpl_recipeconfig_get_min_count) *recipeconfig_get_min_count;
    typeof(cpl_recipeconfig_get_outputs) *recipeconfig_get_outputs;
    typeof(cpl_recipeconfig_get_tags) *recipeconfig_get_tags;
    typeof(cpl_version_get_version) *version_get_version;
    cpl_recipeconfig *(*get_recipeconfig)(cpl_recipe *);
	
    cpl_type TYPE_BOOL;
    cpl_type TYPE_INT;
    cpl_type TYPE_DOUBLE;
    cpl_type TYPE_STRING;
} cpl_library_t;

cpl_library_t *create_library(const char *fname);

#endif /* CPL_LIBRARY_H */