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
23 Java_org_ocera_orte_types_RecvInfo_c_1helper
24 (JNIEnv *env, jclass cls, jobject b_buffer)
27 _Static_assert(sizeof(char *) == 1 || \
28 sizeof(char *) == 2 || \
29 sizeof(char *) == 4 || \
30 sizeof(char *) == 8, \
31 "char* has incompatible size");
32 _Static_assert(sizeof(ORTERecvStatus) == 1 || \
33 sizeof(ORTERecvStatus) == 2 || \
34 sizeof(ORTERecvStatus) == 4 || \
35 sizeof(ORTERecvStatus) == 8, \
36 "ORTERecvStatus has incompatible size");
38 int32_t *buffer = (*env)->GetDirectBufferAddress(env, b_buffer);
40 buffer[0] = (int32_t)sizeof(ORTERecvInfo);
41 buffer[1] = (int32_t)sizeof(ORTERecvStatus);
42 buffer[2] = (int32_t)sizeof(char *);
43 buffer[3] = (int32_t)offsetof(ORTERecvInfo, status);
44 buffer[4] = (int32_t)offsetof(ORTERecvInfo, topic);
45 buffer[5] = (int32_t)offsetof(ORTERecvInfo, type);
46 buffer[6] = (int32_t)offsetof(ORTERecvInfo, senderGUID);
47 buffer[7] = (int32_t)offsetof(ORTERecvInfo, localTimeReceived);
48 buffer[8] = (int32_t)offsetof(ORTERecvInfo, remoteTimePublished);
49 buffer[9] = (int32_t)offsetof(ORTERecvInfo, sn);
50 buffer[10] = (int32_t)offsetof(GUID_RTPS, hid);
51 buffer[11] = (int32_t)offsetof(GUID_RTPS, aid);
52 buffer[12] = (int32_t)offsetof(GUID_RTPS, oid);
53 buffer[13] = (int32_t)offsetof(NtpTime, seconds);
54 buffer[14] = (int32_t)offsetof(NtpTime, fraction);
55 buffer[15] = (int32_t)offsetof(SequenceNumber, high);
56 buffer[16] = (int32_t)offsetof(SequenceNumber, low);
60 * Class: org_ocera_orte_types_RecvInfo
62 * Signature: (J)Ljava/lang/String;
64 JNIEXPORT jstring JNICALL
65 Java_org_ocera_orte_types_RecvInfo_get_1string
66 (JNIEnv *env, jclass cls, jlong string_ptr)
68 return (*env)->NewStringUTF(env, (char *)string_ptr);