5 #include "jorte/4all.h"
6 #include "jorte/jorte_protos_api.h"
8 int setRecvInfo(JNIEnv *env, const ORTERecvInfo *rinfo, jobject obj)
22 cls = (*env)->FindClass(env, "org/ocera/orte/types/RecvInfo");
26 printf(":!c: cls = NULL \n");
31 fid = (*env)->GetFieldID(env,cls,"status","B");
35 printf(":!c: fid = NULL \n");
40 printf(":c: rinfo.status = %d \n",
43 (*env)->SetByteField(env,
46 (jbyte) rinfo->status);
47 /////////////////////////////////////////////////
49 if(!setTopic(env,cls,obj,rinfo->topic))
52 printf(":!c: seTopic() failed! \n");
57 if(!setType(env,cls,obj,rinfo->type))
60 printf(":!c: seType() failed! \n");
64 /////////////////////////////////////////////////
65 // find cls - GUID_RTPS
66 cls_tmp = (*env)->FindClass(env, "org/ocera/orte/types/GUID_RTPS");
70 printf(":!c: cls_tmp = NULL \n");
74 // call object constructor
75 mid = (*env)->GetMethodID(env,
82 printf(":!c: constructor failed! \n");
87 obj_tmp = (*env)->NewObject(env,
90 (jlong)rinfo->senderGUID.hid,
91 (jlong)rinfo->senderGUID.aid,
92 (jlong)rinfo->senderGUID.oid);
96 printf(":!c: obj = NULL \n");
100 // set AppInfo's field
101 fid = (*env)->GetFieldID(env,
104 "Lorg/ocera/orte/types/GUID_RTPS;");
108 printf(":!c: fid = NULL \n");
113 printf(":c: rinfo.senderGUID: hid = %d, aid = %d, oid = %d \n",
114 rinfo->senderGUID.hid,rinfo->senderGUID.aid,rinfo->senderGUID.oid);
116 (*env)->SetObjectField(env,
120 /////////////////////////////////////////////////
121 // find cls - NtpTime
122 cls_tmp = (*env)->FindClass(env, "org/ocera/orte/types/NtpTime");
126 printf(":!c: cls_tmp = NULL \n");
130 // call object constructor
131 mid = (*env)->GetMethodID(env,
138 printf(":!c: constructor failed! \n");
143 obj_tmp = (*env)->NewObject(env,
146 (jint)rinfo->localTimeReceived.seconds,
147 (jlong)rinfo->localTimeReceived.fraction);
151 printf(":!c: obj = NULL \n");
155 // set AppInfo's field
156 fid = (*env)->GetFieldID(env,
159 "Lorg/ocera/orte/types/NtpTime;");
163 printf(":!c: fid = NULL \n");
168 printf(":c: rinfo.NtpTime: %d (sec = %d fract = %d) \n",
169 (rinfo->localTimeReceived.seconds + rinfo->localTimeReceived.fraction/2^32),
170 rinfo->localTimeReceived.seconds,rinfo->localTimeReceived.fraction);
172 (*env)->SetObjectField(env,
176 /////////////////////////////////////////////////
177 // find cls - NtpTime
179 cls_tmp = (*env)->FindClass(env, "org/ocera/orte/types/NtpTime");
183 printf(":!c: cls_tmp = NULL \n");
187 // call object constructor
188 mid = (*env)->GetMethodID(env,
195 printf(":!c: constructor failed! \n");
201 obj_tmp = (*env)->NewObject(env,
204 (jint)rinfo->remoteTimePublished.seconds,
205 (jlong)rinfo->remoteTimePublished.fraction);
209 printf(":!c: obj = NULL \n");
213 // set AppInfo's field
214 fid = (*env)->GetFieldID(env,
217 "Lorg/ocera/orte/types/NtpTime;");
221 printf(":!c: fid = NULL \n");
226 printf(":c: rinfo.remoteTimePub: %d (sec = %d fract = %d) \n",
227 (rinfo->remoteTimePublished.seconds + rinfo->remoteTimePublished.fraction/2^32),
228 rinfo->remoteTimePublished.seconds,rinfo->remoteTimePublished.fraction);
230 (*env)->SetObjectField(env,
234 /////////////////////////////////////////////////
235 // find cls - SequenceNumber
236 cls_tmp = (*env)->FindClass(env,"org/ocera/orte/types/SequenceNumber");
240 printf(":!c: cls_tmp = NULL \n");
244 // call object constructor
245 mid = (*env)->GetMethodID(env,
252 printf(":!c: constructor failed! # \n");
257 obj_tmp = (*env)->NewObject(env,
260 (jint)rinfo->sn.high,
261 (jlong)rinfo->sn.low);
265 printf(":!c: obj = NULL \n");
269 // set AppInfo's field
270 fid = (*env)->GetFieldID(env,
273 "Lorg/ocera/orte/types/SequenceNumber;");
277 printf(":!c: fid = NULL \n");
282 printf(":c: rinfo.sn: %d (high = %d low = %d) \n",
283 (rinfo->sn.high*2^32 + rinfo->sn.low),rinfo->sn.high,rinfo->sn.low);
285 (*env)->SetObjectField(env,
289 /////////////////////////////////////////////////