393 return NULL; 394 } 395 396 if (UsePListForConfigFile() == false) { 397 if (result->LoadFromFile(FileName) == false) { 398 // New property file format was not found, 399 // attempt to load old property file format. 400 Helpers::LoadOldConfigFile(FileName, result); 401 } 402 } else { 403 NSBundle *mainBundle = [NSBundle mainBundle]; 404 NSDictionary *infoDictionary = [mainBundle infoDictionary]; 405 std::map<TString, TString> keys = GetKeys(); 406 407 // JPackage options. 408 AppendPListDictionaryToIniFile(infoDictionary, result, 409 keys[CONFIG_SECTION_APPLICATION], false); 410 411 // jvmargs 412 AppendPListArrayToIniFile(infoDictionary, result, 413 keys[CONFIG_SECTION_JVMOPTIONS]); 414 415 // Generate AppCDS Cache 416 AppendPListDictionaryToIniFile(infoDictionary, result, 417 keys[CONFIG_SECTION_APPCDSJVMOPTIONS]); 418 AppendPListDictionaryToIniFile(infoDictionary, result, 419 keys[CONFIG_SECTION_APPCDSGENERATECACHEJVMOPTIONS]); 420 421 // args 422 AppendPListArrayToIniFile(infoDictionary, result, 423 keys[CONFIG_SECTION_ARGOPTIONS]); 424 } 425 426 return result; 427 } 428 429 TString GetModuleFileNameOSX() { 430 Dl_info module_info; 431 if (dladdr(reinterpret_cast<void*> (GetModuleFileNameOSX), 432 &module_info) == 0) { 433 // Failed to find the symbol we asked for. 434 return std::string(); 435 } 436 return TString(module_info.dli_fname); 437 } 438 439 TString MacPlatform::GetModuleFileName() { 482 _T("CFBundleName"))); 483 keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_ID_KEY, 484 _T("JVMPreferencesID"))); 485 keys.insert(std::map<TString, TString>::value_type(JVM_RUNTIME_KEY, 486 _T("JVMRuntime"))); 487 keys.insert(std::map<TString, TString>::value_type(JPACKAGE_APP_DATA_DIR, 488 _T("CFBundleIdentifier"))); 489 490 keys.insert(std::map<TString, TString>::value_type(CONFIG_SPLASH_KEY, 491 _T("app.splash"))); 492 keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_MEMORY, 493 _T("app.memory"))); 494 keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_DEBUG, 495 _T("app.debug"))); 496 keys.insert(std::map<TString, TString>::value_type( 497 CONFIG_APPLICATION_INSTANCE, _T("app.application.instance"))); 498 499 keys.insert(std::map<TString, TString>::value_type( 500 CONFIG_SECTION_APPLICATION, _T("Application"))); 501 keys.insert(std::map<TString, TString>::value_type( 502 CONFIG_SECTION_JVMOPTIONS, _T("JVMOptions"))); 503 keys.insert(std::map<TString, TString>::value_type( 504 CONFIG_SECTION_APPCDSJVMOPTIONS, _T("AppCDSJVMOptions"))); 505 keys.insert(std::map<TString, TString>::value_type( 506 CONFIG_SECTION_APPCDSGENERATECACHEJVMOPTIONS, 507 _T("AppCDSGenerateCacheJVMOptions"))); 508 keys.insert(std::map<TString, TString>::value_type( 509 CONFIG_SECTION_ARGOPTIONS, _T("ArgOptions"))); 510 } 511 512 return keys; 513 } | 393 return NULL; 394 } 395 396 if (UsePListForConfigFile() == false) { 397 if (result->LoadFromFile(FileName) == false) { 398 // New property file format was not found, 399 // attempt to load old property file format. 400 Helpers::LoadOldConfigFile(FileName, result); 401 } 402 } else { 403 NSBundle *mainBundle = [NSBundle mainBundle]; 404 NSDictionary *infoDictionary = [mainBundle infoDictionary]; 405 std::map<TString, TString> keys = GetKeys(); 406 407 // JPackage options. 408 AppendPListDictionaryToIniFile(infoDictionary, result, 409 keys[CONFIG_SECTION_APPLICATION], false); 410 411 // jvmargs 412 AppendPListArrayToIniFile(infoDictionary, result, 413 keys[CONFIG_SECTION_JAVAOPTIONS]); 414 415 // Generate AppCDS Cache 416 AppendPListDictionaryToIniFile(infoDictionary, result, 417 keys[CONFIG_SECTION_APPCDSJAVAOPTIONS]); 418 AppendPListDictionaryToIniFile(infoDictionary, result, 419 keys[CONFIG_SECTION_APPCDSGENERATECACHEJAVAOPTIONS]); 420 421 // args 422 AppendPListArrayToIniFile(infoDictionary, result, 423 keys[CONFIG_SECTION_ARGOPTIONS]); 424 } 425 426 return result; 427 } 428 429 TString GetModuleFileNameOSX() { 430 Dl_info module_info; 431 if (dladdr(reinterpret_cast<void*> (GetModuleFileNameOSX), 432 &module_info) == 0) { 433 // Failed to find the symbol we asked for. 434 return std::string(); 435 } 436 return TString(module_info.dli_fname); 437 } 438 439 TString MacPlatform::GetModuleFileName() { 482 _T("CFBundleName"))); 483 keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_ID_KEY, 484 _T("JVMPreferencesID"))); 485 keys.insert(std::map<TString, TString>::value_type(JVM_RUNTIME_KEY, 486 _T("JVMRuntime"))); 487 keys.insert(std::map<TString, TString>::value_type(JPACKAGE_APP_DATA_DIR, 488 _T("CFBundleIdentifier"))); 489 490 keys.insert(std::map<TString, TString>::value_type(CONFIG_SPLASH_KEY, 491 _T("app.splash"))); 492 keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_MEMORY, 493 _T("app.memory"))); 494 keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_DEBUG, 495 _T("app.debug"))); 496 keys.insert(std::map<TString, TString>::value_type( 497 CONFIG_APPLICATION_INSTANCE, _T("app.application.instance"))); 498 499 keys.insert(std::map<TString, TString>::value_type( 500 CONFIG_SECTION_APPLICATION, _T("Application"))); 501 keys.insert(std::map<TString, TString>::value_type( 502 CONFIG_SECTION_JAVAOPTIONS, _T("JavaOptions"))); 503 keys.insert(std::map<TString, TString>::value_type( 504 CONFIG_SECTION_APPCDSJAVAOPTIONS, _T("AppCDSJavaOptions"))); 505 keys.insert(std::map<TString, TString>::value_type( 506 CONFIG_SECTION_APPCDSGENERATECACHEJAVAOPTIONS, 507 _T("AppCDSGenerateCacheJavaOptions"))); 508 keys.insert(std::map<TString, TString>::value_type( 509 CONFIG_SECTION_ARGOPTIONS, _T("ArgOptions"))); 510 } 511 512 return keys; 513 } |