Home

qttelnet.h

This is the verbatim text of the qttelnet.h include file. It is provided only for illustration; the copyright remains with Trolltech.


#ifndef QTTELNET_H
#define QTTELNET_H

#include <qobject.h>
#include <qstring.h>
#include <qsize.h>
#include <qvaluelist.h>
#include <qregexp.h>

class QSocket;
class QtTelnetPrivate;

#if defined(Q_WS_WIN)
#  if !defined(QT_QTTELNET_EXPORT) && !defined(QT_QTTELNET_IMPORT)
#    define QT_QTTELNET_EXPORT
#  elif defined(QT_QTTELNET_IMPORT)
#    if defined(QT_QTTELNET_EXPORT)
#      undef QT_QTTELNET_EXPORT
#    endif
#    define QT_QTTELNET_EXPORT __declspec(dllimport)
#  elif defined(QT_QTTELNET_EXPORT)
#    undef QT_QTTELNET_EXPORT
#    define QT_QTTELNET_EXPORT __declspec(dllexport)
#  endif
#else
#  define QT_QTTELNET_EXPORT
#endif

class QT_QTTELNET_EXPORT QtTelnet : public QObject
{
    Q_OBJECT
    friend class QtTelnetPrivate;
public:
    QtTelnet(QObject *parent = 0, const char *name = 0);
    ~QtTelnet();

    enum Control { GoAhead, InterruptProcess, AreYouThere, AbortOutput,
                   EraseCharacter, EraseLine, Break, EndOfFile, Suspend,
                   Abort };

    void connectToHost(const QString &host, Q_UINT16 port = 23);

    void login(const QCString &user, const QCString &pass);

    void setWindowSize(const QSize &size);
    void setWindowSize(int width, int height); // In number of characters
    QSize windowSize() const;
    bool isValidWindowSize() const;

    void setSocket(QSocket *socket);
    QSocket *socket() const;

    void setPromptPattern(const QRegExp &prompt);
    void setPromptString(const QString &prompt)
    { setPromptPattern(QRegExp::escape(prompt)); }
public slots:
    void close();
    void logout();
    void sendControl(Control ctrl);
    void sendData(const QString &data);
    void sendSync();

signals:
    void loginRequired();
    void loginFailed();
    void loggedIn();
    void loggedOut();
    void connectionError(int code);
    void message(const QString &data);

protected:
    void setLoginPattern(const QRegExp &prompt);
    void setLoginString(const QString &login)
    { setLoginPattern(QRegExp::escape(login)); }
    void setPasswordPattern(const QRegExp &prompt);
    void setPasswordString(const QString &password)
    { setPasswordPattern(QRegExp::escape(password)); }

private:
    QtTelnetPrivate *d;
};
#endif

Copyright © 2003-2005 TrolltechTrademarks
Qt Solutions