]> git.saurik.com Git - wxWidgets.git/commitdiff
unifying CFTypes
authorStefan Csomor <csomor@advancedconcepts.ch>
Sat, 8 Dec 2007 17:41:07 +0000 (17:41 +0000)
committerStefan Csomor <csomor@advancedconcepts.ch>
Sat, 8 Dec 2007 17:41:07 +0000 (17:41 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50576 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/mac/corefoundation/cfstring.cpp
src/mac/corefoundation/hid.cpp
src/mac/corefoundation/stdpaths_cf.cpp
src/mac/corefoundation/utilsexc_base.cpp

index c7b9bb7b6ac8a8a2f455c8460ea46384fdd7f7e4..9ac251a09f0669f7939f952beffb171f51a370d1 100644 (file)
 
 #include "wx/mac/corefoundation/cfstring.h"
 
-#ifdef __DARWIN__
-    #include <CoreServices/CoreServices.h>
-#else
-    #include <TextCommon.h>
-#endif
+#include <CoreServices/CoreServices.h>
 
 void wxMacConvertNewlines13To10( char * data )
 {
@@ -593,25 +589,16 @@ wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding)
 
 
 //
-// CFStringRefs (Carbon only)
+// CFStringRefs
 //
 
-// converts this string into a carbon foundation string with optional pc 2 mac encoding
+// converts this string into a core foundation string with optional pc 2 mac encoding
 
-void wxMacCFStringHolder::Assign( CFStringRef ref , bool release )
+wxCFStringRef::wxCFStringRef( const wxString &st , wxFontEncoding WXUNUSED_IN_UNICODE(encoding) )
 {
-    Release();
-    m_cfs = ref;
-    m_release = release;
-}
-
-void wxMacCFStringHolder::Assign( const wxString &st , wxFontEncoding WXUNUSED_IN_UNICODE(encoding) )
-{
-    Release() ;
     if (st.IsEmpty())
     {
-        m_cfs = CFSTR("") ;
-        CFRetain( m_cfs ) ;
+        reset( wxCFRetain( CFSTR("") ) );
     }
     else
     {
@@ -619,8 +606,8 @@ void wxMacCFStringHolder::Assign( const wxString &st , wxFontEncoding WXUNUSED_I
         wxMacConvertNewlines13To10( &str ) ;
 #if wxUSE_UNICODE
 #if SIZEOF_WCHAR_T == 2
-        m_cfs = CFStringCreateWithCharacters( kCFAllocatorDefault,
-            (UniChar*)str.wc_str() , str.Len() );
+        reset( CFStringCreateWithCharacters( kCFAllocatorDefault,
+            (UniChar*)str.wc_str() , str.Len() ) );
 #else
         wxMBConvUTF16 converter ;
         size_t unicharlen = converter.WC2MB( NULL , str.wc_str() , 0 ) ;
@@ -631,30 +618,29 @@ void wxMacCFStringHolder::Assign( const wxString &st , wxFontEncoding WXUNUSED_I
         delete[] unibuf ;
 #endif
 #else // not wxUSE_UNICODE
-        m_cfs = CFStringCreateWithCString( kCFAllocatorSystemDefault , str.c_str() ,
-            wxMacGetSystemEncFromFontEnc( encoding ) ) ;
+        reset( CFStringCreateWithCString( kCFAllocatorSystemDefault , str.c_str() ,
+            wxMacGetSystemEncFromFontEnc( encoding ) ) );
 #endif
     }
-    m_release = true ;
 }
 
-wxString wxMacCFStringHolder::AsString(wxFontEncoding WXUNUSED_IN_UNICODE(encoding))
+wxString wxCFStringRef::AsString(wxFontEncoding WXUNUSED_IN_UNICODE(encoding))
 {
-    if ( m_cfs == NULL )
+    if ( !get() )
         return wxEmptyString ;
 
-    Size cflen = CFStringGetLength( m_cfs )  ;
+    Size cflen = CFStringGetLength( get() )  ;
     size_t noChars ;
     wxChar* buf = NULL ;
 
 #if wxUSE_UNICODE
 #if SIZEOF_WCHAR_T == 2
     buf = new wxChar[ cflen + 1 ] ;
-    CFStringGetCharacters( m_cfs , CFRangeMake( 0 , cflen ) , (UniChar*) buf ) ;
+    CFStringGetCharacters( get() , CFRangeMake( 0 , cflen ) , (UniChar*) buf ) ;
     noChars = cflen ;
 #else
     UniChar* unibuf = new UniChar[ cflen + 1 ] ;
-    CFStringGetCharacters( m_cfs , CFRangeMake( 0 , cflen ) , (UniChar*) unibuf ) ;
+    CFStringGetCharacters( get() , CFRangeMake( 0 , cflen ) , (UniChar*) unibuf ) ;
     unibuf[cflen] = 0 ;
     wxMBConvUTF16 converter ;
     noChars = converter.MB2WC( NULL , (const char*)unibuf , 0 ) ;
@@ -666,10 +652,10 @@ wxString wxMacCFStringHolder::AsString(wxFontEncoding WXUNUSED_IN_UNICODE(encodi
 #endif
 #else
     CFIndex cStrLen ;
-    CFStringGetBytes( m_cfs , CFRangeMake(0, cflen) , wxMacGetSystemEncFromFontEnc( encoding ) ,
+    CFStringGetBytes( get() , CFRangeMake(0, cflen) , wxMacGetSystemEncFromFontEnc( encoding ) ,
         '?' , false , NULL , 0 , &cStrLen ) ;
     buf = new wxChar[ cStrLen + 1 ] ;
-    CFStringGetBytes( m_cfs , CFRangeMake(0, cflen) , wxMacGetSystemEncFromFontEnc( encoding ) ,
+    CFStringGetBytes( get() , CFRangeMake(0, cflen) , wxMacGetSystemEncFromFontEnc( encoding ) ,
         '?' , false , (unsigned char*) buf , cStrLen , &cStrLen) ;
     noChars = cStrLen ;
 #endif
@@ -681,6 +667,9 @@ wxString wxMacCFStringHolder::AsString(wxFontEncoding WXUNUSED_IN_UNICODE(encodi
     return result ;
 }
 
+//
+// wxMacUniCharBuffer
+//
 
 wxMacUniCharBuffer::wxMacUniCharBuffer( const wxString &str )
 {
index c820d8d941c496c38a9f7c2149ea985e8c619e58..fb9a4d051d21b7b7cb95c5d71a1b0994f3dc07c2 100644 (file)
@@ -140,8 +140,7 @@ bool wxHIDDevice::Create (int nClass, int nType, int nDev)
         CFStringRef cfsProduct = (CFStringRef)
             CFDictionaryGetValue(pDictionary, CFSTR(kIOHIDProductKey));
         m_szProductName =
-            wxMacCFStringHolder( cfsProduct,
-                                    false
+            wxCFStringRef( wxCFRetain(cfsProduct)
                                ).AsString();
 
         //Get the Product ID Key
index 928b6dc1ad6376536fbbe17df11218d9b788ae20..5d93769869e4f3b69dcb3ccca070dbc9489222d3 100644 (file)
@@ -85,7 +85,7 @@ static wxString BundleRelativeURLToPath(CFURLRef relativeURL)
     wxCHECK_MSG(absoluteURL, wxEmptyString, wxT("Failed to resolve relative URL to absolute URL"));
     CFStringRef cfStrPath = CFURLCopyFileSystemPath(absoluteURL,kDefaultPathStyle);
     CFRelease(absoluteURL);
-    return wxMacCFStringHolder(cfStrPath).AsString(wxLocale::GetSystemEncoding());
+    return wxCFStringRef(cfStrPath).AsString(wxLocale::GetSystemEncoding());
 }
 
 wxString wxStandardPathsCF::GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const
index b1ed128295459e88fc6f99d51fa52858d92b68e3..878d2ed8142f69062b9d974033a4da7a4fa88d8b 100644 (file)
@@ -87,7 +87,7 @@ long wxMacExecute(wxChar **argv,
     CFURLRef cfurlApp =
         CFURLCreateWithFileSystemPath(
             kCFAllocatorDefault,
-            wxMacCFStringHolder(path),
+            wxCFStringRef(path),
             kDefaultPathStyle,
             true); //false == not a directory
 
@@ -155,7 +155,7 @@ long wxMacExecute(wxChar **argv,
             // First, try creating as a directory
             cfurlCurrentFile = CFURLCreateWithFileSystemPath(
                                 kCFAllocatorDefault,
-                                wxMacCFStringHolder(*argv),
+                                wxCFStringRef(*argv),
                                 kDefaultPathStyle,
                                 true); //true == directory
         }
@@ -165,7 +165,7 @@ long wxMacExecute(wxChar **argv,
             // as a regular file
             cfurlCurrentFile = CFURLCreateWithFileSystemPath(
                                 kCFAllocatorDefault,
-                                wxMacCFStringHolder(*argv),
+                                wxCFStringRef(*argv),
                                 kDefaultPathStyle,
                                 false); //false == regular file
         }
@@ -176,7 +176,7 @@ long wxMacExecute(wxChar **argv,
             // so try creating it through CFURLCreateWithString
             cfurlCurrentFile = CFURLCreateWithString(
                                 kCFAllocatorDefault,
-                                wxMacCFStringHolder(*argv),
+                                wxCFStringRef(*argv),
                                 NULL);
         }