Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
helper_dbt.cxx
Go to the documentation of this file.
1/*
2 * Author: Sven Gothel <sgothel@jausoft.com>
3 * Copyright (c) 2020 Gothel Software e.K.
4 * Copyright (c) 2020 ZAFENA AB
5 *
6 * Permission is hereby granted, free of charge, to any person obtaining
7 * a copy of this software and associated documentation files (the
8 * "Software"), to deal in the Software without restriction, including
9 * without limitation the rights to use, copy, modify, merge, publish,
10 * distribute, sublicense, and/or sell copies of the Software, and to
11 * permit persons to whom the Software is furnished to do so, subject to
12 * the following conditions:
13 *
14 * The above copyright notice and this permission notice shall be
15 * included in all copies or substantial portions of the Software.
16 *
17 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
19 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 */
25
26#include <jni.h>
27#include <memory>
28#include <stdexcept>
29#include <vector>
30
31#include "helper_dbt.hpp"
32
33using namespace direct_bt;
34
35static std::string jStringEmpty("");
36static std::string jAddressTypePublic("public");
37static std::string jAddressTypeRandom("random");
38
40 if( nullptr != jAddressType ) {
41 std::string saddressType = jau::jni::from_jstring_to_string(env, jAddressType);
42 if( jAddressTypePublic == saddressType ) {
43 return BDAddressType::BDADDR_LE_PUBLIC;
44 }
45 if( jAddressTypeRandom == saddressType ) {
46 return BDAddressType::BDADDR_LE_RANDOM;
47 }
48 }
49 return BDAddressType::BDADDR_BREDR;
50}
52 switch( bdAddressType ) {
53 case BDAddressType::BDADDR_LE_PUBLIC:
55 case BDAddressType::BDADDR_LE_RANDOM:
57 case BDAddressType::BDADDR_BREDR:
58 // fall through intended
59 default:
61 }
62}
63
BDAddressType
BT Core Spec v5.2: Vol 3, Part C Generic Access Profile (GAP): 15.1.1.1 Public Bluetooth address.
Definition: BTAddress.hpp:60
jstring from_string_to_jstring(JNIEnv *env, const std::string &str)
std::string from_jstring_to_string(JNIEnv *env, jstring str)
static std::string jAddressTypePublic("public")
static std::string jAddressTypeRandom("random")
static std::string jStringEmpty("")
BDAddressType fromJavaAdressTypeToBDAddressType(JNIEnv *env, jstring jAddressType)
Definition: helper_dbt.cxx:39
jstring fromBDAddressTypeToJavaAddressType(JNIEnv *env, BDAddressType bdAddressType)
Definition: helper_dbt.cxx:51