7 // library header file's path
10 #include "jorte/org_ocera_orte_types_RecvInfo.h"
11 // enable TEST_STAGE run level
12 #include "jorte/4all.h"
14 #include "jorte/jorte_typedefs_defines.h"
15 #include "jorte/jorte_protos_api.h"
18 * Class: org_ocera_orte_types_RecvInfo
20 * Signature: (Ljava/nio/ByteBuffer;)V
22 JNIEXPORT void JNICALL Java_org_ocera_orte_types_RecvInfo_c_1helper
23 (JNIEnv *env, jclass cls, jobject b_buffer) {
25 _Static_assert(sizeof(char*) == 1 || \
26 sizeof(char*) == 2 || \
27 sizeof(char*) == 4 || \
29 "char* has incompatible size");
30 _Static_assert(sizeof(ORTERecvStatus) == 1 || \
31 sizeof(ORTERecvStatus) == 2 || \
32 sizeof(ORTERecvStatus) == 4 || \
33 sizeof(ORTERecvStatus) == 8, \
34 "ORTERecvStatus has incompatible size");
36 int32_t* buffer = (*env)->GetDirectBufferAddress(env, b_buffer);
38 buffer[0] = (int32_t)sizeof(ORTERecvInfo);
39 buffer[1] = (int32_t)sizeof(ORTERecvStatus);
40 buffer[2] = (int32_t)sizeof(char*);
41 buffer[3] = (int32_t)offsetof(ORTERecvInfo,status);
42 buffer[4] = (int32_t)offsetof(ORTERecvInfo,topic);
43 buffer[5] = (int32_t)offsetof(ORTERecvInfo,type);
44 buffer[6] = (int32_t)offsetof(ORTERecvInfo,senderGUID);
45 buffer[7] = (int32_t)offsetof(ORTERecvInfo,localTimeReceived);
46 buffer[8] = (int32_t)offsetof(ORTERecvInfo,remoteTimePublished);
47 buffer[9] = (int32_t)offsetof(ORTERecvInfo,sn);
48 buffer[10] = (int32_t)offsetof(GUID_RTPS,hid);
49 buffer[11] = (int32_t)offsetof(GUID_RTPS,aid);
50 buffer[12] = (int32_t)offsetof(GUID_RTPS,oid);
51 buffer[13] = (int32_t)offsetof(NtpTime,seconds);
52 buffer[14] = (int32_t)offsetof(NtpTime,fraction);
53 buffer[15] = (int32_t)offsetof(SequenceNumber,high);
54 buffer[16] = (int32_t)offsetof(SequenceNumber,low);
58 * Class: org_ocera_orte_types_RecvInfo
60 * Signature: (J)Ljava/lang/String;
62 JNIEXPORT jstring JNICALL Java_org_ocera_orte_types_RecvInfo_get_1string
63 (JNIEnv *env, jclass cls, jlong string_ptr) {
64 return (*env)->NewStringUTF(env, (char*) string_ptr);