]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/osx/evtloopsrc.h
Use CFSocket instead of CFFileDescriptor in wxCFEventLoopSource.
[wxWidgets.git] / include / wx / osx / evtloopsrc.h
index 22ab30a5adcc0b97b0171b5a516bc57f8f542d0a..aff48d6bf988ac7e6904e31d36b7c9dc54186eb4 100644 (file)
@@ -3,7 +3,7 @@
 // Purpose:     wxCFEventLoopSource class
 // Author:      Vadim Zeitlin
 // Created:     2009-10-21
-// RCS-ID:      $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $
+// RCS-ID:      $Id$
 // Copyright:   (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 #ifndef _WX_OSX_EVTLOOPSRC_H_
 #define _WX_OSX_EVTLOOPSRC_H_
 
-typedef struct __CFFileDescriptor *CFFileDescriptorRef;
+typedef struct __CFSocket* CFSocketRef;
 
 // ----------------------------------------------------------------------------
 // wxCFEventLoopSource: CoreFoundation-based wxEventLoopSource for OS X
 // ----------------------------------------------------------------------------
 
-class wxCFEventLoopSource : public wxEventLoopSource
+class WXDLLIMPEXP_BASE wxCFEventLoopSource : public wxEventLoopSource
 {
 public:
+    // Create a new source in uninitialized state, call InitSocketRef() later
+    // to associate it with the socket it is going to use.
     wxCFEventLoopSource(wxEventLoopSourceHandler *handler, int flags)
         : wxEventLoopSource(handler, flags)
     {
-        m_cffd = NULL;
+        m_cfSocket = NULL;
     }
 
-    // we take ownership of this CFFileDescriptorRef
-    void SetFileDescriptor(CFFileDescriptorRef cffd);
+    // Finish initialization of the event loop source by providing the
+    // associated socket. This object takes ownership of it and will release it.
+    void InitSourceSocket(CFSocketRef cfSocket);
 
+    // Destructor deletes the associated socket.
     virtual ~wxCFEventLoopSource();
 
 private:
-    CFFileDescriptorRef m_cffd;
+    CFSocketRef m_cfSocket;
 
     wxDECLARE_NO_COPY_CLASS(wxCFEventLoopSource);
 };