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 
42 class KMAcctImap;
43 class KMMessage;
44 class KMFolderTreeItem;
45 class KMFolderImap;
46 namespace KPIM {
47  class ProgressItem;
48 }
49 
50 namespace KMail {
51 
52 class AttachmentStrategy;
53 
54 class ImapJob : public FolderJob
55 {
56  TQ_OBJECT
57 
58  friend class ::KMAcctImap;
59 
60 public:
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 
71 private 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 
84 private:
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