Commit Graph

37 Commits

Author SHA1 Message Date
Vadim Zeitlin
6bcc1145fe 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
2009-08-17 23:02:46 +00:00
Vadim Zeitlin
5815e95907 Use CF socket manager in GUI OS X applications.
wxSocketManagerMac was never created under OS X since wxSocket code
refactoring as wxGUIAppTraits::GetSocketManager() wasn't overridden.

Doing this required an extra nasty hack with a global variable in the base
library which is used just to pass the socket manager pointer from the net
library to the core one without creating a dependency between them but this
seems unfortunately unavoidable.

See #11030.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61676 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-08-16 23:13:55 +00:00
Vadim Zeitlin
25f49256ac return wxStandardPaths, not wxStandardPathsBase, from wxStandardPathsBase::Get() to allow calling platform-specific methods on it if necessary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60935 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-06-06 23:34:05 +00:00
Vadim Zeitlin
657a8a3598 first round of debug/release merge: introduce wxDEBUG_LEVEL, for now defined as 1 if __WXDEBUG__ is defined, i.e. no real changes; don't use __WXDEBUG__ in the headers to keep debug and release builds ABI-compatible; add functions to customize or disable asserts handling
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@59711 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-03-21 23:36:37 +00:00
Vadim Zeitlin
51fe4b60ab Streamline wxSocket code: wxSocketBase now uses wxSocketImpl (previously known
as GSocket) which is a base class with various wxSocketImplXXX implementations
provided by different wxSocketManagers.

Share more code between ports (still not finished).

