Home | History | Annotate | Download | only in MagickCore
      1 /*
      2   Copyright 1999-2016 ImageMagick Studio LLC, a non-profit organization
      3   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(MAGICKCORE_GS_DELEGATE)
     22 #include "ghostscript/iapi.h"
     23 #include "ghostscript/ierrors.h"
     24 #else
     25 typedef struct gsapi_revision_s
     26 {
     27   const char *product;
     28   const char *copyright;
     29   long revision;
     30   long revisiondate;
     31 } gsapi_revision_t;
     32 #endif
     33 
     34 #if defined(__cplusplus) || defined(c_plusplus)
     35 extern "C" {
     36 #endif
     37 
     38 #ifndef gs_main_instance_DEFINED
     39 # define gs_main_instance_DEFINED
     40 typedef struct gs_main_instance_s
     41   gs_main_instance;
     42 #endif
     43 
     44 #if !defined(MagickDLLCall)
     45 #  if defined(MAGICKCORE_WINDOWS_SUPPORT)
     46 #    define MagickDLLCall __stdcall
     47 #  else
     48 #    define MagickDLLCall
     49 #  endif
     50 #endif
     51 
     52 typedef struct _GhostInfo
     53 {
     54   void
     55     (MagickDLLCall *delete_instance)(gs_main_instance *);
     56 
     57   int
     58     (MagickDLLCall *exit)(gs_main_instance *);
     59 
     60   int
     61     (MagickDLLCall *init_with_args)(gs_main_instance *,int,char **);
     62 
     63   int
     64     (MagickDLLCall *new_instance)(gs_main_instance **,void *);
     65 
     66   int
     67     (MagickDLLCall *run_string)(gs_main_instance *,const char *,int,int *);
     68 
     69   int
     70     (MagickDLLCall *set_stdio)(gs_main_instance *,int(MagickDLLCall *)(void *,
     71       char *,int),int(MagickDLLCall *)(void *,const char *,int),
     72       int(MagickDLLCall *)(void *,const char *,int));
     73 
     74   int
     75     (MagickDLLCall *revision)(gsapi_revision_t *, int);
     76 } GhostInfo;
     77 
     78 extern MagickPrivate MagickBooleanType
     79   DelegateComponentGenesis(void);
     80 
     81 extern MagickPrivate void
     82   DelegateComponentTerminus(void);
     83 
     84 #if defined(__cplusplus) || defined(c_plusplus)
     85 }
     86 #endif
     87 
     88 #endif
     89