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

kget

  • sources
  • kde-4.12
  • kdenetwork
  • kget
  • transfer-plugins
  • metalink
abstractmetalink.h
Go to the documentation of this file.
1 /* This file is part of the KDE project
2 
3  Copyright (C) 2012 by Aish Raj Dahal <dahalaishraj@gmail.com>
4 
5  This program is free software; you can redistribute it and/or
6  modify it under the terms of the GNU General Public
7  License as published by the Free Software Foundation; either
8  version 2 of the License, or (at your option) any later version.
9 */
10 
11 #ifndef ABSTRACTMETALINK_H
12 #define ABSTRACTMETALINK_H
13 
14 
15 #include <KIO/Job>
16 
17 #include "core/datasourcefactory.h"
18 #include "core/transfer.h"
19 
20 #include "ui/metalinkcreator/metalinker.h"
21 
22 class AbstractMetalink : public Transfer
23 {
24  Q_OBJECT
25 
26  public:
27  AbstractMetalink(TransferGroup * parent, TransferFactory * factory,
28  Scheduler * scheduler, const KUrl & src, const KUrl & dest,
29  const QDomElement * e = 0);
30  virtual ~AbstractMetalink();
31 
32  int remainingTime() const;
33 
34  bool repair(const KUrl &file = KUrl());
35 
41  virtual bool setDirectory(const KUrl &newDirectory);
42 
43  QHash<KUrl, QPair<bool, int> > availableMirrors(const KUrl &file) const;
44  void setAvailableMirrors(const KUrl &file, const QHash<KUrl, QPair<bool, int> > &mirrors);
45 
50  virtual Verifier *verifier(const KUrl &file);
51 
56  virtual Signature *signature(const KUrl &file);
57 
58  virtual QList<KUrl> files() const;
59 
60  FileModel *fileModel();
61 
62  public Q_SLOTS:
63  // --- Job virtual functions ---
64  virtual void start() = 0;
65  virtual void stop();
66  virtual void deinit(Transfer::DeleteOptions options) = 0;
67 
68  protected Q_SLOTS:
74  void fileDlgFinished(int result);
75 
82  void filesSelected();
83  void slotUpdateCapabilities();
84  void slotDataSourceFactoryChange(Transfer::ChangesFlags change);
85  void slotRename(const KUrl &oldUrl, const KUrl &newUrl);
86  void slotVerified(bool isVerified);
87  virtual void slotSignatureVerified();
88 
89  protected :
93  virtual void startMetalink() = 0;
94  void untickAllFiles();
95  void recalculateTotalSize(DataSourceFactory *sender);
96  void recalculateProcessedSize();
97  void recalculateSpeed();
98  void updateStatus(DataSourceFactory *sender, bool *changeStatus);
99 
100  protected:
101  FileModel *m_fileModel;
102  int m_currentFiles;
103  QHash<KUrl, DataSourceFactory*> m_dataSourceFactory;
104  bool m_ready;
105  int m_speedCount;
106  int m_tempAverageSpeed;
107  mutable int m_averageSpeed;
108  int m_numFilesSelected; //The number of files that are ticked and should be downloaded
109 };
110 
111 #endif
AbstractMetalink::m_ready
bool m_ready
Definition: abstractmetalink.h:104
AbstractMetalink::fileDlgFinished
void fileDlgFinished(int result)
Definition: abstractmetalink.cpp:433
AbstractMetalink::m_speedCount
int m_speedCount
Definition: abstractmetalink.h:105
Transfer::ChangesFlags
int ChangesFlags
Definition: transfer.h:100
AbstractMetalink::m_tempAverageSpeed
int m_tempAverageSpeed
Definition: abstractmetalink.h:106
AbstractMetalink::remainingTime
int remainingTime() const
Definition: abstractmetalink.cpp:136
TransferGroup
class TransferGroup:
Definition: transfergroup.h:46
Scheduler
Scheduler class: what handle all the jobs in kget.
Definition: scheduler.h:32
AbstractMetalink::m_currentFiles
int m_currentFiles
Definition: abstractmetalink.h:102
AbstractMetalink::m_fileModel
FileModel * m_fileModel
Definition: abstractmetalink.h:101
AbstractMetalink::signature
virtual Signature * signature(const KUrl &file)
Definition: abstractmetalink.cpp:299
AbstractMetalink::setDirectory
virtual bool setDirectory(const KUrl &newDirectory)
Move the download to the new destination.
Definition: abstractmetalink.cpp:354
DataSourceFactory
This class manages multiple DataSources and saves the received data to the file.
Definition: datasourcefactory.h:38
AbstractMetalink::deinit
virtual void deinit(Transfer::DeleteOptions options)=0
AbstractMetalink::m_averageSpeed
int m_averageSpeed
Definition: abstractmetalink.h:107
AbstractMetalink::files
virtual QList< KUrl > files() const
Definition: abstractmetalink.cpp:308
AbstractMetalink::slotUpdateCapabilities
void slotUpdateCapabilities()
Definition: abstractmetalink.cpp:404
Job::scheduler
Scheduler * scheduler() const
Definition: job.h:106
AbstractMetalink::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: abstractmetalink.cpp:395
AbstractMetalink::AbstractMetalink
AbstractMetalink(TransferGroup *parent, TransferFactory *factory, Scheduler *scheduler, const KUrl &src, const KUrl &dest, const QDomElement *e=0)
Definition: abstractmetalink.cpp:38
AbstractMetalink::verifier
virtual Verifier * verifier(const KUrl &file)
Definition: abstractmetalink.cpp:290
AbstractMetalink::updateStatus
void updateStatus(DataSourceFactory *sender, bool *changeStatus)
Definition: abstractmetalink.cpp:144
FileModel
This model represents the files that are being downloaded.
Definition: filemodel.h:101
AbstractMetalink::slotRename
void slotRename(const KUrl &oldUrl, const KUrl &newUrl)
Definition: abstractmetalink.cpp:341
AbstractMetalink::repair
bool repair(const KUrl &file=KUrl())
Tries to repair file.
Definition: abstractmetalink.cpp:260
AbstractMetalink::recalculateProcessedSize
void recalculateProcessedSize()
Definition: abstractmetalink.cpp:98
metalinker.h
Transfer::factory
TransferFactory * factory() const
Definition: transfer.h:272
AbstractMetalink::m_numFilesSelected
int m_numFilesSelected
Definition: abstractmetalink.h:108
AbstractMetalink::slotDataSourceFactoryChange
void slotDataSourceFactoryChange(Transfer::ChangesFlags change)
Definition: abstractmetalink.cpp:55
AbstractMetalink::slotSignatureVerified
virtual void slotSignatureVerified()
Definition: abstractmetalink.cpp:229
AbstractMetalink::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: abstractmetalink.cpp:383
AbstractMetalink
Definition: abstractmetalink.h:22
AbstractMetalink::m_dataSourceFactory
QHash< KUrl, DataSourceFactory * > m_dataSourceFactory
Definition: abstractmetalink.h:103
AbstractMetalink::recalculateSpeed
void recalculateSpeed()
Definition: abstractmetalink.cpp:117
Verifier
Definition: verifier.h:68
AbstractMetalink::~AbstractMetalink
virtual ~AbstractMetalink()
Definition: abstractmetalink.cpp:51
AbstractMetalink::recalculateTotalSize
void recalculateTotalSize(DataSourceFactory *sender)
Definition: abstractmetalink.cpp:81
Transfer::dest
const KUrl & dest() const
Definition: transfer.h:149
AbstractMetalink::untickAllFiles
void untickAllFiles()
Definition: abstractmetalink.cpp:423
datasourcefactory.h
AbstractMetalink::stop
virtual void stop()
Definition: abstractmetalink.cpp:538
transfer.h
AbstractMetalink::slotVerified
void slotVerified(bool isVerified)
Definition: abstractmetalink.cpp:198
Signature
Class to verify signatures.
Definition: signature.h:38
AbstractMetalink::startMetalink
virtual void startMetalink()=0
Starts the type of metalink download.
AbstractMetalink::filesSelected
void filesSelected()
Checks if the ticked (not started yet) files exist already on the hd and asks the user how to proceed...
Definition: abstractmetalink.cpp:453
TransferFactory
TransferFactory.
Definition: transferfactory.h:52
AbstractMetalink::start
virtual void start()=0
AbstractMetalink::fileModel
FileModel * fileModel()
Definition: abstractmetalink.cpp:313
Transfer
Definition: transfer.h:36
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:53:17 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