Merge remote-tracking branch 'origin/extended-easysetup'
[platform/upstream/iotivity.git] / service / easy-setup / mediator / richsdk / android / EasySetupCore / src / main / jni / JniEsUtils.cpp
1 /******************************************************************
2  *
3  * Copyright 2016 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 #include "JniEsUtils.h"
22
23 void throwESException(JNIEnv *env, std::string reason)
24 {
25     jobject ex = env->NewObject(g_cls_ESException, g_mid_ESException_ctor,
26                                 env->NewStringUTF(reason.c_str()));
27     if (!ex)
28     {
29         ES_LOGI("throwException : jobject is NULL");
30     }
31     env->Throw((jthrowable)ex);
32 }
33
34 OCConnectivityType  getOCConnectivityTypeFromInt(int connectivityType)
35 {
36     switch (connectivityType)
37     {
38         case CT_DEFAULT:
39             return CT_DEFAULT;
40         case CT_ADAPTER_IP:
41             return CT_ADAPTER_IP;
42
43             //May be need to add more types, if easy setup service support more transport.
44     }
45     return CT_DEFAULT;
46 }
47
48 WIFI_AUTHTYPE getWifiAuthTypeFromInt(int authType)
49 {
50     switch (authType)
51     {
52         case 0:
53             return WIFI_AUTHTYPE::NONE_AUTH;
54         case 1:
55             return WIFI_AUTHTYPE::WEP;
56         case 2:
57             return WIFI_AUTHTYPE::WPA_PSK;
58         case 3:
59             return WIFI_AUTHTYPE::WPA2_PSK;
60     }
61     return NONE_AUTH;
62 }
63
64 WIFI_ENCTYPE getWifiEncTypeFromInt(int encType)
65 {
66     switch (encType)
67     {
68         case 0:
69             return WIFI_ENCTYPE::NONE_ENC;
70         case 1:
71             return WIFI_ENCTYPE::WEP_64;
72         case 2:
73             return WIFI_ENCTYPE::WEP_128;
74         case 3:
75             return WIFI_ENCTYPE::TKIP;
76         case 4:
77             return WIFI_ENCTYPE::AES;
78         case 5:
79             return WIFI_ENCTYPE::TKIP_AES;
80     }
81     return NONE_ENC;
82 }
83
84 int convertNativeWifiFreqToInt(WIFI_FREQ wifiFreq)
85 {
86     switch (wifiFreq)
87     {
88         case WIFI_FREQ::WIFI_24G:
89             return 0;
90         case WIFI_FREQ::WIFI_5G:
91             return 1;
92         case WIFI_FREQ::WIFI_BOTH:
93             return 2;
94     }
95 }
96
97 int convertNativeWifiModeToInt(WIFI_MODE wifiMode)
98 {
99     switch (wifiMode)
100     {
101         case WIFI_MODE::WIFI_11A:
102             return 0;
103         case WIFI_MODE::WIFI_11B:
104             return 1;
105         case WIFI_MODE::WIFI_11G:
106             return 2;
107         case WIFI_MODE::WIFI_11N:
108             return 3;
109         case WIFI_MODE::WIFI_11AC:
110             return 4;
111     }
112 }
113
114 int convertNativeDeviceProvResultToInt(ESResult nativeResult)
115 {
116     switch (nativeResult)
117     {
118         case ESResult::ES_ERROR:
119             return -1;
120         case ESResult::ES_OK:
121             return 0;
122         case ESResult::ES_NETWORKFOUND:
123             return 1;
124         case ESResult::ES_NETWORKCONNECTED:
125             return 2;
126         case ESResult::ES_NETWORKNOTCONNECTED:
127             return 3;
128         case ESResult::ES_RESOURCECREATED:
129             return 11;
130         case ESResult::ES_RECVREQOFPROVRES:
131             return 21;
132         case ESResult::ES_RECVREQOFNETRES:
133             return 22;
134         case ESResult::ES_RECVUPDATEOFPROVRES:
135             return 23;
136         case ESResult::ES_RECVTRIGGEROFPROVRES:
137             return 24;
138         case ESResult::ES_UNAUTHORIZED:
139             return 31;
140     }
141 }