1 #include "normJni.h"
2 #include "normFileJni.h"
3
PKGNAME(NormFile_getName)4 JNIEXPORT jstring JNICALL PKGNAME(NormFile_getName)
5 (JNIEnv *env, jobject obj) {
6 NormObjectHandle objectHandle;
7 char path[FILENAME_MAX];
8
9 objectHandle = (NormObjectHandle)env->GetLongField(obj, fid_NormObject_handle);
10
11 // Get the path information from NORM
12 if (!NormFileGetName(objectHandle, path, FILENAME_MAX)) {
13 env->ThrowNew((jclass)env->NewLocalRef(jw_IOException), "Failed to get file name");
14 return NULL;
15 }
16
17 // Create a new Java string from the path
18 jstring str = env->NewStringUTF(path);
19
20 return str;
21 }
22
PKGNAME(NormFile_rename)23 JNIEXPORT void JNICALL PKGNAME(NormFile_rename)
24 (JNIEnv *env, jobject obj, jstring filename) {
25 NormObjectHandle objectHandle;
26 const char *str;
27
28 objectHandle = (NormObjectHandle)env->GetLongField(obj, fid_NormObject_handle);
29 str = env->GetStringUTFChars(filename, NULL);
30
31 if (!NormFileRename(objectHandle, str)) {
32 env->ReleaseStringUTFChars(filename, str);
33 env->ThrowNew((jclass)env->NewLocalRef(jw_IOException), "Failed to rename file");
34 return;
35 }
36
37 env->ReleaseStringUTFChars(filename, str);
38 }
39
40