Graphics: return a null pointer in C when property does not exist
[scilab.git] / scilab / modules / graphics / src / c / getHandleProperty / get_figure_closerequestfcn_property.c
1 /*
2  * Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
3  * Copyright (C) 2012 - DIGITEO - Vincent Couvert
4  *
5  * This file must be used under the terms of the CeCILL.
6  * This source file is licensed as described in the file COPYING, which
7  * you should have received as part of this distribution.  The terms
8  * are also available at
9  * http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
10  *
11  */
12
13 #include <string.h>
14
15 #include "getHandleProperty.h"
16 #include "GetProperty.h"
17 #include "returnProperty.h"
18 #include "Scierror.h"
19 #include "localization.h"
20
21 #include "getGraphicObjectProperty.h"
22 #include "graphicObjectProperties.h"
23
24 /*------------------------------------------------------------------------*/
25 int get_figure_closerequestfcn_property(void* _pvCtx, char* pobjUID)
26 {
27     char* closeRequestFcn = NULL;
28     int iType = -1;
29     int *piType = &iType;
30
31     getGraphicObjectProperty(pobjUID, __GO_TYPE__, jni_int, (void **)&piType);
32     if (piType == NULL || iType != __GO_FIGURE__)
33     {
34         Scierror(999, _("'%s' property does not exist for this handle.\n"), "type");
35         return -1;
36     }
37
38     getGraphicObjectProperty(pobjUID, __GO_CLOSEREQUESTFCN__, jni_string, (void **) &closeRequestFcn);
39
40     if (closeRequestFcn == NULL)
41     {
42         Scierror(999, _("'%s' property does not exist for this handle.\n"), "closerequestfcn");
43         return -1;
44     }
45
46     return sciReturnString(_pvCtx, closeRequestFcn);
47 }
48 /*------------------------------------------------------------------------*/