2cb9749598671790960c6867d9a2e9d04dc1ad0d
[platform/upstream/iotivity.git] / android / android_api / base / jni / JniOnResourceFoundListener.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 <jni.h>\r
23 #include "JniOcStack.h"\r
24 \r
25 #ifndef _Included_org_iotivity_base_OcPlatform_OnResourceFoundListener\r
26 #define _Included_org_iotivity_base_OcPlatform_OnResourceFoundListener\r
27 \r
28 class JniOnResourceFoundListener\r
29 {\r
30 public:\r
31     JniOnResourceFoundListener(JNIEnv *env, jobject jListener,\r
32         RemoveListenerCallback removeListenerCallback);\r
33     ~JniOnResourceFoundListener();\r
34 \r
35     void foundResourceCallback(std::shared_ptr<OC::OCResource> resource);\r
36 \r
37 private:\r
38     RemoveListenerCallback m_removeListenerCallback;\r
39     jweak m_jwListener;\r
40     void checkExAndRemoveListener(JNIEnv* env);\r
41 };\r
42 \r
43 #endif\r