Direct-BT v3.3.0-1-gc2d430c
Direct-BT - Direct Bluetooth Programming.
BTFactory.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 "org_direct_bt_BTFactory.h"
27
28#include <direct_bt/version.h>
29
30#include "helper_base.hpp"
31
32jstring Java_org_direct_1bt_BTFactory_getNativeVersion(JNIEnv *env, jclass clazz)
33{
34 try {
35 (void) clazz;
36
37 std::string api_version = std::string(DIRECT_BT_VERSION);
38 return env->NewStringUTF(api_version.c_str());
39 } catch(...) {
41 }
42 return nullptr;
43}
44
45jstring Java_org_direct_1bt_BTFactory_getNativeAPIVersion(JNIEnv *env, jclass clazz)
46{
47 try {
48 (void) clazz;
49
50 std::string api_version = std::string(DIRECT_BT_VERSION_API);
51 return env->NewStringUTF(api_version.c_str());
52 } catch(...) {
54 }
55 return nullptr;
56}
57
58void Java_org_direct_1bt_BTFactory_setenv(JNIEnv *env, jclass clazz, jstring jname, jstring jval, jboolean overwrite)
59{
60 try {
61 (void) clazz;
62
63 std::string name = jau::jni::from_jstring_to_string(env, jname);
64 std::string value = jau::jni::from_jstring_to_string(env, jval);
65 if( name.length() > 0 ) {
66 if( value.length() > 0 ) {
67 setenv(name.c_str(), value.c_str(), overwrite);
68 } else {
69 setenv(name.c_str(), "true", overwrite);
70 }
71 }
72 } catch(...) {
74 }
75}
jstring Java_org_direct_1bt_BTFactory_getNativeVersion(JNIEnv *env, jclass clazz)
Definition: BTFactory.cxx:32
void Java_org_direct_1bt_BTFactory_setenv(JNIEnv *env, jclass clazz, jstring jname, jstring jval, jboolean overwrite)
Definition: BTFactory.cxx:58
jstring Java_org_direct_1bt_BTFactory_getNativeAPIVersion(JNIEnv *env, jclass clazz)
Definition: BTFactory.cxx:45
std::string from_jstring_to_string(JNIEnv *env, jstring str)
#define rethrow_and_raise_java_exception(E)
Re-throw current exception and raise respective java exception using any matching function above.
Definition: helper_base.hpp:52