Cipherpack v1.2.0-dirty
A Cryprographic Stream Processor
CPFactory.cxx
Go to the documentation of this file.
1/*
2 * Author: Sven Gothel <sgothel@jausoft.com>
3 * Copyright (c) 2022 Gothel Software e.K.
4 *
5 * Permission is hereby granted, free of charge, to any person obtaining
6 * a copy of this software and associated documentation files (the
7 * "Software"), to deal in the Software without restriction, including
8 * without limitation the rights to use, copy, modify, merge, publish,
9 * distribute, sublicense, and/or sell copies of the Software, and to
10 * permit persons to whom the Software is furnished to do so, subject to
11 * the following conditions:
12 *
13 * The above copyright notice and this permission notice shall be
14 * included in all copies or substantial portions of the Software.
15 *
16 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19 * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20 * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21 * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22 * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
23 */
24
25#include "org_cipherpack_CPFactory.h"
26
28
29#include "helper_base.hpp"
30
31
32jstring Java_org_cipherpack_CPFactory_getNativeVersion(JNIEnv *env, jclass clazz)
33{
34 try {
35 (void) clazz;
36
37 std::string api_version = std::string(cipherpack::VERSION);
38 return env->NewStringUTF(api_version.c_str());
39 } catch(...) {
41 }
42 return nullptr;
43}
44
45jstring Java_org_cipherpack_CPFactory_getNativeAPIVersion(JNIEnv *env, jclass clazz)
46{
47 try {
48 (void) clazz;
49
50 std::string api_version = std::string(cipherpack::VERSION_API);
51 return env->NewStringUTF(api_version.c_str());
52 } catch(...) {
54 }
55 return nullptr;
56}
57
58void Java_org_cipherpack_CPFactory_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}
void Java_org_cipherpack_CPFactory_setenv(JNIEnv *env, jclass clazz, jstring jname, jstring jval, jboolean overwrite)
Definition: CPFactory.cxx:58
jstring Java_org_cipherpack_CPFactory_getNativeVersion(JNIEnv *env, jclass clazz)
Definition: CPFactory.cxx:32
jstring Java_org_cipherpack_CPFactory_getNativeAPIVersion(JNIEnv *env, jclass clazz)
Definition: CPFactory.cxx:45
#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:45
const char * VERSION_API
const char * VERSION