]> rtime.felk.cvut.cz Git - orte.git/blob - orte/libjorte/JORTEDomainPropMgrsSet.c
ANDROID: correct return value
[orte.git] / orte / libjorte / JORTEDomainPropMgrsSet.c
1 #include <string.h>
2 #include <stdlib.h>
3 #include "orte.h"
4 #include "jorte/4all.h"
5
6 #include "jorte/org_ocera_orte_types_DomainProp.h"
7
8   JNIEXPORT jboolean JNICALL Java_org_ocera_orte_types_DomainProp_jORTEDomainPropMgrsSet
9   (JNIEnv *env, jobject obj)
10   {
11     jclass         cls_dp = NULL;
12     jfieldID       fid = NULL;
13     jobject        obj_str = NULL;
14     const char     *str = NULL;
15     //
16     int flag_ok = 0;
17
18     ORTEDomainProp *dp;
19
20         #ifdef TEST_STAGE
21           printf(":c: jORTEDomainPropMgrsSet() called.. \n");
22         #endif
23
24         do {
25                 cls_dp = (*env)->GetObjectClass(env, obj);
26
27                 if (cls_dp == 0) {
28                         printf(":!c: class 'org.ocera.orte.types.DomainProp' not found! \n");
29                         break;
30                 }
31
32                 fid = (*env)->GetFieldID(env,
33                                                  cls_dp,
34                                                  "handle",
35                                                  "J");
36             if(fid == 0)
37             {
38               #ifdef TEST_STAGE
39                 printf(":!c: fid = NULL \n");
40               #endif
41               break;
42             }
43             dp = (ORTEDomainProp *) (*env)->GetLongField(env, obj, fid);
44             if(dp == 0)
45             {
46               #ifdef TEST_STAGE
47                 printf(":!c: *dp = NULL \n");
48               #endif
49               break;
50             }
51
52             fid = (*env)->GetFieldID(env,
53                                                          cls_dp,
54                                                          "mgrs",
55                                                          "Ljava/lang/String;");
56             if(fid == 0)
57             {
58               #ifdef TEST_STAGE
59                 printf(":!c: fid = NULL \n");
60               #endif
61               break;
62             }
63
64             obj_str = (*env)->GetObjectField(env, obj, fid);
65             if(obj_str == 0)
66             {
67               #ifdef TEST_STAGE
68                 printf(":!c: obj_str = NULL \n");
69               #endif
70               break;
71             }
72             str = (*env)->GetStringUTFChars(env,obj_str,0);
73             dp->mgrs=str;
74
75             flag_ok = 1;
76         } while (0);
77
78         if(flag_ok) {
79           return  ORTE_TRUE;
80         }
81
82         return ORTE_FALSE;
83   }