Imported Upstream version 0.9.1
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOnObserveListener.h
1 /*\r
2 * //******************************************************************\r
3 * //\r
4 * // Copyright 2015 Intel Corporation.\r
5 * //\r
6 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
7 * //\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
11 * //\r
12 * //      http://www.apache.org/licenses/LICENSE-2.0\r
13 * //\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
19 * //\r
20 * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=\r
21 */\r
22 #include "JniOcStack.h"\r
23 \r
24 #ifndef _Included_org_iotivity_base_OcResource_OnObserveListener\r
25 #define _Included_org_iotivity_base_OcResource_OnObserveListener\r
26 \r
27 using namespace OC;\r
28 \r
29 class JniOcResource;\r
30 \r
31 class JniOnObserveListener\r
32 {\r
33 public:\r
34     JniOnObserveListener(JNIEnv *env, jobject jListener, JniOcResource* owner);\r
35     ~JniOnObserveListener();\r
36     void onObserveCallback(const HeaderOptions headerOptions, const OCRepresentation& rep,\r
37         const int& eCode, const int& sequenceNumber);\r
38 private:\r
39     jweak m_jwListener;\r
40     JniOcResource* m_ownerResource;\r
41     void checkExAndRemoveListener(JNIEnv *env);\r
42 };\r
43 \r
44 #endif