58 return NULL; |
58 return NULL; |
59 |
59 |
60 jstring result = NULL; |
60 jstring result = NULL; |
61 |
61 |
62 Package& package = Package::GetInstance(); |
62 Package& package = Package::GetInstance(); |
63 OrderedMap<TString, TString> defaultuserargs = package.GetDefaultJVMUserArgs(); |
63 OrderedMap<TString, TString> defaultuserargs = |
|
64 package.GetDefaultJVMUserArgs(); |
64 TString loption = PlatformString(env, option).toString(); |
65 TString loption = PlatformString(env, option).toString(); |
65 |
66 |
66 TString temp; |
67 TString temp; |
67 defaultuserargs.GetValue(loption, temp); |
68 defaultuserargs.GetValue(loption, temp); |
68 PlatformString value = temp; |
69 PlatformString value = temp; |
82 jobjectArray result = NULL; |
83 jobjectArray result = NULL; |
83 |
84 |
84 Package& package = Package::GetInstance(); |
85 Package& package = Package::GetInstance(); |
85 |
86 |
86 try { |
87 try { |
87 result = MapKeysToJObjectArray(env, package.GetDefaultJVMUserArgs()); |
88 result = MapKeysToJObjectArray( |
|
89 env, package.GetDefaultJVMUserArgs()); |
88 } |
90 } |
89 catch (const JavaException&) { |
91 catch (const JavaException&) { |
90 } |
92 } |
91 |
93 |
92 return result; |
94 return result; |
112 } |
114 } |
113 |
115 |
114 return result; |
116 return result; |
115 } |
117 } |
116 |
118 |
117 static void _setUserJvmKeysAndValues(JNIEnv *env, jobjectArray options, jobjectArray values) { |
119 static void _setUserJvmKeysAndValues( |
|
120 JNIEnv *env, jobjectArray options, jobjectArray values) { |
118 if (env == NULL || options == NULL || values == NULL) |
121 if (env == NULL || options == NULL || values == NULL) |
119 return; |
122 return; |
120 |
123 |
121 Package& package = Package::GetInstance(); |
124 Package& package = Package::GetInstance(); |
122 OrderedMap<TString, TString> newMap; |
125 OrderedMap<TString, TString> newMap; |
124 try { |
127 try { |
125 JavaStringArray loptions(env, options); |
128 JavaStringArray loptions(env, options); |
126 JavaStringArray lvalues(env, values); |
129 JavaStringArray lvalues(env, values); |
127 |
130 |
128 for (unsigned int index = 0; index < loptions.Count(); index++) { |
131 for (unsigned int index = 0; index < loptions.Count(); index++) { |
129 TString name = PlatformString(env, loptions.GetValue(index)).toString(); |
132 TString name = PlatformString( |
130 TString value = PlatformString(env, lvalues.GetValue(index)).toString(); |
133 env, loptions.GetValue(index)).toString(); |
|
134 TString value = PlatformString( |
|
135 env, lvalues.GetValue(index)).toString(); |
131 newMap.Append(name, value); |
136 newMap.Append(name, value); |
132 } |
137 } |
133 } |
138 } |
134 catch (const JavaException&) { |
139 catch (const JavaException&) { |
135 return; |
140 return; |
156 } |
161 } |
157 }; |
162 }; |
158 |
163 |
159 |
164 |
160 extern "C" { |
165 extern "C" { |
161 JNIEXPORT jstring JNICALL Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1getUserJvmOptionDefaultValue(JNIEnv *env, jclass klass, jstring option) { |
166 JNIEXPORT jstring JNICALL |
|
167 Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1getUserJvmOptionDefaultValue( |
|
168 JNIEnv *env, jclass klass, jstring option) { |
162 return UserJVMArgsExports::_getUserJvmOptionDefaultValue(env, option); |
169 return UserJVMArgsExports::_getUserJvmOptionDefaultValue(env, option); |
163 } |
170 } |
164 |
171 |
165 JNIEXPORT jobjectArray JNICALL Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1getUserJvmOptionDefaultKeys(JNIEnv *env, jclass klass) { |
172 JNIEXPORT jobjectArray JNICALL |
|
173 Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1getUserJvmOptionDefaultKeys( |
|
174 JNIEnv *env, jclass klass) { |
166 return UserJVMArgsExports::_getUserJvmOptionDefaultKeys(env); |
175 return UserJVMArgsExports::_getUserJvmOptionDefaultKeys(env); |
167 } |
176 } |
168 |
177 |
169 JNIEXPORT jstring JNICALL Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1getUserJvmOptionValue(JNIEnv *env, jclass klass, jstring option) { |
178 JNIEXPORT jstring JNICALL |
|
179 Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1getUserJvmOptionValue( |
|
180 JNIEnv *env, jclass klass, jstring option) { |
170 return UserJVMArgsExports::_getUserJvmOptionValue(env, option); |
181 return UserJVMArgsExports::_getUserJvmOptionValue(env, option); |
171 } |
182 } |
172 |
183 |
173 JNIEXPORT void JNICALL Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1setUserJvmKeysAndValues(JNIEnv *env, jclass klass, jobjectArray options, jobjectArray values) { |
184 JNIEXPORT void JNICALL |
|
185 Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1setUserJvmKeysAndValues( |
|
186 JNIEnv *env, jclass klass, jobjectArray options, |
|
187 jobjectArray values) { |
174 UserJVMArgsExports::_setUserJvmKeysAndValues(env, options, values); |
188 UserJVMArgsExports::_setUserJvmKeysAndValues(env, options, values); |
175 } |
189 } |
176 |
190 |
177 JNIEXPORT jobjectArray JNICALL Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1getUserJvmOptionKeys(JNIEnv *env, jclass klass) { |
191 JNIEXPORT jobjectArray JNICALL |
|
192 Java_jdk_packager_services_userjvmoptions_LauncherUserJvmOptions__1getUserJvmOptionKeys( |
|
193 JNIEnv *env, jclass klass) { |
178 return UserJVMArgsExports::_getUserJvmOptionKeys(env); |
194 return UserJVMArgsExports::_getUserJvmOptionKeys(env); |
179 } |
195 } |
180 } |
196 } |
181 |
197 |
182 #ifdef DEBUG |
198 #ifdef DEBUG |
207 // break; |
223 // break; |
208 // } |
224 // } |
209 // } |
225 // } |
210 // } |
226 // } |
211 // |
227 // |
212 // The call to isdebugger() will wait until a native debugger is attached. The process |
228 // The call to isdebugger() will wait until a native debugger is attached. |
213 // identifier (pid) will be printed to the console for you to attach your debugger to. |
229 // The process identifier (pid) will be printed to the console |
|
230 // for you to attach your debugger to. |
214 extern "C" { |
231 extern "C" { |
215 JNIEXPORT jboolean JNICALL Java_com_DebugExports_isdebugged(JNIEnv *env, jclass klass) { |
232 JNIEXPORT jboolean JNICALL Java_com_DebugExports_isdebugged( |
|
233 JNIEnv *env, jclass klass) { |
216 jboolean result = false; |
234 jboolean result = false; |
217 Package& package = Package::GetInstance(); |
235 Package& package = Package::GetInstance(); |
218 |
236 |
219 if (package.Debugging() == dsNative) { |
237 if (package.Debugging() == dsNative) { |
220 Platform& platform = Platform::GetInstance(); |
238 Platform& platform = Platform::GetInstance(); |