]> git.saurik.com Git - wxWidgets.git/blobdiff - src/unix/dialup.cpp
Quote file names with spaces in wxFileType::ExpandCommand().
[wxWidgets.git] / src / unix / dialup.cpp
index 2eabc7aa2eb78cb5e314e62278308ba9c4b8a42b..e43489d82dc3213322a628bee737e7e69571254d 100644 (file)
@@ -1,11 +1,11 @@
 // -*- c++ -*- ////////////////////////////////////////////////////////////////
 // Name:        src/unix/dialup.cpp
 // Purpose:     Network related wxWidgets classes and functions
 // -*- c++ -*- ////////////////////////////////////////////////////////////////
 // Name:        src/unix/dialup.cpp
 // Purpose:     Network related wxWidgets classes and functions
-// Author:      Karsten Ballüder
+// Author:      Karsten Ballüder
 // Modified by:
 // Created:     03.10.99
 // RCS-ID:      $Id$
 // Modified by:
 // Created:     03.10.99
 // RCS-ID:      $Id$
-// Copyright:   (c) Karsten Ballüder
+// Copyright:   (c) Karsten Ballüder
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
 // Licence:     wxWindows licence
 ///////////////////////////////////////////////////////////////////////////////
 
     #include "wx/timer.h"
 #endif // !PCH
 
     #include "wx/timer.h"
 #endif // !PCH
 
-#include "wx/filefn.h"
+#include "wx/filename.h"
 #include "wx/ffile.h"
 #include "wx/process.h"
 #include "wx/ffile.h"
 #include "wx/process.h"
-#include "wx/wxchar.h"
+#include "wx/crt.h"
 
 #include <stdlib.h>
 
 
 #include <stdlib.h>
 
@@ -43,8 +43,8 @@
 #include <arpa/inet.h>
 #include <errno.h>
 
 #include <arpa/inet.h>
 #include <errno.h>
 
-DEFINE_EVENT_TYPE(wxEVT_DIALUP_CONNECTED)
-DEFINE_EVENT_TYPE(wxEVT_DIALUP_DISCONNECTED)
+wxDEFINE_EVENT( wxEVT_DIALUP_CONNECTED, wxDialUpEvent );
+wxDEFINE_EVENT( wxEVT_DIALUP_DISCONNECTED, wxDialUpEvent );
 
 // ----------------------------------------------------------------------------
 // A class which groups functions dealing with connecting to the network from a
 
 // ----------------------------------------------------------------------------
 // A class which groups functions dealing with connecting to the network from a
