]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/core/utilsexc_base.cpp
Use the data scheme to load resources in the WebKitGTK+ implementation, rather than...
[wxWidgets.git] / src / osx / core / utilsexc_base.cpp
index 38fe12a12d03cab8a0d8111f264a1d87d8f06ec1..84f8a0e3a3d5daf2fa6794a2e87b2a8f3e0d6824 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
 /////////////////////////////////////////////////////////////////////////////
-// Name:        mac/corefoundation/utilsexc_base.cpp
+// Name:        src/osx/core/utilsexc_base.cpp
 // Purpose:     wxMacLaunch
 // Author:      Ryan Norton
 // Modified by:
 // Purpose:     wxMacLaunch
 // Author:      Ryan Norton
 // Modified by:
 // Default path style
 #define kDefaultPathStyle kCFURLPOSIXPathStyle
 
 // 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;
 }
 
 extern bool WXDLLEXPORT wxIsDebuggerRunning()
 {
     // TODO : try to find out ...
     return false;
 }
 
-#if wxOSX_USE_COCOA_OR_CARBON
+#if ( !wxUSE_GUI && !wxOSX_USE_IPHONE ) || wxOSX_USE_COCOA_OR_CARBON
 
 // have a fast version for mac code that returns the version as a return value
 
 
 // have a fast version for mac code that returns the version as a return value
 
-long UMAGetSystemVersion() 
-{ 
+long UMAGetSystemVersion()
+{
     static SInt32 sUMASystemVersion = 0 ;
     if ( sUMASystemVersion == 0 )
     {
         verify_noerr(Gestalt(gestaltSystemVersion, &sUMASystemVersion));
     }
     static SInt32 sUMASystemVersion = 0 ;
     if ( sUMASystemVersion == 0 )
     {
         verify_noerr(Gestalt(gestaltSystemVersion, &sUMASystemVersion));
     }
-    return sUMASystemVersion ; 
+    return sUMASystemVersion ;
 }
 
 // our OS version is the same in non GUI and GUI cases
 wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn)
 {
 }
 
 // our OS version is the same in non GUI and GUI cases
 wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn)
 {
+    // This returns 10 and 6 for OS X 10.6, consistent with behaviour on
+    // other platforms.
+    SInt32 maj, min;
+    Gestalt(gestaltSystemVersionMajor, &maj);
+    Gestalt(gestaltSystemVersionMinor, &min);
+
+    if ( majorVsn != NULL )
+        *majorVsn = maj;
+
+    if ( minorVsn != NULL )
+        *minorVsn = min;
+
+#if 0
     SInt32 theSystem;
     Gestalt(gestaltSystemVersion, &theSystem);
 
     SInt32 theSystem;
     Gestalt(gestaltSystemVersion, &theSystem);
 
@@ -76,7 +98,7 @@ wxOperatingSystemId wxGetOsVersion(int *majorVsn, int *minorVsn)
 
     if ( minorVsn != NULL )
         *minorVsn = (theSystem & 0xFF);
 
     if ( minorVsn != NULL )
         *minorVsn = (theSystem & 0xFF);
-
+#endif
     return wxOS_MAC_OSX_DARWIN;
 }
 
     return wxOS_MAC_OSX_DARWIN;
 }
 
@@ -86,14 +108,12 @@ wxString wxGetOsDescription()
 {
     struct utsname name;
     uname(&name);
 {
     struct utsname name;
     uname(&name);
-    return wxString::Format(_T("Mac OS X (%s %s %s)"),
+    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());
 }
 
             wxString::FromAscii(name.sysname).c_str(),
             wxString::FromAscii(name.release).c_str(),
             wxString::FromAscii(name.machine).c_str());
 }
 
-#endif // wxOSX_USE_COCOA_OR_CARBON
-
 //===========================================================================
 //  IMPLEMENTATION
 //===========================================================================
 //===========================================================================
 //  IMPLEMENTATION
 //===========================================================================
@@ -184,8 +204,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
     // 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
         // Check for '<' as this will ring true for
         // CFURLCreateWithString but is generally not considered
         // typical on mac but is usually passed here from wxExecute
@@ -237,12 +257,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
 
         // 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
 
     // Create a LSLaunchURLSpec for use with LSOpenFromURLSpec
     // Note that there are several flag options (launchFlags) such
@@ -277,3 +297,4 @@ bool wxMacLaunch(char **argv)
     return true ;
 }
 
     return true ;
 }
 
+#endif // wxOSX_USE_COCOA_OR_CARBON