From 0243aecd593c5c712078dfa1fbcf8bba1187a736 Mon Sep 17 00:00:00 2001 From: Tomas Gavenciak Date: Mon, 4 Jun 2012 14:01:16 +0200 Subject: [PATCH] pywrap: error checking for some modules Done for: core (except for GP_ContextDump - legacy) backends gfx (none needed) loaders (except for GP_P?M.h - legacy) Not done: filters input text --- pylib/gfxprim/backends/backends.i | 19 +++++++++++++++---- pylib/gfxprim/core/core.i | 11 +++++++++++ pylib/gfxprim/loaders/loaders.i | 36 +++++++++++++++++++++++++++++++++++- 3 files changed, 61 insertions(+), 5 deletions(-) diff --git a/pylib/gfxprim/backends/backends.i b/pylib/gfxprim/backends/backends.i index 1c909e15..fb3fb7d8 100644 --- a/pylib/gfxprim/backends/backends.i +++ b/pylib/gfxprim/backends/backends.i @@ -27,20 +27,31 @@ %immutable GP_Backend::name; %ignore GP_BackendFD; +ERROR_ON_NONZERO(GP_BackendSetCaption); +ERROR_ON_NONZERO(GP_BackendResize); + %include "GP_Backend.h" -/* - * Particular backends. We need to list every header separately. - */ -/* Overall backend init header */ +ERROR_ON_NULL(GP_BackendInit); %newobject GP_BackendInit; %include "GP_BackendInit.h" +/* + * Particular backends. + */ + +ERROR_ON_NULL(GP_BackendVirtualInit); +%newobject GP_BackendVirtualInit; +%include "GP_BackendVirtual.h" + +ERROR_ON_NULL(GP_BackendLinuxFBInit); %newobject GP_BackendLinuxFBInit; %include "GP_LinuxFB.h" +ERROR_ON_NULL(GP_BackendLinuxSDLInit); %newobject GP_BackendSDLInit; %include "GP_SDL.h" +ERROR_ON_NULL(GP_BackendLinuxX11Init); %newobject GP_BackendX11Init; %include "GP_X11.h" diff --git a/pylib/gfxprim/core/core.i b/pylib/gfxprim/core/core.i index 3e1bea50..86b02337 100644 --- a/pylib/gfxprim/core/core.i +++ b/pylib/gfxprim/core/core.i @@ -9,6 +9,8 @@ * Basic types and common methods */ +ERROR_ON_NULL(GP_GetCounter); + %include "GP_Common.h" %include "GP_Core.h" %include "GP_Debug.h" @@ -25,6 +27,8 @@ * Color and pixel types */ +ERROR_ON_NULL(GP_ColorToColorName); + %include "GP_Color.h" %include "GP_Pixel.h" %include "GP_Pixel.gen.h" /* Includes enum GP_PixelType definition */ @@ -83,6 +87,13 @@ and self.thisown.") GP_Context; } }; +/* Error handling */ +ERROR_ON_NONZERO(GP_ContextResize); +ERROR_ON_NULL(GP_ContextAlloc); +ERROR_ON_NULL(GP_ContextCopy); +ERROR_ON_NULL(GP_ContextSubContext); +ERROR_ON_NULL(GP_ContextConvert); + /* Indicate new wrapper-owned GP_Context */ %newobject GP_ContextAlloc; %newobject GP_ContextCopy; diff --git a/pylib/gfxprim/loaders/loaders.i b/pylib/gfxprim/loaders/loaders.i index bcfcaef7..2e54d416 100644 --- a/pylib/gfxprim/loaders/loaders.i +++ b/pylib/gfxprim/loaders/loaders.i @@ -8,11 +8,45 @@ %import ../core/core.i +ERROR_ON_NULL(GP_LoadImage); +ERROR_ON_NONZERO(GP_LoadMetaData); +ERROR_ON_NONZERO(GP_SaveImage); + %include "GP_Loaders.h" +ERROR_ON_NONZERO(GP_OpenJPG); +ERROR_ON_NULL(GP_ReadJPG); +ERROR_ON_NULL(GP_LoadJPG); +ERROR_ON_NONZERO(GP_ReadJPGMetaData); +ERROR_ON_NONZERO(GP_LoadJPGMetaData); +ERROR_ON_NONZERO(GP_SaveJPG); + %include "GP_JPG.h" + +ERROR_ON_NONZERO(GP_OpenBMP); +ERROR_ON_NULL(GP_ReadBMP); +ERROR_ON_NULL(GP_LoadBMP); + +%include "GP_BMP.h" + +ERROR_ON_NONZERO(GP_OpenGIF); +ERROR_ON_NULL(GP_ReadGIF); +ERROR_ON_NULL(GP_LoadGIF); + +%include "GP_GIF.h" + +ERROR_ON_NONZERO(GP_OpenPNG); +ERROR_ON_NULL(GP_ReadPNG); +ERROR_ON_NULL(GP_LoadPNG); +ERROR_ON_NONZERO(GP_ReadPNGMetaData); +ERROR_ON_NONZERO(GP_LoadPNGMetaData); +ERROR_ON_NONZERO(GP_SavePNG); + +%include "GP_PNG.h" + +/* TODO: No error checking - legacy GP_RetCode form */ %include "GP_PBM.h" %include "GP_PGM.h" %include "GP_PPM.h" -%include "GP_PNG.h" + -- 2.11.4.GIT