@@ -73,7 +73,7 @@ class WXDLLEXPORT wxDialUpManagerImpl : public wxDialUpManager
 {
 public:
    wxDialUpManagerImpl();
 {
 public:
    wxDialUpManagerImpl();
-   ~wxDialUpManagerImpl();
+   virtual ~wxDialUpManagerImpl();
 
    /** Could the dialup manager be initialized correctly? If this function
        returns false, no other functions will work neither, so it's a good idea
 
    /** Could the dialup manager be initialized correctly? If this function
        returns false, no other functions will work neither, so it's a good idea
@@ -250,7 +250,7 @@ public:
 
    virtual void Notify()
    {
 
    virtual void Notify()
    {
-       wxLogTrace(_T("dialup"), wxT("Checking dial up network status."));
+       wxLogTrace(wxT("dialup"), wxT("Checking dial up network status."));
 
        m_dupman->CheckStatus();
    }
 
        m_dupman->CheckStatus();
    }
@@ -292,15 +292,15 @@ wxDialUpManagerImpl::wxDialUpManagerImpl()
    m_BeaconPort = 80;
 
 #ifdef __SGI__
    m_BeaconPort = 80;
 
 #ifdef __SGI__
-   m_ConnectCommand = _T("/usr/etc/ppp");
+   m_ConnectCommand = wxT("/usr/etc/ppp");
 #elif defined(__LINUX__)
    // default values for Debian/GNU linux
 #elif defined(__LINUX__)
    // default values for Debian/GNU linux
-   m_ConnectCommand = _T("pon");
-   m_HangUpCommand = _T("poff");
+   m_ConnectCommand = wxT("pon");
+   m_HangUpCommand = wxT("poff");
 #endif
 
 #endif
 
-   wxChar * dial = wxGetenv(_T("WXDIALUP_DIALCMD"));
-   wxChar * hup = wxGetenv(_T("WXDIALUP_HUPCMD"));
+   wxChar * dial = wxGetenv(wxT("WXDIALUP_DIALCMD"));
+   wxChar * hup = wxGetenv(wxT("WXDIALUP_HUPCMD"));
    SetConnectCommand(dial ? wxString(dial) : m_ConnectCommand,
                      hup ? wxString(hup) : m_HangUpCommand);
 }
    SetConnectCommand(dial ? wxString(dial) : m_ConnectCommand,
                      hup ? wxString(hup) : m_HangUpCommand);
 }
@@ -509,7 +509,7 @@ void wxDialUpManagerImpl::CheckStatusInternal()
             break;
 
         default:
             break;
 
         default:
-            wxFAIL_MSG(_T("Unexpected netDeviceType"));
+            wxFAIL_MSG(wxT("Unexpected netDeviceType"));
     }
 }
 
     }
 }
 
@@ -597,7 +597,7 @@ wxDialUpManagerImpl::CheckProcNet()
     int netDevice = NetDevice_Unknown;
 
 #ifdef __LINUX__
     int netDevice = NetDevice_Unknown;
 
 #ifdef __LINUX__
-    if (wxFileExists(_T("/proc/net/route")))
+    if (wxFileExists(wxT("/proc/net/route")))
     {
         // cannot use wxFile::Length because file doesn't support seeking, so
         // use stdio directly
     {
         // cannot use wxFile::Length because file doesn't support seeking, so
         // use stdio directly
@@ -645,18 +645,18 @@ wxDialUpManagerImpl::CheckIfconfig()
     // first time check for ifconfig location
     if ( m_CanUseIfconfig == -1 ) // unknown
     {
     // first time check for ifconfig location
     if ( m_CanUseIfconfig == -1 ) // unknown
     {
-        static const wxChar *ifconfigLocations[] =
+        static const wxChar *const ifconfigLocations[] =
         {
         {
-            _T("/sbin"),         // Linux, FreeBSD, Darwin
-            _T("/usr/sbin"),     // SunOS, Solaris, AIX, HP-UX
-            _T("/usr/etc"),      // IRIX
-            _T("/etc"),          // AIX 5
+            wxT("/sbin"),         // Linux, FreeBSD, Darwin
+            wxT("/usr/sbin"),     // SunOS, Solaris, AIX, HP-UX
+            wxT("/usr/etc"),      // IRIX
+            wxT("/etc"),          // AIX 5
         };
 
         for ( size_t n = 0; n < WXSIZEOF(ifconfigLocations); n++ )
         {
             wxString path(ifconfigLocations[n]);
         };
 
         for ( size_t n = 0; n < WXSIZEOF(ifconfigLocations); n++ )
         {
             wxString path(ifconfigLocations[n]);
-            path << _T("/ifconfig");
+            path << wxT("/ifconfig");
 
             if ( wxFileExists(path) )
             {
 
             if ( wxFileExists(path) )
             {
@@ -671,19 +671,20 @@ wxDialUpManagerImpl::CheckIfconfig()
         wxLogNull ln; // suppress all error messages
 
         wxASSERT_MSG( m_IfconfigPath.length(),
         wxLogNull ln; // suppress all error messages
 
         wxASSERT_MSG( m_IfconfigPath.length(),
-                      _T("can't use ifconfig if it wasn't found") );
+                      wxT("can't use ifconfig if it wasn't found") );
 
 
-        wxString tmpfile = wxGetTempFileName( wxT("_wxdialuptest") );
+        wxString tmpfile = wxFileName::CreateTempFileName( wxT("_wxdialuptest") );
         wxString cmd = wxT("/bin/sh -c \'");
         cmd << m_IfconfigPath;
 #if defined(__AIX__) || \
         wxString cmd = wxT("/bin/sh -c \'");
         cmd << m_IfconfigPath;
 #if defined(__AIX__) || \
+    defined(__NETBSD__) || \
     defined(__OSF__) || \
     defined(__SOLARIS__) || defined (__SUNOS__)
         // need to add -a flag
         cmd << wxT(" -a");
 #elif defined(__LINUX__) || defined(__SGI__)
         // nothing to be added to ifconfig
     defined(__OSF__) || \
     defined(__SOLARIS__) || defined (__SUNOS__)
         // need to add -a flag
         cmd << wxT(" -a");
 #elif defined(__LINUX__) || defined(__SGI__)
         // nothing to be added to ifconfig
-#elif defined(__FREEBSD__) || defined(__DARWIN__)
+#elif defined(__FREEBSD__) || defined(__DARWIN__) || defined(__QNX__)
         // add -l flag
         cmd << wxT(" -l");
 #elif defined(__HPUX__)
         // add -l flag
         cmd << wxT(" -l");
 #elif defined(__HPUX__)
@@ -702,7 +703,7 @@ wxDialUpManagerImpl::CheckIfconfig()
        cmd << wxT(" >") << tmpfile <<  wxT('\'');
         /* I tried to add an option to wxExecute() to not close stdout,
            so we could let ifconfig write directly to the tmpfile, but
        cmd << wxT(" >") << tmpfile <<  wxT('\'');
         /* I tried to add an option to wxExecute() to not close stdout,
            so we could let ifconfig write directly to the tmpfile, but
-           this does not work. That should be faster, as it doesn´t call
+           this does not work. That should be faster, as it doesn't call
            the shell first. I have no idea why. :-(  (KB) */
         if ( wxExecute(cmd,true /* sync */) == 0 )
         {
            the shell first. I have no idea why. :-(  (KB) */
         if ( wxExecute(cmd,true /* sync */) == 0 )
         {
@@ -720,9 +721,9 @@ wxDialUpManagerImpl::CheckIfconfig()
 
 #if defined(__SOLARIS__) || defined (__SUNOS__)
                     // dialup device under SunOS/Solaris
 
 #if defined(__SOLARIS__) || defined (__SUNOS__)
                     // dialup device under SunOS/Solaris
-                    hasModem = strstr(output.fn_str(),"ipdptp") != (char *)NULL;
-                    hasLAN = strstr(output.fn_str(), "hme") != (char *)NULL;
-#elif defined(__LINUX__) || defined (__FREEBSD__)
+                    hasModem = strstr(output.fn_str(),"ipdptp") != NULL;
+                    hasLAN = strstr(output.fn_str(), "hme") != NULL;
+#elif defined(__LINUX__) || defined (__FREEBSD__) || defined (__QNX__)
                     hasModem = strstr(output.fn_str(),"ppp")    // ppp
                         || strstr(output.fn_str(),"sl")  // slip
                         || strstr(output.fn_str(),"pl"); // plip
                     hasModem = strstr(output.fn_str(),"ppp")    // ppp
                         || strstr(output.fn_str(),"sl")  // slip
                         || strstr(output.fn_str(),"pl"); // plip
@@ -746,7 +747,7 @@ wxDialUpManagerImpl::CheckIfconfig()
         }
         else // could not run ifconfig correctly
         {
         }
         else // could not run ifconfig correctly
         {
-            m_CanUseIfconfig = 0; // don´t try again
+            m_CanUseIfconfig = 0; // don't try again
         }
 
         (void) wxRemoveFile(tmpfile);
         }
 
         (void) wxRemoveFile(tmpfile);
@@ -766,9 +767,9 @@ wxDialUpManagerImpl::NetConnection wxDialUpManagerImpl::CheckPing()
         if (wxFileExists( wxT("SYS$SYSTEM:TCPIP$PING.EXE") ))
             m_PingPath = wxT("$SYS$SYSTEM:TCPIP$PING");
 #elif defined(__AIX__)
         if (wxFileExists( wxT("SYS$SYSTEM:TCPIP$PING.EXE") ))
             m_PingPath = wxT("$SYS$SYSTEM:TCPIP$PING");
 #elif defined(__AIX__)
-        m_PingPath = _T("/etc/ping");
+        m_PingPath = wxT("/etc/ping");
 #elif defined(__SGI__)
 #elif defined(__SGI__)
-        m_PingPath = _T("/usr/etc/ping");
+        m_PingPath = wxT("/usr/etc/ping");
 #else
         if (wxFileExists( wxT("/bin/ping") ))
             m_PingPath = wxT("/bin/ping");
 #else
         if (wxFileExists( wxT("/bin/ping") ))
             m_PingPath = wxT("/bin/ping");
@@ -798,7 +799,8 @@ wxDialUpManagerImpl::NetConnection wxDialUpManagerImpl::CheckPing()
       defined(__LINUX__) || \
       defined(__OSF__) || \
       defined(__SGI__) || \
       defined(__LINUX__) || \
       defined(__OSF__) || \
       defined(__SGI__) || \
-      defined(__VMS)
+      defined(__VMS) || \
+      defined(__QNX__)
     cmd << wxT("-c 1 "); // only ping once
 #elif defined(__HPUX__)
     cmd << wxT("64 1 "); // only ping once (need also specify the packet size)
     cmd << wxT("-c 1 "); // only ping once
 #elif defined(__HPUX__)
     cmd << wxT("64 1 "); // only ping once (need also specify the packet size)