All pastes #1347002 Raw Edit

Stuff

public cpp v1 · immutable
#1347002 ·published 2009-02-25 17:59 UTC
rendered paste body
/*    Copyright (c) 2006 - 2007 Volker Krause <vkrause@kde.org>    This library 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 library 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 library; see the file COPYING.LIB.  If not, write to the    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA    02110-1301, USA.*/#ifndef AKONADI_IMAPSTREAMPARSER_P_H#define AKONADI_IMAPSTREAMPARSER_P_H#include "akonadiprotocolinternals_export.h"#include "imapset_p.h"#include <QtCore/QByteArray>#include <QtCore/QList>#include <QtCore/QVarLengthArray>#include <QtCore/QObject>class QLocalSocket;namespace Akonadi {/**  Parser for IMAP messages.*/class AKONADIPROTOCOLINTERNALS_EXPORT ImapStreamParser{  public:    ImapStreamParser( QLocalSocket* socket);    ~ImapStreamParser();    QByteArray tag();    bool readUtf8String( QString& result );    bool readSequenceSet( ImapSet &result );    bool readString( QByteArray& result );    bool parseParenthesizedList( QVarLengthArray<QByteArray,16> &result );    bool parseQuotedString( QByteArray& result);    bool parseNumber( qint64 & result, bool * ok );  private:    void stripLeadingSpaces();    bool waitForMoreData( bool wait);    QLocalSocket *m_socket;    QByteArray m_data;    QByteArray m_tag;    int m_position;};}#endif