2 * //******************************************************************
4 * // Copyright 2015 Intel Corporation.
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
8 * // Licensed under the Apache License, Version 2.0 (the "License");
9 * // you may not use this file except in compliance with the License.
10 * // You may obtain a copy of the License at
12 * // http://www.apache.org/licenses/LICENSE-2.0
14 * // Unless required by applicable law or agreed to in writing, software
15 * // distributed under the License is distributed on an "AS IS" BASIS,
16 * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * // See the License for the specific language governing permissions and
18 * // limitations under the License.
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
22 #include "JniOcResourceResponse.h"
23 #include "OCResourceResponse.h"
24 #include "JniOcRepresentation.h"
25 #include "JniOcRequestHandle.h"
26 #include "JniOcResourceHandle.h"
31 JniOcResourceResponse::JniOcResourceResponse
32 (std::shared_ptr<OCResourceResponse> resourceResponse)
33 : m_response(resourceResponse)
37 JniOcResourceResponse::~JniOcResourceResponse()
41 void JniOcResourceResponse::setErrorCode(const int eCode)
43 this->m_response->setErrorCode(eCode);
46 std::string JniOcResourceResponse::getNewResourceUri(void)
48 return this->m_response->getNewResourceUri();
52 JniOcResourceResponse::setNewResourceUri(const std::string newResourceUri)
54 this->m_response->setNewResourceUri(newResourceUri);
57 void JniOcResourceResponse::setHeaderOptions(const HeaderOptions& headerOptions)
59 this->m_response->setHeaderOptions(headerOptions);
62 void JniOcResourceResponse::setRequestHandle(const OCRequestHandle& requestHandle)
64 this->m_response->setRequestHandle(requestHandle);
67 void JniOcResourceResponse::setResourceHandle(const OCResourceHandle& resourceHandle)
69 this->m_response->setResourceHandle(resourceHandle);
72 void JniOcResourceResponse::setResponseResult(const OCEntityHandlerResult& responseResult)
74 this->m_response->setResponseResult(responseResult);
77 void JniOcResourceResponse::setResourceRepresentation(OCRepresentation& rep,
78 std::string interfaceStr)
80 this->m_response->setResourceRepresentation(rep, interfaceStr);
83 void JniOcResourceResponse::setResourceRepresentation(OCRepresentation& rep)
85 this->m_response->setResourceRepresentation(rep);
88 std::shared_ptr<OCResourceResponse> JniOcResourceResponse::getOCResourceResponse()
90 return this->m_response;
93 JniOcResourceResponse* JniOcResourceResponse::getJniOcResourceResponsePtr
94 (JNIEnv *env, jobject thiz)
96 JniOcResourceResponse *request = GetHandle<JniOcResourceResponse>(env, thiz);
97 if (env->ExceptionCheck())
99 LOGE("Failed to get native handle from JniOcResourceResponse");
103 ThrowOcException(JNI_NO_NATIVE_POINTER, "");
108 * Class: org_iotivity_base_OcResourceResponse
109 * Method: setErrorCode
112 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_setErrorCode
113 (JNIEnv *env, jobject thiz, jint eCode)
115 LOGD("OcResourceResponse_setErrorCode");
116 JniOcResourceResponse *response = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);
121 response->setErrorCode(static_cast<int>(eCode));
125 * Class: org_iotivity_base_OcResourceResponse
126 * Method: getNewResourceUri
127 * Signature: ()Ljava/lang/String;
129 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResourceResponse_getNewResourceUri
130 (JNIEnv *env, jobject thiz)
132 LOGD("OcResourceResponse_getNewResourceUri");
133 JniOcResourceResponse *response = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);
138 return env->NewStringUTF(response->getNewResourceUri().c_str());
142 * Class: org_iotivity_base_OcResourceResponse
143 * Method: setNewResourceUri
144 * Signature: (Ljava/lang/String;)V
146 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_setNewResourceUri
147 (JNIEnv *env, jobject thiz, jstring jstr)
149 LOGD("OcResourceResponse_setNewResourceUri");
150 JniOcResourceResponse *response = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);
155 response->setNewResourceUri(env->GetStringUTFChars(jstr, 0));
159 * Class: org_iotivity_base_OcResourceResponse
160 * Method: setHeaderOptions
161 * Signature: (Ljava/util/List;)V
163 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_setHeaderOptions
164 (JNIEnv *env, jobject thiz, jobjectArray jHeaderOptions)
166 LOGD("OcResourceResponse_setHeaderOptions");
169 ThrowOcException(OC_STACK_INVALID_PARAM, "headerOptionList cannot be null");
172 JniOcResourceResponse *jniResponse = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);
177 HeaderOptions headerOptions;
178 JniUtils::convertJavaHeaderOptionsArrToVector(env, jHeaderOptions, headerOptions);
180 jniResponse->setHeaderOptions(headerOptions);
184 * Class: org_iotivity_base_OcResourceResponse
185 * Method: setRequestHandle
186 * Signature: (Lorg/iotivity/base/OcRequestHandle;)V
188 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_setRequestHandle
189 (JNIEnv *env, jobject thiz, jobject jRequestHandle)
191 LOGI("OcResourceResponse_setRequestHandle");
194 ThrowOcException(OC_STACK_INVALID_PARAM, "requestHandle cannot be null");
197 JniOcResourceResponse *jniResponse = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);
202 JniOcRequestHandle* jniOcRequestHandle = JniOcRequestHandle::getJniOcRequestHandlePtr(env, jRequestHandle);
203 if (!jniOcRequestHandle)
207 jniResponse->setRequestHandle(jniOcRequestHandle->getOCRequestHandle());
211 * Class: org_iotivity_base_OcResourceResponse
212 * Method: setResourceHandle
213 * Signature: (Lorg/iotivity/base/OcResourceHandle;)V
215 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_setResourceHandle
216 (JNIEnv *env, jobject thiz, jobject jResourceHandle)
218 LOGI("OcResourceResponse_setResourceHandle");
219 if (!jResourceHandle)
221 ThrowOcException(OC_STACK_INVALID_PARAM, "resourceHandle cannot be null");
224 JniOcResourceResponse *jniResponse = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);
229 JniOcResourceHandle* jniOcResourceHandle = JniOcResourceHandle::getJniOcResourceHandlePtr(env, jResourceHandle);
230 if (!jniOcResourceHandle)
234 jniResponse->setResourceHandle(jniOcResourceHandle->getOCResourceHandle());
238 * Class: org_iotivity_base_OcResourceResponse
239 * Method: setResponseResult
242 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_setResponseResult
243 (JNIEnv *env, jobject thiz, jint responseResult)
245 LOGD("OcResourceResponse_setResponseResult");
246 JniOcResourceResponse *response = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);
251 response->setResponseResult(JniUtils::getOCEntityHandlerResult(env, static_cast<int>(responseResult)));
255 * Class: org_iotivity_base_OcResourceResponse
256 * Method: setResourceRepresentation
257 * Signature: (Lorg/iotivity/base/OcRepresentation;Ljava/lang/String;)V
259 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_setResourceRepresentation
260 (JNIEnv *env, jobject thiz, jobject jRepresentation, jstring jstr)
262 LOGD("OcResourceResponse_setResourceRepresentation");
263 if (!jRepresentation)
265 ThrowOcException(OC_STACK_INVALID_PARAM, "Representation cannot be null");
270 ThrowOcException(OC_STACK_INVALID_PARAM, "interface cannot be null");
274 JniOcResourceResponse *response = JniOcResourceResponse::getJniOcResourceResponsePtr(env,
280 OCRepresentation *representation = JniOcRepresentation::getOCRepresentationPtr(env,
286 response->setResourceRepresentation(*representation, env->GetStringUTFChars(jstr, 0));
290 * Class: org_iotivity_base_OcResourceResponse
291 * Method: setResourceRepresentation1
292 * Signature: (Lorg/iotivity/base/OcRepresentation;)V
294 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_setResourceRepresentation1
295 (JNIEnv *env, jobject thiz, jobject jRepresentation)
297 LOGD("OcResourceResponse_setResourceRepresentation");
298 if (!jRepresentation)
300 ThrowOcException(OC_STACK_INVALID_PARAM, "Representation cannot be null");
303 JniOcResourceResponse *response = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);
308 OCRepresentation *representation = JniOcRepresentation::getOCRepresentationPtr(env,
313 response->setResourceRepresentation(*representation);
318 * Class: org_iotivity_base_OcResourceResponse
322 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_create
323 (JNIEnv *env, jobject thiz)
325 LOGI("OcResourceResponse_create");
326 auto pResponse = std::make_shared<OC::OCResourceResponse>();
327 JniOcResourceResponse* jniResourceResponse = new JniOcResourceResponse(pResponse);
328 SetHandle<JniOcResourceResponse>(env, thiz, jniResourceResponse);
329 if (env->ExceptionCheck())
331 LOGE("Failed to create OcResourceResponse");
332 delete jniResourceResponse;
337 * Class: org_iotivity_base_OcResourceResponse
341 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceResponse_dispose
342 (JNIEnv *env, jobject thiz)
344 LOGD("OcResourceResponse_dispose");
345 JniOcResourceResponse *resp = JniOcResourceResponse::getJniOcResourceResponsePtr(env, thiz);