< prev index next >

src/jdk.incubator.jpackage/macosx/native/libapplauncher/MacPlatform.mm

Print this page




  80 }
  81 
  82 StringToFileSystemString::~StringToFileSystemString() {
  83     if (FRelease == true) {
  84         delete[] FData;
  85     }
  86 }
  87 
  88 StringToFileSystemString::operator TCHAR* () {
  89     return FData;
  90 }
  91 
  92 MacPlatform::MacPlatform(void) : Platform(), PosixPlatform() {
  93 }
  94 
  95 MacPlatform::~MacPlatform(void) {
  96 }
  97 
  98 TString MacPlatform::GetPackageAppDirectory() {
  99     return FilePath::IncludeTrailingSeparator(
 100             GetPackageRootDirectory()) + _T("Java");
 101 }
 102 
 103 TString MacPlatform::GetPackageLauncherDirectory() {
 104     return FilePath::IncludeTrailingSeparator(
 105             GetPackageRootDirectory()) + _T("MacOS");
 106 }
 107 
 108 TString MacPlatform::GetPackageRuntimeBinDirectory() {
 109     return FilePath::IncludeTrailingSeparator(GetPackageRootDirectory()) +
 110             _T("runtime/Contents/Home/bin");
 111 }
 112 
 113 bool MacPlatform::UsePListForConfigFile() {
 114     return FilePath::FileExists(GetConfigFileName()) == false;
 115 }
 116 
 117 void MacPlatform::ShowMessage(TString Title, TString Description) {
 118     NSString *ltitle = StringToNSString(Title);
 119     NSString *ldescription = StringToNSString(Description);
 120 


 181                 if (result != NULL) {
 182                     if (CFStringGetCString(StringRef, result, maxSize,
 183                             kCFStringEncodingUTF8) == true) {
 184                         release = true;
 185                     } else {
 186                         delete[] result;
 187                         result = NULL;
 188                     }
 189                 }
 190             }
 191         }
 192         @finally
 193         {
 194             CFRelease(StringRef);
 195         }
 196     }
 197 
 198     return result;
 199 }
 200 
 201 void MacPlatform::SetCurrentDirectory(TString Value) {
 202     chdir(PlatformString(Value).toPlatformString());
 203 }
 204 
 205 TString MacPlatform::GetPackageRootDirectory() {
 206     NSBundle *mainBundle = [NSBundle mainBundle];
 207     NSString *mainBundlePath = [mainBundle bundlePath];
 208     NSString *contentsPath =
 209             [mainBundlePath stringByAppendingString : @"/Contents"];
 210     TString result = [contentsPath UTF8String];
 211     return result;
 212 }
 213 
 214 TString MacPlatform::GetAppDataDirectory() {
 215     TString result;
 216     NSArray *paths = NSSearchPathForDirectoriesInDomains(
 217             NSApplicationSupportDirectory, NSUserDomainMask, YES);
 218     NSString *applicationSupportDirectory = [paths firstObject];
 219     result = [applicationSupportDirectory UTF8String];
 220     return result;
 221 }
 222 
 223 TString MacPlatform::GetBundledJavaLibraryFileName(TString RuntimePath) {
 224     TString result;


 451 
 452 TPlatformNumber MacPlatform::GetMemorySize() {
 453     unsigned long long memory = [[NSProcessInfo processInfo] physicalMemory];
 454 
 455     // Convert from bytes to megabytes.
 456     TPlatformNumber result = memory / 1048576;
 457 
 458     return result;
 459 }
 460 
 461 std::map<TString, TString> MacPlatform::GetKeys() {
 462     std::map<TString, TString> keys;
 463 
 464     if (UsePListForConfigFile() == false) {
 465         return Platform::GetKeys();
 466     } else {
 467         keys.insert(std::map<TString, TString>::value_type(CONFIG_VERSION,
 468                 _T("app.version")));
 469         keys.insert(std::map<TString, TString>::value_type(CONFIG_MAINJAR_KEY,
 470                 _T("JavaMainJarName")));
 471         keys.insert(std::map<TString, TString>::value_type(CONFIG_MAINMODULE_KEY,

 472                 _T("JavaMainModuleName")));
 473         keys.insert(std::map<TString, TString>::value_type(
 474                 CONFIG_MAINCLASSNAME_KEY, _T("JavaMainClassName")));
 475         keys.insert(std::map<TString, TString>::value_type(
 476                 CONFIG_CLASSPATH_KEY, _T("JavaAppClasspath")));
 477         keys.insert(std::map<TString, TString>::value_type(APP_NAME_KEY,
 478                 _T("CFBundleName")));
 479         keys.insert(std::map<TString, TString>::value_type(JAVA_RUNTIME_KEY,
 480                 _T("JavaRuntime")));
 481         keys.insert(std::map<TString, TString>::value_type(JPACKAGE_APP_DATA_DIR,

 482                 _T("CFBundleIdentifier")));
 483 
 484         keys.insert(std::map<TString, TString>::value_type(CONFIG_SPLASH_KEY,
 485                 _T("app.splash")));
 486         keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_MEMORY,
 487                 _T("app.memory")));
 488         keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_DEBUG,
 489                 _T("app.debug")));
 490         keys.insert(std::map<TString, TString>::value_type(
 491                 CONFIG_APPLICATION_INSTANCE, _T("app.application.instance")));
 492 
 493         keys.insert(std::map<TString, TString>::value_type(
 494                 CONFIG_SECTION_APPLICATION, _T("Application")));
 495         keys.insert(std::map<TString, TString>::value_type(
 496                 CONFIG_SECTION_JAVAOPTIONS, _T("JavaOptions")));
 497         keys.insert(std::map<TString, TString>::value_type(
 498                 CONFIG_SECTION_APPCDSJAVAOPTIONS, _T("AppCDSJavaOptions")));
 499         keys.insert(std::map<TString, TString>::value_type(
 500                 CONFIG_SECTION_APPCDSGENERATECACHEJAVAOPTIONS,
 501                 _T("AppCDSGenerateCacheJavaOptions")));


  80 }
  81 
  82 StringToFileSystemString::~StringToFileSystemString() {
  83     if (FRelease == true) {
  84         delete[] FData;
  85     }
  86 }
  87 
  88 StringToFileSystemString::operator TCHAR* () {
  89     return FData;
  90 }
  91 
  92 MacPlatform::MacPlatform(void) : Platform(), PosixPlatform() {
  93 }
  94 
  95 MacPlatform::~MacPlatform(void) {
  96 }
  97 
  98 TString MacPlatform::GetPackageAppDirectory() {
  99     return FilePath::IncludeTrailingSeparator(
 100             GetPackageRootDirectory()) + _T("app");
 101 }
 102 
 103 TString MacPlatform::GetPackageLauncherDirectory() {
 104     return FilePath::IncludeTrailingSeparator(
 105             GetPackageRootDirectory()) + _T("MacOS");
 106 }
 107 
 108 TString MacPlatform::GetPackageRuntimeBinDirectory() {
 109     return FilePath::IncludeTrailingSeparator(GetPackageRootDirectory()) +
 110             _T("runtime/Contents/Home/bin");
 111 }
 112 
 113 bool MacPlatform::UsePListForConfigFile() {
 114     return FilePath::FileExists(GetConfigFileName()) == false;
 115 }
 116 
 117 void MacPlatform::ShowMessage(TString Title, TString Description) {
 118     NSString *ltitle = StringToNSString(Title);
 119     NSString *ldescription = StringToNSString(Description);
 120 


 181                 if (result != NULL) {
 182                     if (CFStringGetCString(StringRef, result, maxSize,
 183                             kCFStringEncodingUTF8) == true) {
 184                         release = true;
 185                     } else {
 186                         delete[] result;
 187                         result = NULL;
 188                     }
 189                 }
 190             }
 191         }
 192         @finally
 193         {
 194             CFRelease(StringRef);
 195         }
 196     }
 197 
 198     return result;
 199 }
 200 




 201 TString MacPlatform::GetPackageRootDirectory() {
 202     NSBundle *mainBundle = [NSBundle mainBundle];
 203     NSString *mainBundlePath = [mainBundle bundlePath];
 204     NSString *contentsPath =
 205             [mainBundlePath stringByAppendingString : @"/Contents"];
 206     TString result = [contentsPath UTF8String];
 207     return result;
 208 }
 209 
 210 TString MacPlatform::GetAppDataDirectory() {
 211     TString result;
 212     NSArray *paths = NSSearchPathForDirectoriesInDomains(
 213             NSApplicationSupportDirectory, NSUserDomainMask, YES);
 214     NSString *applicationSupportDirectory = [paths firstObject];
 215     result = [applicationSupportDirectory UTF8String];
 216     return result;
 217 }
 218 
 219 TString MacPlatform::GetBundledJavaLibraryFileName(TString RuntimePath) {
 220     TString result;


 447 
 448 TPlatformNumber MacPlatform::GetMemorySize() {
 449     unsigned long long memory = [[NSProcessInfo processInfo] physicalMemory];
 450 
 451     // Convert from bytes to megabytes.
 452     TPlatformNumber result = memory / 1048576;
 453 
 454     return result;
 455 }
 456 
 457 std::map<TString, TString> MacPlatform::GetKeys() {
 458     std::map<TString, TString> keys;
 459 
 460     if (UsePListForConfigFile() == false) {
 461         return Platform::GetKeys();
 462     } else {
 463         keys.insert(std::map<TString, TString>::value_type(CONFIG_VERSION,
 464                 _T("app.version")));
 465         keys.insert(std::map<TString, TString>::value_type(CONFIG_MAINJAR_KEY,
 466                 _T("JavaMainJarName")));
 467         keys.insert(std::map<TString,
 468                 TString>::value_type(CONFIG_MAINMODULE_KEY,
 469                 _T("JavaMainModuleName")));
 470         keys.insert(std::map<TString, TString>::value_type(
 471                 CONFIG_MAINCLASSNAME_KEY, _T("JavaMainClassName")));
 472         keys.insert(std::map<TString, TString>::value_type(
 473                 CONFIG_CLASSPATH_KEY, _T("JavaAppClasspath")));
 474         keys.insert(std::map<TString, TString>::value_type(APP_NAME_KEY,
 475                 _T("CFBundleName")));
 476         keys.insert(std::map<TString, TString>::value_type(JAVA_RUNTIME_KEY,
 477                 _T("JavaRuntime")));
 478         keys.insert(std::map<TString,
 479                 TString>::value_type(JPACKAGE_APP_DATA_DIR,
 480                 _T("CFBundleIdentifier")));
 481 
 482         keys.insert(std::map<TString, TString>::value_type(CONFIG_SPLASH_KEY,
 483                 _T("app.splash")));
 484         keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_MEMORY,
 485                 _T("app.memory")));
 486         keys.insert(std::map<TString, TString>::value_type(CONFIG_APP_DEBUG,
 487                 _T("app.debug")));
 488         keys.insert(std::map<TString, TString>::value_type(
 489                 CONFIG_APPLICATION_INSTANCE, _T("app.application.instance")));
 490 
 491         keys.insert(std::map<TString, TString>::value_type(
 492                 CONFIG_SECTION_APPLICATION, _T("Application")));
 493         keys.insert(std::map<TString, TString>::value_type(
 494                 CONFIG_SECTION_JAVAOPTIONS, _T("JavaOptions")));
 495         keys.insert(std::map<TString, TString>::value_type(
 496                 CONFIG_SECTION_APPCDSJAVAOPTIONS, _T("AppCDSJavaOptions")));
 497         keys.insert(std::map<TString, TString>::value_type(
 498                 CONFIG_SECTION_APPCDSGENERATECACHEJAVAOPTIONS,
 499                 _T("AppCDSGenerateCacheJavaOptions")));
< prev index next >