Imported Upstream version 1.0.0
[platform/upstream/iotivity.git] / service / things-manager / sdk / java / jni / tm / inc / jni_action.h
1 /* *****************************************************************
2  *
3  * Copyright 2015 Samsung Electronics All Rights Reserved.
4  *
5  *
6  *
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
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
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.
18  *
19  ******************************************************************/
20
21 /**
22   * @file
23   * This file contains the declaration of JniAction class and
24   * its members related to JniAction.
25   */
26
27 #ifndef JNI_ACTION_H_
28 #define JNI_ACTION_H_
29
30 #include <vector>
31 #include <string>
32
33 #include "jni_object.h"
34 #include "jni_capability.h"
35
36 /**
37  * This class provides a set of functions to get and
38  * set Action Class member variables.
39  */
40 class JniAction : public JObject
41 {
42     public:
43         /**
44          * constructor
45          */
46         JniAction(JNIEnv *env, jobject obj);
47
48         /**
49          * constructor
50          */
51         JniAction(JNIEnv *env);
52
53         /**
54          * destructor
55          */
56         ~JniAction();
57
58         /**
59          * Retrieves target value from JniAction class object.
60          *
61          * @param target - target value
62          *
63          * @return Boolean, true on success, otherwise false
64          */
65         bool getTarget(std::string &target);
66
67         /**
68          * Sets target value of JniAction class object.
69          *
70          * @param target - target value
71          *
72          * @return Boolean, true on success, otherwise false
73          */
74         bool setTarget(const std::string target);
75
76         /**
77          * Retrieves capability values from JniAction class object.
78          *
79          * @param capabilityList - capability list
80          *
81          * @return Boolean, true on success, otherwise false
82          */
83         bool getJniCapabilityValues(std::vector<OIC::Capability *> &capabilityList);
84
85 };
86 #endif //JNI_ACTION_H_