static.c
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 #include "magick/studio.h"
00044 #include "magick/exception-private.h"
00045 #include "magick/image.h"
00046 #include "magick/module.h"
00047 #include "magick/policy.h"
00048 #include "magick/static.h"
00049 #include "magick/string_.h"
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065
00066
00067
00068
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084 #if defined(MAGICKCORE_MODULES_SUPPORT)
00085 MagickExport MagickBooleanType InvokeStaticImageFilter(const char *tag,
00086 Image **image,const int argc,const char **argv,ExceptionInfo *exception)
00087 {
00088 PolicyRights
00089 rights;
00090
00091 assert(image != (Image **) NULL);
00092 assert((*image)->signature == MagickSignature);
00093 if ((*image)->debug != MagickFalse)
00094 (void) LogMagickEvent(TraceEvent,GetMagickModule(),"%s",(*image)->filename);
00095 rights=ReadPolicyRights;
00096 if (IsRightsAuthorized(FilterPolicyDomain,rights,tag) == MagickFalse)
00097 {
00098 errno=EPERM;
00099 (void) ThrowMagickException(exception,GetMagickModule(),PolicyError,
00100 "NotAuthorized","`%s'",tag);
00101 return(MagickFalse);
00102 }
00103 #if defined(MAGICKCORE_BUILD_MODULES)
00104 (void) tag;
00105 (void) argc;
00106 (void) argv;
00107 (void) exception;
00108 #else
00109 {
00110 extern unsigned long
00111 analyzeImage(Image **,const int,char **,ExceptionInfo *);
00112
00113 ImageFilterHandler
00114 *image_filter;
00115
00116 image_filter=(ImageFilterHandler *) NULL;
00117 if (LocaleCompare("analyze",tag) == 0)
00118 image_filter=(ImageFilterHandler *) analyzeImage;
00119 if (image_filter != (ImageFilterHandler *) NULL)
00120 {
00121 unsigned long
00122 signature;
00123
00124 if ((*image)->debug != MagickFalse)
00125 (void) LogMagickEvent(CoderEvent,GetMagickModule(),
00126 "Invoking \"%s\" static image filter",tag);
00127 signature=image_filter(image,argc,argv,exception);
00128 if ((*image)->debug != MagickFalse)
00129 (void) LogMagickEvent(CoderEvent,GetMagickModule(),"\"%s\" completes",
00130 tag);
00131 if (signature != MagickImageFilterSignature)
00132 {
00133 (void) ThrowMagickException(exception,GetMagickModule(),ModuleError,
00134 "ImageFilterSignatureMismatch","`%s': %8lx != %8lx",tag,signature,
00135 MagickImageFilterSignature);
00136 return(MagickFalse);
00137 }
00138 }
00139 }
00140 #endif
00141 return(MagickTrue);
00142 }
00143 #endif
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164 MagickExport void RegisterStaticModules(void)
00165 {
00166 #if !defined(MAGICKCORE_BUILD_MODULES)
00167 (void) RegisterARTImage();
00168 (void) RegisterAVSImage();
00169 (void) RegisterBMPImage();
00170 (void) RegisterCAPTIONImage();
00171 (void) RegisterCINImage();
00172 (void) RegisterCIPImage();
00173 (void) RegisterCLIPImage();
00174 #if defined(MAGICKCORE_WINGDI32_DELEGATE)
00175 (void) RegisterCLIPBOARDImage();
00176 #endif
00177 (void) RegisterCMYKImage();
00178 (void) RegisterCUTImage();
00179 (void) RegisterDCMImage();
00180 (void) RegisterDDSImage();
00181 (void) RegisterDIBImage();
00182 #if defined(MAGICKCORE_DJVU_DELEGATE)
00183 (void) RegisterDJVUImage();
00184 #endif
00185 (void) RegisterDNGImage();
00186 #if defined(MAGICKCORE_DPS_DELEGATE)
00187 (void) RegisterDPSImage();
00188 #endif
00189 (void) RegisterDPXImage();
00190 #if defined(MAGICKCORE_WINGDI32_DELEGATE)
00191 (void) RegisterEMFImage();
00192 #endif
00193 #if defined(MAGICKCORE_TIFF_DELEGATE)
00194 (void) RegisterEPTImage();
00195 #endif
00196 #if defined(MAGICKCORE_OPENEXR_DELEGATE)
00197 (void) RegisterEXRImage();
00198 #endif
00199 (void) RegisterFAXImage();
00200 (void) RegisterFITSImage();
00201 #if defined(MAGICKCORE_FPX_DELEGATE)
00202 (void) RegisterFPXImage();
00203 #endif
00204 (void) RegisterGIFImage();
00205 (void) RegisterGRAYImage();
00206 (void) RegisterGRADIENTImage();
00207 (void) RegisterHISTOGRAMImage();
00208 (void) RegisterHRZImage();
00209 (void) RegisterHTMLImage();
00210 (void) RegisterICONImage();
00211 (void) RegisterINFOImage();
00212 (void) RegisterINLINEImage();
00213 (void) RegisterIPLImage();
00214 #if defined(MAGICKCORE_JBIG_DELEGATE)
00215 (void) RegisterJBIGImage();
00216 #endif
00217 #if defined(MAGICKCORE_JPEG_DELEGATE)
00218 (void) RegisterJPEGImage();
00219 #endif
00220 #if defined(MAGICKCORE_JP2_DELEGATE)
00221 (void) RegisterJP2Image();
00222 #endif
00223 (void) RegisterLABELImage();
00224 (void) RegisterMAGICKImage();
00225 (void) RegisterMAPImage();
00226 (void) RegisterMATImage();
00227 (void) RegisterMATTEImage();
00228 (void) RegisterMETAImage();
00229 (void) RegisterMIFFImage();
00230 (void) RegisterMONOImage();
00231 (void) RegisterMPCImage();
00232 (void) RegisterMPEGImage();
00233 (void) RegisterMPRImage();
00234 (void) RegisterMSLImage();
00235 (void) RegisterMTVImage();
00236 (void) RegisterMVGImage();
00237 (void) RegisterNULLImage();
00238 (void) RegisterOTBImage();
00239 (void) RegisterPALMImage();
00240 (void) RegisterPATTERNImage();
00241 (void) RegisterPCDImage();
00242 (void) RegisterPCLImage();
00243 (void) RegisterPCXImage();
00244 (void) RegisterPDBImage();
00245 (void) RegisterPDFImage();
00246 (void) RegisterPESImage();
00247 (void) RegisterPICTImage();
00248 (void) RegisterPIXImage();
00249 (void) RegisterPLASMAImage();
00250 #if defined(MAGICKCORE_PNG_DELEGATE)
00251 (void) RegisterPNGImage();
00252 #endif
00253 (void) RegisterPNMImage();
00254 (void) RegisterPREVIEWImage();
00255 (void) RegisterPSImage();
00256 (void) RegisterPS2Image();
00257 (void) RegisterPS3Image();
00258 (void) RegisterPSDImage();
00259 (void) RegisterPWPImage();
00260 (void) RegisterRAWImage();
00261 (void) RegisterRGBImage();
00262 (void) RegisterRLAImage();
00263 (void) RegisterRLEImage();
00264 (void) RegisterSCRImage();
00265 (void) RegisterSCTImage();
00266 (void) RegisterSFWImage();
00267 (void) RegisterSGIImage();
00268 (void) RegisterSTEGANOImage();
00269 (void) RegisterSUNImage();
00270 (void) RegisterSVGImage();
00271 (void) RegisterTGAImage();
00272 (void) RegisterTHUMBNAILImage();
00273 #if defined(MAGICKCORE_TIFF_DELEGATE)
00274 (void) RegisterTIFFImage();
00275 #endif
00276 (void) RegisterTILEImage();
00277 (void) RegisterTIMImage();
00278 (void) RegisterTTFImage();
00279 (void) RegisterTXTImage();
00280 (void) RegisterUILImage();
00281 (void) RegisterURLImage();
00282 (void) RegisterUYVYImage();
00283 (void) RegisterVICARImage();
00284 (void) RegisterVIDImage();
00285 (void) RegisterVIFFImage();
00286 (void) RegisterWBMPImage();
00287 #if defined(MAGICKCORE_WMF_DELEGATE) || defined(MAGICKCORE_WMFLITE_DELEGATE)
00288 (void) RegisterWMFImage();
00289 #endif
00290 (void) RegisterWPGImage();
00291 #if defined(MAGICKCORE_X11_DELEGATE)
00292 (void) RegisterXImage();
00293 #endif
00294 (void) RegisterXBMImage();
00295 (void) RegisterXCImage();
00296 (void) RegisterXCFImage();
00297 (void) RegisterXPMImage();
00298 (void) RegisterXPSImage();
00299 #if defined(_VISUALC_)
00300 (void) RegisterXTRNImage();
00301 #endif
00302 #if defined(MAGICKCORE_X11_DELEGATE)
00303 (void) RegisterXWDImage();
00304 #endif
00305 (void) RegisterYCBCRImage();
00306 (void) RegisterYUVImage();
00307 #endif
00308 }
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328
00329 MagickExport void UnregisterStaticModules(void)
00330 {
00331 #if !defined(MAGICKCORE_BUILD_MODULES)
00332 UnregisterARTImage();
00333 UnregisterAVSImage();
00334 UnregisterBMPImage();
00335 UnregisterBRAILLEImage();
00336 UnregisterCAPTIONImage();
00337 UnregisterCINImage();
00338 UnregisterCIPImage();
00339 UnregisterCLIPImage();
00340 #if defined(MAGICKCORE_WINGDI32_DELEGATE)
00341 UnregisterCLIPBOARDImage();
00342 #endif
00343 UnregisterCMYKImage();
00344 UnregisterCUTImage();
00345 UnregisterDCMImage();
00346 UnregisterDDSImage();
00347 UnregisterDIBImage();
00348 #if defined(MAGICKCORE_DJVU_DELEGATE)
00349 UnregisterDJVUImage();
00350 #endif
00351 UnregisterDNGImage();
00352 #if defined(MAGICKCORE_DPS_DELEGATE)
00353 UnregisterDPSImage();
00354 #endif
00355 UnregisterDPXImage();
00356 #if defined(MAGICKCORE_WINGDI32_DELEGATE)
00357 UnregisterEMFImage();
00358 #endif
00359 #if defined(MAGICKCORE_TIFF_DELEGATE)
00360 UnregisterEPTImage();
00361 #endif
00362 #if defined(MAGICKCORE_OPENEXR_DELEGATE)
00363 UnregisterEXRImage();
00364 #endif
00365 UnregisterFAXImage();
00366 UnregisterFITSImage();
00367 #if defined(MAGICKCORE_FPX_DELEGATE)
00368 UnregisterFPXImage();
00369 #endif
00370 UnregisterGIFImage();
00371 UnregisterGRAYImage();
00372 UnregisterGRADIENTImage();
00373 UnregisterHISTOGRAMImage();
00374 UnregisterHRZImage();
00375 UnregisterHTMLImage();
00376 UnregisterICONImage();
00377 UnregisterINFOImage();
00378 UnregisterINLINEImage();
00379 UnregisterIPLImage();
00380 #if defined(MAGICKCORE_JBIG_DELEGATE)
00381 UnregisterJBIGImage();
00382 #endif
00383 #if defined(MAGICKCORE_JPEG_DELEGATE)
00384 UnregisterJPEGImage();
00385 #endif
00386 #if defined(MAGICKCORE_JP2_DELEGATE)
00387 UnregisterJP2Image();
00388 #endif
00389 UnregisterLABELImage();
00390 UnregisterMAGICKImage();
00391 UnregisterMAPImage();
00392 UnregisterMATImage();
00393 UnregisterMATTEImage();
00394 UnregisterMETAImage();
00395 UnregisterMIFFImage();
00396 UnregisterMONOImage();
00397 UnregisterMPCImage();
00398 UnregisterMPEGImage();
00399 UnregisterMPRImage();
00400 UnregisterMSLImage();
00401 UnregisterMTVImage();
00402 UnregisterMVGImage();
00403 UnregisterNULLImage();
00404 UnregisterOTBImage();
00405 UnregisterPALMImage();
00406 UnregisterPATTERNImage();
00407 UnregisterPCDImage();
00408 UnregisterPCLImage();
00409 UnregisterPCXImage();
00410 UnregisterPDBImage();
00411 UnregisterPDFImage();
00412 UnregisterPESImage();
00413 UnregisterPICTImage();
00414 UnregisterPIXImage();
00415 UnregisterPLASMAImage();
00416 #if defined(MAGICKCORE_PNG_DELEGATE)
00417 UnregisterPNGImage();
00418 #endif
00419 UnregisterPNMImage();
00420 UnregisterPREVIEWImage();
00421 UnregisterPSImage();
00422 UnregisterPS2Image();
00423 UnregisterPS3Image();
00424 UnregisterPSDImage();
00425 UnregisterPWPImage();
00426 UnregisterRAWImage();
00427 UnregisterRGBImage();
00428 UnregisterRLAImage();
00429 UnregisterRLEImage();
00430 UnregisterSCRImage();
00431 UnregisterSCTImage();
00432 UnregisterSFWImage();
00433 UnregisterSGIImage();
00434 UnregisterSTEGANOImage();
00435 UnregisterSUNImage();
00436 UnregisterSVGImage();
00437 UnregisterTGAImage();
00438 UnregisterTHUMBNAILImage();
00439 #if defined(MAGICKCORE_TIFF_DELEGATE)
00440 UnregisterTIFFImage();
00441 #endif
00442 UnregisterTILEImage();
00443 UnregisterTIMImage();
00444 UnregisterTTFImage();
00445 UnregisterTXTImage();
00446 UnregisterUILImage();
00447 UnregisterURLImage();
00448 UnregisterUYVYImage();
00449 UnregisterVICARImage();
00450 UnregisterVIDImage();
00451 UnregisterVIFFImage();
00452 UnregisterWBMPImage();
00453 #if defined(MAGICKCORE_WMF_DELEGATE) || defined(MAGICKCORE_WMFLITE_DELEGATE)
00454 UnregisterWMFImage();
00455 #endif
00456 UnregisterWPGImage();
00457 #if defined(MAGICKCORE_X11_DELEGATE)
00458 UnregisterXImage();
00459 #endif
00460 UnregisterXBMImage();
00461 UnregisterXCImage();
00462 UnregisterXCFImage();
00463 UnregisterXPMImage();
00464 UnregisterXPSImage();
00465 #if defined(_VISUALC_)
00466 UnregisterXTRNImage();
00467 #endif
00468 #if defined(MAGICKCORE_X11_DELEGATE)
00469 UnregisterXWDImage();
00470 #endif
00471 UnregisterYCBCRImage();
00472 UnregisterYUVImage();
00473 #endif
00474 }