2 * //******************************************************************
\r
4 * // Copyright 2015 Intel Corporation.
\r
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
\r
8 * // Licensed under the Apache License, Version 2.0 (the "License");
\r
9 * // you may not use this file except in compliance with the License.
\r
10 * // You may obtain a copy of the License at
\r
12 * // http://www.apache.org/licenses/LICENSE-2.0
\r
14 * // Unless required by applicable law or agreed to in writing, software
\r
15 * // distributed under the License is distributed on an "AS IS" BASIS,
\r
16 * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
17 * // See the License for the specific language governing permissions and
\r
18 * // limitations under the License.
\r
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
\r
22 #include "JniOcResourceRequest.h"
\r
23 #include "OCResourceRequest.h"
\r
24 #include "JniOcResourceHandle.h"
\r
25 #include "JniOcRequestHandle.h"
\r
26 #include "JniUtils.h"
\r
30 JniOcResourceRequest::JniOcResourceRequest(const std::shared_ptr<OCResourceRequest> request)
\r
31 : m_request(request)
\r
34 JniOcResourceRequest::~JniOcResourceRequest()
\r
38 JniOcResourceRequest::getRequestType()
\r
40 return m_request->getRequestType();
\r
43 const QueryParamsMap&
\r
44 JniOcResourceRequest::getQueryParameters() const
\r
46 return m_request->getQueryParameters();
\r
50 JniOcResourceRequest::getRequestHandlerFlag() const
\r
52 return m_request->getRequestHandlerFlag();
\r
55 const OCRepresentation&
\r
56 JniOcResourceRequest::getResourceRepresentation() const
\r
58 return m_request->getResourceRepresentation();
\r
61 const ObservationInfo&
\r
62 JniOcResourceRequest::getObservationInfo() const
\r
64 return m_request->getObservationInfo();
\r
68 JniOcResourceRequest::setResourceUri(const std::string resourceUri)
\r
70 m_request->setResourceUri(resourceUri);
\r
74 JniOcResourceRequest::getResourceUri(void)
\r
76 return m_request->getResourceUri();
\r
79 const HeaderOptions&
\r
80 JniOcResourceRequest::getHeaderOptions() const
\r
82 return m_request->getHeaderOptions();
\r
85 const OCRequestHandle&
\r
86 JniOcResourceRequest::getRequestHandle() const
\r
88 return m_request->getRequestHandle();
\r
91 const OCResourceHandle&
\r
92 JniOcResourceRequest::getResourceHandle() const
\r
94 return m_request->getResourceHandle();
\r
97 JniOcResourceRequest* JniOcResourceRequest::getJniOcResourceRequestPtr
\r
98 (JNIEnv *env, jobject thiz)
\r
100 JniOcResourceRequest *request = GetHandle<JniOcResourceRequest>(env, thiz);
\r
101 if (env->ExceptionCheck())
\r
103 LOGE("Failed to get native handle from OcResourceRequest");
\r
107 ThrowOcException(JNI_NO_NATIVE_POINTER, "");
\r
113 * Class: org_iotivity_base_OcResourceRequest
\r
114 * Method: getRequestTypeNative
\r
115 * Signature: ()Ljava/lang/String;
\r
117 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResourceRequest_getRequestTypeNative
\r
118 (JNIEnv *env, jobject thiz)
\r
120 LOGD("OcResourceRequest_getRequestTypeNative");
\r
121 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
122 if (!request) return nullptr;
\r
124 std::string requestType = request->getRequestType();
\r
125 return env->NewStringUTF(requestType.c_str());
\r
129 * Class: org_iotivity_base_OcResourceRequest
\r
130 * Method: getQueryParameters
\r
131 * Signature: ()Ljava/util/Map;
\r
133 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResourceRequest_getQueryParameters
\r
134 (JNIEnv *env, jobject thiz)
\r
136 LOGD("OcResourceRequest_getQueryParameters");
\r
137 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
138 if (!request) return nullptr;
\r
140 return JniUtils::convertQueryParamsMapToJavaMap(env, request->getQueryParameters());
\r
144 * Class: org_iotivity_base_OcResourceRequest
\r
145 * Method: getRequestHandlerFlagNative
\r
148 JNIEXPORT jint JNICALL Java_org_iotivity_base_OcResourceRequest_getRequestHandlerFlagNative
\r
149 (JNIEnv *env, jobject thiz)
\r
151 LOGD("OcResourceRequest_getRequestHandlerFlagNative");
\r
152 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
153 if (!request) return -1;
\r
155 return static_cast<jint>(request->getRequestHandlerFlag());
\r
159 * Class: org_iotivity_base_OcResourceRequest
\r
160 * Method: getResourceRepresentation
\r
161 * Signature: ()Lorg/iotivity/base/OcRepresentation;
\r
163 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResourceRequest_getResourceRepresentation
\r
164 (JNIEnv *env, jobject thiz)
\r
166 LOGD("OcResourceRequest_getResourceRepresentation");
\r
167 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
168 if (!request) return nullptr;
\r
170 OCRepresentation *ocRepresentation = new OCRepresentation(request->getResourceRepresentation());
\r
171 if (!ocRepresentation) return nullptr;
\r
173 jlong handle = reinterpret_cast<jlong>(ocRepresentation);
\r
174 jobject jRepresentation = env->NewObject(g_cls_OcRepresentation, g_mid_OcRepresentation_N_ctor_bool,
\r
176 if (!jRepresentation)
\r
178 LOGE("Failed to create OcRepresentation");
\r
179 delete ocRepresentation;
\r
182 return jRepresentation;
\r
186 * Class: org_iotivity_base_OcResourceRequest
\r
187 * Method: getObservationInfo
\r
188 * Signature: ()Lorg/iotivity/base/ObservationInfo;
\r
190 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResourceRequest_getObservationInfo
\r
191 (JNIEnv *env, jobject thiz)
\r
193 LOGD("OcResourceRequest_getObservationInfo");
\r
194 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
195 if (!request) return nullptr;
\r
197 ObservationInfo oInfo = request->getObservationInfo();
\r
199 jobject jObservationInfo = env->NewObject(g_cls_ObservationInfo, g_mid_ObservationInfo_N_ctor,
\r
200 (jint)oInfo.action, (jbyte)oInfo.obsId);
\r
202 if (!jObservationInfo)
\r
204 LOGE("Failed to create ObservationInfo");
\r
207 return jObservationInfo;
\r
211 * Class: org_iotivity_base_OcResourceRequest
\r
212 * Method: setResourceUri
\r
213 * Signature: (Ljava/lang/String);
\r
215 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceRequest_setResourceUri
\r
216 (JNIEnv *env, jobject thiz, jstring jUri)
\r
218 LOGD("OcResourceRequest_setResourceUri");
\r
221 ThrowOcException(OC_STACK_INVALID_PARAM, "URI cannot be null");
\r
224 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
225 if (!request) return;
\r
227 request->setResourceUri(env->GetStringUTFChars(jUri, 0));
\r
231 * Class: org_iotivity_base_OcResourceRequest
\r
232 * Method: getResourceUri
\r
233 * Signature: ()Ljava/lang/String;
\r
235 JNIEXPORT jstring JNICALL Java_org_iotivity_base_OcResourceRequest_getResourceUri
\r
236 (JNIEnv *env, jobject thiz)
\r
238 LOGD("OcResourceRequest_getResourceUri");
\r
239 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
240 if (!request) return nullptr;
\r
242 std::string requestUri = request->getResourceUri();
\r
243 return env->NewStringUTF(requestUri.c_str());
\r
247 * Class: org_iotivity_base_OcResourceRequest
\r
248 * Method: getHeaderOptions
\r
249 * Signature: ()Ljava/util/List;
\r
251 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResourceRequest_getHeaderOptions
\r
252 (JNIEnv *env, jobject thiz)
\r
254 LOGD("OcResourceRequest_getHeaderOptions");
\r
255 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
256 if (!request) return nullptr;
\r
258 return JniUtils::convertHeaderOptionsVectorToJavaList(env, request->getHeaderOptions());
\r
262 * Class: org_iotivity_base_OcResourceRequest
\r
263 * Method: getRequestHandle
\r
264 * Signature: ()Lorg/iotivity/base/OcRequestHandle;
\r
266 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResourceRequest_getRequestHandle
\r
267 (JNIEnv *env, jobject thiz)
\r
269 LOGD("OcResourceRequest_getRequestHandle");
\r
270 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
271 if (!request) return nullptr;
\r
273 JniOcRequestHandle* jniHandle = new JniOcRequestHandle(request->getRequestHandle());
\r
274 jlong handle = reinterpret_cast<jlong>(jniHandle);
\r
275 jobject jRequestHandle = env->NewObject(g_cls_OcRequestHandle, g_mid_OcRequestHandle_N_ctor, handle);
\r
276 if (!jRequestHandle)
\r
278 LOGE("Failed to create OcRequestHandle");
\r
282 return jRequestHandle;
\r
286 * Class: org_iotivity_base_OcResourceRequest
\r
287 * Method: getResourceHandle
\r
288 * Signature: ()Lorg/iotivity/base/OcResourceHandle;
\r
290 JNIEXPORT jobject JNICALL Java_org_iotivity_base_OcResourceRequest_getResourceHandle
\r
291 (JNIEnv *env, jobject thiz)
\r
293 LOGD("OcResourceRequest_getResourceHandle");
\r
294 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r
295 if (!request) return nullptr;
\r
297 JniOcResourceHandle* jniHandle = new JniOcResourceHandle(
\r
298 request->getResourceHandle());
\r
299 jlong handle = reinterpret_cast<jlong>(jniHandle);
\r
300 jobject jResourceHandle = env->NewObject(g_cls_OcResourceHandle, g_mid_OcResourceHandle_N_ctor, handle);
\r
301 if (!jResourceHandle)
\r
303 LOGE("Failed to create OcResourceHandle");
\r
307 return jResourceHandle;
\r
311 * Class: org_iotivity_base_OcResourceRequest
\r
315 JNIEXPORT void JNICALL Java_org_iotivity_base_OcResourceRequest_dispose
\r
316 (JNIEnv *env, jobject thiz)
\r
318 LOGD("OcResourceRequest_dispose");
\r
319 JniOcResourceRequest *request = JniOcResourceRequest::getJniOcResourceRequestPtr(env, thiz);
\r