diff options
Diffstat (limited to 'kopete/protocols/oscar/liboscar/stream.h')
-rw-r--r-- | kopete/protocols/oscar/liboscar/stream.h | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/kopete/protocols/oscar/liboscar/stream.h b/kopete/protocols/oscar/liboscar/stream.h new file mode 100644 index 00000000..9fbacbda --- /dev/null +++ b/kopete/protocols/oscar/liboscar/stream.h @@ -0,0 +1,75 @@ +/* + stream.h - Kopete Groupwise Protocol + + Copyright (c) 2004 Matt Rogers <mattr@kde.org> + + Based on code copyright (c) 2004 SuSE Linux AG <http://www.suse.com> + Based on Iris, Copyright (C) 2003 Justin Karneges + + Kopete (c) 2002-2004 by the Kopete developers <kopete-devel@kde.org> + + ************************************************************************* + * * + * This library is free software; you can redistribute it and/or * + * modify it under the terms of the GNU Lesser General Public * + * License as published by the Free Software Foundation; either * + * version 2 of the License, or (at your option) any later version. * + * * + ************************************************************************* +*/ + +#include <qobject.h> + +#ifndef OSCAR_STREAM_H +#define OSCAR_STREAM_H + +class Transfer; + +class Stream : public QObject +{ + Q_OBJECT +public: + enum Error { ErrParse, ErrProtocol, ErrStream, ErrCustom = 10 }; + enum StreamCond { + GenericStreamError, + Conflict, + ConnectionTimeout, + InternalServerError, + InvalidFrom, +/*# InvalidXml, // not required*/ + PolicyViolation, + ResourceConstraint, + SystemShutdown + }; + + Stream(QObject *parent=0); + virtual ~Stream(); + + virtual void close()=0; + virtual int errorCondition() const=0; + virtual QString errorText() const=0; + + /** + * Are there any messages waiting to be read + */ + virtual bool transfersAvailable() const = 0; // adapt to messages + /** + * Read a message received from the server + */ + virtual Transfer* read() = 0; + + /** + * Send a message to the server + */ + virtual void write( Transfer *request) = 0; + + +signals: + void connectionClosed(); + void delayedCloseFinished(); + void readyRead(); //signals that there is a transfer ready to be read +// void stanzaWritten(); + void error(int); +}; + +#endif |