From 7f6556eba03a5ded74793407ecd0eee870d79c50 Mon Sep 17 00:00:00 2001 From: Grant Limberg Date: Thu, 23 Apr 2015 22:48:56 -0700 Subject: node.networkConfig() now creates ArrayLists of multicast subscriptions and assigned addresses Signed-off-by: Grant Limberg --- java/jni/com_zerotierone_sdk_Node.cpp | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'java/jni/com_zerotierone_sdk_Node.cpp') diff --git a/java/jni/com_zerotierone_sdk_Node.cpp b/java/jni/com_zerotierone_sdk_Node.cpp index 4d940076..b0a1bae8 100644 --- a/java/jni/com_zerotierone_sdk_Node.cpp +++ b/java/jni/com_zerotierone_sdk_Node.cpp @@ -933,16 +933,27 @@ JNIEXPORT jobject JNICALL Java_com_zerotierone_sdk_Node_networkConfig env->SetBooleanField(vnetConfigObj, portErrorField, vnetConfig->portError); - jobject mcastSubsArrayObj = NULL; - jobject assignedAddrArrayObj = NULL; + jobject mcastSubsArrayObj = newArrayList(env); + for(unsigned int i = 0; i < vnetConfig->multicastSubscriptionCount; ++i) + { + jobject mcastObj = newMulticastGroup(env, vnetConfig->multicastSubscriptions[i]); + appendItemToArrayList(env, mcastSubsArrayObj, mcastObj); + } + env->SetObjectField(vnetConfigObj, multicastSubscriptionsField, mcastSubsArrayObj); - env->SetObjectField(vnetConfigObj, multicastSubscriptionsField, mcastSubsArrayObj); + jobject assignedAddrArrayObj = newArrayList(env); + for(unsigned int i = 0; i < vnetConfig->assignedAddressCount; ++i) + { + jobject inetAddrObj = newInetAddress(env, vnetConfig->assignedAddresses[i]); + appendItemToArrayList(env, assignedAddrArrayObj, inetAddrObj); + } + env->SetObjectField(vnetConfigObj, assignedAddressesField, assignedAddrArrayObj); ZT1_Node_freeQueryResult(node, vnetConfig); vnetConfig = NULL; - + return vnetConfigObj; } -- cgit v1.2.3