+ * Method: setDisplayNumListener
+ * Signature: (Lorg/iotivity/base/OcProvisioning/DisplayNumListener;)V
+ */
+JNIEXPORT void JNICALL Java_org_iotivity_base_OcProvisioning_setDisplayNumListener
+ (JNIEnv *env, jclass clazz, jobject jListener)
+{
+ LOGI("OcProvisioning_setDisplayNumListener");
+
+ if (!jListener)
+ {
+ ThrowOcException(OC_STACK_INVALID_CALLBACK, "Listner can't be null");
+ return;
+ }
+ delete jniDisplayMutualVerifyNumListener;
+ jniDisplayMutualVerifyNumListener = new JniDisplayVerifyNumListener(env, jListener);
+
+ try
+ {
+ OCStackResult result = OCSecure::registerDisplayNumCallback(displayMutualVerifNumCB);
+ if (OC_STACK_OK != result)
+ {
+ ThrowOcException(result, "Failed to set Listner");
+ return;
+ }
+ }
+ catch (OCException& e)
+ {
+ LOGE("%s", e.reason().c_str());
+ ThrowOcException(OC_STACK_ERROR, e.reason().c_str());
+ return;
+ }
+}
+
+/*
+ * Class: org_iotivity_base_OcProvisioning
+ * Method: unsetDisplayNumListener
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_org_iotivity_base_OcProvisioning_unsetDisplayNumListener
+ (JNIEnv * env, jclass clazz)
+{
+ LOGI("OcProvisioning_unsetDisplayNumListener");
+
+ OCStackResult result = OCSecure::deregisterDisplayNumCallback();
+
+ if (OC_STACK_OK != result)
+ {
+ ThrowOcException(OC_STACK_INVALID_CALLBACK, "Failed to unset Listener");
+ }
+
+ return result;
+}
+
+/*
+ * Class: org_iotivity_base_OcProvisioning
+ * Method: setPinType0
+ * Signature: (II)I
+ */
+JNIEXPORT jint JNICALL Java_org_iotivity_base_OcProvisioning_setPinType0
+ (JNIEnv *env, jclass thiz, jint pinSize, jint pinType)
+{
+ LOGI("OcProvisioning_setPinType0");
+
+ OCStackResult result = OC_STACK_ERROR;
+ try
+ {
+ result = OCSecure::setRandomPinPolicy((size_t)pinSize, (OicSecPinType_t)pinType);
+ if (OC_STACK_OK != result)
+ {
+ ThrowOcException(result, "Failed to set PinType");
+ }
+ }
+ catch (OCException& e)
+ {
+ LOGE("%s", e.reason().c_str());
+ ThrowOcException(OC_STACK_ERROR, e.reason().c_str());
+ }
+ return result;
+}
+
+/*
+ * Class: org_iotivity_base_OcProvisioning
+ * Method: setConfirmNumListener
+ * Signature: (Lorg/iotivity/base/OcProvisioning/ConfirmNumListener;)V
+ */
+JNIEXPORT void JNICALL Java_org_iotivity_base_OcProvisioning_setConfirmNumListener
+ (JNIEnv *env, jclass clazz, jobject jListener)
+{
+ LOGI("OcProvisioning_setConfirmNumListener");
+
+ if (!jListener)
+ {
+ ThrowOcException(OC_STACK_INVALID_CALLBACK, "Listner can't be null");
+ return;
+ }
+ delete jniConfirmMutualVerifyNumListener;
+ jniConfirmMutualVerifyNumListener = new JniConfirmNumListener(env, jListener);
+
+ try
+ {
+ OCStackResult result = OCSecure::registerUserConfirmCallback(confirmMutualVerifNumCB);
+ if (OC_STACK_OK != result)
+ {
+ ThrowOcException(result, "Failed to set Listner");
+ return;
+ }
+ }
+ catch (OCException& e)
+ {
+ LOGE("%s", e.reason().c_str());
+ ThrowOcException(OC_STACK_ERROR, e.reason().c_str());
+ return;
+ }
+}
+
+/*
+ * Class: org_iotivity_base_OcProvisioning
+ * Method: unsetConfirmNumListener
+ * Signature: ()I
+ */
+JNIEXPORT jint JNICALL Java_org_iotivity_base_OcProvisioning_unsetConfirmNumListener
+ (JNIEnv *env, jclass clazz)
+{
+ LOGI("OcProvisioning_unsetConfirmNumListener");
+
+ OCStackResult result = OCSecure::deregisterUserConfirmCallback();
+
+ if (OC_STACK_OK != result)
+ {
+ ThrowOcException(OC_STACK_INVALID_CALLBACK, "Failed to unser Listener");
+ }
+
+ return result;
+}
+/*
+ * Class: org_iotivity_base_OcProvisioning
+ * Method: setMVJustWorksOptions0
+ * Signature: (I)I
+ */
+JNIEXPORT jint JNICALL Java_org_iotivity_base_OcProvisioning_setMVJustWorksOptions0
+ (JNIEnv *env, jclass clazz, jint options)
+{
+ LOGI("OcProvisioning_setMVJustWorksOptions0");
+
+ OCStackResult result = OCSecure::setVerifyOptionMask((VerifyOptionBitmask_t)options);
+
+ if (OC_STACK_OK != result)
+ {
+ ThrowOcException(OC_STACK_INVALID_CALLBACK, "setMVJustWorksOptions Failed");
+ }
+
+ return result;
+}
+
+
+/*
+ * Class: org_iotivity_base_OcProvisioning