delegate.h

Go to the documentation of this file.
00001 /*
00002   Copyright 1999-2020 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.  You may
00006   obtain a copy of the License at
00007   
00008     https://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 #include <stdarg.h>
00026 #include "magick/semaphore.h"
00027 
00028 typedef struct _DelegateInfo
00029 {
00030   char
00031     *path,
00032     *decode,
00033     *encode,
00034     *commands;
00035 
00036   ssize_t
00037     mode;
00038 
00039   MagickBooleanType
00040     thread_support,
00041     spawn,
00042     stealth;
00043 
00044   struct _DelegateInfo
00045     *previous,
00046     *next;  /* deprecated, use GetDelegateInfoList() */
00047 
00048   size_t
00049     signature;
00050 
00051   SemaphoreInfo
00052     *semaphore;
00053 } DelegateInfo;
00054 
00055 extern MagickExport char
00056   *GetDelegateCommand(const ImageInfo *,Image *,const char *,const char *,
00057     ExceptionInfo *),
00058   **GetDelegateList(const char *,size_t *,ExceptionInfo *);
00059 
00060 extern MagickExport const char
00061   *GetDelegateCommands(const DelegateInfo *);
00062 
00063 extern MagickExport const DelegateInfo
00064   *GetDelegateInfo(const char *,const char *,ExceptionInfo *exception),
00065   **GetDelegateInfoList(const char *,size_t *,ExceptionInfo *);
00066 
00067 extern MagickExport int
00068   ExternalDelegateCommand(const MagickBooleanType,const MagickBooleanType,
00069     const char *,char *,ExceptionInfo *);
00070 
00071 extern MagickExport ssize_t
00072   GetDelegateMode(const DelegateInfo *);
00073 
00074 extern MagickExport MagickBooleanType
00075   DelegateComponentGenesis(void),
00076   GetDelegateThreadSupport(const DelegateInfo *),
00077   InvokeDelegate(ImageInfo *,Image *,const char *,const char *,ExceptionInfo *),
00078   ListDelegateInfo(FILE *,ExceptionInfo *);
00079 
00080 extern MagickExport void
00081   DelegateComponentTerminus(void);
00082 
00083 #if defined(__cplusplus) || defined(c_plusplus)
00084 }
00085 #endif
00086 
00087 #endif

Generated on 20 Jan 2020 for MagickCore by  doxygen 1.6.1