1 /******************************************************************
3 * Copyright 2016 Samsung Electronics All Rights Reserved.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
19 ******************************************************************/
21 #include "JniEasySetup.h"
23 using namespace OIC::Service;
28 JNIEXPORT jobject JNICALL
29 Java_org_iotivity_service_easysetup_mediator_EasySetup_nativeCreateRemoteEnrollee
30 (JNIEnv *env, jobject interfaceClass)
33 LOGI("JniEasySetup::nativeCreateRemoteEnrollee enter");
35 std::shared_ptr<RemoteEnrollee> nativeRemoteEnrollee;
36 jobject jRemoteEnrollee;
40 nativeRemoteEnrollee = EasySetup::getInstance()->createRemoteEnrollee();
41 //create the java object
42 jRemoteEnrollee = env->NewObject(g_cls_RemoteEnrollee, g_mid_RemoteEnrollee_ctor);
45 LOGE("JniEasySetup::nativeCreateRemoteEnrollee Unable to create the java object");
49 JniRemoteEnrollee *jniRemoteEnrollee = new JniRemoteEnrollee(nativeRemoteEnrollee);
50 ESSetHandle<JniRemoteEnrollee>(env, jRemoteEnrollee, jniRemoteEnrollee);
52 catch (ESBadRequestException exception)
54 LOGE("JniEasySetup::nativeCreateRemoteEnrollee Unable to create the Native EnrolleeDevice");
55 //throw the exception to java layer
56 throwESException( env, exception.what());
59 LOGI("JniEasySetup::nativeCreateRemoteEnrollee exit");
61 return jRemoteEnrollee;