KIMAP Library
listjob.h
00001 /* 00002 Copyright (c) 2009 Kevin Ottens <ervin@kde.org> 00003 00004 This library is free software; you can redistribute it and/or modify it 00005 under the terms of the GNU Library General Public License as published by 00006 the Free Software Foundation; either version 2 of the License, or (at your 00007 option) any later version. 00008 00009 This library is distributed in the hope that it will be useful, but WITHOUT 00010 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00011 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public 00012 License for more details. 00013 00014 You should have received a copy of the GNU Library General Public License 00015 along with this library; see the file COPYING.LIB. If not, write to the 00016 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00017 02110-1301, USA. 00018 */ 00019 00020 #ifndef KIMAP_LISTJOB_H 00021 #define KIMAP_LISTJOB_H 00022 00023 #include "kimap_export.h" 00024 00025 #include "job.h" 00026 00027 namespace KIMAP { 00028 00029 class Session; 00030 struct Message; 00031 class ListJobPrivate; 00032 00033 struct KIMAP_EXPORT MailBoxDescriptor 00034 { 00035 QString name; 00036 QChar separator; 00037 00038 inline bool operator==(const MailBoxDescriptor &other) const 00039 { 00040 return other.name==name && other.separator==separator; 00041 } 00042 00043 inline bool operator<(const MailBoxDescriptor &other) const 00044 { 00045 return other.name<name || (other.name==name && other.separator<separator); 00046 } 00047 }; 00048 00049 class KIMAP_EXPORT ListJob : public Job 00050 { 00051 Q_OBJECT 00052 Q_DECLARE_PRIVATE(ListJob) 00053 00054 friend class SessionPrivate; 00055 00056 public: 00057 enum Option { 00058 NoOption = 0x0, 00059 IncludeUnsubscribed, 00060 IncludeFolderRoleFlags 00062 }; 00063 00064 explicit ListJob( Session *session ); 00065 virtual ~ListJob(); 00066 00067 KDE_DEPRECATED void setIncludeUnsubscribed( bool include ); 00068 KDE_DEPRECATED bool isIncludeUnsubscribed() const; 00069 00070 void setOption( Option option ); 00071 Option option() const; 00072 00073 void setQueriedNamespaces( const QList<MailBoxDescriptor> &namespaces ); 00074 QList<MailBoxDescriptor> queriedNamespaces() const; 00075 00076 KDE_DEPRECATED QList<MailBoxDescriptor> mailBoxes() const; 00077 KDE_DEPRECATED QMap< MailBoxDescriptor, QList<QByteArray> > flags() const; 00078 00079 Q_SIGNALS: 00080 void mailBoxesReceived( const QList<KIMAP::MailBoxDescriptor> &descriptors, 00081 const QList< QList<QByteArray> > &flags ); 00082 00083 protected: 00084 virtual void doStart(); 00085 virtual void handleResponse(const Message &response); 00086 00087 private: 00088 Q_PRIVATE_SLOT( d_func(), void emitPendings() ) 00089 00090 00096 void convertInboxName( KIMAP::MailBoxDescriptor &descriptor ); 00097 }; 00098 00099 } 00100 00101 #endif
This file is part of the KDE documentation.
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon Aug 27 2012 22:08:13 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
Documentation copyright © 1996-2012 The KDE developers.
Generated on Mon Aug 27 2012 22:08:13 by doxygen 1.7.5 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.