You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
4.6 KiB
121 lines
4.6 KiB
15 years ago
|
/***************************************************************************
|
||
|
* Copyright (C) 2005 by Pawel Nawrocki *
|
||
|
* pnawrocki@interia.pl *
|
||
|
* *
|
||
|
* This program is free software; you can redistribute it and/or modify *
|
||
|
* it under the terms of the GNU General Public License as published by *
|
||
|
* the Free Software Foundation; either version 2 of the License, or *
|
||
|
* (at your option) any later version. *
|
||
|
* *
|
||
|
* This program is distributed in the hope that it will be useful, *
|
||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
|
||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
|
||
|
* GNU General Public License for more details. *
|
||
|
* *
|
||
|
* You should have received a copy of the GNU General Public License *
|
||
|
* along with this program; if not, write to the *
|
||
|
* Free Software Foundation, Inc., *
|
||
|
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
|
||
|
***************************************************************************/
|
||
|
|
||
|
#ifndef WLASSISTANT_H
|
||
|
#define WLASSISTANT_H
|
||
|
|
||
|
//connection check interval in msec
|
||
|
#define WA_CONNECTION_CHECK_INTERVAL 5000
|
||
|
|
||
|
#include "ui_main.h"
|
||
|
#include "waconfig.h"
|
||
|
|
||
|
#include "netparams.h"
|
||
|
|
||
|
class QTimer;
|
||
|
class QProcess;
|
||
|
class NetListViewItem;
|
||
|
|
||
|
class WirelessAssistant : public mainWindow
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
|
||
|
public:
|
||
|
/*$PUBLIC_FUNCTIONS$*/
|
||
|
WirelessAssistant(QWidget* parent = 0, const char* name = 0, bool modal = FALSE, WFlags fl = 0 );
|
||
|
~WirelessAssistant();
|
||
|
|
||
|
static QString getVal(const QString & str, const QString & rxs);
|
||
|
|
||
|
public slots:
|
||
|
/*$PUBLIC_SLOTS$*/
|
||
|
virtual void netConnect();
|
||
|
virtual void netScan();
|
||
|
virtual void netDisconnect( const bool & quiet = false);
|
||
|
|
||
|
private:
|
||
|
void netScan( const WANetParams & np );
|
||
|
void netConnect( const WANetParams & np );
|
||
|
void setDNS( const WANetParams & np );
|
||
|
void readConfig();
|
||
|
void saveSettings();
|
||
|
void setUi(int uiState);
|
||
|
void setSingleClick(bool i);
|
||
|
QString runCommand( const QStringList & cmd, int timeout = 0, bool detached = 0 );
|
||
|
void setNetParamsFromList( QListViewItem* lvi );
|
||
|
bool setNetParamsFromConfig( const QString & s );
|
||
|
QString matchEssidForAp( const QString & ap );
|
||
|
bool radioEnabled();
|
||
|
QListViewItem* getItemByAp( const QString & ap );
|
||
|
QListViewItem* getItemByEssid( const QString & essid );
|
||
|
void setConnectedItem( const QString & netid );
|
||
|
QString getGateway();
|
||
|
bool dhcpClientRunning();
|
||
|
QStringList interfaceList();
|
||
|
bool generateWpaConfigFile( const QString& essid, const QStringList& wpaSettings, const QString& wpaKey );
|
||
|
bool setWpaClientEnabled( bool e, const QString& iface = 0, QString driver = 0 );
|
||
|
|
||
|
QStringList NetParamsList;
|
||
|
QStringList execsNotFound;
|
||
|
NetListViewItem* connectedItem;
|
||
|
QString wpaConfigFile;
|
||
|
/// settings saved in wlassistantrc
|
||
|
bool autoQuit;
|
||
|
bool autoReconnect;
|
||
|
bool autoConnect;
|
||
|
bool groupAPs;
|
||
|
bool wpaAvailable;
|
||
|
int DelayBeforeScanning;
|
||
|
int DhcpTimeout;
|
||
|
/*QString dhcpcdInfoPath;
|
||
|
QString dhclientInfoPath;
|
||
|
QString dhcpcdPidPath;
|
||
|
QString dhclientPidPath;*/
|
||
|
/// end settings.
|
||
|
|
||
|
WACommands Commands;
|
||
|
WANetParams NetParams;
|
||
|
QTimer* timerGui;
|
||
|
QTimer* timerConnectionCheck;
|
||
|
|
||
|
protected slots:
|
||
|
/*$PROTECTED_SLOTS$*/
|
||
|
virtual void init();
|
||
|
virtual void netAutoConnect();
|
||
|
virtual void parseScan( const QString & output );
|
||
|
virtual void setDev( const QString & ifname);
|
||
|
virtual void setNetListColumns();
|
||
|
virtual void updateConfiguration(int category = -1);
|
||
|
virtual void updateConnectedItem();
|
||
|
virtual void showItemContextMenu( QListViewItem* i, const QPoint& p, int c);
|
||
|
virtual void editNetParams();
|
||
|
virtual void removeNetParams();
|
||
|
virtual void updateNetParams();
|
||
|
virtual void itemAction();
|
||
|
virtual void checkConnectionStatus();
|
||
|
virtual void updateConnectButton(QListViewItem* lvi);
|
||
|
virtual void setMouseBehaviour();
|
||
|
virtual void togglePage(bool options );
|
||
|
virtual void enableAllMessages();
|
||
|
virtual bool close();
|
||
|
};
|
||
|
|
||
|
#endif
|