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.
103 lines
2.4 KiB
103 lines
2.4 KiB
/*
|
|
smpppdsearcher.h
|
|
|
|
Copyright (c) 2004-2006 by Heiko Schaefer <heiko@rangun.de>
|
|
|
|
Kopete (c) 2002-2006 by the Kopete developers <kopete-devel@kde.org>
|
|
|
|
*************************************************************************
|
|
* *
|
|
* 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; version 2 of the License. *
|
|
* *
|
|
*************************************************************************
|
|
*/
|
|
|
|
|
|
#ifndef SMPPPDSEARCHER_H
|
|
#define SMPPPDSEARCHER_H
|
|
|
|
#include <kresolver.h>
|
|
|
|
class KProcess;
|
|
|
|
/**
|
|
* @brief Searches a network for a smpppd
|
|
*
|
|
* @todo Use of the SLP to find the smpppd
|
|
* @author Heiko Schäfer <heiko@rangun.de>
|
|
*/
|
|
class SMPPPDSearcher : public TQObject {
|
|
Q_OBJECT
|
|
|
|
SMPPPDSearcher(const SMPPPDSearcher&);
|
|
SMPPPDSearcher& operator=(const SMPPPDSearcher&);
|
|
|
|
public:
|
|
/**
|
|
* @brief Creates an <code>SMPPPDSearcher</code> instance
|
|
*/
|
|
SMPPPDSearcher();
|
|
|
|
/**
|
|
* @brief Destroys an <code>SMPPPDSearcher</code> instance
|
|
*/
|
|
~SMPPPDSearcher();
|
|
|
|
/**
|
|
* @brief Triggers a network scan to find a smpppd
|
|
* @see smpppdFound
|
|
* @see smpppdNotFound
|
|
*/
|
|
void searchNetwork();
|
|
|
|
void cancelSearch();
|
|
|
|
protected:
|
|
/**
|
|
* @brief Scans a network for a smpppd
|
|
*
|
|
* Scans a network for a smpppd described by
|
|
* ip and mask.
|
|
*
|
|
* @param ip the ntwork ip
|
|
* @param mask the network mask
|
|
* @return <code>TRUE</code> if an smpppd was found
|
|
*/
|
|
bool scan(const TQString& ip, const TQString& mask);
|
|
|
|
signals:
|
|
/**
|
|
* @brief A smppd was found
|
|
*
|
|
* @param host the host there the smpppd was found
|
|
*/
|
|
void smpppdFound(const TQString& host);
|
|
|
|
/**
|
|
* @brief No smpppd was found
|
|
*/
|
|
void smpppdNotFound();
|
|
|
|
void scanStarted(uint total);
|
|
void scanProgress(uint cur);
|
|
void scanFinished();
|
|
|
|
protected slots:
|
|
void slotStdoutReceivedIfconfig(KProcess * proc, char * buf, int len);
|
|
void slotStdoutReceivedNetstat (KProcess * proc, char * buf, int len);
|
|
|
|
private:
|
|
bool m_cancelSearchNow;
|
|
KProcess * m_procIfconfig;
|
|
KProcess * m_procNetstat;
|
|
};
|
|
|
|
inline void SMPPPDSearcher::cancelSearch() {
|
|
m_cancelSearchNow = TRUE;
|
|
}
|
|
|
|
#endif
|
|
|