2
* Plasma applet to display application window menus
4
* Copyright 2010 Canonical Ltd.
7
* - Aurélien Gâteau <aurelien.gateau@canonical.com>
15
#include <QDBusContext>
16
#include <QDBusObjectPath>
18
#include <QWidget> // For WId
20
class QDBusObjectPath;
21
class QDBusServiceWatcher;
35
Q_DECLARE_METATYPE(MenuInfo)
37
typedef QList<MenuInfo> MenuInfoList;
38
Q_DECLARE_METATYPE(MenuInfoList)
40
class Registrar : public QObject, protected QDBusContext
48
bool connectToBus(const QString& service = QString(), const QString& objectPath = QString());
51
void WindowRegistered(WId wid, const QString& service, const QDBusObjectPath&);
53
Q_NOREPLY void RegisterWindow(WId wid, const QDBusObjectPath& menuObjectPath);
54
Q_NOREPLY void UnregisterWindow(WId wid);
55
QString GetMenuForWindow(WId wid, QDBusObjectPath& menuObjectPath);
56
MenuInfoList GetMenus();
59
void slotServiceUnregistered(const QString& service);
62
QDBusServiceWatcher* mServiceWatcher;
63
typedef QHash<WId, MenuInfo> MenuInfoDb;
68
#endif /* REGISTRAR_H */