]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/dialup.h
improvements to zlib streams (patch 929416):
[wxWidgets.git] / include / wx / dialup.h
index 032ad9eac7d5497f01d078e3619cfe3f7d6b4be5..1e1ee8c733654cdd0e70a694f081820a94bdf4f1 100644 (file)
@@ -9,18 +9,24 @@
 // Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef _WX_NET_H
-#define _WX_NET_H
+#ifndef _WX_DIALUP_H
+#define _WX_DIALUP_H
+
+#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 WXDLLEXPORT 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
@@ -61,8 +67,17 @@ public:
     // 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
@@ -74,7 +89,7 @@ public:
                       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
@@ -86,6 +101,14 @@ public:
     // 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
@@ -125,14 +148,19 @@ public:
     // 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
 {
@@ -151,15 +179,24 @@ public:
     // 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