Merge "Merge 'security-basecamp' branch into master with CBOR"
[platform/upstream/iotivity.git] / android / android_api / base / src / main / java / org / iotivity / base / OcConnectivityType.java
1 /*
2  * //******************************************************************
3  * //
4  * // Copyright 2015 Intel Corporation.
5  * //
6  * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
7  * //
8  * // Licensed under the Apache License, Version 2.0 (the "License");
9  * // you may not use this file except in compliance with the License.
10  * // You may obtain a copy of the License at
11  * //
12  * //      http://www.apache.org/licenses/LICENSE-2.0
13  * //
14  * // Unless required by applicable law or agreed to in writing, software
15  * // distributed under the License is distributed on an "AS IS" BASIS,
16  * // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * // See the License for the specific language governing permissions and
18  * // limitations under the License.
19  * //
20  * //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
21  */
22
23 package org.iotivity.base;
24
25 import java.security.InvalidParameterException;
26
27 public enum OcConnectivityType {
28     CT_DEFAULT (0),
29     CT_ADAPTER_IP (1 << 16),
30     CT_ADAPTER_GATT_BTLE (1 << 17),
31     CT_ADAPTER_RFCOMM_BTEDR (1 << 18),
32     ;
33
34     private int value;
35
36     private OcConnectivityType(int value) {
37         this.value = value;
38     }
39
40     public int getValue() {
41         return this.value;
42     }
43
44     public static OcConnectivityType get(int val) {
45         // val is a combination of OcConnectivityType and OcConnectivityFlags
46         for (OcConnectivityType v : OcConnectivityType.values()) {
47             for (OcConnectivityFlags f : OcConnectivityFlags.values()) {
48                 int value = v.getValue() + f.getValue();
49                 if (value == val)
50                     return v;
51             }
52         }
53         throw new InvalidParameterException("Unexpected OcConnectivityType value:" + val);
54     }
55 }