2 // This file is part of the aMule Project.
4 // Copyright (c) 2010 Werner Mahr (Vollstrecker) <amule@vollstreckernet.de>
6 // Any parts of this program contributed by third-party developers are copyrighted
7 // by their respective authors.
9 // This program is free software; you can redistribute it and/or modify
10 // it under the terms of the GNU General Public License as published by
11 // the Free Software Foundation; either version 3 of the License, or
12 // (at your option) any later version.
14 // This program is distributed in the hope that it will be useful,
15 // but WITHOUT ANY WARRANTY; without even the implied warranty of
16 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 // GNU General Public License for more details.
19 // You should have received a copy of the GNU General Public License
20 // along with this program; if not, write to the Free Software
21 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
24 #ifndef PLASMAMULENGINE_H
25 #define PLASMAMULENGINE_H
27 #include <kdirwatch.h>
29 #include <kio/jobclasses.h>
31 #include <plasma/dataengine.h>
33 #include <QtDBus/QtDBus>
35 #include <QStringList>
37 class PlasmaMuleEngine
: public Plasma::DataEngine
43 PlasmaMuleEngine(QObject
* parent
, const QVariantList
& args
);
44 QStringList
sources() const;
48 Q_SCRIPTABLE
void engine_add_link (const QString
&link
, const int &category
, const QString
&printname
);
51 bool sourceRequestEvent(const QString
& name
);
52 bool updateSourceEvent(const QString
& name
);
55 void downloadFinished (KIO::Job
*,const QByteArray
&);
56 void file_changed (const QString
&path
);
57 void new_file (const QString
&path
);
64 bool m_OSActive
, m_timer
;
67 KDirWatch m_dirwatcher
;
69 QStringList m_incoming_dirs
, downloadsNames
;
73 class EngineAdaptor
: public QDBusAbstractAdaptor
76 Q_CLASSINFO("D-Bus Interface", "org.amule.engine")
77 Q_CLASSINFO("D-Bus Introspection", ""
78 " <interface name=\"org.amule.engine\" >\n"
79 " <method name=\"engine_add_link\" >\n"
80 " <arg direction=\"in\" type=\"as\" name=\"link\" />\n"
81 " <arg direction=\"in\" type=\"i\" name=\"category\" />\n"
87 EngineAdaptor(QObject
*parent
);
88 virtual ~EngineAdaptor();
91 void engine_add_link(const QString
&link
, const int &category
);
94 #endif // PLASMAMULENGINE_H