summaryrefslogtreecommitdiff
path: root/dmagick/c/magickDelegate.d
blob: 98223a4d0a620f39a24d8827c4a1acbacd09b175 (plain)
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
module dmagick.c.magickDelegate;

import core.stdc.stdio;

import dmagick.c.exception;
import dmagick.c.image;
import dmagick.c.magickType;

alias ptrdiff_t ssize_t;

extern(C)
{
	struct DelegateInfo
	{
		char*
			path,
			decode,
			encode,
			commands;

		ssize_t
			mode;

		MagickBooleanType
			thread_support,
			spawn,
			stealth;

		DelegateInfo*
			previous,
			next;

		size_t
			signature;
	}

	char*  GetDelegateCommand(const(ImageInfo)*, Image*, const(char)*, const(char)*, ExceptionInfo*);
	char** GetDelegateList(const(char)*,size_t *,ExceptionInfo *);

	const(char)* GetDelegateCommands(const(DelegateInfo)*);

	const(DelegateInfo)*  GetDelegateInfo(const(char)*, const(char)*, ExceptionInfo* exception);
	const(DelegateInfo)** GetDelegateInfoList(const(char)*, size_t*, ExceptionInfo*);

	ssize_t GetDelegateMode(const(DelegateInfo)*);

	MagickBooleanType DelegateComponentGenesis();
	MagickBooleanType GetDelegateThreadSupport(const(DelegateInfo)*);
	MagickBooleanType InvokeDelegate(ImageInfo*, Image*, const(char)*, const(char)*, ExceptionInfo*);
	MagickBooleanType ListDelegateInfo(FILE*, ExceptionInfo*);

	void DelegateComponentTerminus();
}