Vadim Zeitlin
4017f5ca49
wxSocket::Initialize() and Shutdown() are for main thread only.
...
Calling Initialize() from another thread could never work before but it wasn't
clear that this was the case so document it in the functions comments and
documentation now and add asserts checking that they are called from the main
thread only.
Also simplify the code as we don't actually need to do any reference-counting
here and a simple boolean flag indicating whether the sockets are initialized
is enough.
Closes #11119 .
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@61985 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-09-21 08:44:35 +00:00
Vadim Zeitlin
c0c133e13b
add wx-prefixed and semicolon-requiring versions of DECLARE_NO_{COPY,ASSIGN}_CLASS macros
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58757 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-08 11:45:59 +00:00
Vadim Zeitlin
9b11752c4f
require semicolon after wxDECLARE/DEFINE_EVENT() ( closes #10456 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58718 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-07 18:59:25 +00:00
Francesco Montorsi
d48b06bd90
check in the 'selective yield' patch (see ticket #10320 ):
...
- implements YieldFor() with event filtering for wxMSW and wxGTK,
adds TODO markers in other ports;
- replaces wxYield() in GTK's clipboard code with a wxTheApp->YieldFor() call, thus fixing possible reentrancies
(and modifies clipboard sample to test synchronous IsSupported calls)
- replaces wxYieldIfNeeded() calls in wxProgressDialog with wxTheApp->YieldFor() calls, so that it processes only
UI/user-input events, thus fixing the race condition visible in the "thread" sample
- documents the new functions
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58654 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-02-04 17:42:28 +00:00
Francesco Montorsi
6214e8d571
make wxSocketBase::SetTimeout virtual and make it protected in wxFTP
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58130 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-16 13:34:44 +00:00
Vadim Zeitlin
3c77890141
add more flexible and safer template Connect() overloads ( #10000 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58039 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-12 14:26:13 +00:00
Vadim Zeitlin
ebbf740764
streamline handling of wxSOCKET_LOST in DoWait()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57798 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 22:07:45 +00:00
Vadim Zeitlin
f26d81383f
no changes, just reformat/indent consistently
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57797 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 21:58:09 +00:00
Vadim Zeitlin
365b8793d3
use guard classes automatically restoring the old state in their dtor instead of manually changing wxSocketBase::m_reading/writing/flags
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57778 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 17:34:16 +00:00
Vadim Zeitlin
6f405b31b2
fix WaitForXXX() to work as before: if the socket is already ready for reading/writing they should return immediately
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57725 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2009-01-02 01:00:40 +00:00
Vadim Zeitlin
b67397a779
added wxSocket::ShutdownOutput() ( closes #9229 )
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57656 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 11:27:41 +00:00
Vadim Zeitlin
c363ead1e2
remove wxSOCKET_MAX_EVENT, it is not really necessary and results in gcc warnings about unhandled enum value in switch in existing code (including our own sample)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57653 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-30 00:11:04 +00:00
Vadim Zeitlin
64b1cea09a
got rid of wxSocketBase::m_error which could get out of sync with wxSocketImpl::m_error -- one error indicator is enough
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57602 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-27 17:56:03 +00:00
Vadim Zeitlin
5c1193e090
remember the events we were notified about in OnRequest() (not used yet but necessary for upcoming changes)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57565 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-12-26 14:33:52 +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
04889c59c6
move wx/gsocket.h to wx/private/gsocket.h
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56976 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-26 12:21:56 +00:00
Vadim Zeitlin
2d46f281a5
added wxSocketBase::GetTimeout() to match existing SetTimeout()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56933 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-11-23 13:11:25 +00:00
Vadim Zeitlin
cc0972a251
no real changes, just also rename _Read/_Write() to DoRead/DoWrite() and clean them a little more too
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56277 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-13 13:24:48 +00:00
Vadim Zeitlin
60ee017274
Cleanup of wxSocket::_Wait():
...
- Rename to DoWait() to avoid symbols starting with underscores.
- Added comments explaining how does it work.
- Remove the pointless timeout manipulations: GSocket::Select() doesn't
use timeout (any more?) anyhow.
Also pass GSOCK_LOST_FLAG to DoWait() from WaitForWrite() for the same reasons
it is done in WaitForRead().
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@56275 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-10-13 13:00:49 +00:00
Vadim Zeitlin
c91574928d
add wxSocket::IsClosed(), use it to implement Eof() in wxSocketStream
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54590 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-12 02:28:12 +00:00
Vadim Zeitlin
dde65a6040
no changes, just removed the unnecessary inline keywords
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54587 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-12 02:12:58 +00:00
Vadim Zeitlin
98f80f2f76
remove unused private wxSocketBase::m_lastError
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54585 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-12 02:01:55 +00:00
Vadim Zeitlin
72ac4e888a
take const address objects in wxSocketClient::Connect() and wxSocketBase::SetLocal()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@54504 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2008-07-06 02:21:39 +00:00
Vadim Zeitlin
8c029a5b02
added SetInitialSocketBuffers() to allow changing the send/receive buffer sizes (patch 1829576)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@50028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-11-17 15:21:26 +00:00
Vadim Zeitlin
60edcf4535
added support for broadcasting to UDP sockets (patch 1740266)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@47126 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-07-04 21:33:11 +00:00
Václav Slavík
47b378bd88
removed extra semicolons (patch #1700459 ; fixes compilation with gcc's -pedantic flag)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45450 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2007-04-14 09:58:37 +00:00
Vadim Zeitlin
b7cacb43db
add IsOk() to all classes having Ok() method (patch 1570985)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41751 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-10-08 21:56:55 +00:00
Kevin Hock
30dfb74488
Make the Connect that also takes a local bind port non-virtual. This silences some compiler warnings (Borland, Watcom). Plus, it's not likely that this method would need to be overridden anyway since it has rather limited and specific uses.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@38517 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-04-02 04:56:18 +00:00
Kevin Hock
30bbf68d3a
Make SetLocal actually work instead of crashing immediately; due to required longevity of the item to make it from SetLocal to Connect, we need to use a specifc address type.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37759 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-28 02:04:29 +00:00
Kevin Hock
33d925b0d9
Add SetLocal method; overload Connect to accept a local address and move common Connect code into DoConnect; DoConnect handles wxSOCKET_REUSEADDR flag and setting local address [ Heavily modified and expanded patch 1415505 ]
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@37506 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2006-02-11 23:39:25 +00:00
Vadim Zeitlin
fbfb8bcc3f
added missing consts and pass objects by const reference instead of by value (patch 1205869)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35665 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-24 21:43:15 +00:00
Mart Raudsepp
8907154c1a
Nuke #pragma implementation/interface's
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@35650 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-09-23 12:56:45 +00:00
Włodzimierz Skiba
8bc3ec1ff5
Casting fix for events. Needs check by ARM eVC4 users.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32686 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-03-08 20:53:16 +00:00
Vadim Zeitlin
7fa03f0434
define wxFooHandler() macros for all wxFooEvents to make it possible to use Connect() type-safely; simplified event macros definitions by extracing common part to wx__DECLARE_EVTn()
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@32048 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2005-02-14 23:53:48 +00:00
Włodzimierz Skiba
d775fa8235
Source cleaning: whitespaces, tabs, -1/wxID_ANY/wxNOT_FOUND/wxDefaultCoord, TRUE/true, FALSE/false.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29257 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-09-22 14:38:52 +00:00
David Elliott
57b1deb3e9
Use native C++ GSocket interface
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28681 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-08-06 22:14:59 +00:00
Vadim Zeitlin
74c481d117
replaced my recent GSocket_SetReuseAddr() addition with GSocket_SetReusable() from the patch 992473; it also adds and documents wxSOCKET_REUSEADDR flag
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28494 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-25 17:06:01 +00:00
Vadim Zeitlin
372c511b70
don't include wx/wxprec.h from the headers (patch 993136)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28489 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-25 16:44:47 +00:00
Vadim Zeitlin
bfa7bf7d6b
basic UDP support (patch 835128)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@28453 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-07-25 11:16:31 +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
Vadim Zeitlin
3a818b15a1
use static_cast<> in event table macros for type safety (patch 843206)
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@25721 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2004-02-10 22:15:19 +00:00
Václav Slavík
a3bf7524f3
removed WXWIN_COMPATIBILITY and WXWIN_COMPATIBILITY_2
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22966 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-17 12:50:53 +00:00
Václav Slavík
1202890513
added support for gcc precompiled headers
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22722 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-08-09 12:38:21 +00:00
Václav Slavík
7c4728f633
split wxBase into wxBase and wxNet libraries
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22323 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-27 22:41:06 +00:00
Václav Slavík
a6cbc4db3d
compilation fixes for Vadim's changes and Borland C++
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-22 11:13:50 +00:00
Vadim Zeitlin
fc7a2a602b
undisable many warnings for VC++ in defs.h and fixed several thousands of them in the sources
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@22222 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-22 00:24:07 +00:00
Vadim Zeitlin
bddd7a8d89
renamed WXDLLEXPORT_BASE/CORE to WXDLLIMPEXP_BASE/CORE
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21570 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-02 01:59:24 +00:00
Vadim Zeitlin
886dd7d28e
fixes needed for separate DLL build to work
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@21569 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-07-02 01:41:23 +00:00
Mattia Barbon
0fccfc51e6
Fix linking problems with MSVC 5.
...
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@18687 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
2003-01-11 20:57:16 +00:00