• 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
  • core
  • plugin
transferfactory.h
Go to the documentation of this file.
1 /* This file is part of the KDE project
2 
3  Copyright (C) 2005 by Enrico Ros <eros.kde@email.it>
4  Copyright (C) 2009 by Lukas Appelhans <l.appelhans@gmx.de>
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 #ifndef KGET_TRANSFERFACTORY_H
13 #define KGET_TRANSFERFACTORY_H
14 
15 /* TransferFactory [KGet/Plugin]
16  *
17  * Defines a ...XXX...
18  *
19  * Common fields in the [Desktop Entry]:
20  * Type=Service
21  * ServiceTypes=KGet/Plugin
22  * X-KDE-KGet-plugintype=TransferFactory
23  * X-KDE-KGet-framework-version=1
24  * Custom fields in the [Desktop Entry]:
25  * Name=%YOURTRANSFERFACTORY%
26  * X-KDE-Library=lib%YOURLIBRARY%
27  * X-KDE-KGet-rank=%PLUGINRANK%
28  *
29  * @see kget_plugin.desktop - for "KGet/Plugin" definition
30  * @see transfers/kio/kget_kiotransfer.desktop - desktop entry example
31  */
32 
33 #include <kaction.h>
34 #include <QStringList>
35 
36 #include "core/plugin/plugin.h"
37 #include "core/kget.h"
38 #include "core/transfer.h"
39 #include "core/transferhandler.h"
40 #include "core/transferdatasource.h"
41 #include "kget_export.h"
42 
43 class TransferGroup;
44 class Scheduler;
45 class KDialog;
46 
52 class KGET_EXPORT TransferFactory : public KGetPlugin
53 {
54  Q_OBJECT
55  public:
56  TransferFactory(QObject *parent, const QVariantList &args);
57 
58  virtual Transfer * createTransfer( const KUrl &srcUrl, const KUrl &destUrl,
59  TransferGroup * parent,
60  Scheduler * scheduler,
61  const QDomElement * n = 0 );
62 
63  virtual TransferHandler * createTransferHandler(Transfer * transfer,
64  Scheduler * scheduler);
65 
66  virtual QWidget * createDetailsWidget(TransferHandler * transfer);
67 
68  virtual KDialog * createNewTransferDialog(const KUrl &srcUrl, const QString &suggestedFileName = QString(), TransferGroupHandler * defaultGroup = 0);
69 
70  virtual const QList<KAction *> actions(TransferHandler *handler = 0);
71 
72  virtual void settingsChanged() {}
73 
74  virtual bool isSupported(const KUrl &url) const;
75 
81  virtual QStringList addsProtocols() const;
82 
87  virtual TransferDataSource * createTransferDataSource(const KUrl &srcUrl, const QDomElement &type, QObject *parent);
88 };
89 
90 #endif
TransferFactory::settingsChanged
virtual void settingsChanged()
Definition: transferfactory.h:72
TransferHandler
Class TransferHandler:
Definition: transferhandler.h:48
TransferGroup
class TransferGroup:
Definition: transfergroup.h:46
Scheduler
Scheduler class: what handle all the jobs in kget.
Definition: scheduler.h:32
TransferGroupHandler
Definition: transfergrouphandler.h:30
QWidget
plugin.h
KDialog
TransferDataSource
This Class is an interface for inter-plugins data change.
Definition: transferdatasource.h:26
QObject
kget_export.h
KGetPlugin
Base class for kget plugins.
Definition: plugin.h:61
transferdatasource.h
transferhandler.h
kget.h
transfer.h
KGET_EXPORT
#define KGET_EXPORT
Definition: kget_export.h:24
TransferFactory
TransferFactory.
Definition: transferfactory.h:52
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