libktorrent  2.1.1
compressfilejob.h
1 /***************************************************************************
2  * Copyright (C) 2008 by Joris Guisson and Ivan Vasic *
3  * joris.guisson@gmail.com *
4  * ivasic@gmail.com *
5  * *
6  * This program is free software; you can redistribute it and/or modify *
7  * it under the terms of the GNU General Public License as published by *
8  * the Free Software Foundation; either version 2 of the License, or *
9  * (at your option) any later version. *
10  * *
11  * This program is distributed in the hope that it will be useful, *
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14  * GNU 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 *
18  * Free Software Foundation, Inc., *
19  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. *
20  ***************************************************************************/
21 #ifndef BTCOMPRESSFILEJOB_H
22 #define BTCOMPRESSFILEJOB_H
23 
24 #include <QThread>
25 #include <kio/job.h>
26 #include <ktorrent_export.h>
27 
28 namespace bt
29 {
30  class KTORRENT_EXPORT CompressThread : public QThread
31  {
32  public:
33  CompressThread(const QString & file);
34  ~CompressThread() override;
35 
37  void run() override;
38 
40  void cancel();
41 
43  int error() const {return err;}
44 
45  private:
46  QString file;
47  bool canceled;
48  int err;
49  };
50 
54  class KTORRENT_EXPORT CompressFileJob : public KIO::Job
55  {
56  Q_OBJECT
57  public:
58  CompressFileJob(const QString & file);
59  ~CompressFileJob() override;
60 
61  void start() override;
62  virtual void kill(bool quietly=true);
63 
64  private Q_SLOTS:
65  void compressThreadFinished();
66 
67  private:
68  QString file;
69  CompressThread* compress_thread;
70  };
71 
72 }
73 
74 #endif
bt::CompressThread
Definition: compressfilejob.h:50
bt::CompressFileJob
Definition: compressfilejob.h:74