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