/////////////////////////////////////////////////////////////////////////////
// Name: wx/dialup.h
-// Purpose: Network related wxWindows classes and functions
+// Purpose: Network related wxWidgets classes and functions
// Author: Vadim Zeitlin
// Modified by:
// Created: 07.07.99
// Licence: wxWindows licence
/////////////////////////////////////////////////////////////////////////////
-#ifndef _WX_NET_H
-#define _WX_NET_H
-
-#ifdef __GNUG__
- #pragma interface "dialup.h"
-#endif
+#ifndef _WX_DIALUP_H
+#define _WX_DIALUP_H
#if wxUSE_DIALUP_MANAGER
+#include "wx/event.h"
+
// ----------------------------------------------------------------------------
// misc
// ----------------------------------------------------------------------------
-class WXDLLEXPORT wxArrayString;
-
-extern const wxChar *wxEmptyString;
+class WXDLLIMPEXP_FWD_BASE wxArrayString;
#define WXDIALUP_MANAGER_DEFAULT_BEACONHOST wxT("www.yahoo.com")
static wxDialUpManager *Create();
// could the dialup manager be initialized correctly? If this function
- // returns FALSE, no other functions will work neither, so it's a good idea
+ // returns false, no other functions will work neither, so it's a good idea
// to call this function and check its result before calling any other
// wxDialUpManager methods
virtual bool IsOk() const = 0;
// if no username/password are given, the function will try to do without
// them, but will ask the user if really needed
//
- // if async parameter is FALSE, the function waits until the end of dialing
- // and returns TRUE upon successful completion.
- // if async is TRUE, the function only initiates the connection and returns
+ // if async parameter is false, the function waits until the end of dialing
+ // and returns true upon successful completion.
+ // if async is true, the function only initiates the connection and returns
// immediately - the result is reported via events (an event is sent
// anyhow, but if dialing failed it will be a DISCONNECTED one)
virtual bool Dial(const wxString& nameOfISP = wxEmptyString,
const wxString& username = wxEmptyString,
const wxString& password = wxEmptyString,
- bool async = TRUE) = 0;
+ bool async = true) = 0;
- // returns TRUE if (async) dialing is in progress
+ // returns true if (async) dialing is in progress
virtual bool IsDialing() const = 0;
- // cancel dialing the number initiated with Dial(async = TRUE)
+ // cancel dialing the number initiated with Dial(async = true)
// NB: this won't result in DISCONNECTED event being sent
virtual bool CancelDialing() = 0;
// online status
// -------------
- // returns TRUE if the computer has a permanent network connection (i.e. is
+ // returns true if the computer has a permanent network connection (i.e. is
// on a LAN) and so there is no need to use Dial() function to go online
//
// NB: this functions tries to guess the result and it is not always
// confirmation or give him a possibility to override it
virtual bool IsAlwaysOnline() const = 0;
- // returns TRUE if the computer is connected to the network: under Windows,
+ // returns true if the computer is connected to the network: under Windows,
// this just means that a RAS connection exists, under Unix we check that
// the "well-known host" (as specified by SetWellKnownHost) is reachable
virtual bool IsOnline() const = 0;
// so, in general, the user should be allowed to override it. This function
// allows to forcefully set the online status - whatever our internal
// algorithm may think about it.
- virtual void SetOnlineStatus(bool isOnline = TRUE) = 0;
+ virtual void SetOnlineStatus(bool isOnline = true) = 0;
// set misc wxDialUpManager options
// --------------------------------
// Windows, the notification about the change of connection status is
// instantenous.
//
- // Returns FALSE if couldn't set up automatic check for online status.
+ // Returns false if couldn't set up automatic check for online status.
virtual bool EnableAutoCheckOnlineStatus(size_t nSeconds = 60) = 0;
// disable automatic check for connection status change - notice that the
};
// ----------------------------------------------------------------------------
-// DIALUP events processing
+// wxDialUpManager events
// ----------------------------------------------------------------------------
+extern WXDLLIMPEXP_CORE const wxEventType wxEVT_DIALUP_CONNECTED;
+extern WXDLLIMPEXP_CORE const wxEventType wxEVT_DIALUP_DISCONNECTED;
+
// the event class for the dialup events
class WXDLLEXPORT wxDialUpEvent : public wxEvent
{
// process (i.e. does it result from our own attempt to establish the
// connection)?
bool IsOwnEvent() const { return m_id != 0; }
+
+ // implement the base class pure virtual
+ virtual wxEvent *Clone() const { return new wxDialUpEvent(*this); }
+
+private:
+ DECLARE_NO_ASSIGN_CLASS(wxDialUpEvent)
};
// the type of dialup event handler function
-typedef void (wxObject::*wxDialUpEventFunction)(wxDialUpEvent&);
+typedef void (wxEvtHandler::*wxDialUpEventFunction)(wxDialUpEvent&);
+
+#define wxDialUpEventHandler(func) \
+ (wxObjectEventFunction)(wxEventFunction)wxStaticCastEvent(wxDialUpEventFunction, &func)
// macros to catch dialup events
-#define EVT_DIALUP_CONNECTED(func) { wxEVT_DIALUP_CONNECTED, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxDialUpEventFunction) & func, NULL},
-#define EVT_DIALUP_DISCONNECTED(func) { wxEVT_DIALUP_DISCONNECTED, -1, -1, (wxObjectEventFunction) (wxEventFunction) (wxDialUpEventFunction) & func, NULL},
+#define EVT_DIALUP_CONNECTED(func) \
+ wx__DECLARE_EVT0(wxEVT_DIALUP_CONNECTED, wxDialUpEventHandler(func))
+#define EVT_DIALUP_DISCONNECTED(func) \
+ wx__DECLARE_EVT0(wxEVT_DIALUP_DISCONNECTED, wxDialUpEventHandler(func))
+
#endif // wxUSE_DIALUP_MANAGER
-#endif // _WX_NET_H
+#endif // _WX_DIALUP_H