Cleanly separate GUI socket-related code from net library.
This fixes linking problems under Unix introduced by recent changes which fixed previous problems which were due to files not being linked in at all. In order to provide a clean separation between base, net and core libraries we now use the same wxSocketManager (wxSocketFDBasedManager), defined in net library for both console and GUI Unix applications and just use different FD IO manager for them: the latter can be defined in base and core libraries as it doesn't involve wxSocketImpl at all, only its base wxFDIOHandler class. At more detailed level, these changes required: 1. Adding the new wxFDIOManager class. 2. Refactoring the old (and now removed) wxSocketFDIOManager to use the same code as wxSocketFDIOManager. This involved: a) Adding handler and direction parameter to RemoveInput(). b) Storing the mask of registered events in wxFDIOHandler itself. c) Defining wxFDIOManagerUnix which works with wxFDIODispatcher. 3. Changing the traits classes in Unix ports to define GetFDIOManager() instead of GetSocketManager(). git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61688 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
b79dfbca98
commit
6bcc1145fe
304
Makefile.in
304
Makefile.in
@ -746,16 +746,17 @@ ALL_BASE_SOURCES = \
|
||||
src/common/zstream.cpp \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/dir.cpp \
|
||||
src/unix/dlunix.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/fdiounix.cpp \
|
||||
src/unix/snglinst.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/stdpaths.cpp \
|
||||
src/unix/timerunx.cpp \
|
||||
src/unix/threadpsx.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/utilsunx.cpp \
|
||||
src/unix/mimetype.cpp \
|
||||
src/msw/basemsw.cpp \
|
||||
@ -1965,16 +1966,17 @@ COND_USE_STC_1___wxscintilla___depname = \
|
||||
COND_TOOLKIT__BASE_OSX_SRC = \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/dir.cpp \
|
||||
src/unix/dlunix.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/fdiounix.cpp \
|
||||
src/unix/snglinst.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/stdpaths.cpp \
|
||||
src/unix/timerunx.cpp \
|
||||
src/unix/threadpsx.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/utilsunx.cpp \
|
||||
src/unix/mimetype.cpp \
|
||||
src/osx/core/cfstring.cpp \
|
||||
@ -1985,16 +1987,17 @@ COND_TOOLKIT__BASE_OSX_SRC = \
|
||||
COND_TOOLKIT_COCOA_BASE_OSX_SRC = \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/dir.cpp \
|
||||
src/unix/dlunix.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/fdiounix.cpp \
|
||||
src/unix/snglinst.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/stdpaths.cpp \
|
||||
src/unix/timerunx.cpp \
|
||||
src/unix/threadpsx.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/utilsunx.cpp \
|
||||
src/unix/mimetype.cpp \
|
||||
src/osx/core/cfstring.cpp \
|
||||
@ -2005,16 +2008,17 @@ COND_TOOLKIT_COCOA_BASE_OSX_SRC = \
|
||||
COND_TOOLKIT_GTK_BASE_OSX_SRC = \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/dir.cpp \
|
||||
src/unix/dlunix.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/fdiounix.cpp \
|
||||
src/unix/snglinst.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/stdpaths.cpp \
|
||||
src/unix/timerunx.cpp \
|
||||
src/unix/threadpsx.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/utilsunx.cpp \
|
||||
src/unix/mimetype.cpp \
|
||||
src/osx/core/cfstring.cpp \
|
||||
@ -2025,16 +2029,17 @@ COND_TOOLKIT_GTK_BASE_OSX_SRC = \
|
||||
COND_TOOLKIT_MOTIF_BASE_OSX_SRC = \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/dir.cpp \
|
||||
src/unix/dlunix.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/fdiounix.cpp \
|
||||
src/unix/snglinst.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/stdpaths.cpp \
|
||||
src/unix/timerunx.cpp \
|
||||
src/unix/threadpsx.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/utilsunx.cpp \
|
||||
src/unix/mimetype.cpp \
|
||||
src/osx/core/cfstring.cpp \
|
||||
@ -2050,16 +2055,17 @@ COND_TOOLKIT_OSX_CARBON_BASE_OSX_SRC = \
|
||||
src/osx/core/utilsexc_base.cpp \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/dir.cpp \
|
||||
src/unix/dlunix.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/fdiounix.cpp \
|
||||
src/unix/snglinst.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/stdpaths.cpp \
|
||||
src/unix/timerunx.cpp \
|
||||
src/unix/threadpsx.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/utilsunx.cpp
|
||||
@COND_TOOLKIT_OSX_CARBON@BASE_OSX_SRC = $(COND_TOOLKIT_OSX_CARBON_BASE_OSX_SRC)
|
||||
COND_TOOLKIT_OSX_COCOA_BASE_OSX_SRC = \
|
||||
@ -2070,31 +2076,33 @@ COND_TOOLKIT_OSX_COCOA_BASE_OSX_SRC = \
|
||||
src/osx/core/utilsexc_base.cpp \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/dir.cpp \
|
||||
src/unix/dlunix.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/fdiounix.cpp \
|
||||
src/unix/snglinst.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/stdpaths.cpp \
|
||||
src/unix/timerunx.cpp \
|
||||
src/unix/threadpsx.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/utilsunx.cpp
|
||||
@COND_TOOLKIT_OSX_COCOA@BASE_OSX_SRC = $(COND_TOOLKIT_OSX_COCOA_BASE_OSX_SRC)
|
||||
COND_TOOLKIT_X11_BASE_OSX_SRC = \
|
||||
src/common/fdiodispatcher.cpp \
|
||||
src/common/selectdispatcher.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/appunix.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/dir.cpp \
|
||||
src/unix/dlunix.cpp \
|
||||
src/unix/epolldispatcher.cpp \
|
||||
src/unix/evtloopunix.cpp \
|
||||
src/unix/fdiounix.cpp \
|
||||
src/unix/snglinst.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/stdpaths.cpp \
|
||||
src/unix/timerunx.cpp \
|
||||
src/unix/threadpsx.cpp \
|
||||
src/unix/stackwalk.cpp \
|
||||
src/unix/utilsunx.cpp \
|
||||
src/unix/mimetype.cpp \
|
||||
src/osx/core/cfstring.cpp \
|
||||
@ -3854,16 +3862,17 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_utilsexc_base.o \
|
||||
monodll_fdiodispatcher.o \
|
||||
monodll_selectdispatcher.o \
|
||||
monodll_epolldispatcher.o \
|
||||
monodll_appunix.o \
|
||||
monodll_evtloopunix.o \
|
||||
monodll_unix_dir.o \
|
||||
monodll_dlunix.o \
|
||||
monodll_epolldispatcher.o \
|
||||
monodll_evtloopunix.o \
|
||||
monodll_fdiounix.o \
|
||||
monodll_unix_snglinst.o \
|
||||
monodll_unix_stackwalk.o \
|
||||
monodll_unix_stdpaths.o \
|
||||
monodll_timerunx.o \
|
||||
monodll_threadpsx.o \
|
||||
monodll_unix_stackwalk.o \
|
||||
monodll_utilsunx.o
|
||||
@COND_PLATFORM_MACOSX_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS)
|
||||
@COND_PLATFORM_MSDOS_1@__BASE_PLATFORM_SRC_OBJECTS = \
|
||||
@ -3886,16 +3895,17 @@ COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS = \
|
||||
COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS = \
|
||||
monodll_fdiodispatcher.o \
|
||||
monodll_selectdispatcher.o \
|
||||
monodll_epolldispatcher.o \
|
||||
monodll_appunix.o \
|
||||
monodll_evtloopunix.o \
|
||||
monodll_unix_dir.o \
|
||||
monodll_dlunix.o \
|
||||
monodll_epolldispatcher.o \
|
||||
monodll_evtloopunix.o \
|
||||
monodll_fdiounix.o \
|
||||
monodll_unix_snglinst.o \
|
||||
monodll_unix_stackwalk.o \
|
||||
monodll_unix_stdpaths.o \
|
||||
monodll_timerunx.o \
|
||||
monodll_threadpsx.o \
|
||||
monodll_unix_stackwalk.o \
|
||||
monodll_utilsunx.o \
|
||||
monodll_unix_mimetype.o
|
||||
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS)
|
||||
@ -5652,16 +5662,17 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
|
||||
monolib_utilsexc_base.o \
|
||||
monolib_fdiodispatcher.o \
|
||||
monolib_selectdispatcher.o \
|
||||
monolib_epolldispatcher.o \
|
||||
monolib_appunix.o \
|
||||
monolib_evtloopunix.o \
|
||||
monolib_unix_dir.o \
|
||||
monolib_dlunix.o \
|
||||
monolib_epolldispatcher.o \
|
||||
monolib_evtloopunix.o \
|
||||
monolib_fdiounix.o \
|
||||
monolib_unix_snglinst.o \
|
||||
monolib_unix_stackwalk.o \
|
||||
monolib_unix_stdpaths.o \
|
||||
monolib_timerunx.o \
|
||||
monolib_threadpsx.o \
|
||||
monolib_unix_stackwalk.o \
|
||||
monolib_utilsunx.o
|
||||
@COND_PLATFORM_MACOSX_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_1)
|
||||
@COND_PLATFORM_MSDOS_1@__BASE_PLATFORM_SRC_OBJECTS_1 \
|
||||
@ -5684,16 +5695,17 @@ COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
|
||||
COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1 = \
|
||||
monolib_fdiodispatcher.o \
|
||||
monolib_selectdispatcher.o \
|
||||
monolib_epolldispatcher.o \
|
||||
monolib_appunix.o \
|
||||
monolib_evtloopunix.o \
|
||||
monolib_unix_dir.o \
|
||||
monolib_dlunix.o \
|
||||
monolib_epolldispatcher.o \
|
||||
monolib_evtloopunix.o \
|
||||
monolib_fdiounix.o \
|
||||
monolib_unix_snglinst.o \
|
||||
monolib_unix_stackwalk.o \
|
||||
monolib_unix_stdpaths.o \
|
||||
monolib_timerunx.o \
|
||||
monolib_threadpsx.o \
|
||||
monolib_unix_stackwalk.o \
|
||||
monolib_utilsunx.o \
|
||||
monolib_unix_mimetype.o
|
||||
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_1 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_1)
|
||||
@ -7487,16 +7499,17 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
|
||||
basedll_utilsexc_base.o \
|
||||
basedll_fdiodispatcher.o \
|
||||
basedll_selectdispatcher.o \
|
||||
basedll_epolldispatcher.o \
|
||||
basedll_appunix.o \
|
||||
basedll_evtloopunix.o \
|
||||
basedll_unix_dir.o \
|
||||
basedll_dlunix.o \
|
||||
basedll_epolldispatcher.o \
|
||||
basedll_evtloopunix.o \
|
||||
basedll_fdiounix.o \
|
||||
basedll_unix_snglinst.o \
|
||||
basedll_unix_stackwalk.o \
|
||||
basedll_unix_stdpaths.o \
|
||||
basedll_timerunx.o \
|
||||
basedll_threadpsx.o \
|
||||
basedll_unix_stackwalk.o \
|
||||
basedll_utilsunx.o
|
||||
@COND_PLATFORM_MACOSX_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_2)
|
||||
@COND_PLATFORM_MSDOS_1@__BASE_PLATFORM_SRC_OBJECTS_2 \
|
||||
@ -7519,16 +7532,17 @@ COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
|
||||
COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2 = \
|
||||
basedll_fdiodispatcher.o \
|
||||
basedll_selectdispatcher.o \
|
||||
basedll_epolldispatcher.o \
|
||||
basedll_appunix.o \
|
||||
basedll_evtloopunix.o \
|
||||
basedll_unix_dir.o \
|
||||
basedll_dlunix.o \
|
||||
basedll_epolldispatcher.o \
|
||||
basedll_evtloopunix.o \
|
||||
basedll_fdiounix.o \
|
||||
basedll_unix_snglinst.o \
|
||||
basedll_unix_stackwalk.o \
|
||||
basedll_unix_stdpaths.o \
|
||||
basedll_timerunx.o \
|
||||
basedll_threadpsx.o \
|
||||
basedll_unix_stackwalk.o \
|
||||
basedll_utilsunx.o \
|
||||
basedll_unix_mimetype.o
|
||||
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_2 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_2)
|
||||
@ -7580,16 +7594,17 @@ COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
|
||||
baselib_utilsexc_base.o \
|
||||
baselib_fdiodispatcher.o \
|
||||
baselib_selectdispatcher.o \
|
||||
baselib_epolldispatcher.o \
|
||||
baselib_appunix.o \
|
||||
baselib_evtloopunix.o \
|
||||
baselib_unix_dir.o \
|
||||
baselib_dlunix.o \
|
||||
baselib_epolldispatcher.o \
|
||||
baselib_evtloopunix.o \
|
||||
baselib_fdiounix.o \
|
||||
baselib_unix_snglinst.o \
|
||||
baselib_unix_stackwalk.o \
|
||||
baselib_unix_stdpaths.o \
|
||||
baselib_timerunx.o \
|
||||
baselib_threadpsx.o \
|
||||
baselib_unix_stackwalk.o \
|
||||
baselib_utilsunx.o
|
||||
@COND_PLATFORM_MACOSX_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_MACOSX_1___BASE_PLATFORM_SRC_OBJECTS_3)
|
||||
@COND_PLATFORM_MSDOS_1@__BASE_PLATFORM_SRC_OBJECTS_3 \
|
||||
@ -7612,16 +7627,17 @@ COND_PLATFORM_OS2_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
|
||||
COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3 = \
|
||||
baselib_fdiodispatcher.o \
|
||||
baselib_selectdispatcher.o \
|
||||
baselib_epolldispatcher.o \
|
||||
baselib_appunix.o \
|
||||
baselib_evtloopunix.o \
|
||||
baselib_unix_dir.o \
|
||||
baselib_dlunix.o \
|
||||
baselib_epolldispatcher.o \
|
||||
baselib_evtloopunix.o \
|
||||
baselib_fdiounix.o \
|
||||
baselib_unix_snglinst.o \
|
||||
baselib_unix_stackwalk.o \
|
||||
baselib_unix_stdpaths.o \
|
||||
baselib_timerunx.o \
|
||||
baselib_threadpsx.o \
|
||||
baselib_unix_stackwalk.o \
|
||||
baselib_utilsunx.o \
|
||||
baselib_unix_mimetype.o
|
||||
@COND_PLATFORM_UNIX_1@__BASE_PLATFORM_SRC_OBJECTS_3 = $(COND_PLATFORM_UNIX_1___BASE_PLATFORM_SRC_OBJECTS_3)
|
||||
@ -16007,12 +16023,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@monodll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
|
||||
|
||||
@ -16022,15 +16032,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@monodll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_OS2_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_unix_dir.o: $(srcdir)/src/unix/dir.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/dir.cpp
|
||||
|
||||
@ -16043,12 +16044,39 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@monodll_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monodll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_OS2_1@monodll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monodll_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monodll_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp
|
||||
|
||||
@ -16070,12 +16098,6 @@ monodll_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@monodll_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monodll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monodll_utilsunx.o: $(srcdir)/src/unix/utilsunx.cpp $(MONODLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONODLL_CXXFLAGS) $(srcdir)/src/unix/utilsunx.cpp
|
||||
|
||||
@ -20729,12 +20751,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@monolib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
|
||||
|
||||
@ -20744,15 +20760,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@monolib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_OS2_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_unix_dir.o: $(srcdir)/src/unix/dir.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/dir.cpp
|
||||
|
||||
@ -20765,12 +20772,39 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@monolib_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monolib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_OS2_1@monolib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monolib_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monolib_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp
|
||||
|
||||
@ -20792,12 +20826,6 @@ monolib_sound_sdl.o: $(srcdir)/src/unix/sound_sdl.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@monolib_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@monolib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@monolib_utilsunx.o: $(srcdir)/src/unix/utilsunx.cpp $(MONOLIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(MONOLIB_CXXFLAGS) $(srcdir)/src/unix/utilsunx.cpp
|
||||
|
||||
@ -23861,12 +23889,6 @@ basedll_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@basedll_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
|
||||
|
||||
@ -23876,15 +23898,6 @@ basedll_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@basedll_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_OS2_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_unix_dir.o: $(srcdir)/src/unix/dir.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/dir.cpp
|
||||
|
||||
@ -23897,12 +23910,39 @@ basedll_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@basedll_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@basedll_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_OS2_1@basedll_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@basedll_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@basedll_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp
|
||||
|
||||
@ -23924,12 +23964,6 @@ basedll_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@basedll_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@basedll_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@basedll_utilsunx.o: $(srcdir)/src/unix/utilsunx.cpp $(BASEDLL_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASEDLL_CXXFLAGS) $(srcdir)/src/unix/utilsunx.cpp
|
||||
|
||||
@ -24326,12 +24360,6 @@ baselib_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@baselib_selectdispatcher.o: $(srcdir)/src/common/selectdispatcher.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/common/selectdispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
|
||||
|
||||
@ -24341,15 +24369,6 @@ baselib_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@baselib_appunix.o: $(srcdir)/src/unix/appunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/appunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_OS2_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_unix_dir.o: $(srcdir)/src/unix/dir.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/dir.cpp
|
||||
|
||||
@ -24362,12 +24381,39 @@ baselib_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@baselib_dlunix.o: $(srcdir)/src/unix/dlunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/dlunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@baselib_epolldispatcher.o: $(srcdir)/src/unix/epolldispatcher.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/epolldispatcher.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_OS2_1@baselib_evtloopunix.o: $(srcdir)/src/unix/evtloopunix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_OS2_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/evtloopunix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@baselib_fdiounix.o: $(srcdir)/src/unix/fdiounix.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/fdiounix.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@baselib_unix_snglinst.o: $(srcdir)/src/unix/snglinst.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/snglinst.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_unix_stdpaths.o: $(srcdir)/src/unix/stdpaths.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stdpaths.cpp
|
||||
|
||||
@ -24389,12 +24435,6 @@ baselib_cocoa_utils.o: $(srcdir)/src/osx/cocoa/utils.mm $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@baselib_threadpsx.o: $(srcdir)/src/unix/threadpsx.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/threadpsx.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_MACOSX_1@baselib_unix_stackwalk.o: $(srcdir)/src/unix/stackwalk.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_MACOSX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/stackwalk.cpp
|
||||
|
||||
@COND_PLATFORM_UNIX_1@baselib_utilsunx.o: $(srcdir)/src/unix/utilsunx.cpp $(BASELIB_ODEP)
|
||||
@COND_PLATFORM_UNIX_1@ $(CXXC) -c -o $@ $(BASELIB_CXXFLAGS) $(srcdir)/src/unix/utilsunx.cpp
|
||||
|
||||
|
@ -63,6 +63,7 @@ IMPORTANT: please read docs/tech/tn0016.txt before modifying this file!
|
||||
src/unix/dlunix.cpp
|
||||
src/unix/epolldispatcher.cpp
|
||||
src/unix/evtloopunix.cpp
|
||||
src/unix/fdiounix.cpp
|
||||
src/unix/snglinst.cpp
|
||||
src/unix/stackwalk.cpp
|
||||
src/unix/stdpaths.cpp
|
||||
|
@ -27,11 +27,9 @@ public:
|
||||
|
||||
// Clean up message queue.
|
||||
virtual void TerminateGui(unsigned long ulHab);
|
||||
|
||||
#if wxUSE_SOCKETS
|
||||
// returns the select()-based socket manager for console applications which
|
||||
// is also used by some ports (wxX11, wxDFB) in the GUI build (hence it is
|
||||
// here and not in wxConsoleAppTraits)
|
||||
virtual wxSocketManager *GetSocketManager();
|
||||
virtual wxFDIOManager *GetFDIOManager();
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
virtual wxString GetDesktopEnvironment() const;
|
||||
#endif
|
||||
#if wxUSE_SOCKETS
|
||||
virtual wxSocketManager *GetSocketManager();
|
||||
virtual wxFDIOManager *GetFDIOManager();
|
||||
#endif
|
||||
};
|
||||
|
||||
|
@ -18,6 +18,8 @@
|
||||
class wxFDIOHandler
|
||||
{
|
||||
public:
|
||||
wxFDIOHandler() { m_regmask = 0; }
|
||||
|
||||
// called when descriptor is available for non-blocking read
|
||||
virtual void OnReadWaiting() = 0;
|
||||
|
||||
@ -31,8 +33,21 @@ public:
|
||||
// wxSocketImplUnix currently
|
||||
virtual bool IsOk() const { return true; }
|
||||
|
||||
|
||||
// get/set the mask of events for which we're currently registered for:
|
||||
// it's a combination of wxFDIO_{INPUT,OUTPUT,EXCEPTION}
|
||||
int GetRegisteredEvents() const { return m_regmask; }
|
||||
void SetRegisteredEvent(int flag) { m_regmask |= flag; }
|
||||
void ClearRegisteredEvent(int flag) { m_regmask &= ~flag; }
|
||||
|
||||
|
||||
// virtual dtor for the base class
|
||||
virtual ~wxFDIOHandler() { }
|
||||
|
||||
private:
|
||||
int m_regmask;
|
||||
|
||||
wxDECLARE_NO_COPY_CLASS(wxFDIOHandler);
|
||||
};
|
||||
|
||||
#endif // _WX_PRIVATE_FDIOHANDLER_H_
|
||||
|
43
include/wx/private/fdiomanager.h
Normal file
43
include/wx/private/fdiomanager.h
Normal file
@ -0,0 +1,43 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/private/fdiomanager.h
|
||||
// Purpose: declaration of wxFDIOManager
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2009-08-17
|
||||
// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $
|
||||
// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _WX_PRIVATE_FDIOMANAGER_H_
|
||||
#define _WX_PRIVATE_FDIOMANAGER_H_
|
||||
|
||||
#include "wx/private/fdiohandler.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxFDIOManager: register or unregister wxFDIOHandlers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// currently only used in wxGTK and wxMotif, see wx/unix/apptrait.h
|
||||
|
||||
class wxFDIOManager
|
||||
{
|
||||
public:
|
||||
// identifies either input or output direction
|
||||
//
|
||||
// NB: the values of this enum shouldn't change
|
||||
enum Direction
|
||||
{
|
||||
INPUT,
|
||||
OUTPUT
|
||||
};
|
||||
|
||||
// start or stop monitoring the events on the given file descriptor
|
||||
virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d) = 0;
|
||||
virtual void RemoveInput(wxFDIOHandler *handler, int fd, Direction d) = 0;
|
||||
|
||||
// empty but virtual dtor for the base class
|
||||
virtual ~wxFDIOManager() { }
|
||||
};
|
||||
|
||||
#endif // _WX_PRIVATE_FDIOMANAGER_H_
|
||||
|
@ -14,6 +14,7 @@
|
||||
|
||||
struct wxEndProcessData;
|
||||
struct wxExecuteData;
|
||||
class wxFDIOManager;
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxAppTraits: the Unix version adds extra hooks needed by Unix code
|
||||
@ -42,6 +43,18 @@ public:
|
||||
// loop
|
||||
virtual int AddProcessCallback(wxEndProcessData *data, int fd);
|
||||
|
||||
#if wxUSE_SOCKETS
|
||||
// return a pointer to the object which should be used to integrate
|
||||
// monitoring of the file descriptors to the event loop (currently this is
|
||||
// used for the sockets only but should be used for arbitrary event loop
|
||||
// sources in the future)
|
||||
//
|
||||
// this object may be different for the console and GUI applications
|
||||
//
|
||||
// the pointer is not deleted by the caller as normally it points to a
|
||||
// static variable
|
||||
virtual wxFDIOManager *GetFDIOManager();
|
||||
#endif // wxUSE_SOCKETS
|
||||
|
||||
protected:
|
||||
// a helper for the implementation of WaitForChild() in wxGUIAppTraits:
|
||||
|
@ -36,7 +36,12 @@ public:
|
||||
// TODO: Should we use XtAddInput() for wxX11 too? Or, vice versa, if there is
|
||||
// no advantage in doing this compared to the generic way currently used
|
||||
// by wxX11, should we continue to use GTK/Motif-specific stuff?
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__) || defined(__WXMAC__)
|
||||
#if defined(__WXGTK__) || defined(__WXMOTIF__)
|
||||
#define wxHAS_GUI_FDIOMANAGER
|
||||
#define wxHAS_GUI_PROCESS_CALLBACKS
|
||||
#endif // ports using wxFDIOManager
|
||||
|
||||
#if defined(__WXMAC__)
|
||||
#define wxHAS_GUI_PROCESS_CALLBACKS
|
||||
#define wxHAS_GUI_SOCKET_MANAGER
|
||||
#endif
|
||||
@ -76,9 +81,17 @@ public:
|
||||
virtual bool ShowAssertDialog(const wxString& msg);
|
||||
#endif
|
||||
|
||||
#if wxUSE_SOCKETS && defined(wxHAS_GUI_SOCKET_MANAGER)
|
||||
#if wxUSE_SOCKETS
|
||||
|
||||
#ifdef wxHAS_GUI_SOCKET_MANAGER
|
||||
virtual wxSocketManager *GetSocketManager();
|
||||
#endif
|
||||
|
||||
#ifdef wxHAS_GUI_FDIOMANAGER
|
||||
virtual wxFDIOManager *GetFDIOManager();
|
||||
#endif
|
||||
|
||||
#endif // wxUSE_SOCKETS
|
||||
};
|
||||
|
||||
#endif // wxUSE_GUI
|
||||
|
28
include/wx/unix/private/fdiounix.h
Normal file
28
include/wx/unix/private/fdiounix.h
Normal file
@ -0,0 +1,28 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: wx/unix/private/fdiounix.h
|
||||
// Purpose: wxFDIOManagerUnix class used by console Unix applications
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2009-08-17
|
||||
// RCS-ID: $Id: wxhead.h,v 1.11 2009-06-29 10:23:04 zeitlin Exp $
|
||||
// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _UNIX_PRIVATE_FDIOUNIX_H_
|
||||
#define _UNIX_PRIVATE_FDIOUNIX_H_
|
||||
|
||||
#include "wx/private/fdiomanager.h"
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxFDIOManagerUnix: implement wxFDIOManager interface using wxFDIODispatcher
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxFDIOManagerUnix : public wxFDIOManager
|
||||
{
|
||||
public:
|
||||
virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d);
|
||||
virtual void RemoveInput(wxFDIOHandler *handler, int fd, Direction d);
|
||||
};
|
||||
|
||||
#endif // _UNIX_PRIVATE_FDIOUNIX_H_
|
||||
|
@ -14,7 +14,7 @@
|
||||
|
||||
#include <unistd.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include "wx/private/fdiodispatcher.h"
|
||||
#include "wx/private/fdiomanager.h"
|
||||
|
||||
class wxSocketImplUnix : public wxSocketImpl,
|
||||
public wxFDIOHandler
|
||||
@ -25,8 +25,6 @@ public:
|
||||
{
|
||||
m_fds[0] =
|
||||
m_fds[1] = -1;
|
||||
|
||||
m_enabledCallbacks = 0;
|
||||
}
|
||||
|
||||
virtual wxSocketError GetLastError() const;
|
||||
@ -54,14 +52,6 @@ public:
|
||||
virtual void OnExceptionWaiting();
|
||||
virtual bool IsOk() const { return m_fd != INVALID_SOCKET; }
|
||||
|
||||
// Unix-specific functions used by wxSocketFDIOManager only
|
||||
bool HasAnyEnabledCallbacks() const { return m_enabledCallbacks != 0; }
|
||||
void EnableCallback(wxFDIODispatcherEntryFlags flag)
|
||||
{ m_enabledCallbacks |= flag; }
|
||||
void DisableCallback(wxFDIODispatcherEntryFlags flag)
|
||||
{ m_enabledCallbacks &= ~flag; }
|
||||
int GetEnabledCallbacks() const { return m_enabledCallbacks; }
|
||||
|
||||
private:
|
||||
virtual void DoClose()
|
||||
{
|
||||
@ -92,10 +82,6 @@ protected:
|
||||
// with the socket
|
||||
int m_fds[2];
|
||||
|
||||
// the events which are currently enabled for this socket, combination of
|
||||
// wxFDIO_INPUT and wxFDIO_OUTPUT values
|
||||
int m_enabledCallbacks;
|
||||
|
||||
private:
|
||||
// notify the associated wxSocket about a change in socket state and shut
|
||||
// down the socket if the event is wxSOCKET_LOST
|
||||
@ -110,12 +96,18 @@ private:
|
||||
friend class wxSocketFDBasedManager;
|
||||
};
|
||||
|
||||
// A version of wxSocketManager which uses FDs for socket IO
|
||||
// A version of wxSocketManager which uses FDs for socket IO: it is used by
|
||||
// Unix console applications and some X11-like ports (wxGTK and wxMotif but not
|
||||
// wxX11 currently) which implement their own port-specific wxFDIOManagers
|
||||
class wxSocketFDBasedManager : public wxSocketManager
|
||||
{
|
||||
public:
|
||||
// no special initialization/cleanup needed when using FDs
|
||||
virtual bool OnInit() { return true; }
|
||||
wxSocketFDBasedManager()
|
||||
{
|
||||
m_fdioManager = NULL;
|
||||
}
|
||||
|
||||
virtual bool OnInit();
|
||||
virtual void OnExit() { }
|
||||
|
||||
virtual wxSocketImpl *CreateSocket(wxSocketBase& wxsocket)
|
||||
@ -123,95 +115,23 @@ public:
|
||||
return new wxSocketImplUnix(wxsocket);
|
||||
}
|
||||
|
||||
virtual void Install_Callback(wxSocketImpl *socket_, wxSocketNotify event);
|
||||
virtual void Uninstall_Callback(wxSocketImpl *socket_, wxSocketNotify event);
|
||||
|
||||
protected:
|
||||
// identifies either input or output direction
|
||||
//
|
||||
// NB: the values of this enum shouldn't change
|
||||
enum SocketDir
|
||||
{
|
||||
FD_INPUT,
|
||||
FD_OUTPUT
|
||||
};
|
||||
|
||||
// get the FD index corresponding to the given wxSocketNotify
|
||||
SocketDir GetDirForEvent(wxSocketImpl *socket, wxSocketNotify event)
|
||||
{
|
||||
switch ( event )
|
||||
{
|
||||
default:
|
||||
wxFAIL_MSG( "unknown socket event" );
|
||||
return FD_INPUT; // we must return something
|
||||
|
||||
case wxSOCKET_LOST:
|
||||
wxFAIL_MSG( "unexpected socket event" );
|
||||
return FD_INPUT; // as above
|
||||
|
||||
case wxSOCKET_INPUT:
|
||||
return FD_INPUT;
|
||||
|
||||
case wxSOCKET_OUTPUT:
|
||||
return FD_OUTPUT;
|
||||
|
||||
case wxSOCKET_CONNECTION:
|
||||
// for server sockets we're interested in events indicating
|
||||
// that a new connection is pending, i.e. that accept() will
|
||||
// succeed and this is indicated by socket becoming ready for
|
||||
// reading, while for the other ones we're interested in the
|
||||
// completion of non-blocking connect() which is indicated by
|
||||
// the socket becoming ready for writing
|
||||
return socket->IsServer() ? FD_INPUT : FD_OUTPUT;
|
||||
}
|
||||
}
|
||||
wxFDIOManager::Direction
|
||||
GetDirForEvent(wxSocketImpl *socket, wxSocketNotify event);
|
||||
|
||||
// access the FDs we store
|
||||
int& FD(wxSocketImplUnix *socket, SocketDir d)
|
||||
int& FD(wxSocketImplUnix *socket, wxFDIOManager::Direction d)
|
||||
{
|
||||
return socket->m_fds[d];
|
||||
}
|
||||
};
|
||||
|
||||
// Common base class for all ports using X11-like (and hence implemented in
|
||||
// X11, Motif and GTK) AddInput() and RemoveInput() functions
|
||||
class wxSocketInputBasedManager : public wxSocketFDBasedManager
|
||||
{
|
||||
public:
|
||||
virtual void Install_Callback(wxSocketImpl *socket_, wxSocketNotify event)
|
||||
{
|
||||
wxSocketImplUnix * const
|
||||
socket = static_cast<wxSocketImplUnix *>(socket_);
|
||||
wxFDIOManager *m_fdioManager;
|
||||
|
||||
wxCHECK_RET( socket->m_fd != -1,
|
||||
"shouldn't be called on invalid socket" );
|
||||
|
||||
const SocketDir d = GetDirForEvent(socket, event);
|
||||
|
||||
int& fd = FD(socket, d);
|
||||
if ( fd != -1 )
|
||||
RemoveInput(fd);
|
||||
|
||||
fd = AddInput(socket, socket->m_fd, d);
|
||||
}
|
||||
|
||||
virtual void Uninstall_Callback(wxSocketImpl *socket_, wxSocketNotify event)
|
||||
{
|
||||
wxSocketImplUnix * const
|
||||
socket = static_cast<wxSocketImplUnix *>(socket_);
|
||||
|
||||
const SocketDir d = GetDirForEvent(socket, event);
|
||||
|
||||
int& fd = FD(socket, d);
|
||||
if ( fd != -1 )
|
||||
{
|
||||
RemoveInput(fd);
|
||||
fd = -1;
|
||||
}
|
||||
}
|
||||
|
||||
private:
|
||||
// these functions map directly to XtAdd/RemoveInput() or
|
||||
// gdk_input_add/remove()
|
||||
virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d) = 0;
|
||||
virtual void RemoveInput(int fd) = 0;
|
||||
wxDECLARE_NO_COPY_CLASS(wxSocketFDBasedManager);
|
||||
};
|
||||
|
||||
#endif /* _WX_UNIX_GSOCKUNX_H_ */
|
||||
|
@ -24,83 +24,91 @@
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#if wxUSE_SOCKETS && wxUSE_SELECT_DISPATCHER
|
||||
#if wxUSE_SOCKETS
|
||||
|
||||
#include "wx/app.h"
|
||||
#include "wx/apptrait.h"
|
||||
#include "wx/private/socket.h"
|
||||
#include "wx/link.h"
|
||||
|
||||
// ============================================================================
|
||||
// implementation
|
||||
// wxSocketFDBasedManager implementation
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// wxSocketFDIOManager: socket manager using wxFDIODispatcher
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class wxSocketFDIOManager : public wxSocketFDBasedManager
|
||||
bool wxSocketFDBasedManager::OnInit()
|
||||
{
|
||||
public:
|
||||
virtual void Install_Callback(wxSocketImpl *socket, wxSocketNotify event);
|
||||
virtual void Uninstall_Callback(wxSocketImpl *socket, wxSocketNotify event);
|
||||
};
|
||||
wxAppTraits * const traits = wxApp::GetTraitsIfExists();
|
||||
if ( !traits )
|
||||
return false;
|
||||
|
||||
void wxSocketFDIOManager::Install_Callback(wxSocketImpl *socket_,
|
||||
wxSocketNotify event)
|
||||
{
|
||||
wxSocketImplUnix * const socket = static_cast<wxSocketImplUnix *>(socket_);
|
||||
|
||||
const int fd = socket->m_fd;
|
||||
|
||||
if ( fd == -1 )
|
||||
return;
|
||||
|
||||
const SocketDir d = GetDirForEvent(socket, event);
|
||||
|
||||
wxFDIODispatcher * const dispatcher = wxFDIODispatcher::Get();
|
||||
if ( !dispatcher )
|
||||
return;
|
||||
|
||||
FD(socket, d) = fd;
|
||||
|
||||
// register it when it's used for the first time, update it if it had been
|
||||
// previously registered
|
||||
const bool alreadyRegistered = socket->HasAnyEnabledCallbacks();
|
||||
|
||||
socket->EnableCallback(d == FD_INPUT ? wxFDIO_INPUT : wxFDIO_OUTPUT);
|
||||
|
||||
if ( alreadyRegistered )
|
||||
dispatcher->ModifyFD(fd, socket, socket->GetEnabledCallbacks());
|
||||
else
|
||||
dispatcher->RegisterFD(fd, socket, socket->GetEnabledCallbacks());
|
||||
m_fdioManager = traits->GetFDIOManager();
|
||||
return m_fdioManager != NULL;
|
||||
}
|
||||
|
||||
void wxSocketFDIOManager::Uninstall_Callback(wxSocketImpl *socket_,
|
||||
wxSocketNotify event)
|
||||
void wxSocketFDBasedManager::Install_Callback(wxSocketImpl *socket_,
|
||||
wxSocketNotify event)
|
||||
{
|
||||
wxSocketImplUnix * const socket = static_cast<wxSocketImplUnix *>(socket_);
|
||||
wxSocketImplUnix * const
|
||||
socket = static_cast<wxSocketImplUnix *>(socket_);
|
||||
|
||||
const SocketDir d = GetDirForEvent(socket, event);
|
||||
wxCHECK_RET( socket->m_fd != -1,
|
||||
"shouldn't be called on invalid socket" );
|
||||
|
||||
const int fd = FD(socket, d);
|
||||
if ( fd == -1 )
|
||||
return;
|
||||
const wxFDIOManager::Direction d = GetDirForEvent(socket, event);
|
||||
|
||||
FD(socket, d) = -1;
|
||||
int& fd = FD(socket, d);
|
||||
if ( fd != -1 )
|
||||
m_fdioManager->RemoveInput(socket, fd, d);
|
||||
|
||||
const wxFDIODispatcherEntryFlags
|
||||
flag = d == FD_INPUT ? wxFDIO_INPUT : wxFDIO_OUTPUT;
|
||||
fd = m_fdioManager->AddInput(socket, socket->m_fd, d);
|
||||
}
|
||||
|
||||
wxFDIODispatcher * const dispatcher = wxFDIODispatcher::Get();
|
||||
if ( !dispatcher )
|
||||
return;
|
||||
void wxSocketFDBasedManager::Uninstall_Callback(wxSocketImpl *socket_,
|
||||
wxSocketNotify event)
|
||||
{
|
||||
wxSocketImplUnix * const
|
||||
socket = static_cast<wxSocketImplUnix *>(socket_);
|
||||
|
||||
socket->DisableCallback(flag);
|
||||
const wxFDIOManager::Direction d = GetDirForEvent(socket, event);
|
||||
|
||||
if ( !socket->HasAnyEnabledCallbacks() )
|
||||
dispatcher->UnregisterFD(fd);
|
||||
else
|
||||
dispatcher->ModifyFD(fd, socket, socket->GetEnabledCallbacks());
|
||||
int& fd = FD(socket, d);
|
||||
if ( fd != -1 )
|
||||
{
|
||||
m_fdioManager->RemoveInput(socket, fd, d);
|
||||
fd = -1;
|
||||
}
|
||||
}
|
||||
|
||||
wxFDIOManager::Direction
|
||||
wxSocketFDBasedManager::GetDirForEvent(wxSocketImpl *socket,
|
||||
wxSocketNotify event)
|
||||
{
|
||||
switch ( event )
|
||||
{
|
||||
default:
|
||||
wxFAIL_MSG( "unknown socket event" );
|
||||
return wxFDIOManager::INPUT; // we must return something
|
||||
|
||||
case wxSOCKET_LOST:
|
||||
wxFAIL_MSG( "unexpected socket event" );
|
||||
return wxFDIOManager::INPUT; // as above
|
||||
|
||||
case wxSOCKET_INPUT:
|
||||
return wxFDIOManager::INPUT;
|
||||
|
||||
case wxSOCKET_OUTPUT:
|
||||
return wxFDIOManager::OUTPUT;
|
||||
|
||||
case wxSOCKET_CONNECTION:
|
||||
// for server sockets we're interested in events indicating
|
||||
// that a new connection is pending, i.e. that accept() will
|
||||
// succeed and this is indicated by socket becoming ready for
|
||||
// reading, while for the other ones we're interested in the
|
||||
// completion of non-blocking connect() which is indicated by
|
||||
// the socket becoming ready for writing
|
||||
return socket->IsServer() ? wxFDIOManager::INPUT
|
||||
: wxFDIOManager::OUTPUT;
|
||||
}
|
||||
}
|
||||
|
||||
// set the wxBase variable to point to our wxSocketManager implementation
|
||||
@ -111,7 +119,7 @@ static struct ManagerSetter
|
||||
{
|
||||
ManagerSetter()
|
||||
{
|
||||
static wxSocketFDIOManager s_manager;
|
||||
static wxSocketFDBasedManager s_manager;
|
||||
wxAppTraits::SetDefaultSocketManager(&s_manager);
|
||||
}
|
||||
} gs_managerSetter;
|
||||
|
@ -5,6 +5,7 @@
|
||||
// Created: 1999
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1999, 2007 wxWidgets dev team
|
||||
// (c) 2009 Vadim Zeitlin
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -13,14 +14,11 @@
|
||||
|
||||
#if wxUSE_SOCKETS
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <gdk/gdk.h>
|
||||
#include <glib.h>
|
||||
|
||||
#include "wx/private/socket.h"
|
||||
#include "wx/apptrait.h"
|
||||
#include "wx/private/fdiomanager.h"
|
||||
|
||||
extern "C" {
|
||||
static
|
||||
@ -28,7 +26,7 @@ void wxSocket_GDK_Input(gpointer data,
|
||||
gint WXUNUSED(source),
|
||||
GdkInputCondition condition)
|
||||
{
|
||||
wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
|
||||
wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
|
||||
|
||||
if ( condition & GDK_INPUT_READ )
|
||||
{
|
||||
@ -46,29 +44,30 @@ void wxSocket_GDK_Input(gpointer data,
|
||||
}
|
||||
}
|
||||
|
||||
class GTKSocketManager : public wxSocketInputBasedManager
|
||||
class GTKFDIOManager : public wxFDIOManager
|
||||
{
|
||||
public:
|
||||
virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
|
||||
virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d)
|
||||
{
|
||||
return gdk_input_add
|
||||
(
|
||||
fd,
|
||||
d == FD_OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
|
||||
d == OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
|
||||
wxSocket_GDK_Input,
|
||||
handler
|
||||
);
|
||||
}
|
||||
|
||||
virtual void RemoveInput(int fd)
|
||||
virtual void
|
||||
RemoveInput(wxFDIOHandler* WXUNUSED(handler), int fd, Direction WXUNUSED(d))
|
||||
{
|
||||
gdk_input_remove(fd);
|
||||
}
|
||||
};
|
||||
|
||||
wxSocketManager *wxGUIAppTraits::GetSocketManager()
|
||||
wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
|
||||
{
|
||||
static GTKSocketManager s_manager;
|
||||
static GTKFDIOManager s_manager;
|
||||
return &s_manager;
|
||||
}
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
// Created: 1999
|
||||
// RCS-ID: $Id$
|
||||
// Copyright: (c) 1999, 2007 wxWidgets dev team
|
||||
// (c) 2009 Vadim Zeitlin
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
@ -13,14 +14,11 @@
|
||||
|
||||
#if wxUSE_SOCKETS
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include <gdk/gdk.h>
|
||||
#include <glib.h>
|
||||
|
||||
#include "wx/private/socket.h"
|
||||
#include "wx/apptrait.h"
|
||||
#include "wx/private/fdiomanager.h"
|
||||
|
||||
extern "C" {
|
||||
static
|
||||
@ -28,7 +26,7 @@ void wxSocket_GDK_Input(gpointer data,
|
||||
gint WXUNUSED(source),
|
||||
GdkInputCondition condition)
|
||||
{
|
||||
wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
|
||||
wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
|
||||
|
||||
if ( condition & GDK_INPUT_READ )
|
||||
{
|
||||
@ -46,29 +44,30 @@ void wxSocket_GDK_Input(gpointer data,
|
||||
}
|
||||
}
|
||||
|
||||
class GTKSocketManager : public wxSocketInputBasedManager
|
||||
class GTKFDIOManager : public wxFDIOManager
|
||||
{
|
||||
public:
|
||||
virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
|
||||
virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d)
|
||||
{
|
||||
return gdk_input_add
|
||||
(
|
||||
fd,
|
||||
d == FD_OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
|
||||
d == OUTPUT ? GDK_INPUT_WRITE : GDK_INPUT_READ,
|
||||
wxSocket_GDK_Input,
|
||||
handler
|
||||
);
|
||||
}
|
||||
|
||||
virtual void RemoveInput(int fd)
|
||||
virtual void
|
||||
RemoveInput(wxFDIOHandler* WXUNUSED(handler), int fd, Direction WXUNUSED(d))
|
||||
{
|
||||
gdk_input_remove(fd);
|
||||
}
|
||||
};
|
||||
|
||||
wxSocketManager *wxGUIAppTraits::GetSocketManager()
|
||||
wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
|
||||
{
|
||||
static GTKSocketManager s_manager;
|
||||
static GTKFDIOManager s_manager;
|
||||
return &s_manager;
|
||||
}
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
|
||||
#include <X11/Intrinsic.h> // XtAppAdd/RemoveInput()
|
||||
#include "wx/motif/private.h" // wxGetAppContext()
|
||||
#include "wx/private/socket.h"
|
||||
#include "wx/private/fdiomanager.h"
|
||||
#include "wx/apptrait.h"
|
||||
|
||||
extern "C" {
|
||||
@ -23,7 +23,7 @@ extern "C" {
|
||||
static void wxSocket_Motif_Input(XtPointer data, int *WXUNUSED(fid),
|
||||
XtInputId *WXUNUSED(id))
|
||||
{
|
||||
wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
|
||||
wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
|
||||
|
||||
handler->OnReadWaiting();
|
||||
}
|
||||
@ -31,39 +31,40 @@ static void wxSocket_Motif_Input(XtPointer data, int *WXUNUSED(fid),
|
||||
static void wxSocket_Motif_Output(XtPointer data, int *WXUNUSED(fid),
|
||||
XtInputId *WXUNUSED(id))
|
||||
{
|
||||
wxSocketImplUnix * const handler = static_cast<wxSocketImplUnix *>(data);
|
||||
wxFDIOHandler * const handler = static_cast<wxFDIOHandler *>(data);
|
||||
|
||||
handler->OnWriteWaiting();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
class MotifSocketManager : public wxSocketInputBasedManager
|
||||
class MotifFDIOManager : public wxFDIOManager
|
||||
{
|
||||
public:
|
||||
virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
|
||||
virtual int AddInput(wxFDIOHandler *handler, int fd, Direction d)
|
||||
{
|
||||
return XtAppAddInput
|
||||
(
|
||||
wxGetAppContext(),
|
||||
fd,
|
||||
(XtPointer)(d == FD_OUTPUT ? XtInputWriteMask
|
||||
: XtInputReadMask),
|
||||
d == FD_OUTPUT ? wxSocket_Motif_Output
|
||||
: wxSocket_Motif_Input,
|
||||
(XtPointer)(d == OUTPUT ? XtInputWriteMask
|
||||
: XtInputReadMask),
|
||||
d == OUTPUT ? wxSocket_Motif_Output
|
||||
: wxSocket_Motif_Input,
|
||||
handler
|
||||
);
|
||||
}
|
||||
|
||||
virtual void RemoveInput(int fd)
|
||||
virtual void
|
||||
RemoveInput(wxFDIOHandler* WXUNUSED(handler), int fd, Direction WXUNUSED(d))
|
||||
{
|
||||
XtRemoveInput(fd);
|
||||
}
|
||||
};
|
||||
|
||||
wxSocketManager *wxGUIAppTraits::GetSocketManager()
|
||||
wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
|
||||
{
|
||||
static MotifSocketManager s_manager;
|
||||
static MotifFDIOManager s_manager;
|
||||
return &s_manager;
|
||||
}
|
||||
|
||||
|
@ -23,22 +23,24 @@
|
||||
|
||||
static void wxSocket_PM_Input(void *data)
|
||||
{
|
||||
wxSocketImplUnix *handler = static_cast<wxSocketImplUnix *>(data);
|
||||
wxFDIOHandler *handler = static_cast<wxSocketImplUnix *>(data);
|
||||
|
||||
handler->OnReadWaiting();
|
||||
}
|
||||
|
||||
static void wxSocket_PM_Output(void *data)
|
||||
{
|
||||
wxSocketImplUnix *handler = static_cast<wxSocketImplUnix *>(data);
|
||||
wxFDIOHandler *handler = static_cast<wxSocketImplUnix *>(data);
|
||||
|
||||
handler->OnWriteWaiting();
|
||||
}
|
||||
|
||||
class PMSocketManager : public wxSocketInputBasedManager
|
||||
class PMFDIOManager : public wxFDIOManager
|
||||
{
|
||||
public:
|
||||
virtual int AddInput(wxSocketImplUnix *handler, int fd, SocketDir d)
|
||||
virtual int AddInput(wxFDIOHandler *handler,
|
||||
int fd,
|
||||
wxFDIOManager::Direction d)
|
||||
{
|
||||
if (d == FD_OUTPUT)
|
||||
return wxTheApp->AddSocketHandler(fd, wxSockWriteMask,
|
||||
@ -48,15 +50,18 @@ public:
|
||||
wxSocket_PM_Input, handler);
|
||||
}
|
||||
|
||||
virtual void RemoveInput(int fd)
|
||||
virtual void
|
||||
RemoveInput(wxFDIOHandler * WXUNUSED(handler),
|
||||
int fd,
|
||||
wxFDIOManager::Direction WXUNUSED(dir))
|
||||
{
|
||||
wxTheApp->RemoveSocketHandler(fd);
|
||||
}
|
||||
};
|
||||
|
||||
wxSocketManager *wxGUIAppTraits::GetSocketManager()
|
||||
wxFDIOManager *wxGUIAppTraits::GetFDIOManager()
|
||||
{
|
||||
static PMSocketManager s_manager;
|
||||
static PMFDIOManager s_manager;
|
||||
return &s_manager;
|
||||
}
|
||||
|
||||
|
100
src/unix/fdiounix.cpp
Normal file
100
src/unix/fdiounix.cpp
Normal file
@ -0,0 +1,100 @@
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
// Name: src/unix/fdiounix.cpp
|
||||
// Purpose: wxFDIOManager implementation for console Unix applications
|
||||
// Author: Vadim Zeitlin
|
||||
// Created: 2009-08-17
|
||||
// RCS-ID: $Id: wxhead.cpp,v 1.10 2009-06-29 10:23:04 zeitlin Exp $
|
||||
// Copyright: (c) 2009 Vadim Zeitlin <vadim@wxwidgets.org>
|
||||
// Licence: wxWindows licence
|
||||
///////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// ============================================================================
|
||||
// declarations
|
||||
// ============================================================================
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// headers
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
// for compilers that support precompilation, includes "wx.h".
|
||||
#include "wx/wxprec.h"
|
||||
|
||||
#ifdef __BORLANDC__
|
||||
#pragma hdrstop
|
||||
#endif
|
||||
|
||||
#include "wx/apptrait.h"
|
||||
#include "wx/private/fdiodispatcher.h"
|
||||
#include "wx/unix/private/fdiounix.h"
|
||||
|
||||
// ============================================================================
|
||||
// wxFDIOManagerUnix implementation
|
||||
// ============================================================================
|
||||
|
||||
int wxFDIOManagerUnix::AddInput(wxFDIOHandler *handler, int fd, Direction d)
|
||||
{
|
||||
wxFDIODispatcher * const dispatcher = wxFDIODispatcher::Get();
|
||||
wxCHECK_MSG( dispatcher, -1, "can't monitor FDs without FD IO dispatcher" );
|
||||
|
||||
// translate our direction to dispatcher flags
|
||||
const int flag = d == INPUT ? wxFDIO_INPUT : wxFDIO_OUTPUT;
|
||||
|
||||
// we need to either register this FD with the dispatcher or update an
|
||||
// existing registration depending on whether it had been previously
|
||||
// registered for anything or not
|
||||
bool ok;
|
||||
const int regmask = handler->GetRegisteredEvents();
|
||||
if ( !regmask )
|
||||
{
|
||||
ok = dispatcher->RegisterFD(fd, handler, flag);
|
||||
}
|
||||
else
|
||||
{
|
||||
ok = dispatcher->ModifyFD(fd, handler, regmask | flag);
|
||||
}
|
||||
|
||||
if ( !ok )
|
||||
return -1;
|
||||
|
||||
// update the stored mask of registered events
|
||||
handler->SetRegisteredEvent(flag);
|
||||
|
||||
return fd;
|
||||
}
|
||||
|
||||
void wxFDIOManagerUnix::RemoveInput(wxFDIOHandler *handler, int fd, Direction d)
|
||||
{
|
||||
wxFDIODispatcher * const dispatcher = wxFDIODispatcher::Get();
|
||||
if ( !dispatcher )
|
||||
return;
|
||||
|
||||
const int flag = d == INPUT ? wxFDIO_INPUT : wxFDIO_OUTPUT;
|
||||
|
||||
// just as in AddInput() above we may need to either just modify the FD or
|
||||
// remove it completely if we don't need to monitor it any more
|
||||
bool ok;
|
||||
const int regmask = handler->GetRegisteredEvents();
|
||||
if ( regmask == flag )
|
||||
{
|
||||
ok = dispatcher->UnregisterFD(fd);
|
||||
}
|
||||
else
|
||||
{
|
||||
ok = dispatcher->ModifyFD(fd, handler, regmask & ~flag);
|
||||
}
|
||||
|
||||
if ( !ok )
|
||||
{
|
||||
wxLogDebug("Failed to unregister %d in direction %d", fd, d);
|
||||
}
|
||||
|
||||
// do this even after a failure to unregister it, we still tried...
|
||||
handler->ClearRegisteredEvent(flag);
|
||||
}
|
||||
|
||||
wxFDIOManager *wxAppTraits::GetFDIOManager()
|
||||
{
|
||||
static wxFDIOManagerUnix s_manager;
|
||||
return &s_manager;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user