*** empty log message ***

svn path=/trunk/boinc/; revision=9273
This commit is contained in:
Charlie Fenton 2006-01-20 11:44:30 +00:00
parent 991b2c7300
commit 1f0117c798
10 changed files with 185 additions and 54 deletions

View File

@ -674,3 +674,20 @@ David 20 Jan 2006
client/ client/
http_curl.C http_curl.C
Charlie 20 Jan 2006
-Mac: Changes for Grid Republic: remove BOINCManager from Dock;
different plist file for GR; new application icon for GR;
screensaver changes for GR.
Remove obsolete files from XCode project (net_xfer.C,h, http.C,h,
proxy.C,h)
mac_build/
Info.plist
GR_Info.plist (new)
client/
mac/
GR-icon_MAC.icns (new)
clientgui/
mac/
mac_saver_module.cpp

BIN
client/mac/GR-icon_MAC.icns Normal file

Binary file not shown.

View File

@ -46,9 +46,10 @@ OSStatus initBOINCApp(void);
int drawGraphics(GrafPtr aPort); int drawGraphics(GrafPtr aPort);
void drawPreview(GrafPtr aPort); void drawPreview(GrafPtr aPort);
void closeBOINCSaver(void); void closeBOINCSaver(void);
void setBannerText(ConstStringPtr msg, GrafPtr aPort); void setBannerText(const char *msg, GrafPtr aPort);
void updateBannerText(ConstStringPtr msg, GrafPtr aPort); void updateBannerText(char *msg, GrafPtr aPort);
void drawBanner(GrafPtr aPort); void drawBanner(GrafPtr aPort);
int GetBrandID(void);
void FlashIcon(void); void FlashIcon(void);
OSErr FindBOINCApplication(FSSpecPtr applicationFSSpecPtr); OSErr FindBOINCApplication(FSSpecPtr applicationFSSpecPtr);
pid_t FindProcessPID(char* name, pid_t thePID); pid_t FindProcessPID(char* name, pid_t thePID);
@ -60,6 +61,18 @@ OSErr KillScreenSaver();
} // extern "C" } // extern "C"
#endif #endif
// The science application can't display its graphics if, due to Fast User Switching,
// Switching, the active user is not the one who launched BOINC. If we always display
// the progress information as scrolled text whenever a science application is running,
// then the progress text would appear in this case. The text would be covered up by
// the graphics if they are displayed.
// But displaying the scrolled progress info takes up too much CPU time. We need to
// find a way to determine when Fast User Switching prevents graphics display and
// display scrolled progress text only in that case.
// Of course, we also display scrolled progress text when the science application does
// not support graphics).
#define ALWAYS_DISPLAY_PROGRESS_TEXT 0
// Flags for testing & debugging // Flags for testing & debugging
#define SIMULATE_NO_GRAPHICS 0 #define SIMULATE_NO_GRAPHICS 0
#define CREATE_LOG 1 #define CREATE_LOG 1
@ -98,7 +111,7 @@ extern int gBlankingTime; // Delay in minutes before blanking the screen
static Boolean wasAlreadyRunning = false; static Boolean wasAlreadyRunning = false;
static pid_t CoreClientPID = nil; static pid_t CoreClientPID = nil;
static unsigned char msgBuf[2048], bannerText[2048]; static char msgBuf[2048], bannerText[2048];
static int bannerWidth; static int bannerWidth;
static SaverState saverState = SaverState_Idle; static SaverState saverState = SaverState_Idle;
static StringPtr CurrentBannerMessage = 0; static StringPtr CurrentBannerMessage = 0;
@ -109,21 +122,29 @@ MPTaskID gRPC_thread_id; // IDs of the thread we create
int gClientSaverStatus = 0; // status returned by get_screensaver_mode RPC int gClientSaverStatus = 0; // status returned by get_screensaver_mode RPC
Boolean gQuitRPCThread = false; // Flag to tell RPC thread to exit gracefully Boolean gQuitRPCThread = false; // Flag to tell RPC thread to exit gracefully
int gQuitCounter = 0; int gQuitCounter = 0;
long gBrandId = 0;
char * gBrandText = "BOINC";
RGBColor gBrandColor = {0xFFFF, 0xFFFF, 0xFFFF};
RGBColor gTextColor = {0xFFFF, 0xFFFF, 0xFFFF};
RGBColor gWhiteTextColor = {0xFFFF, 0xFFFF, 0xFFFF};
RGBColor gOrangeTextColor = {0xFFFF, 0x6262, 0x0000};
RGBColor gGrayTextColor = {0x9999, 0x9999, 0x9999};
// Display first status update after 5 seconds // Display first status update after 5 seconds
static int statusUpdateCounter = ((STATUSUPDATEINTERVAL-5) * BANNERFREQUENCY); static int statusUpdateCounter = ((STATUSUPDATEINTERVAL-5) * BANNERFREQUENCY);
Boolean gStatusMessageUpdated = false; Boolean gStatusMessageUpdated = false;
const ConstStringPtr CantLaunchCCMsg = "\pUnable to launch BOINC application."; const char * CantLaunchCCMsg = "Unable to launch BOINC application.";
const ConstStringPtr LaunchingCCMsg = "\pLaunching BOINC application."; const char * LaunchingCCMsg = "Launching BOINC application.";
const ConstStringPtr ConnectingCCMsg = "\pConnecting to BOINC application."; const char * ConnectingCCMsg = "Connecting to BOINC application.";
const ConstStringPtr BOINCSuspendedMsg = "\pBOINC is currently suspended."; const char * BOINCSuspendedMsg = "BOINC is currently suspended.";
const ConstStringPtr BOINCNoAppsExecutingMsg = "\pBOINC is currently idle."; const char * BOINCNoAppsExecutingMsg = "BOINC is currently idle.";
const ConstStringPtr BOINCNoProjectsDetectedMsg = "\pBOINC is not attached to any projects. Please attach to projects using the BOINC Manager."; const char * BOINCNoProjectsDetectedMsg = "BOINC is not attached to any projects. Please attach to projects using the BOINC Manager.";
const ConstStringPtr BOINCNoGraphicAppsExecutingMsg = "\pBOINC is currently not executing any applications with graphics"; const char * BOINCNoGraphicAppsExecutingMsg = "BOINC ";
const ConstStringPtr BOINCUnrecoverableErrorMsg = "\pSorry, an unrecoverable error occurred"; const char * BOINCUnrecoverableErrorMsg = "Sorry, an unrecoverable error occurred";
const ConstStringPtr BOINCTestmodeMg = "\pThis BOINC screensaver does not support Test mode"; const char * BOINCTestmodeMg = "This BOINC screensaver does not support Test mode";
//const ConstStringPtr BOINCExitedSaverMode = "\pBOINC is no longer in screensaver mode."; //const char * BOINCExitedSaverMode = "BOINC is no longer in screensaver mode.";
// Returns desired Animation Frequency (per second) or 0 for no change // Returns desired Animation Frequency (per second) or 0 for no change
@ -155,6 +176,20 @@ int initBOINCSaver(Boolean ispreview) {
saverState = SaverState_ControlPanelTestMode; saverState = SaverState_ControlPanelTestMode;
} }
gBrandId = GetBrandID();
switch(gBrandId) {
case 1:
gBrandText = "GridRepublic";
gBrandColor = gOrangeTextColor; // Orange
gTextColor = gGrayTextColor; // Gray
break;
default:
gBrandText = "BOINC";
gBrandColor = gWhiteTextColor; // White
gTextColor = gWhiteTextColor; // White
break;
}
// If there are multiple displays, initBOINCSaver may get called // If there are multiple displays, initBOINCSaver may get called
// multiple times (once for each display), so we need to guard // multiple times (once for each display), so we need to guard
// against launching multiple instances of the core client // against launching multiple instances of the core client
@ -289,12 +324,8 @@ int drawGraphics(GrafPtr aPort) {
switch (gClientSaverStatus) { switch (gClientSaverStatus) {
case 0: case 0:
break; // No status response yet from get_screensaver_mode RPC break; // No status response yet from get_screensaver_mode RPC
case SS_STATUS_ENABLED:
default:
setBannerText(0, aPort); // No text message
// Let the science app draw over our window
break;
case SS_STATUS_BLANKED: case SS_STATUS_BLANKED:
default:
setBannerText(0, aPort); // No text message setBannerText(0, aPort); // No text message
break; break;
case SS_STATUS_BOINCSUSPENDED: case SS_STATUS_BOINCSUSPENDED:
@ -306,9 +337,15 @@ int drawGraphics(GrafPtr aPort) {
case SS_STATUS_NOPROJECTSDETECTED: case SS_STATUS_NOPROJECTSDETECTED:
setBannerText(BOINCNoProjectsDetectedMsg, aPort); setBannerText(BOINCNoProjectsDetectedMsg, aPort);
break; break;
case SS_STATUS_ENABLED:
#if ! ALWAYS_DISPLAY_PROGRESS_TEXT
setBannerText(0, aPort); // No text message
// Let the science app draw over our window
break;
#endif
case SS_STATUS_NOGRAPHICSAPPSEXECUTING: case SS_STATUS_NOGRAPHICSAPPSEXECUTING:
if (msgBuf[0] == 0) { if (msgBuf[0] == 0) {
PLstrcpy(msgBuf, BOINCNoGraphicAppsExecutingMsg); strcpy(msgBuf, BOINCNoGraphicAppsExecutingMsg);
setBannerText(msgBuf, aPort); setBannerText(msgBuf, aPort);
} }
if (gStatusMessageUpdated) { if (gStatusMessageUpdated) {
@ -359,7 +396,7 @@ int drawGraphics(GrafPtr aPort) {
void drawPreview(GrafPtr aPort) { void drawPreview(GrafPtr aPort) {
SetPort(aPort); SetPort(aPort);
setBannerText("\p BOINC", aPort); setBannerText(" BOINC", aPort);
drawBanner(aPort); drawBanner(aPort);
} }
@ -458,12 +495,17 @@ OSStatus RPCThread(void* param) {
#if SIMULATE_NO_GRAPHICS /* FOR TESTING */ #if SIMULATE_NO_GRAPHICS /* FOR TESTING */
gClientSaverStatus = SS_STATUS_NOGRAPHICSAPPSEXECUTING; gClientSaverStatus = SS_STATUS_NOGRAPHICSAPPSEXECUTING;
#endif #endif
if (gClientSaverStatus == SS_STATUS_NOGRAPHICSAPPSEXECUTING) { if ((gClientSaverStatus == SS_STATUS_NOGRAPHICSAPPSEXECUTING)
#if ALWAYS_DISPLAY_PROGRESS_TEXT
|| (gClientSaverStatus == SS_STATUS_ENABLED)
#endif
)
{
if (statusUpdateCounter >= (STATUSUPDATEINTERVAL * BANNERFREQUENCY) ) { if (statusUpdateCounter >= (STATUSUPDATEINTERVAL * BANNERFREQUENCY) ) {
statusUpdateCounter = 0; statusUpdateCounter = 0;
if (! gStatusMessageUpdated) { if (! gStatusMessageUpdated) {
PLstrcpy(msgBuf, BOINCNoGraphicAppsExecutingMsg); strcpy(msgBuf, BOINCNoGraphicAppsExecutingMsg);
MPYield(); MPYield();
val = rpc->get_state(state); val = rpc->get_state(state);
@ -487,11 +529,7 @@ OSStatus RPCThread(void* param) {
results.results.at(iIndex)->fraction_done * 100 results.results.at(iIndex)->fraction_done * 100
); );
// Append C string to Pascal string strlcat(msgBuf, statusBuf, sizeof(msgBuf));
if ((len + msgBuf[0] + 1) < sizeof(msgBuf)) {
BlockMove(statusBuf, msgBuf+msgBuf[0]+1, len);
msgBuf[0] += len;
}
} // end if (pProject != NULL) } // end if (pProject != NULL)
} // end for() loop } // end for() loop
gStatusMessageUpdated = true; gStatusMessageUpdated = true;
@ -514,19 +552,20 @@ OSStatus RPCThread(void* param) {
} }
void setBannerText(ConstStringPtr msg, GrafPtr aPort) { void setBannerText(const char * msg, GrafPtr aPort) {
if (msg == 0) if (msg == 0)
bannerText[0] = 0; bannerText[0] = 0;
if ((ConstStringPtr)CurrentBannerMessage != msg) if ((char *)CurrentBannerMessage != msg)
updateBannerText(msg, aPort); updateBannerText((char *)msg, aPort);
} }
void updateBannerText(ConstStringPtr msg, GrafPtr aPort) { void updateBannerText(char *msg, GrafPtr aPort) {
CGrafPtr savePort; CGrafPtr savePort;
RGBColor saveBackColor; RGBColor saveBackColor;
Rect wRect; Rect wRect;
char *p, *s;
CurrentBannerMessage = (StringPtr)msg; CurrentBannerMessage = (StringPtr)msg;
@ -544,10 +583,22 @@ void updateBannerText(ConstStringPtr msg, GrafPtr aPort) {
RGBBackColor(&saveBackColor); RGBBackColor(&saveBackColor);
if (msg) { if (msg) {
BlockMove(msg, bannerText, msg[0]+1);
TextSize(24); TextSize(24);
TextFace(bold); TextFace(bold);
bannerWidth = StringWidth(bannerText) + BANNER_GAP; s = msg;
bannerText[0] = '\0';
do {
p = strstr(s, "BOINC");
if (p == NULL) {
strcat(bannerText, s);
} else {
strncat(bannerText, s, p - s);
strcat(bannerText, gBrandText);
s = p + 5; // s = p + strlen("BOINC");
}
} while (p);
bannerWidth = TextWidth(bannerText, 0, strlen(bannerText)) + BANNER_GAP;
// Round up bannerWidth to an integral multiple of BANNERDELTA // Round up bannerWidth to an integral multiple of BANNERDELTA
bannerWidth = ((bannerWidth + BANNERDELTA - 1) / BANNERDELTA) * BANNERDELTA; bannerWidth = ((bannerWidth + BANNERDELTA - 1) / BANNERDELTA) * BANNERDELTA;
} }
@ -564,6 +615,7 @@ void drawBanner(GrafPtr aPort) {
Rect wRect; Rect wRect;
FontInfo fInfo; FontInfo fInfo;
static short bannerPos; static short bannerPos;
char *p, *s;
if (aPort == NULL) if (aPort == NULL)
return; return;
@ -573,7 +625,7 @@ void drawBanner(GrafPtr aPort) {
GetForeColor(&saveForeColor); GetForeColor(&saveForeColor);
GetBackColor(&saveBackColor); GetBackColor(&saveBackColor);
ForeColor(whiteColor); RGBForeColor(&gTextColor);
BackColor(blackColor); BackColor(blackColor);
GetPortBounds(aPort, &wRect); GetPortBounds(aPort, &wRect);
if ( (bannerPos + bannerWidth) <= (wRect.left + BANNERDELTA) ) if ( (bannerPos + bannerWidth) <= (wRect.left + BANNERDELTA) )
@ -591,7 +643,20 @@ void drawBanner(GrafPtr aPort) {
do { do {
MoveTo(x, y); MoveTo(x, y);
DrawString(bannerText); s = bannerText;
do {
p = strstr(s, gBrandText);
if (p == NULL) {
DrawText(s, 0, strlen(s));
} else {
DrawText(s, 0, p - s);
RGBForeColor(&gBrandColor);
DrawText(gBrandText, 0, strlen(gBrandText));
s = p + strlen(gBrandText);
RGBForeColor(&gTextColor);
}
} while (p);
x+= bannerWidth; x+= bannerWidth;
} while (x < wRect.right); } while (x < wRect.right);
@ -602,6 +667,31 @@ void drawBanner(GrafPtr aPort) {
} }
int GetBrandID()
{
char buf[1024];
long iBrandId;
OSErr err;
iBrandId = 0; // Default value
err = GetpathToBOINCManagerApp(buf, sizeof(buf));
if (err) // If we couldn't find BOINCManager.app, try default path
strcpy(buf, "/Applications/BOINCManager.app"); //
if (err == noErr) {
strcat(buf, "/Contents/Resources/Branding");
FILE *f = fopen(buf, "r");
if (f) {
fscanf(f, "BrandId=%ld\n", &iBrandId);
fclose(f);
}
}
return iBrandId;
}
static char * PersistentFGets(char *buf, size_t buflen, FILE *f) { static char * PersistentFGets(char *buf, size_t buflen, FILE *f) {
char *p = buf; char *p = buf;
size_t len = buflen; size_t len = buflen;

View File

@ -1,5 +1,5 @@
/* Localized versions of Info.plist keys */ /* Localized versions of Info.plist keys */
CFBundleName = "BOINC"; CFBundleName = "BOINC";
CFBundleShortVersionString = "BOINC version 5.3.9"; CFBundleShortVersionString = "BOINC version 5.3.13";
CFBundleGetInfoString = "BOINC version 5.3.9, Copyright 2005 University of California."; CFBundleGetInfoString = "BOINC version 5.3.13, Copyright 2005 University of California.";

24
mac_build/GR_Info.plist Normal file
View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>GridRepublic</string>
<key>CFBundleIconFile</key>
<string>GridRepublic.icns</string>
<key>CFBundleIdentifier</key>
<string>edu.berkeley.boinc</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleSignature</key>
<string>BNC!</string>
<key>CFBundleVersion</key>
<string>5.3.9</string>
<key>NSUIElement</key>
<string>1</string>
</dict>
</plist>

View File

@ -17,6 +17,8 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>BNC!</string> <string>BNC!</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>5.3.9</string> <string>5.3.13</string>
<key>NSUIElement</key>
<string>1</string>
</dict> </dict>
</plist> </plist>

View File

@ -15,6 +15,6 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>5.3.9</string> <string>5.3.13</string>
</dict> </dict>
</plist> </plist>

View File

@ -17,7 +17,7 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>5.3.9</string> <string>5.3.13</string>
<key>NSPrincipalClass</key> <key>NSPrincipalClass</key>
<string>BOINC_Saver_ModuleView</string> <string>BOINC_Saver_ModuleView</string>
</dict> </dict>

View File

@ -15,6 +15,6 @@
<key>CFBundleSignature</key> <key>CFBundleSignature</key>
<string>????</string> <string>????</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>5.3.9</string> <string>5.3.13</string>
</dict> </dict>
</plist> </plist>

View File

@ -201,7 +201,6 @@
DDD74DA607CF49030065AC9D /* main.C in Sources */ = {isa = PBXBuildFile; fileRef = DD344BCE07C5B0B80043025C /* main.C */; }; DDD74DA607CF49030065AC9D /* main.C in Sources */ = {isa = PBXBuildFile; fileRef = DD344BCE07C5B0B80043025C /* main.C */; };
DDD74DA707CF49040065AC9D /* net_stats.C in Sources */ = {isa = PBXBuildFile; fileRef = F54B8FDA02AC0A0C01FB7237 /* net_stats.C */; }; DDD74DA707CF49040065AC9D /* net_stats.C in Sources */ = {isa = PBXBuildFile; fileRef = F54B8FDA02AC0A0C01FB7237 /* net_stats.C */; };
DDD74DA907CF49090065AC9D /* pers_file_xfer.C in Sources */ = {isa = PBXBuildFile; fileRef = F51CCF1F02EFD37D018DB99A /* pers_file_xfer.C */; }; DDD74DA907CF49090065AC9D /* pers_file_xfer.C in Sources */ = {isa = PBXBuildFile; fileRef = F51CCF1F02EFD37D018DB99A /* pers_file_xfer.C */; };
DDD74DAA07CF490B0065AC9D /* proxy.C in Sources */ = {isa = PBXBuildFile; fileRef = DD344BFA07C5B1A80043025C /* proxy.C */; };
DDD74DAB07CF490C0065AC9D /* scheduler_op.C in Sources */ = {isa = PBXBuildFile; fileRef = F519F98D02C44A7501BDB3CA /* scheduler_op.C */; }; DDD74DAB07CF490C0065AC9D /* scheduler_op.C in Sources */ = {isa = PBXBuildFile; fileRef = F519F98D02C44A7501BDB3CA /* scheduler_op.C */; };
DDD74DAC07CF490D0065AC9D /* ss_logic.C in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6B23046C366200A80164 /* ss_logic.C */; }; DDD74DAC07CF490D0065AC9D /* ss_logic.C in Sources */ = {isa = PBXBuildFile; fileRef = AA8B6B23046C366200A80164 /* ss_logic.C */; };
DDD74DAD07CF490E0065AC9D /* time_stats.C in Sources */ = {isa = PBXBuildFile; fileRef = F54B8FE402AC0A0C01FB7237 /* time_stats.C */; }; DDD74DAD07CF490E0065AC9D /* time_stats.C in Sources */ = {isa = PBXBuildFile; fileRef = F54B8FE402AC0A0C01FB7237 /* time_stats.C */; };
@ -226,6 +225,8 @@
DDD7EF4707F0526E00BA3B90 /* SystemMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = DD40CDFE07F038990096C645 /* SystemMenu.m */; }; DDD7EF4707F0526E00BA3B90 /* SystemMenu.m in Sources */ = {isa = PBXBuildFile; fileRef = DD40CDFE07F038990096C645 /* SystemMenu.m */; };
DDD7F08007F0686100BA3B90 /* SystemMenu.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = DD40CDF907F0386A0096C645 /* SystemMenu.bundle */; }; DDD7F08007F0686100BA3B90 /* SystemMenu.bundle in CopyFiles */ = {isa = PBXBuildFile; fileRef = DD40CDF907F0386A0096C645 /* SystemMenu.bundle */; };
DDDC35260909212D006076EC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F51BDF4903086C46012012A7 /* InfoPlist.strings */; }; DDDC35260909212D006076EC /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = F51BDF4903086C46012012A7 /* InfoPlist.strings */; };
DDEB3AD50980CD180087E200 /* GR_Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = DDEB3AD40980CD180087E200 /* GR_Info.plist */; };
DDEB3AE60980CF890087E200 /* GR-icon_MAC.icns in Resources */ = {isa = PBXBuildFile; fileRef = DDEB3AE50980CF890087E200 /* GR-icon_MAC.icns */; };
DDEF38900802B73500E87552 /* ViewStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DDEF388E0802B73500E87552 /* ViewStatistics.cpp */; }; DDEF38900802B73500E87552 /* ViewStatistics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DDEF388E0802B73500E87552 /* ViewStatistics.cpp */; };
DDF166AB08DF898A00C8C4A5 /* mac_backtrace.C in Sources */ = {isa = PBXBuildFile; fileRef = DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */; }; DDF166AB08DF898A00C8C4A5 /* mac_backtrace.C in Sources */ = {isa = PBXBuildFile; fileRef = DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */; };
DDF166C308DF8AEE00C8C4A5 /* mac_backtrace.C in Sources */ = {isa = PBXBuildFile; fileRef = DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */; }; DDF166C308DF8AEE00C8C4A5 /* mac_backtrace.C in Sources */ = {isa = PBXBuildFile; fileRef = DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */; };
@ -866,6 +867,8 @@
DDB8D5A5081FC8C700A5A1E8 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.csh; name = postinstall; path = ../mac_installer/postinstall; sourceTree = SOURCE_ROOT; }; DDB8D5A5081FC8C700A5A1E8 /* postinstall */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.script.csh; name = postinstall; path = ../mac_installer/postinstall; sourceTree = SOURCE_ROOT; };
DDD74D8707CF482E0065AC9D /* boinc */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = boinc; sourceTree = BUILT_PRODUCTS_DIR; }; DDD74D8707CF482E0065AC9D /* boinc */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = boinc; sourceTree = BUILT_PRODUCTS_DIR; };
DDE2552B07C62F3E008E7D6E /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; }; DDE2552B07C62F3E008E7D6E /* IOKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = IOKit.framework; path = /System/Library/Frameworks/IOKit.framework; sourceTree = "<absolute>"; };
DDEB3AD40980CD180087E200 /* GR_Info.plist */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = text.xml; path = GR_Info.plist; sourceTree = "<group>"; };
DDEB3AE50980CF890087E200 /* GR-icon_MAC.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; name = "GR-icon_MAC.icns"; path = "../client/mac/GR-icon_MAC.icns"; sourceTree = SOURCE_ROOT; };
DDEF388E0802B73500E87552 /* ViewStatistics.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ViewStatistics.cpp; path = ../clientgui/ViewStatistics.cpp; sourceTree = SOURCE_ROOT; }; DDEF388E0802B73500E87552 /* ViewStatistics.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = ViewStatistics.cpp; path = ../clientgui/ViewStatistics.cpp; sourceTree = SOURCE_ROOT; };
DDEF388F0802B73500E87552 /* ViewStatistics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ViewStatistics.h; path = ../clientgui/ViewStatistics.h; sourceTree = SOURCE_ROOT; }; DDEF388F0802B73500E87552 /* ViewStatistics.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = ViewStatistics.h; path = ../clientgui/ViewStatistics.h; sourceTree = SOURCE_ROOT; };
DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = mac_backtrace.C; path = ../lib/mac_backtrace.C; sourceTree = SOURCE_ROOT; }; DDF166A908DF898A00C8C4A5 /* mac_backtrace.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = mac_backtrace.C; path = ../lib/mac_backtrace.C; sourceTree = SOURCE_ROOT; };
@ -898,14 +901,10 @@
F54B8FCD02AC0A0C01FB7237 /* file_xfer.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = file_xfer.C; path = ../client/file_xfer.C; sourceTree = SOURCE_ROOT; }; F54B8FCD02AC0A0C01FB7237 /* file_xfer.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = file_xfer.C; path = ../client/file_xfer.C; sourceTree = SOURCE_ROOT; };
F54B8FCE02AC0A0C01FB7237 /* file_xfer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = file_xfer.h; path = ../client/file_xfer.h; sourceTree = SOURCE_ROOT; }; F54B8FCE02AC0A0C01FB7237 /* file_xfer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = file_xfer.h; path = ../client/file_xfer.h; sourceTree = SOURCE_ROOT; };
F54B8FD302AC0A0C01FB7237 /* hostinfo_unix.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = hostinfo_unix.C; path = ../client/hostinfo_unix.C; sourceTree = SOURCE_ROOT; }; F54B8FD302AC0A0C01FB7237 /* hostinfo_unix.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = hostinfo_unix.C; path = ../client/hostinfo_unix.C; sourceTree = SOURCE_ROOT; };
F54B8FD402AC0A0C01FB7237 /* http.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = http.C; path = ../client/http.C; sourceTree = SOURCE_ROOT; };
F54B8FD502AC0A0C01FB7237 /* http.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = http.h; path = ../client/http.h; sourceTree = SOURCE_ROOT; };
F54B8FD602AC0A0C01FB7237 /* log_flags.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = log_flags.C; path = ../client/log_flags.C; sourceTree = SOURCE_ROOT; }; F54B8FD602AC0A0C01FB7237 /* log_flags.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = log_flags.C; path = ../client/log_flags.C; sourceTree = SOURCE_ROOT; };
F54B8FD702AC0A0C01FB7237 /* log_flags.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = log_flags.h; path = ../client/log_flags.h; sourceTree = SOURCE_ROOT; }; F54B8FD702AC0A0C01FB7237 /* log_flags.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = log_flags.h; path = ../client/log_flags.h; sourceTree = SOURCE_ROOT; };
F54B8FDA02AC0A0C01FB7237 /* net_stats.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = net_stats.C; path = ../client/net_stats.C; sourceTree = SOURCE_ROOT; }; F54B8FDA02AC0A0C01FB7237 /* net_stats.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = net_stats.C; path = ../client/net_stats.C; sourceTree = SOURCE_ROOT; };
F54B8FDB02AC0A0C01FB7237 /* net_stats.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = net_stats.h; path = ../client/net_stats.h; sourceTree = SOURCE_ROOT; }; F54B8FDB02AC0A0C01FB7237 /* net_stats.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = net_stats.h; path = ../client/net_stats.h; sourceTree = SOURCE_ROOT; };
F54B8FDC02AC0A0C01FB7237 /* net_xfer.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = net_xfer.C; path = ../client/net_xfer.C; sourceTree = SOURCE_ROOT; };
F54B8FDD02AC0A0C01FB7237 /* net_xfer.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = net_xfer.h; path = ../client/net_xfer.h; sourceTree = SOURCE_ROOT; };
F54B8FE402AC0A0C01FB7237 /* time_stats.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = time_stats.C; path = ../client/time_stats.C; sourceTree = SOURCE_ROOT; }; F54B8FE402AC0A0C01FB7237 /* time_stats.C */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = time_stats.C; path = ../client/time_stats.C; sourceTree = SOURCE_ROOT; };
F54B8FE502AC0A0C01FB7237 /* time_stats.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = time_stats.h; path = ../client/time_stats.h; sourceTree = SOURCE_ROOT; }; F54B8FE502AC0A0C01FB7237 /* time_stats.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = time_stats.h; path = ../client/time_stats.h; sourceTree = SOURCE_ROOT; };
F54B901502AC0A2201FB7237 /* parse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = parse.h; path = ../lib/parse.h; sourceTree = SOURCE_ROOT; }; F54B901502AC0A2201FB7237 /* parse.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; name = parse.h; path = ../lib/parse.h; sourceTree = SOURCE_ROOT; };
@ -1055,6 +1054,8 @@
DD0C5A8A0816711400CEC5D7 /* boinc.tiff */, DD0C5A8A0816711400CEC5D7 /* boinc.tiff */,
DD48091E081A66F100A174AA /* BOINCSaver.nib */, DD48091E081A66F100A174AA /* BOINCSaver.nib */,
DD64E7D507D89DB800B176C8 /* Info.plist */, DD64E7D507D89DB800B176C8 /* Info.plist */,
DDEB3AD40980CD180087E200 /* GR_Info.plist */,
DDEB3AE50980CF890087E200 /* GR-icon_MAC.icns */,
DDF3028907CCCE2C00701169 /* BOINCMgr.icns */, DDF3028907CCCE2C00701169 /* BOINCMgr.icns */,
F51BDF4903086C46012012A7 /* InfoPlist.strings */, F51BDF4903086C46012012A7 /* InfoPlist.strings */,
); );
@ -1318,8 +1319,6 @@
DD344BC007C5AF280043025C /* hostinfo_network.C */, DD344BC007C5AF280043025C /* hostinfo_network.C */,
DD344BC107C5AF280043025C /* hostinfo_network.h */, DD344BC107C5AF280043025C /* hostinfo_network.h */,
F54B8FD302AC0A0C01FB7237 /* hostinfo_unix.C */, F54B8FD302AC0A0C01FB7237 /* hostinfo_unix.C */,
F54B8FD402AC0A0C01FB7237 /* http.C */,
F54B8FD502AC0A0C01FB7237 /* http.h */,
DD33C70208B5BEDE00768630 /* http_curl.C */, DD33C70208B5BEDE00768630 /* http_curl.C */,
DD33C70308B5BEDE00768630 /* http_curl.h */, DD33C70308B5BEDE00768630 /* http_curl.h */,
F54B8FD602AC0A0C01FB7237 /* log_flags.C */, F54B8FD602AC0A0C01FB7237 /* log_flags.C */,
@ -1330,8 +1329,6 @@
F54B8FDB02AC0A0C01FB7237 /* net_stats.h */, F54B8FDB02AC0A0C01FB7237 /* net_stats.h */,
DD33C6FB08B5BC2600768630 /* net_xfer_curl.h */, DD33C6FB08B5BC2600768630 /* net_xfer_curl.h */,
DD33C6FC08B5BC2600768630 /* net_xfer_curl.C */, DD33C6FC08B5BC2600768630 /* net_xfer_curl.C */,
F54B8FDC02AC0A0C01FB7237 /* net_xfer.C */,
F54B8FDD02AC0A0C01FB7237 /* net_xfer.h */,
F51CCF1F02EFD37D018DB99A /* pers_file_xfer.C */, F51CCF1F02EFD37D018DB99A /* pers_file_xfer.C */,
F51CCF1E02EFD37D018DB99A /* pers_file_xfer.h */, F51CCF1E02EFD37D018DB99A /* pers_file_xfer.h */,
DD344BFA07C5B1A80043025C /* proxy.C */, DD344BFA07C5B1A80043025C /* proxy.C */,
@ -2056,6 +2053,8 @@
DD095EF407D87B1600362260 /* boinc in Resources */, DD095EF407D87B1600362260 /* boinc in Resources */,
DD095F5A07D883E500362260 /* BOINCMgr.icns in Resources */, DD095F5A07D883E500362260 /* BOINCMgr.icns in Resources */,
DD095F5B07D883E600362260 /* InfoPlist.strings in Resources */, DD095F5B07D883E600362260 /* InfoPlist.strings in Resources */,
DDEB3AD50980CD180087E200 /* GR_Info.plist in Resources */,
DDEB3AE60980CF890087E200 /* GR-icon_MAC.icns in Resources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
}; };
@ -2138,14 +2137,14 @@
files = ( files = (
); );
inputPaths = ( inputPaths = (
$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib.sit, "${BUILD_DIR}/../../clientgui/mac/BOINCSaver.nib.sit",
); );
outputPaths = ( outputPaths = (
$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib, "${BUILD_DIR}/../../clientgui/mac/BOINCSaver.nib",
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh; shellPath = /bin/sh;
shellScript = "rm -dfR \"$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib\"\nopen \"$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib.sit\"\nsleep 6\ntouch \"$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib\""; shellScript = "if [ ! \"$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib\" -nt \"$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib.sit\" ]; then\nrm -dfR \"$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib\"\nopen \"$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib.sit\"\nsleep 6\ntouch \"$BUILD_DIR/../../clientgui/mac/BOINCSaver.nib\"\nfi\n";
}; };
/* End PBXShellScriptBuildPhase section */ /* End PBXShellScriptBuildPhase section */
@ -2377,7 +2376,6 @@
DDD74DA607CF49030065AC9D /* main.C in Sources */, DDD74DA607CF49030065AC9D /* main.C in Sources */,
DDD74DA707CF49040065AC9D /* net_stats.C in Sources */, DDD74DA707CF49040065AC9D /* net_stats.C in Sources */,
DDD74DA907CF49090065AC9D /* pers_file_xfer.C in Sources */, DDD74DA907CF49090065AC9D /* pers_file_xfer.C in Sources */,
DDD74DAA07CF490B0065AC9D /* proxy.C in Sources */,
DDD74DAB07CF490C0065AC9D /* scheduler_op.C in Sources */, DDD74DAB07CF490C0065AC9D /* scheduler_op.C in Sources */,
DDD74DAC07CF490D0065AC9D /* ss_logic.C in Sources */, DDD74DAC07CF490D0065AC9D /* ss_logic.C in Sources */,
DDD74DAD07CF490E0065AC9D /* time_stats.C in Sources */, DDD74DAD07CF490E0065AC9D /* time_stats.C in Sources */,