mirror of https://github.com/BOINC/boinc.git
Code changes needed to add the wcg brand for the mac manager,screen saver,installer
This commit is contained in:
parent
85625c7512
commit
c98ee539e5
|
@ -1839,7 +1839,7 @@ void CAdvancedFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
|
||||||
fscanf(f, "BrandId=%ld\n", &iBrandID);
|
fscanf(f, "BrandId=%ld\n", &iBrandID);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
if ((iBrandID > 0) && (iBrandID < 4))
|
if ((iBrandID > 0) && (iBrandID < 5))
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
// If successful, hide the main window if we showed it
|
// If successful, hide the main window if we showed it
|
||||||
|
|
|
@ -154,6 +154,12 @@ bool CBOINCGUIApp::OnInit() {
|
||||||
SetAppName(wxT("BOINC Manager"));
|
SetAppName(wxT("BOINC Manager"));
|
||||||
SetVendorName(wxT("Space Sciences Laboratory, U.C. Berkeley"));
|
SetVendorName(wxT("Space Sciences Laboratory, U.C. Berkeley"));
|
||||||
|
|
||||||
|
#ifdef __WXMAC__
|
||||||
|
char displayName[MAXPATHLEN];
|
||||||
|
getDisplayNameForThisApp(displayName, sizeof(displayName));
|
||||||
|
SetAppDisplayName(wxString(displayName)); // {ass the display name to wxWidgets
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
// Initialize the configuration storage module
|
// Initialize the configuration storage module
|
||||||
m_pConfig = new wxConfig(GetAppName());
|
m_pConfig = new wxConfig(GetAppName());
|
||||||
|
@ -273,7 +279,6 @@ bool CBOINCGUIApp::OnInit() {
|
||||||
m_pConfig->Read(wxT("Skin"), &strDesiredSkinName, m_pSkinManager->GetDefaultSkinName());
|
m_pConfig->Read(wxT("Skin"), &strDesiredSkinName, m_pSkinManager->GetDefaultSkinName());
|
||||||
m_pSkinManager->ReloadSkin(strDesiredSkinName);
|
m_pSkinManager->ReloadSkin(strDesiredSkinName);
|
||||||
|
|
||||||
|
|
||||||
#ifdef SANDBOX
|
#ifdef SANDBOX
|
||||||
// Make sure owners, groups and permissions are correct for the current setting of g_use_sandbox
|
// Make sure owners, groups and permissions are correct for the current setting of g_use_sandbox
|
||||||
//
|
//
|
||||||
|
|
|
@ -223,7 +223,8 @@ public:
|
||||||
//
|
//
|
||||||
bool WasFileModifiedBeforeSystemBoot(char * filePath);
|
bool WasFileModifiedBeforeSystemBoot(char * filePath);
|
||||||
void HideThisApp(void);
|
void HideThisApp(void);
|
||||||
|
void getDisplayNameForThisApp(char* pathBuf, size_t bufSize);
|
||||||
|
|
||||||
#if !wxCHECK_VERSION(3,0,1)
|
#if !wxCHECK_VERSION(3,0,1)
|
||||||
// This should be fixed after wxCocoa 3.0.0:
|
// This should be fixed after wxCocoa 3.0.0:
|
||||||
// http://trac.wxwidgets.org/ticket/16156
|
// http://trac.wxwidgets.org/ticket/16156
|
||||||
|
|
|
@ -137,6 +137,19 @@ void CBOINCGUIApp::ShowApplication(bool bShow) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
///
|
||||||
|
/// Gets the display name for this app
|
||||||
|
void CBOINCGUIApp::getDisplayNameForThisApp(char* pathBuf, size_t bufSize) {
|
||||||
|
// Get the app's main bundle
|
||||||
|
NSBundle *main = [NSBundle mainBundle];
|
||||||
|
NSString *thePath = main.localizedInfoDictionary[(NSString *)kCFBundleNameKey];
|
||||||
|
if (thePath == nil) {
|
||||||
|
thePath = [NSProcessInfo processInfo].processName;
|
||||||
|
}
|
||||||
|
strlcpy(pathBuf, [thePath UTF8String], bufSize);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// NSTitledWindowMask is deprecated in OS 10.12 and is replaced by
|
// NSTitledWindowMask is deprecated in OS 10.12 and is replaced by
|
||||||
// NSWindowStyleMaskTitled, which is not defined before OS 10.12
|
// NSWindowStyleMaskTitled, which is not defined before OS 10.12
|
||||||
#ifndef NSWindowStyleMaskTitled
|
#ifndef NSWindowStyleMaskTitled
|
||||||
|
|
|
@ -126,13 +126,15 @@ int SetBOINCAppOwnersGroupsAndPermissions(char *path) {
|
||||||
Boolean isDirectory;
|
Boolean isDirectory;
|
||||||
OSStatus err = noErr;
|
OSStatus err = noErr;
|
||||||
|
|
||||||
#define NUMBRANDS 3
|
#define NUMBRANDS 5
|
||||||
|
|
||||||
char *saverName[NUMBRANDS];
|
char *saverName[NUMBRANDS];
|
||||||
|
|
||||||
saverName[0] = "BOINCSaver";
|
saverName[0] = "BOINCSaver";
|
||||||
saverName[1] = "GridRepublic";
|
saverName[1] = "GridRepublic";
|
||||||
saverName[2] = "Progress Thru Processors";
|
saverName[2] = "Progress Thru Processors";
|
||||||
|
saverName[3] = "Charity Engine";
|
||||||
|
saverName[4] = "World Community Grid";
|
||||||
|
|
||||||
if (geteuid() != 0) {
|
if (geteuid() != 0) {
|
||||||
ShowSecurityError("SetBOINCAppOwnersGroupsAndPermissions must be called as root");
|
ShowSecurityError("SetBOINCAppOwnersGroupsAndPermissions must be called as root");
|
||||||
|
|
|
@ -817,7 +817,7 @@ void CSimpleFrame::OnConnect(CFrameEvent& WXUNUSED(event)) {
|
||||||
fscanf(f, "BrandId=%ld\n", &iBrandID);
|
fscanf(f, "BrandId=%ld\n", &iBrandID);
|
||||||
fclose(f);
|
fclose(f);
|
||||||
}
|
}
|
||||||
if ((iBrandID > 0) && (iBrandID < 4))
|
if ((iBrandID > 0) && (iBrandID < 5))
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
// If successful, hide the main window if we showed it
|
// If successful, hide the main window if we showed it
|
||||||
|
|
|
@ -410,6 +410,9 @@ OSStatus CScreensaver::initBOINCApp() {
|
||||||
case 3:
|
case 3:
|
||||||
m_BrandText = "Charity Engine Desktop";
|
m_BrandText = "Charity Engine Desktop";
|
||||||
break;
|
break;
|
||||||
|
case 4:
|
||||||
|
m_BrandText = "World Community Grid";
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
m_BrandText = "BOINC";
|
m_BrandText = "BOINC";
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -83,6 +83,7 @@ CC_STATUS cc_status;
|
||||||
#define GRIDREPUBLIC_BRAND_ID 1
|
#define GRIDREPUBLIC_BRAND_ID 1
|
||||||
#define PROGRESSTHRUPROCESSORS_BRAND_ID 2
|
#define PROGRESSTHRUPROCESSORS_BRAND_ID 2
|
||||||
#define CHARITYENGINE_BRAND_ID 3
|
#define CHARITYENGINE_BRAND_ID 3
|
||||||
|
#define WORLDCOMMUNITYGRID_BRAND_ID 4
|
||||||
|
|
||||||
char* brand_name = "BOINC";
|
char* brand_name = "BOINC";
|
||||||
char* logo_file = "boinc_logo_black.jpg";
|
char* logo_file = "boinc_logo_black.jpg";
|
||||||
|
@ -535,6 +536,9 @@ int main(int argc, char** argv) {
|
||||||
} else if (brandId == CHARITYENGINE_BRAND_ID) {
|
} else if (brandId == CHARITYENGINE_BRAND_ID) {
|
||||||
brand_name = "Charity Engine";
|
brand_name = "Charity Engine";
|
||||||
logo_file = "CE_ss_logo.jpg";
|
logo_file = "CE_ss_logo.jpg";
|
||||||
|
} else if (brandId == WORLDCOMMUNITYGRID_BRAND_ID) {
|
||||||
|
brand_name = "World Community Grid";
|
||||||
|
logo_file = "wcg_ss_logo.jpg";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -40,7 +40,7 @@ long GetBrandID(void);
|
||||||
static int parse_posic_spawn_command_line(char* p, char** argv);
|
static int parse_posic_spawn_command_line(char* p, char** argv);
|
||||||
int callPosixSpawn(const char *cmd);
|
int callPosixSpawn(const char *cmd);
|
||||||
|
|
||||||
#define NUMBRANDS 4
|
#define NUMBRANDS 5
|
||||||
static char *appName[NUMBRANDS];
|
static char *appName[NUMBRANDS];
|
||||||
static char *appPath[NUMBRANDS];
|
static char *appPath[NUMBRANDS];
|
||||||
static char *brandName[NUMBRANDS];
|
static char *brandName[NUMBRANDS];
|
||||||
|
@ -77,6 +77,9 @@ int main(int argc, char *argv[])
|
||||||
appName[3] = "Charity Engine Desktop";
|
appName[3] = "Charity Engine Desktop";
|
||||||
appPath[3] = "/Applications/Charity Engine Desktop.app";
|
appPath[3] = "/Applications/Charity Engine Desktop.app";
|
||||||
brandName[3] = "Charity Engine";
|
brandName[3] = "Charity Engine";
|
||||||
|
appName[4] = "World Community Grid";
|
||||||
|
appPath[4] = "/Applications/World Community Grid.app";
|
||||||
|
brandName[4] = "World Community Grid";
|
||||||
|
|
||||||
brandID = GetBrandID();
|
brandID = GetBrandID();
|
||||||
|
|
||||||
|
|
|
@ -143,7 +143,7 @@ void notused() {
|
||||||
}
|
}
|
||||||
/* END TEMPORARY ITEMS TO ALLOW TRANSLATORS TO START WORK */
|
/* END TEMPORARY ITEMS TO ALLOW TRANSLATORS TO START WORK */
|
||||||
|
|
||||||
#define NUMBRANDS 4
|
#define NUMBRANDS 5
|
||||||
#define MAX_LANGUAGES_TO_TRY 5
|
#define MAX_LANGUAGES_TO_TRY 5
|
||||||
|
|
||||||
static char * Catalog_Name = (char *)"BOINC-Setup";
|
static char * Catalog_Name = (char *)"BOINC-Setup";
|
||||||
|
@ -222,6 +222,13 @@ int main(int argc, char *argv[])
|
||||||
receiptName[3] = "/Library/Receipts/Charity Engine Installer.pkg";
|
receiptName[3] = "/Library/Receipts/Charity Engine Installer.pkg";
|
||||||
skinName[3] = "Charity Engine";
|
skinName[3] = "Charity Engine";
|
||||||
|
|
||||||
|
appName[4] = "World Community Grid";
|
||||||
|
appPath[4] = "/Applications/World Community Grid.app";
|
||||||
|
brandName[4] = "World Community Grid";
|
||||||
|
saverName[4] = "World Community Grid";
|
||||||
|
receiptName[4] = "/Library/Receipts/World Community Grid Installer.pkg";
|
||||||
|
skinName[4] = "World Community Grid";
|
||||||
|
|
||||||
printf("\nStarting PostInstall app %s\n\n", argv[1]);
|
printf("\nStarting PostInstall app %s\n\n", argv[1]);
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
// getlogin() gives unreliable results under OS 10.6.2, so use environment
|
// getlogin() gives unreliable results under OS 10.6.2, so use environment
|
||||||
|
|
|
@ -390,6 +390,12 @@ static OSStatus DoUninstall(void) {
|
||||||
kill(BOINCManagerPID, SIGTERM);
|
kill(BOINCManagerPID, SIGTERM);
|
||||||
sleep(2);
|
sleep(2);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BOINCManagerPID = getPidIfRunning("edu.berkeley.boinc");
|
||||||
|
if (BOINCManagerPID) {
|
||||||
|
kill(BOINCManagerPID, SIGTERM);
|
||||||
|
}
|
||||||
|
sleep(2);
|
||||||
|
|
||||||
// Core Client may still be running if it was started without Manager
|
// Core Client may still be running if it was started without Manager
|
||||||
coreClientPID = FindProcessPID("boinc", 0);
|
coreClientPID = FindProcessPID("boinc", 0);
|
||||||
|
@ -478,17 +484,22 @@ static OSStatus DoUninstall(void) {
|
||||||
callPosixSpawn ("rm -rf \"/Applications/Charity Engine Desktop.app\"");
|
callPosixSpawn ("rm -rf \"/Applications/Charity Engine Desktop.app\"");
|
||||||
callPosixSpawn ("rm -rf \"/Library/Screen Savers/Charity Engine.saver\"");
|
callPosixSpawn ("rm -rf \"/Library/Screen Savers/Charity Engine.saver\"");
|
||||||
|
|
||||||
|
callPosixSpawn ("rm -rf \"/Applications/World Community Grid.app\"");
|
||||||
|
callPosixSpawn ("rm -rf \"/Library/Screen Savers/World Community Grid.saver\"");
|
||||||
|
|
||||||
// Delete any receipt from an older installer (which had
|
// Delete any receipt from an older installer (which had
|
||||||
// a wrapper application around the installer package.)
|
// a wrapper application around the installer package.)
|
||||||
callPosixSpawn ("rm -rf /Library/Receipts/GridRepublic.pkg");
|
callPosixSpawn ("rm -rf /Library/Receipts/GridRepublic.pkg");
|
||||||
callPosixSpawn ("rm -rf /Library/Receipts/Progress\\ Thru\\ Processors.pkg");
|
callPosixSpawn ("rm -rf /Library/Receipts/Progress\\ Thru\\ Processors.pkg");
|
||||||
callPosixSpawn ("rm -rf /Library/Receipts/Charity\\ Engine.pkg");
|
callPosixSpawn ("rm -rf /Library/Receipts/Charity\\ Engine.pkg");
|
||||||
|
callPosixSpawn ("rm -rf /Library/Receipts/World\\ Community\\ Grid.pkg");
|
||||||
callPosixSpawn ("rm -rf /Library/Receipts/BOINC.pkg");
|
callPosixSpawn ("rm -rf /Library/Receipts/BOINC.pkg");
|
||||||
|
|
||||||
// Delete any receipt from a newer installer (a bare package.)
|
// Delete any receipt from a newer installer (a bare package.)
|
||||||
callPosixSpawn ("rm -rf /Library/Receipts/GridRepublic\\ Installer.pkg");
|
callPosixSpawn ("rm -rf /Library/Receipts/GridRepublic\\ Installer.pkg");
|
||||||
callPosixSpawn ("rm -rf /Library/Receipts/Progress\\ Thru\\ Processors\\ Installer.pkg");
|
callPosixSpawn ("rm -rf /Library/Receipts/Progress\\ Thru\\ Processors\\ Installer.pkg");
|
||||||
callPosixSpawn ("rm -rf /Library/Receipts/Charity\\ Engine\\ Installer.pkg");
|
callPosixSpawn ("rm -rf /Library/Receipts/Charity\\ Engine\\ Installer.pkg");
|
||||||
|
callPosixSpawn ("rm -rf /Library/Receipts/World\\ Community\\ Grid\\ Installer.pkg");
|
||||||
callPosixSpawn ("rm -rf /Library/Receipts/BOINC\\ Installer.pkg");
|
callPosixSpawn ("rm -rf /Library/Receipts/BOINC\\ Installer.pkg");
|
||||||
|
|
||||||
// Phase 5: Set BOINC Data owner and group to logged in user
|
// Phase 5: Set BOINC Data owner and group to logged in user
|
||||||
|
@ -805,6 +816,7 @@ static OSStatus CleanupAllVisibleUsers(void)
|
||||||
DeleteLoginItemOSAScript(pw->pw_name, "GridRepublic Desktop");
|
DeleteLoginItemOSAScript(pw->pw_name, "GridRepublic Desktop");
|
||||||
DeleteLoginItemOSAScript(pw->pw_name, "Progress Thru Processors Desktop");
|
DeleteLoginItemOSAScript(pw->pw_name, "Progress Thru Processors Desktop");
|
||||||
DeleteLoginItemOSAScript(pw->pw_name, "Charity Engine Desktop");
|
DeleteLoginItemOSAScript(pw->pw_name, "Charity Engine Desktop");
|
||||||
|
DeleteLoginItemOSAScript(pw->pw_name, "World Community Grid");
|
||||||
|
|
||||||
#if TESTING
|
#if TESTING
|
||||||
} else {
|
} else {
|
||||||
|
@ -848,6 +860,11 @@ static OSStatus CleanupAllVisibleUsers(void)
|
||||||
changeSaver = true;
|
changeSaver = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (strstr(s, "World Community Grid")) {
|
||||||
|
changeSaver = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
pclose(f);
|
pclose(f);
|
||||||
}
|
}
|
||||||
|
@ -866,6 +883,9 @@ static OSStatus CleanupAllVisibleUsers(void)
|
||||||
if (strstr(s, "Charity Engine")) {
|
if (strstr(s, "Charity Engine")) {
|
||||||
changeSaver = true;
|
changeSaver = true;
|
||||||
}
|
}
|
||||||
|
if (strstr(s, "World Community Grid")) {
|
||||||
|
changeSaver = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -953,6 +973,8 @@ static void DeleteLoginItemFromPListFile(void)
|
||||||
success = DeleteLoginItemNameAtIndexFromPlistFile(counter-1);
|
success = DeleteLoginItemNameAtIndexFromPlistFile(counter-1);
|
||||||
if (strstr(theName, "CHARITY ENGINE DESKTOP"))
|
if (strstr(theName, "CHARITY ENGINE DESKTOP"))
|
||||||
success = DeleteLoginItemNameAtIndexFromPlistFile(counter-1);
|
success = DeleteLoginItemNameAtIndexFromPlistFile(counter-1);
|
||||||
|
if (strstr(theName, "World Community Grid"))
|
||||||
|
success = DeleteLoginItemNameAtIndexFromPlistFile(counter-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif // MANIPULATE_LOGINITEM_PLIST_FILE
|
#endif // MANIPULATE_LOGINITEM_PLIST_FILE
|
||||||
|
|
Loading…
Reference in New Issue