Clase wxDialUpManager
Esta clase encapsula funciones que se ocupan de verificar el estado de conexión de la estación de trabajo (conectada a Internet mediante una conexión directa, conectada a través de un módem o no conectada en absoluto) y de establecer esta conexión si es posible/requerida (es decir en el caso del módem).
También es posible que el programa desee recibir una notificación sobre el cambio en el estado de la conexión (por ejemplo, para realizar alguna acción cuando el usuario se conecte a la red la próxima vez o, por el contrario, para dejar de recibir datos de la red cuando el usuario cuelgue el módem). Para ello, es necesario utilizar una de las macros de eventos que se describen a continuación.
Esta clase es diferente de otras clases wxWidgets en que hay como máximo una instancia de esta clase en el programa a la que se accede mediante Create() y no se pueden crear los objetos de esta clase directamente.
Eventos emitidos por esta clase
Las siguientes macros de manejadores de eventos redirigen los eventos a manejadores de funciones miembro 'func' con prototipos como:
void handlerFuncName(wxDialUpEvent& event)
Macros para eventos emitidos por esta clase:
- EVT_DIALUP_CONNECTED(func)
- Se ha establecido una conexión con la red.
- EVT_DIALUP_DISCONNECTED(func)
- Se ha perdido la conexión con la red.
Funciones miembro
~wxDialUpManager()
virtual wxDialUpManager::~wxDialUpManager()
Destructor
CancelDialing()
virtual bool wxDialUpManager::CancelDialing()
Cancela la marcación del número iniciado con Dial() con el parámetro async igual a true.
Nota: Esto no resultará en el envío de un evento DISCONNECTED.
Create()
static wxDialUpManager* wxDialUpManager::Create()
Esta función debe crear y devolver el objeto de la clase específica de la plataforma derivada de wxDialUpManager.
Se deberá eliminar el puntero cuando se haya terminado de utilizarlo.
Dial()
virtual bool wxDialUpManager::Dial( const wxString & nameOfISP = wxEmptyString, const wxString & username = wxEmptyString, const wxString & password = wxEmptyString, bool async = true )
Marca el ISP dado, usa nombre de usuario y contraseña para autenticar.
Los parámetros solo se utilizan actualmente bajo Windows, para Unix debe utilizar SetConnectCommand() para personalizar el comportamiento de esta función.
Si no se da nameOfISP, la función seleccionará el predeterminado (proponiendo al usuario elegir entre todas las conexiones definidas en esta máquina) y si no se da nombre de usuario y/o contraseña, la función intentará prescindir de ellos, pero preguntará al usuario si realmente son necesarios.
Si el parámetro async es false, la función espera hasta el final de la marcación y devuelve true al finalizar con éxito.
Si async es true, la función sólo inicia la conexión y retorna inmediatamente - el resultado es reportado vía eventos (un evento es enviado de todas formas, pero si la marcación falló será uno DISCONNECTED).
DisableAutoCheckOnlineStatus()
virtual void wxDialUpManager::DisableAutoCheckOnlineStatus()
Desactiva la comprobación automática del cambio de estado de la conexión - obsérvese que los eventos wxEVT_DIALUP_XXX tampoco se enviarán más.
EnableAutoCheckOnlineStatus()
virtual bool wxDialUpManager::EnableAutoCheckOnlineStatus(size_t nSeconds = 60)
Habilita la comprobación automática del estado de la conexión y el envío de eventos wxEVT_DIALUP_CONNECTED/wxEVT_DIALUP_DISCONNECTED.
El parámetro intervalo es solo para Unix donde hacemos la comprobación manualmente y especifica la frecuencia con la que debemos repetir la comprobación (cada minuto por defecto). En Windows, la notificación sobre el cambio de estado de la conexión la envía el sistema, por lo que no hacemos ningún sondeo y este parámetro se ignora.
Valor de retorno
false si no se ha podido configurar la comprobación automática del estado de conexión.
GetISPNames()
virtual size_t wxDialUpManager::GetISPNames(wxArrayString & names) const
Esta función solo está implementada en Windows.
Llena el array con los nombres de todos los valores posibles para el primer parámetro de Dial() en esta máquina y devuelve su número (puede ser 0).
HangUp()
virtual bool wxDialUpManager::HangUp()
Cuelga la conexión telefónica activa en ese momento.
IsAlwaysOnline()
virtual bool wxDialUpManager::IsAlwaysOnline() const
Devuelve true si el ordenador tiene una conexión de red permanente (es decir, está en una LAN) y por tanto no es necesario utilizar la función Dial() para conectarse.
Nota: Esta función intenta adivinar el resultado y no siempre se garantiza que sea correcto, por lo que es mejor pedir confirmación al usuario o darle la posibilidad de anularla.
IsDialing()
virtual bool wxDialUpManager::IsDialing() const
Devuelve true si la marcación (asíncrona) está en curso.
IsOk()
virtual bool wxDialUpManager::IsOk() const
Devuelve true si el gestor de marcación fue inicializado correctamente.
Si esta función devuelve false, ninguna otra función funcionará tampoco, por lo que es una buena idea llamar a esta función y comprobar su resultado antes de llamar a cualquier otro método de wxDialUpManager.
IsOnline()
virtual bool wxDialUpManager::IsOnline() const
Devuelve true si el ordenador está conectado a la red: bajo Windows, esto solo significa que existe una conexión RAS, bajo Unix comprobamos que el "host bien conocido" (como se especifica en SetWellKnownHost()) es alcanzable.
SetConnectCommand()
virtual void wxDialUpManager::SetConnectCommand( const wxString & commandDial = "/usr/bin/pon", const wxString & commandHangup = "/usr/bin/poff" )
Este método es solo para Unix.
Establece los comandos para iniciar la red y volver a colgar.
SetOnlineStatus()
virtual void wxDialUpManager::SetOnlineStatus(isOnline = true)
A veces, la lógica incorporada para determinar el estado en línea puede fallar, por lo que, en general, se debe permitir al usuario anularla.
Esta función permite establecer por la fuerza el estado en línea, independientemente de lo que piense nuestro algoritmo interno.
SetWellKnownHost()
virtual void wxDialUpManager::SetWellKnownHost( const wxString & hostname, int portno = 80 )
Este método es sólo para Unix.
En Unix, el valor de host conocido se utiliza para comprobar si estamos conectados a Internet. En Windows no se utiliza, pero siempre es seguro llamar a esta función. El valor por defecto es "www.yahoo.com:80".