blob: c1f3c9abf08e0bc299e29bdbcaa05c022ef9c881 [file] [log] [blame]
cristy3ed852e2009-09-05 21:47:34 +00001/*
cristy1454be72011-12-19 01:52:48 +00002 Copyright 1999-2012 ImageMagick Studio LLC, a non-profit organization
cristy3ed852e2009-09-05 21:47:34 +00003 dedicated to making software imaging solutions freely available.
4
5 You may not use this file except in compliance with the License.
6 obtain a copy of the License at
7
8 http://www.imagemagick.org/script/license.php
9
10 Unless required by applicable law or agreed to in writing, software
11 distributed under the License is distributed on an "AS IS" BASIS,
12 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 See the License for the specific language governing permissions and
14 limitations under the License.
15
16 MagickCore delegates private methods.
17*/
18#ifndef _MAGICKCORE_DELEGATE_PRIVATE_H
19#define _MAGICKCORE_DELEGATE_PRIVATE_H
20
21#if defined(__cplusplus) || defined(c_plusplus)
22extern "C" {
23#endif
24
25#if defined(MAGICKCORE_GS_DELEGATE)
26#include "ghostscript/iapi.h"
27#include "ghostscript/ierrors.h"
28#endif
29
30#ifndef gs_main_instance_DEFINED
31# define gs_main_instance_DEFINED
32typedef struct gs_main_instance_s
33 gs_main_instance;
34#endif
35
36#if !defined(MagickDLLCall)
cristy0157aea2010-04-24 21:12:18 +000037# if defined(MAGICKCORE_WINDOWS_SUPPORT)
cristy3ed852e2009-09-05 21:47:34 +000038# define MagickDLLCall __stdcall
39# else
40# define MagickDLLCall
41# endif
42#endif
43
cristydefb3f02009-09-10 02:18:35 +000044typedef struct _GhostInfo
cristy3ed852e2009-09-05 21:47:34 +000045{
46 int
47 (MagickDLLCall *exit)(gs_main_instance *);
48
49 int
50 (MagickDLLCall *init_with_args)(gs_main_instance *,int,char **);
51
52 int
53 (MagickDLLCall *new_instance)(gs_main_instance **,void *);
54
55 int
56 (MagickDLLCall *run_string)(gs_main_instance *,const char *,int,int *);
57
58 void
59 (MagickDLLCall *delete_instance)(gs_main_instance *);
cristydefb3f02009-09-10 02:18:35 +000060} GhostInfo;
cristy3ed852e2009-09-05 21:47:34 +000061
cristy5ff4eaf2011-09-03 01:38:02 +000062extern MagickPrivate MagickBooleanType
63 DelegateComponentGenesis(void);
64
65extern MagickPrivate void
66 DelegateComponentTerminus(void);
67
cristy3ed852e2009-09-05 21:47:34 +000068#if defined(__cplusplus) || defined(c_plusplus)
69}
70#endif
71
72#endif