X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/489468feaa08b8f504735eecca522fb8d0f825d2..bc5c09a3aa3662137da2d781c0b101a598d2650d:/src/osx/core/utilsexc_base.cpp diff --git a/src/osx/core/utilsexc_base.cpp b/src/osx/core/utilsexc_base.cpp index 377b2464be..7c5c828048 100644 --- a/src/osx/core/utilsexc_base.cpp +++ b/src/osx/core/utilsexc_base.cpp @@ -39,11 +39,68 @@ // More WX Includes #include "wx/filename.h" -#include "wx/mac/corefoundation/cfstring.h" +#include "wx/osx/core/cfstring.h" +#include "wx/osx/core/private.h" // Default path style #define kDefaultPathStyle kCFURLPOSIXPathStyle +#if wxUSE_SOCKETS +// global pointer which lives in the base library, set from the net one (see +// sockosx.cpp) and used from the GUI code (see utilsexc_cf.cpp) -- ugly but +// needed hack, see the above-mentioned files for more information +class wxSocketManager; +extern WXDLLIMPEXP_BASE wxSocketManager *wxOSXSocketManagerCF; +wxSocketManager *wxOSXSocketManagerCF = NULL; +#endif // wxUSE_SOCKETS + +extern bool WXDLLEXPORT wxIsDebuggerRunning() +{ + // TODO : try to find out ... + return false; +} + +#if wxOSX_USE_COCOA_OR_CARBON + +// have a fast version for mac code that returns the version as a return value + +long UMAGetSystemVersion() +{ + static SInt32 sUMASystemVersion = 0 ; + if ( sUMASystemVersion == 0 ) + { + verify_noerr(Gestalt(gestaltSystemVersion, &sUMASystemVersion)); + } + return sUMASystemVersion ; +} + +// our OS version is the same in non GUI and GUI cases +wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn) +{ + SInt32 theSystem; + Gestalt(gestaltSystemVersion, &theSystem); + + if ( majorVsn != NULL ) + *majorVsn = (theSystem >> 8); + + if ( minorVsn != NULL ) + *minorVsn = (theSystem & 0xFF); + + return wxOS_MAC_OSX_DARWIN; +} + +#include + +wxString wxGetOsDescription() +{ + struct utsname name; + uname(&name); + return wxString::Format(wxT("Mac OS X (%s %s %s)"), + wxString::FromAscii(name.sysname).c_str(), + wxString::FromAscii(name.release).c_str(), + wxString::FromAscii(name.machine).c_str()); +} + //=========================================================================== // IMPLEMENTATION //=========================================================================== @@ -134,8 +191,8 @@ bool wxMacLaunch(char **argv) // Loop through command line arguments to the bundle, // turn them into CFURLs and then put them in cfaFiles // For use to launch services call - for( ; *argv != NULL ; ++argv) - { + for( ; *argv != NULL ; ++argv) + { // Check for '<' as this will ring true for // CFURLCreateWithString but is generally not considered // typical on mac but is usually passed here from wxExecute @@ -187,12 +244,12 @@ bool wxMacLaunch(char **argv) // Add the valid CFURL to the argument array and then // release it as the CFArray adds a ref count to it - CFArrayAppendValue( - cfaFiles, - cfurlCurrentFile - ); - CFRelease(cfurlCurrentFile); // array has retained it - } + CFArrayAppendValue( + cfaFiles, + cfurlCurrentFile + ); + CFRelease(cfurlCurrentFile); // array has retained it + } // Create a LSLaunchURLSpec for use with LSOpenFromURLSpec // Note that there are several flag options (launchFlags) such @@ -227,3 +284,4 @@ bool wxMacLaunch(char **argv) return true ; } +#endif // wxOSX_USE_COCOA_OR_CARBON