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.
wlassistant/src/wlassistant.h

121 lines
4.6 KiB

/***************************************************************************
* 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