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>
28 #include <plasma/dataengine.h>
30 #include <QtDBus/QtDBus>
32 #include <QStringList>
34 class PlasmaMuleEngine
: public Plasma::DataEngine
40 PlasmaMuleEngine(QObject
* parent
, const QVariantList
& args
);
41 QStringList
sources() const;
45 Q_SCRIPTABLE
void engine_add_link (const QString
&link
, const int &category
);
48 bool sourceRequestEvent(const QString
& name
);
49 bool updateSourceEvent(const QString
& name
);
52 void file_changed (const QString
&path
);
53 void new_file (const QString
&path
);
60 bool m_OSActive
, m_timer
;
61 KDirWatch m_dirwatcher
;
63 QStringList m_incoming_dirs
;
67 class EngineAdaptor
: public QDBusAbstractAdaptor
70 Q_CLASSINFO("D-Bus Interface", "org.amule.engine")
71 Q_CLASSINFO("D-Bus Introspection", ""
72 " <interface name=\"org.amule.engine\" >\n"
73 " <method name=\"engine_add_link\" >\n"
74 " <arg direction=\"in\" type=\"as\" name=\"link\" />\n"
75 " <arg direction=\"in\" type=\"i\" name=\"category\" />\n"
81 EngineAdaptor(QObject
*parent
);
82 virtual ~EngineAdaptor();
85 void engine_add_link(const QString
&link
, const int &category
);
88 #endif // PLASMAMULENGINE_H