2 Copyright (C) 2003 GraphicsMagick Group
3 Copyright (C) 2002 ImageMagick Studio
5 This program is covered by multiple licenses, which are described in
6 Copyright.txt. You should have received a copy of Copyright.txt with this
7 package; otherwise see http://www.graphicsmagick.org/www/Copyright.html.
9 Magick registry methods.
11 // Complete graphicsmagick_c wrapper for version 1.3.
12 module graphicsmagick_c
.magick
.registry
;
14 import core
.stdc
.config
: c_long
, c_ulong
;
16 import graphicsmagick_c
.magick
.error
: ExceptionInfo
;
17 import graphicsmagick_c
.magick
.image
: Image
;
24 UndefinedRegsitryType
,
28 alias RegistryType
= int;
42 _RegistryInfo
* previous
;
45 alias RegistryInfo
= _RegistryInfo
;
47 version (GMagick_Static
)
49 @system @nogc nothrow extern (C
):
51 Image
* GetImageFromMagickRegistry(const scope char*, c_long
* id
, ExceptionInfo
*);
53 c_long
SetMagickRegistry(const scope RegistryType
, const scope void*, const scope size_t
, ExceptionInfo
*);
55 uint DeleteMagickRegistry(const scope c_long
);
57 void DestroyMagickRegistry();
58 void* GetMagickRegistry(const scope c_long
, RegistryType
*, size_t
*, ExceptionInfo
*);
62 @system @nogc nothrow extern(C
)
64 alias mGetImageFromMagickRegistry
= Image
* function(const scope char*, c_long
* id
, ExceptionInfo
*);
66 alias mSetMagickRegistry
= c_long
function(const scope RegistryType
, const scope void*, const scope size_t
, ExceptionInfo
*);
68 alias mDeleteMagickRegistry
= uint function(const scope c_long
);
70 alias mDestroyMagickRegistry
= void function();
71 alias mGetMagickRegistry
= void* function(const scope c_long
, RegistryType
*, size_t
*, ExceptionInfo
*);
76 mGetImageFromMagickRegistry GetImageFromMagickRegistry
;
78 mSetMagickRegistry SetMagickRegistry
;
80 mDeleteMagickRegistry DeleteMagickRegistry
;
82 mDestroyMagickRegistry DestroyMagickRegistry
;
83 mGetMagickRegistry GetMagickRegistry
;
86 package(graphicsmagick_c
)
88 import core
.sys
.posix
.dlfcn
: dlerror
, dlsym
;
89 import core
.stdc
.stdio
: fprintf
, stderr
;
91 bool _loadRegistryH(void* dlib
)
96 GetImageFromMagickRegistry
= cast(mGetImageFromMagickRegistry
)dlsym(dlib
, "GetImageFromMagickRegistry");
97 if (null !is (errmsg
= dlerror())) {
98 debug(graphicsmagick_c
)
100 fprintf(stderr
, "ERROR graphicsmagick_c.magick.registry:\n %s\n", errmsg
);
105 SetMagickRegistry
= cast(mSetMagickRegistry
)dlsym(dlib
, "SetMagickRegistry");
106 if (null !is (errmsg
= dlerror())) {
107 debug(graphicsmagick_c
)
109 fprintf(stderr
, "ERROR graphicsmagick_c.magick.registry:\n %s\n", errmsg
);
114 DeleteMagickRegistry
= cast(mDeleteMagickRegistry
)dlsym(dlib
, "DeleteMagickRegistry");
115 if (null !is (errmsg
= dlerror())) {
116 debug(graphicsmagick_c
)
118 fprintf(stderr
, "ERROR graphicsmagick_c.magick.registry:\n %s\n", errmsg
);
123 DestroyMagickRegistry
= cast(mDestroyMagickRegistry
)dlsym(dlib
, "DestroyMagickRegistry");
124 if (null !is (errmsg
= dlerror())) {
125 debug(graphicsmagick_c
)
127 fprintf(stderr
, "ERROR graphicsmagick_c.magick.registry:\n %s\n", errmsg
);
131 GetMagickRegistry
= cast(mGetMagickRegistry
)dlsym(dlib
, "GetMagickRegistry");
132 if (null !is (errmsg
= dlerror())) {
133 debug(graphicsmagick_c
)
135 fprintf(stderr
, "ERROR graphicsmagick_c.magick.registry:\n %s\n", errmsg
);