/////////////////////////////////////////////////////////////////////////////
// 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
+#ifndef _WX_DIALUP_H
+#define _WX_DIALUP_H
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
#pragma interface "dialup.h"
#endif
#if wxUSE_DIALUP_MANAGER
+#include "wx/event.h"
+
// ----------------------------------------------------------------------------
-// constants
+// misc
// ----------------------------------------------------------------------------
-extern const wxChar *wxEmptyString;
+class WXDLLIMPEXP_BASE wxArrayString;
-#define WXDIALUP_MANAGER_DEFAULT_BEACONHOST _T("www.yahoo.com")
+#define WXDIALUP_MANAGER_DEFAULT_BEACONHOST wxT("www.yahoo.com")
// ----------------------------------------------------------------------------
// A class which groups functions dealing with connecting to the network from a
// operations
// ----------
+ // fills the array with the names of all possible values for the first
+ // parameter to Dial() on this machine and returns their number (may be 0)
+ virtual size_t GetISPNames(wxArrayString& names) const = 0;
+
// dial the given ISP, use username and password to authentificate
//
+ // if no nameOfISP is given, the function will select the default one
+ //
+ // 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
bool async = TRUE) = 0;
// returns TRUE if (async) dialing is in progress
- virtual bool IsDialling() const = 0;
+ virtual bool IsDialing() const = 0;
// cancel dialing the number initiated with Dial(async = TRUE)
// NB: this won't result in DISCONNECTED event being sent
// online status
// -------------
+ // 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
+ // guaranteed to be correct, so it's better to ask user for
+ // 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,
// this just means that a RAS connection exists, under Unix we check that
// the "well-known host" (as specified by SetWellKnownHost) is reachable
// Sets the commands to start up the network and to hang up again. Used by
// the Unix implementations only.
virtual void
- SetConnectCommand(const wxString& commandDial = _T("/usr/bin/pon"),
- const wxString& commandHangup = _T("/usr/bin/poff")) = 0;
+ SetConnectCommand(const wxString& commandDial = wxT("/usr/bin/pon"),
+ const wxString& commandHangup = wxT("/usr/bin/poff")) = 0;
};
// ----------------------------------------------------------------------------
-// DIALUP events processing
+// wxDialUpManager events
// ----------------------------------------------------------------------------
+BEGIN_DECLARE_EVENT_TYPES()
+ DECLARE_EVENT_TYPE(wxEVT_DIALUP_CONNECTED, 450)
+ DECLARE_EVENT_TYPE(wxEVT_DIALUP_DISCONNECTED, 451)
+END_DECLARE_EVENT_TYPES()
+
// 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&);
// 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) \
+ DECLARE_EVENT_TABLE_ENTRY( wxEVT_DIALUP_CONNECTED, -1, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxDialUpEventFunction, & func ), NULL),
+#define EVT_DIALUP_DISCONNECTED(func) \
+ DECLARE_EVENT_TABLE_ENTRY( wxEVT_DIALUP_DISCONNECTED, -1, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxDialUpEventFunction, & func ), NULL),
+
#endif // wxUSE_DIALUP_MANAGER
-#endif // _WX_NET_H
+#endif // _WX_DIALUP_H