]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/corefoundation/cfstring.h
Linker fix for non-PM builds.
[wxWidgets.git] / include / wx / mac / corefoundation / cfstring.h
index 16a95cf2ffa157fcba1ee4c495b0de93c9e1dde0..4a8ea3b503f6a5b00c4a6f168e59fd94b7267bd4 100644 (file)
@@ -1,25 +1,23 @@
 /////////////////////////////////////////////////////////////////////////////
 // Name:        wx/mac/corefoundation/cfstring.h
-// Purpose:     wxMacCFStringHolder and other string functions
+// Purpose:     wxCFStringRef and other string functions
 // Author:      Stefan Csomor
 // Modified by:
 // Created:     2004-10-29 (from code in wx/mac/carbon/private.h)
 // RCS-ID:      $Id$
 // Copyright:   (c) Stefan Csomor
 // Licence:     wxWindows licence
+// Usage:       Darwin (base library)
 /////////////////////////////////////////////////////////////////////////////
 
 #ifndef __WX_CFSTRINGHOLDER_H__
 #define __WX_CFSTRINGHOLDER_H__
 
-#ifdef __DARWIN__
-    #include <CoreFoundation/CFString.h>
-#else
-    #include <CFString.h>
-#endif
+#include <CoreFoundation/CFString.h>
 
 #include "wx/dlimpexp.h"
 #include "wx/fontenc.h"
+#include "wx/mac/corefoundation/cfref.h"
 
 class WXDLLIMPEXP_FWD_BASE wxString;
 
@@ -33,58 +31,33 @@ WXDLLIMPEXP_BASE wxUint32 wxMacGetSystemEncFromFontEnc(wxFontEncoding encoding)
 WXDLLIMPEXP_BASE wxFontEncoding wxMacGetFontEncFromSystemEnc(wxUint32 encoding) ;
 WXDLLIMPEXP_BASE void wxMacWakeUp() ;
 
-class WXDLLIMPEXP_BASE wxMacCFStringHolder
+class WXDLLIMPEXP_BASE wxCFStringRef : public wxCFRef< CFStringRef >
 {
 public:
-    wxMacCFStringHolder()
-        : m_cfs(NULL) , m_release(false)
+    wxCFStringRef()
     {
     }
 
-    wxMacCFStringHolder(const wxString &str,
-                        wxFontEncoding encoding = wxFONTENCODING_DEFAULT)
-        : m_cfs(NULL) , m_release(false)
-    {
-        Assign( str , encoding ) ;
-    }
-
-    wxMacCFStringHolder(CFStringRef ref , bool release = true )
-        : m_cfs(ref) , m_release(release)
-    {
-    }
+    wxCFStringRef(const wxString &str,
+                        wxFontEncoding encoding = wxFONTENCODING_DEFAULT) ;
 
-    ~wxMacCFStringHolder()
+    wxCFStringRef(CFStringRef ref)
+        : wxCFRef< CFStringRef >(ref) 
     {
-        Release() ;
     }
 
-    CFStringRef Detach()
+    wxCFStringRef(const wxCFStringRef& otherRef )
+        : wxCFRef< CFStringRef >(otherRef) 
     {
-        CFStringRef retval = m_cfs ;
-        m_release = false ;
-        m_cfs = NULL ;
-        return retval ;
     }
 
-    void Release()
+    ~wxCFStringRef()
     {
-        if ( m_release && m_cfs)
-            CFRelease( m_cfs ) ;
-        m_cfs = NULL ;
     }
 
-    void Assign(const wxString &str,
-                wxFontEncoding encoding = wxFONTENCODING_DEFAULT);
-
-    operator CFStringRef () const { return m_cfs; }
     wxString AsString( wxFontEncoding encoding = wxFONTENCODING_DEFAULT ) ;
 
 private:
-
-    CFStringRef m_cfs;
-    bool m_release ;
-
-    DECLARE_NO_COPY_CLASS( wxMacCFStringHolder )
 } ;
 
 // corresponding class for holding UniChars (native unicode characters)