Build with non-standard boost locations.
[kdepim.git] / messagecore / attachmentcompressjob.h
blob5feb68e9d326186f327eef4de87506a4f91bb112
1 /*
2 Copyright (c) 2009 Constantin Berzan <exit3219@gmail.com>
4 This library is free software; you can redistribute it and/or modify it
5 under the terms of the GNU Library General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or (at your
7 option) any later version.
9 This library is distributed in the hope that it will be useful, but WITHOUT
10 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public
12 License for more details.
14 You should have received a copy of the GNU Library General Public License
15 along with this library; see the file COPYING.LIB. If not, write to the
16 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
17 02110-1301, USA.
20 #ifndef KDEPIM_ATTACHMENTCOMPRESSJOB_H
21 #define KDEPIM_ATTACHMENTCOMPRESSJOB_H
23 #include "attachmentpart.h"
24 #include "messagecore_export.h"
26 #include <KDE/KJob>
28 namespace KPIM {
30 /**
32 class MESSAGECORE_EXPORT AttachmentCompressJob : public KJob
34 Q_OBJECT
36 public:
37 explicit AttachmentCompressJob( const AttachmentPart::Ptr &part, QObject *parent = 0 );
38 virtual ~AttachmentCompressJob();
40 virtual void start();
42 const AttachmentPart::Ptr originalPart() const;
43 void setOriginalPart( const AttachmentPart::Ptr part );
44 /// does not delete it unless it failed...
45 AttachmentPart::Ptr compressedPart() const;
46 bool isCompressedPartLarger() const;
48 private:
49 class Private;
50 friend class Private;
51 Private *const d;
52 Q_PRIVATE_SLOT( d, void doStart() )
55 } // namespace KPIM
57 #endif