• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdenetwork API Reference
  • KDE Home
  • Contact Us
 

kget

  • sources
  • kde-4.14
  • kdenetwork
  • kget
  • transfer-plugins
  • multisegmentkio
transfermultisegkio.h
Go to the documentation of this file.
1 /* This file is part of the KDE project
2 
3  Copyright (C) 2004 Dario Massarin <nekkar@libero.it>
4  Copyright (C) 2006 Manolo Valdes <nolis71cu@gmail.com>
5 
6  This program is free software; you can redistribute it and/or
7  modify it under the terms of the GNU General Public
8  License as published by the Free Software Foundation; either
9  version 2 of the License, or (at your option) any later version.
10 */
11 
12 
13 #ifndef TRANSFER_MULTISEGKIO_H
14 #define TRANSFER_MULTISEGKIO_H
15 
16 #include <KIO/Job>
17 
18 #include "core/transfer.h"
19 #include "core/datasourcefactory.h"
20 
25 class DataSourceFactory;
26 class FileModel;
27 
28 class TransferMultiSegKio : public Transfer
29 {
30  Q_OBJECT
31 
32  public:
33  TransferMultiSegKio(TransferGroup * parent, TransferFactory * factory,
34  Scheduler * scheduler, const KUrl & src, const KUrl & dest,
35  const QDomElement * e = 0);
36 
37  bool repair(const KUrl &file = KUrl());
38 
44  virtual bool setDirectory(const KUrl &newDirectory);
45 
46  virtual void init();
47  virtual void deinit(Transfer::DeleteOptions options);
48 
49  QHash<KUrl, QPair<bool, int> > availableMirrors(const KUrl &file) const;
50  void setAvailableMirrors(const KUrl &file, const QHash<KUrl, QPair<bool, int> > &mirrors);
51 
56  virtual Verifier *verifier(const KUrl &file = KUrl());
57 
62  virtual Signature *signature(const KUrl &file = KUrl());
63 
64  FileModel *fileModel();
65 
66  public slots:
67  bool setNewDestination(const KUrl &newDestination);
68  // --- Job virtual functions ---
69  void start();
70  void stop();
71 
72  void save(const QDomElement &element);
73  void load(const QDomElement *e);
74  void slotChecksumFound(QString type, QString checksum);
75 
76  private:
77  void createJob();
78 
79  private slots:
80  void slotDataSourceFactoryChange(Transfer::ChangesFlags change);
81  void slotUpdateCapabilities();
82  void slotSearchUrls(const QList<KUrl> &urls);
83  void slotRename(const KUrl &oldUrl, const KUrl &newUrl);
84  void slotVerified(bool isVerified);
85  void slotStatResult(KJob * kioJob);
86 
87  private:
88  bool m_movingFile;
89  bool m_searchStarted;
90  bool m_verificationSearch;
91  DataSourceFactory *m_dataSourceFactory;
92  FileModel *m_fileModel;
93 };
94 
95 #endif
Transfer::ChangesFlags
int ChangesFlags
Definition: transfer.h:100
TransferGroup
class TransferGroup:
Definition: transfergroup.h:46
Scheduler
Scheduler class: what handle all the jobs in kget.
Definition: scheduler.h:32
TransferMultiSegKio
Definition: transfermultisegkio.h:28
TransferMultiSegKio::fileModel
FileModel * fileModel()
Definition: transfermultisegkio.cpp:337
TransferMultiSegKio::repair
bool repair(const KUrl &file=KUrl())
Tries to repair file.
Definition: transfermultisegkio.cpp:109
DataSourceFactory
This class manages multiple DataSources and saves the received data to the file.
Definition: datasourcefactory.h:38
TransferMultiSegKio::availableMirrors
QHash< KUrl, QPair< bool, int > > availableMirrors(const KUrl &file) const
The mirrors that are available bool if it is used, int how many paralell connections are allowed to t...
Definition: transfermultisegkio.cpp:297
Job::scheduler
Scheduler * scheduler() const
Definition: job.h:106
TransferMultiSegKio::TransferMultiSegKio
TransferMultiSegKio(TransferGroup *parent, TransferFactory *factory, Scheduler *scheduler, const KUrl &src, const KUrl &dest, const QDomElement *e=0)
Definition: transfermultisegkio.cpp:34
FileModel
This model represents the files that are being downloaded.
Definition: filemodel.h:101
TransferMultiSegKio::start
void start()
Definition: transfermultisegkio.cpp:71
QHash
TransferMultiSegKio::setDirectory
virtual bool setDirectory(const KUrl &newDirectory)
Move the download to the new destination.
Definition: transfermultisegkio.cpp:123
Transfer::factory
TransferFactory * factory() const
Definition: transfer.h:272
QString
QList< KUrl >
TransferMultiSegKio::setAvailableMirrors
void setAvailableMirrors(const KUrl &file, const QHash< KUrl, QPair< bool, int > > &mirrors)
Set the mirrors, int the number of paralell connections to the mirror bool if the mirror should be us...
Definition: transfermultisegkio.cpp:305
QPair
TransferMultiSegKio::save
void save(const QDomElement &element)
Definition: transfermultisegkio.cpp:160
Verifier
Definition: verifier.h:68
Transfer::dest
const KUrl & dest() const
Definition: transfer.h:149
TransferMultiSegKio::setNewDestination
bool setNewDestination(const KUrl &newDestination)
Definition: transfermultisegkio.cpp:130
datasourcefactory.h
TransferMultiSegKio::stop
void stop()
Definition: transfermultisegkio.cpp:95
transfer.h
Signature
Class to verify signatures.
Definition: signature.h:38
TransferMultiSegKio::signature
virtual Signature * signature(const KUrl &file=KUrl())
Definition: transfermultisegkio.cpp:330
TransferMultiSegKio::load
void load(const QDomElement *e)
Definition: transfermultisegkio.cpp:152
TransferFactory
TransferFactory.
Definition: transferfactory.h:52
QObject::parent
QObject * parent() const
QDomElement
TransferMultiSegKio::verifier
virtual Verifier * verifier(const KUrl &file=KUrl())
Definition: transfermultisegkio.cpp:323
KJob
Transfer
Definition: transfer.h:36
TransferMultiSegKio::slotChecksumFound
void slotChecksumFound(QString type, QString checksum)
Definition: transfermultisegkio.cpp:292
TransferMultiSegKio::deinit
virtual void deinit(Transfer::DeleteOptions options)
Definition: transfermultisegkio.cpp:63
TransferMultiSegKio::init
virtual void init()
This function is called after the creation of a Transfer In transfer plugins you can put here whateve...
Definition: transfermultisegkio.cpp:46
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:28:43 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

kget

Skip menu "kget"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members

kdenetwork API Reference

Skip menu "kdenetwork API Reference"
  • kget
  • kopete
  •   kopete
  •   libkopete
  • krdc
  • krfb

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal