Cipherpack v1.3.0-3-ga29431a
A Cryprographic Stream Processor
Loading...
Searching...
No Matches
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 return env->NewStringUTF(cipherpack::VERSION.versionString().c_str());
37 } catch(...) {
39 }
40 return nullptr;
41}
42
43jstring Java_org_cipherpack_CPFactory_getNativeAPIVersion(JNIEnv *env, jclass clazz)
44{
45 try {
46 (void) clazz;
47
48 std::string api_version = std::string(cipherpack::VERSION_API);
49 return env->NewStringUTF(api_version.c_str());
50 } catch(...) {
52 }
53 return nullptr;
54}
55
56void Java_org_cipherpack_CPFactory_setenv(JNIEnv *env, jclass clazz, jstring jname, jstring jval, jboolean overwrite)
57{
58 try {
59 (void) clazz;
60
61 std::string name = jau::jni::from_jstring_to_string(env, jname);
62 std::string value = jau::jni::from_jstring_to_string(env, jval);
63 if( name.length() > 0 ) {
64 if( value.length() > 0 ) {
65 setenv(name.c_str(), value.c_str(), overwrite);
66 } else {
67 setenv(name.c_str(), "true", overwrite);
68 }
69 }
70 } catch(...) {
72 }
73}
void Java_org_cipherpack_CPFactory_setenv(JNIEnv *env, jclass clazz, jstring jname, jstring jval, jboolean overwrite)
Definition CPFactory.cxx:56
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:43
#define rethrow_and_raise_java_exception(E)
Re-throw current exception and raise respective java exception using any matching function above.
const char * VERSION_API
const jau::util::VersionNumberString VERSION