1 module dmagick.c.magickModule;
2 
3 import core.stdc.stdio;
4 import core.stdc.time;
5 
6 import dmagick.c.exception;
7 import dmagick.c.image;
8 import dmagick.c.magickType;
9 import dmagick.c.magickVersion;
10 
11 extern(C)
12 {
13 	enum MagickModuleType
14 	{
15 		MagickImageCoderModule,
16 		MagickImageFilterModule
17 	}
18 /*
19 		struct ModuleInfo
20 		{
21 			char*
22 				path,
23 				tag;
24 
25 			void*
26 				handle;
27 
28 			void
29 				function() unregister_module;
30 
31 			size_t
32 				function() register_module;
33 
34 			time_t
35 				timestamp;
36 
37 			MagickBooleanType
38 				stealth;
39 
40 			ModuleInfo*
41 				previous,
42 				next;
43 
44 			size_t
45 				signature;
46 		}
47 */
48 	size_t ImageFilterHandler(Image**, const int, const(char)**, ExceptionInfo*);
49 
50 	char** GetModuleList(const(char)*, const MagickModuleType, size_t*, ExceptionInfo*);
51 
52 	//const(ModuleInfo)** GetModuleInfoList(const(char)*, size_t*, ExceptionInfo*);
53 
54 	static if ( MagickLibVersion < 0x689 )
55 	{
56 		MagickBooleanType InitializeModuleList(ExceptionInfo*);
57 	}
58 
59 	MagickBooleanType InvokeDynamicImageFilter(const(char)*, Image**, const int, const(char)**, ExceptionInfo*);
60 	MagickBooleanType ListModuleInfo(FILE*, ExceptionInfo*);
61 	MagickBooleanType ModuleComponentGenesis();
62 	MagickBooleanType OpenModule(const(char)*, ExceptionInfo*);
63 	MagickBooleanType OpenModules(ExceptionInfo*);
64 
65 	//ModuleInfo* GetModuleInfo(const(char)*, ExceptionInfo*);
66 
67 	void DestroyModuleList();
68 	void ModuleComponentTerminus();
69 	void RegisterStaticModules();
70 	void UnregisterStaticModules();
71 }