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.
tdenetwork/kppp/connect.h

159 lines
3.5 KiB

/* -*- C++ -*-
*
* kPPP: A pppd front end for the KDE project
*
* $Id$
*
* Copyright (C) 1997 Bernd Johannes Wuebben
* wuebben@math.cornell.edu
*
* based on EzPPP:
* Copyright (C) 1997 Jay Painter
*
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library 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
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library 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 _CONNECT_H_
#define _CONNECT_H_
#include <tqtimer.h>
#include <kpushbutton.h>
#include <tqlabel.h>
#include <tqevent.h>
#include "kpppconfig.h"
#include "pwentry.h"
#include "docking.h"
#include "loginterm.h"
#define MAXLOOPNEST (MAX_SCRIPT_ENTRIES/2)
class PPPStats;
class ConnectWidget : public TQWidget {
Q_OBJECT
TQ_OBJECT
public:
ConnectWidget(TQWidget *tqparent, const char *name, PPPStats *st);
~ConnectWidget();
public:
void set_con_speed_string();
void setMsg(const TQString &);
void pppdDied();
// these are only necessary to prevent the user from clicking in the cancel
// button during the disconnect delay in KPPPWidget
void disableButtons();
void enableButtons();
protected:
void timerEvent(TQTimerEvent *);
void closeEvent( TQCloseEvent *e );
private slots:
void readChar(unsigned char);
void pause();
void if_waiting_slot();
public slots:
void init();
void preinit();
void script_timed_out();
void if_waiting_timed_out();
void cancelbutton();
signals:
void if_waiting_signal();
void debugMessage(const TQString &);
void toggleDebugWindow();
void closeDebugWindow();
void debugPutChar(unsigned char);
void startAccounting();
void stopAccounting();
public:
TQString myreadbuffer; // we want to keep every thing in order to fish for the
// connection speed later on
TQPushButton *debug;
int main_timer_ID;
private:
int vmain;
int substate;
int scriptindex;
TQString scriptCommand, scriptArgument;
TQStringList *comlist, *arglist;
// static const int maxloopnest=(MAX_SCRIPT_ENTRIES/2);
int loopnest;
int loopstartindex[MAXLOOPNEST];
bool loopend;
TQString loopstr[MAXLOOPNEST];
bool semaphore;
TQTimer *inittimer;
TQTimer *timeout_timer;
bool execppp();
void writeline(const TQString &);
void checkBuffers();
void setExpect(const TQString &);
bool expecting;
TQString expectstr;
TQString readbuffer;
void setScan(const TQString &);
TQString scanvar;
TQString scanstr;
TQString scanbuffer;
bool scanning;
bool pausing;
PWEntry *prompt;
LoginTerm *termwindow;
int scriptTimeout;
TQTimer *pausetimer;
TQTimer *if_timer;
TQTimer *if_timeout_timer;
TQLabel *messg;
KPushButton *cancel;
bool firstrunID;
bool firstrunPW;
unsigned int dialnumber; // the current number to dial
PPPStats *stats;
};
// non-member function to kill&wait on the pppd child process
extern void killppp();
void adddns();
void addpeerdns();
void removedns();
void add_domain(const TQString & newdomain);
void auto_hostname();
#endif