1 
2 #include "xmlvm.h"
3 #include "org_xmlvm_runtime_XMLVMUtil.h"
4 
5 
6 //XMLVM_BEGIN_NATIVE_IMPLEMENTATION
7 #include <unistd.h>
8 #ifdef __OBJC__
9 #ifndef XMLVM_NEW_IOS_API
10 #include "org_xmlvm_iphone_NSString.h"
11 #else
12 #include "org_xmlvm_ios_NSString.h"
13 #endif
14 #endif
15 //XMLVM_END_NATIVE_IMPLEMENTATION
16 
org_xmlvm_runtime_XMLVMUtil_getCurrentWorkingDirectory__()17 JAVA_OBJECT org_xmlvm_runtime_XMLVMUtil_getCurrentWorkingDirectory__()
18 {
19     //XMLVM_BEGIN_NATIVE[org_xmlvm_runtime_XMLVMUtil_getCurrentWorkingDirectory__]
20 #ifdef __OBJC__
21     // Base directory is <App>/Documents/
22     // http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/FilesandNetworking/FilesandNetworking.html
23     NSArray* paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
24     NSString* path = [paths objectAtIndex:0];
25     JAVA_OBJECT jpath = fromNSString(path);
26     return jpath;
27 #else
28     char buf[1024];
29     char* err = getcwd(buf, sizeof(buf));
30     if (err == NULL) {
31         XMLVM_INTERNAL_ERROR();
32     }
33     return xmlvm_create_java_string(buf);
34 #endif
35     //XMLVM_END_NATIVE
36 }
37 
38