]> 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 3c18bba764624caba84e2261dd1a3a8ce4bddb66..aff48d6bf988ac7e6904e31d36b7c9dc54186eb4 100644 (file)
 #ifndef _WX_OSX_EVTLOOPSRC_H_
 #define _WX_OSX_EVTLOOPSRC_H_
 
 #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
 // ----------------------------------------------------------------------------
 
 
 // ----------------------------------------------------------------------------
 // wxCFEventLoopSource: CoreFoundation-based wxEventLoopSource for OS X
 // ----------------------------------------------------------------------------
 
-class wxCFEventLoopSource : public wxEventLoopSource
+class WXDLLIMPEXP_BASE wxCFEventLoopSource : public wxEventLoopSource
 {
 public:
 {
 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)
     {
     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:
     virtual ~wxCFEventLoopSource();
 
 private:
-    CFFileDescriptorRef m_cffd;
+    CFSocketRef m_cfSocket;
 
     wxDECLARE_NO_COPY_CLASS(wxCFEventLoopSource);
 };
 
     wxDECLARE_NO_COPY_CLASS(wxCFEventLoopSource);
 };