delegate.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2008 ImageMagick Studio LLC, a non-profit organization
00003   dedicated to making software imaging solutions freely available.
00004   
00005   You may not use this file except in compliance with the License.
00006   obtain a copy of the License at
00007   
00008     http://www.imagemagick.org/script/license.php
00009   
00010   Unless required by applicable law or agreed to in writing, software
00011   distributed under the License is distributed on an "AS IS" BASIS,
00012   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00013   See the License for the specific language governing permissions and
00014   limitations under the License.
00015 
00016   MagickCore delegates methods.
00017 */
00018 #ifndef _MAGICKCORE_DELEGATE_H
00019 #define _MAGICKCORE_DELEGATE_H
00020 
00021 #if defined(__cplusplus) || defined(c_plusplus)
00022 extern "C" {
00023 #endif
00024 
00025 #if defined(MAGICKCORE_GS_DELEGATE)
00026 #include "ghostscript/iapi.h"
00027 #include "ghostscript/ierrors.h"
00028 #endif
00029 
00030 #ifndef gs_main_instance_DEFINED
00031 # define gs_main_instance_DEFINED
00032 typedef struct gs_main_instance_s gs_main_instance;
00033 #endif
00034 
00035 #if !defined(MagickDLLCall)
00036 #  if defined(__WINDOWS__)
00037 #    define MagickDLLCall __stdcall
00038 #  else
00039 #    define MagickDLLCall
00040 #  endif
00041 #endif
00042 
00043 typedef struct _GhostscriptVectors
00044 {
00045   int
00046     (MagickDLLCall *exit)(gs_main_instance *);
00047 
00048   int
00049     (MagickDLLCall *init_with_args)(gs_main_instance *,int,char **);
00050 
00051   int
00052     (MagickDLLCall *new_instance)(gs_main_instance **,void *);
00053 
00054   int
00055     (MagickDLLCall *run_string)(gs_main_instance *,const char *,int,int *);
00056 
00057   void
00058     (MagickDLLCall *delete_instance)(gs_main_instance *);
00059 } GhostscriptVectors;
00060 
00061 typedef struct _DelegateInfo
00062 {
00063   char
00064     *path,
00065     *decode,
00066     *encode,
00067     *commands;
00068                                                                                 
00069   long
00070     mode;
00071                                                                                 
00072   MagickBooleanType
00073     thread_support,
00074     spawn,
00075     stealth;
00076                                                                                 
00077   struct _DelegateInfo
00078     *previous,
00079     *next;  /* deprecated, use GetDelegateInfoList() */
00080 
00081   unsigned long
00082     signature;
00083 } DelegateInfo;
00084 
00085 extern MagickExport char
00086   *GetDelegateCommand(const ImageInfo *,Image *,const char *,const char *,
00087     ExceptionInfo *),
00088   **GetDelegateList(const char *,unsigned long *,ExceptionInfo *);
00089 
00090 extern MagickExport const char
00091   *GetDelegateCommands(const DelegateInfo *);
00092 
00093 extern MagickExport const DelegateInfo
00094   *GetDelegateInfo(const char *,const char *,ExceptionInfo *exception),
00095   **GetDelegateInfoList(const char *,unsigned long *,ExceptionInfo *);
00096 
00097 extern MagickExport long
00098   GetDelegateMode(const DelegateInfo *);
00099 
00100 extern MagickExport MagickBooleanType
00101   GetDelegateThreadSupport(const DelegateInfo *),
00102   InvokeDelegate(ImageInfo *,Image *,const char *,const char *,ExceptionInfo *),
00103   ListDelegateInfo(FILE *,ExceptionInfo *);
00104 
00105 extern MagickExport void
00106   DestroyDelegateList(void);
00107 
00108 #if defined(__cplusplus) || defined(c_plusplus)
00109 }
00110 #endif
00111 
00112 #endif

Generated on Sat Jan 26 14:50:29 2008 for MagickCore by  doxygen 1.5.4