mirror of
https://bitbucket.org/smil3y/kde-extraapps.git
synced 2025-02-24 02:42:52 +00:00
164 lines
4.3 KiB
C++
164 lines
4.3 KiB
C++
/* This file is part of the KDE project
|
|
|
|
Copyright (C) 2009 Lukas Appelhans <l.appelhans@gmx.de>
|
|
Copyright (C) 2009 Matthias Fuchs <mat69@gmx.net>
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public
|
|
License as published by the Free Software Foundation; either
|
|
version 2 of the License, or (at your option) any later version.
|
|
*/
|
|
#ifndef DBUSTRANSFERWRAPPER_H
|
|
#define DBUSTRANSFERWRAPPER_H
|
|
|
|
#include "core/transferhandler.h"
|
|
|
|
#include <QtDBus/qdbusextratypes.h>
|
|
|
|
class TransferHandler;
|
|
|
|
class DBusTransferWrapper : public QObject
|
|
{
|
|
Q_OBJECT
|
|
public:
|
|
DBusTransferWrapper(TransferHandler * parent);
|
|
~DBusTransferWrapper();
|
|
|
|
public slots:
|
|
int capabilities() const;
|
|
void start();
|
|
void stop();
|
|
int status() const;
|
|
int elapsedTime() const;
|
|
int remainingTime() const;
|
|
|
|
/**
|
|
* @return the transfer's group's name
|
|
*/
|
|
QString groupName() const;
|
|
|
|
/**
|
|
* @return the source url
|
|
*/
|
|
QString source() const;
|
|
|
|
/**
|
|
* @return the dest url
|
|
*/
|
|
QString dest() const;
|
|
|
|
/**
|
|
* Move the download to the new destination
|
|
* @param newDirectory is a directory where the download should be stored
|
|
* @returns true if newDestination can be used
|
|
*/
|
|
bool setDirectory(const QString &directory);
|
|
|
|
/**
|
|
* @return the total size of the transfer in bytes
|
|
*/
|
|
qulonglong totalSize() const;
|
|
|
|
/**
|
|
* @return the downloaded size of the transfer in bytes
|
|
*/
|
|
qulonglong downloadedSize() const;
|
|
|
|
/**
|
|
* @return the uploaded size of the transfer in bytes
|
|
*/
|
|
qulonglong uploadedSize() const;
|
|
|
|
/**
|
|
* @return the progress percentage of the transfer
|
|
*/
|
|
int percent() const;
|
|
|
|
/**
|
|
* @return the download speed of the transfer in bytes/sec
|
|
*/
|
|
int downloadSpeed() const;
|
|
|
|
/**
|
|
* @return the upload speed of the transfer in bytes/sec
|
|
*/
|
|
int uploadSpeed() const;
|
|
|
|
/**
|
|
* Set an UploadLimit for the transfer
|
|
* @note this UploadLimit is not visible in the GUI
|
|
* @param ulLimit upload Limit
|
|
*/
|
|
void setUploadLimit(int ulLimit, int limit);
|
|
|
|
/**
|
|
* Set a DownloadLimit for the transfer
|
|
* @note this DownloadLimit is not visible in the GUI
|
|
* @param dlLimit download Limit
|
|
*/
|
|
void setDownloadLimit(int dlLimit, int limit);
|
|
|
|
/**
|
|
* @return the upload Limit of the transfer in KiB
|
|
*/
|
|
int uploadLimit(int limit) const;
|
|
|
|
/**
|
|
* @return the download Limit of the transfer in KiB
|
|
*/
|
|
int downloadLimit(int limit) const;
|
|
|
|
/**
|
|
* Set the maximum share-ratio
|
|
* @param ratio the new maximum share-ratio
|
|
*/
|
|
void setMaximumShareRatio(double ratio);
|
|
|
|
/**
|
|
* @return the maximum share-ratio
|
|
*/
|
|
double maximumShareRatio();
|
|
|
|
/**
|
|
* @return a string describing the current transfer status
|
|
*/
|
|
QString statusText() const;
|
|
|
|
/**
|
|
* @return a pixmap associated with the current transfer status
|
|
*/
|
|
QDBusVariant statusPixmap() const;
|
|
|
|
/**
|
|
* Returns the dBusObjectPath to the verifier
|
|
* @param file for wich to return the verifier
|
|
*/
|
|
QString verifier(const QString &file);
|
|
|
|
/**
|
|
* Tries to repair file
|
|
* @param file the file of a download that should be repaired,
|
|
* if not defined all files of a download are going to be repaird
|
|
* @return true if a repair started, false if it was not nescessary
|
|
*/
|
|
bool repair(const QString &file);
|
|
|
|
signals:
|
|
/**
|
|
* Emitted when the transfer changes
|
|
*/
|
|
void transferChangedEvent(int transferChange);
|
|
|
|
/**
|
|
* Emitted whe the capabilities of the transfer changes
|
|
*/
|
|
void capabilitiesChanged();
|
|
|
|
private slots:
|
|
void slotTransferChanged(TransferHandler *transfer, TransferHandler::ChangesFlags changeflags);
|
|
|
|
private:
|
|
TransferHandler *m_transfer;
|
|
};
|
|
|
|
#endif
|