• 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
  • checksumsearch
checksumsearchtransferdatasource.h
Go to the documentation of this file.
1 /***************************************************************************
2 * Copyright (C) 2009 Matthias Fuchs <mat69@gmx.net> *
3 * *
4 * This program is free software; you can redistribute it and/or modify *
5 * it under the terms of the GNU General Public License as published by *
6 * the Free Software Foundation; either version 2 of the License, or *
7 * (at your option) any later version. *
8 * *
9 * This program is distributed in the hope that it will be useful, *
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
12 * GNU General Public License for more details. *
13 * *
14 * You should have received a copy of the GNU General Public License *
15 * along with this program; if not, write to the *
16 * Free Software Foundation, Inc., *
17 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA . *
18 ***************************************************************************/
19 
20 #ifndef CHECKSUMSEARCHTRANSFERDATASOURCE_H
21 #define CHECKSUMSEARCHTRANSFERDATASOURCE_H
22 
23 #include "core/transferdatasource.h"
24 
25 #include <KIO/Job>
26 
27 class ChecksumSearch;
28 class ChecksumSearchTransferDataSource;
29 
35 class ChecksumSearchController : public QObject
36 {
37  Q_OBJECT
38  public:
39  ChecksumSearchController(QObject *parent = 0);
40  ~ChecksumSearchController();
41 
49  void registerSearch(ChecksumSearchTransferDataSource *search, const KUrl &baseUrl);
50 
56  void unregisterSearch(ChecksumSearchTransferDataSource *search, const KUrl &baseUrl = KUrl());
57 
58  private slots:
59  void slotEntries(KIO::Job *job, const KIO::UDSEntryList &entries);
60  void slotResult(KJob *job);
61 
62  private:
63  QMultiHash<KUrl, ChecksumSearchTransferDataSource*> m_searches;
64  QHash<KUrl, KUrl> m_finished;
65  QHash<KJob*, QPair<KUrl, KUrl> > m_jobs;
66 };
67 
68 class ChecksumSearchTransferDataSource : public TransferDataSource
69 {
70  Q_OBJECT
71  public:
72  ChecksumSearchTransferDataSource(const KUrl &srcUrl, QObject *parent);
73  virtual ~ChecksumSearchTransferDataSource();
74 
75  void start();
76  void stop();
77  void addSegments(const QPair<KIO::fileoffset_t, KIO::fileoffset_t> &segmentSize, const QPair<int, int> &segmentRange);
78 
79  private:
80  void gotBaseUrl(const KUrl &urlToFile);
81 
82  private:
83  KUrl m_src;
84  static ChecksumSearchController s_controller;
85 
86  friend class ChecksumSearchController;
87 };
88 
89 #endif
ChecksumSearchTransferDataSource
Definition: checksumsearchtransferdatasource.h:68
ChecksumSearchTransferDataSource::addSegments
void addSegments(const QPair< KIO::fileoffset_t, KIO::fileoffset_t > &segmentSize, const QPair< int, int > &segmentRange)
Adds multiple continuous segments that should be downloaded by this TransferDataSource.
Definition: checksumsearchtransferdatasource.cpp:207
ChecksumSearchTransferDataSource::start
void start()
Definition: checksumsearchtransferdatasource.cpp:157
ChecksumSearchController::ChecksumSearchController
ChecksumSearchController(QObject *parent=0)
Definition: checksumsearchtransferdatasource.cpp:33
ChecksumSearchTransferDataSource::ChecksumSearchTransferDataSource
ChecksumSearchTransferDataSource(const KUrl &srcUrl, QObject *parent)
Definition: checksumsearchtransferdatasource.cpp:147
TransferDataSource
This Class is an interface for inter-plugins data change.
Definition: transferdatasource.h:26
QObject
ChecksumSearchController::~ChecksumSearchController
~ChecksumSearchController()
Definition: checksumsearchtransferdatasource.cpp:38
ChecksumSearch
Definition: checksumsearch.h:28
ChecksumSearchTransferDataSource::stop
void stop()
Definition: checksumsearchtransferdatasource.cpp:202
transferdatasource.h
ChecksumSearchController::registerSearch
void registerSearch(ChecksumSearchTransferDataSource *search, const KUrl &baseUrl)
Registers a search, downloads baseUrl if that has not be downloaded and then calls gotBaseUrl for any...
Definition: checksumsearchtransferdatasource.cpp:42
ChecksumSearchController
ChecksumSearchController downloads the baseUrl of files one want to get checksums for e...
Definition: checksumsearchtransferdatasource.h:35
ChecksumSearchTransferDataSource::~ChecksumSearchTransferDataSource
virtual ~ChecksumSearchTransferDataSource()
Definition: checksumsearchtransferdatasource.cpp:152
KJob
ChecksumSearchController::unregisterSearch
void unregisterSearch(ChecksumSearchTransferDataSource *search, const KUrl &baseUrl=KUrl())
Unregisters a search, do that e.g.
Definition: checksumsearchtransferdatasource.cpp:85
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