Refactor some code inside wxSocketImpl itself to be less redundant and fixed a
couple of minor bugs in the process.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56994 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-28 12:47:07 +00:00
Vadim Zeitlin
2404ce8d8a argh, really, really fix Darwin build
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53129 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-11 13:01:34 +00:00
Vadim Zeitlin
a0f4d36895 GetSocketManager() has no GUI-specific version under Darwin finally
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53128 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-11 12:59:22 +00:00
Vadim Zeitlin
b2915c82ca also use AddProcessCallback() and GetSocketManager() under Darwin
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-11 12:51:51 +00:00
Vadim Zeitlin
f05114174f oops, added missing #endif
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53100 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-10 10:45:47 +00:00
Vadim Zeitlin
13d4419b86 only declare AddProcessCallback for wxMotif and wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@53099 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-04-10 10:44:06 +00:00
Francesco Montorsi
53a2db124c substitute WXDLLEXPORT with WXDLLIMPEXP_CORE and WXDLLEXPORT_DATA with WXDLLIMPEXP_DATA_CORE
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52834 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-26 15:06:00 +00:00
Vadim Zeitlin
a83ca5fbf5 use wxGUIAppTraits::WaitForChild() in wxMac too
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52691 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-22 12:12:47 +00:00
Vadim Zeitlin
1d043598b7 replace wxAddProcessCallback() with wxAppTraits::AddProcessCallback() to fix linking problems in Unix ports; also reduce code duplication between GUI and base versions making src/unix/baseunix.cpp unnecessary any longer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52667 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-22 00:07:13 +00:00
Francesco Montorsi
1f5c66294a add to GetToolkitVersion() the = NULL default values for the two arguments: they were documented but not actually implemented
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52644 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-21 14:21:52 +00:00
Vadim Zeitlin
9243700fb2 add support for asynchronous execution in wxBase (patch 1906889)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@52550 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-03-15 16:46:38 +00:00
Vadim Zeitlin
2804f77d88 more socket cleanup to allow using wxSocket from both wxBase and wxCore (replaces patch 1756260)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50831 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-19 16:45:08 +00:00
Paul Cornett
d254213eb2 add MutexGuiEnter/Leave to wxAppTraits, integrate native GTK+ GUI locking
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-17 05:37:00 +00:00
Vadim Zeitlin
163b3ad72c replace wrong WXDLLEXPORT declarations with correct WXDLLIMPEXP_BASE/ADV/GL (patch from Tim Stahlhut)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50646 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-12-12 01:35:53 +00:00
Vadim Zeitlin
a187327964 Added wxUSE_CONSOLE_EVENTLOOP and wxUSE_SELECT/EPOLLDISPATCHER guards;
put checks for them in the new Unix-specific wx/unix/chkconf.h file


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47465 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-14 19:06:18 +00:00
Václav Slavík
6ae3ead6f0 always compile at least a minimal version of wxStandardPaths class, it's used too often
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46481 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-06-15 15:21:57 +00:00
Vadim Zeitlin
2ddff00c92 don't define wxEventLoop class differently in GUI and base, this breaks the
ODR and hence results in many problems in practice; instead use wxEventLoopBase
whenever possible and #define wxEventLoop differently in console applications


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46158 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-22 02:30:01 +00:00
Vadim Zeitlin
b46b1d59d6 implement event loop for console applications (heavily modified patch 1715735)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@46029 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-14 23:43:39 +00:00
Václav Slavík
c8b1fdc0b5 wxAppTraits::SetLocale() is wxUSE_INTL=1 only
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45764 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-05-02 20:32:44 +00:00
Vadim Zeitlin
d3a0a0eeab added wxAppTraits::GetStandardCmdLineOptions() allowing to add the description of the standard toolkit options to the usage message and implement it for wxGTK2 (patch 1703077)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45589 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-22 20:54:07 +00:00
Vadim Zeitlin
c2ca375c56 preparation for allowing to use wxTimer in wxBase (heavily modified patch 1113088):
1. Changed wxTimer to use wxTimerImpl
2. Added Unix-specific generic timer implementation
3. Added wxAppTraits::CreateTimerImpl()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45544 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-20 01:29:16 +00:00
Vadim Zeitlin
d774f9161c added wxAppTraits::SetLocale() and call it during wxApp initialization in all ports, not just wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@44773 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-03-12 01:46:14 +00:00
Robert Roebling
5807e60c2a Link fix for GTK 1.2 debug.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43629 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-24 11:33:53 +00:00
Robert Roebling
db9febdf41 Actually use new GTK+ native assert dialog.
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43628 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-11-24 10:55:26 +00:00
Robert Roebling
88bbc3329b Test for KDE and GNOME using session manager vendor.
Use it in mime types initialization.
   Add wxUSE_DETECT_SM


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42098 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-18 21:55:54 +00:00
Vadim Zeitlin
8bb6b2c057 wxPlatformInfo (patch 1532064)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@40599 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-08-13 21:00:32 +00:00
David Elliott
fc480dc16b Moved wxStandardPathsCF into base library when using CarbonLib or Darwin.
Make wxStandardPathsBase::Get() return a wxStandardPathsBase reference.
Implement it using wxAppTraits::GetStandardPaths() which is overridden by
wxMac and wxCocoa GUI libraries to return a reference to a wxStandardPathsCF.


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-11-12 21:21:00 +00:00
Julian Smart
655719367a Use old licence name
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27408 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 20:53:33 +00:00
Julian Smart
77ffb5937e Name and version changes
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@27404 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-05-23 14:56:36 +00:00
Václav Slavík
324899f6c5 return wxToolkitInfo by reference and not by pointer
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22492 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-02 15:39:26 +00:00
Václav Slavík
a8eaaeb237 replaced wxAppTraits::GetOSVersion with GetToolkitInfo with richer information that is needed by wxDynamicLibrary
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22491 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-02 15:14:17 +00:00
Vadim Zeitlin
46446cc2aa compilation fix for wxGTK
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21345 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-06-24 01:31:22 +00:00
Vadim Zeitlin
e2478fde62 wxBase/GUI separation: 1st step, wxMSW should build, all the rest is broken
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-06-24 00:56:19 +00:00