summaryrefslogtreecommitdiff
path: root/java/jni/com_zerotierone_sdk_Node.cpp
diff options
context:
space:
mode:
authorGrant Limberg <glimberg@gmail.com>2015-04-23 22:48:56 -0700
committerGrant Limberg <glimberg@gmail.com>2015-04-23 22:48:56 -0700
commit7f6556eba03a5ded74793407ecd0eee870d79c50 (patch)
treec59bee431df0666890f449e03cc95bc1484a6b05 /java/jni/com_zerotierone_sdk_Node.cpp
parent1bea9403233f424d9dc77c0d84aa235bfd7b96f7 (diff)
downloadinfinitytier-7f6556eba03a5ded74793407ecd0eee870d79c50.tar.gz
infinitytier-7f6556eba03a5ded74793407ecd0eee870d79c50.zip
node.networkConfig() now creates ArrayLists of multicast subscriptions and assigned addresses
Signed-off-by: Grant Limberg <glimberg@gmail.com>
Diffstat (limited to 'java/jni/com_zerotierone_sdk_Node.cpp')
-rw-r--r--java/jni/com_zerotierone_sdk_Node.cpp19
1 files changed, 15 insertions, 4 deletions
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;
}