kmail

imapjob.h
1/*
2 *
3 * This file is part of KMail, the KDE mail client.
4 * Copyright (c) 2002-2003 Zack Rusin <zack@kde.org>
5 * 2000-2002 Michael Haeckel <haeckel@kde.org>
6 *
7 * KMail is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License, version 2, as
9 * published by the Free Software Foundation.
10 *
11 * KMail is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19 *
20 * In addition, as a special exception, the copyright holders give
21 * permission to link the code of this program with any edition of
22 * the TQt library by Trolltech AS, Norway (or with modified versions
23 * of TQt that use the same license as TQt), and distribute linked
24 * combinations including the two. You must obey the GNU General
25 * Public License in all respects for all of the code used other than
26 * TQt. If you modify this file, you may extend this exception to
27 * your version of the file, but you are not obligated to do so. If
28 * you do not wish to do so, delete this exception statement from
29 * your version.
30 */
31
32#ifndef IMAPJOB_H
33#define IMAPJOB_H
34
35#include <tdeio/job.h>
36#include <tdeio/global.h>
37
38#include "folderjob.h"
39
40#include <tqcstring.h>
41
42class KMAcctImap;
43class KMMessage;
44class KMFolderTreeItem;
45class KMFolderImap;
46namespace KPIM {
47 class ProgressItem;
48}
49
50namespace KMail {
51
52class AttachmentStrategy;
53
54class ImapJob : public FolderJob
55{
56 TQ_OBJECT
57
58 friend class ::KMAcctImap;
59
60public:
61 ImapJob( KMMessage *msg, JobType jt = tGetMessage, KMFolderImap *folder = 0,
62 TQString partSpecifier = TQString(), const AttachmentStrategy *as = 0 );
63 ImapJob( TQPtrList<KMMessage>& msgList, TQString sets,
64 JobType jt = tGetMessage, KMFolderImap *folder = 0 );
65 virtual ~ImapJob();
66
67 void setParentFolder( const KMFolderImap* parent );
68 KPIM::ProgressItem* parentProgressItem() const { return mParentProgressItem; }
69 void setParentProgressItem( KPIM::ProgressItem *p ) { mParentProgressItem = p; }
70
71private slots:
72 void slotGetMessageResult( TDEIO::Job * job );
73 void slotGetBodyStructureResult( TDEIO::Job * job );
74 void slotGetNextMessage();
76 void slotPutMessageDataReq( TDEIO::Job *job, TQByteArray &data );
77 void slotPutMessageResult( TDEIO::Job *job );
78 void slotPutMessageInfoData(TDEIO::Job *, const TQString &data);
80 void slotCopyMessageResult( TDEIO::Job *job );
81 void slotCopyMessageInfoData( TDEIO::Job *, const TQString &data );
82 void slotProcessedSize( TDEIO::Job *, TDEIO::filesize_t processed );
83
84private:
85 void execute();
86 void init( JobType jt, TQString sets, KMFolderImap *folder,
87 TQPtrList<KMMessage>& msgList );
88 TDEIO::Job *mJob;
89 TQByteArray mData;
90 const AttachmentStrategy *mAttachmentStrategy;
91 KMFolderImap *mParentFolder;
92 KPIM::ProgressItem *mParentProgressItem;
93};
94
95}
96
97
98#endif
This is a Mime Message.
Definition: kmmessage.h:68
folderdiaquotatab.h
Definition: aboutdata.cpp:40