/* * Copyright 2014 Canonical Ltd. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; version 3. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public License * along with this program. If not, see . * */ #ifndef SHAREDUNITYMENUMODEL_H #define SHAREDUNITYMENUMODEL_H #include "unityindicatorsglobal.h" #include #include #include class UnityMenuModel; class UNITYINDICATORS_EXPORT SharedUnityMenuModel : public QObject { Q_OBJECT Q_PROPERTY(QByteArray busName READ busName WRITE setBusName NOTIFY busNameChanged) Q_PROPERTY(QByteArray menuObjectPath READ menuObjectPath WRITE setMenuObjectPath NOTIFY menuObjectPathChanged) Q_PROPERTY(QVariantMap actions READ actions WRITE setActions NOTIFY actionsChanged) Q_PROPERTY(UnityMenuModel* model READ model NOTIFY modelChanged) public: SharedUnityMenuModel(QObject* parent = nullptr); QByteArray busName() const; void setBusName(const QByteArray&); QByteArray menuObjectPath() const; void setMenuObjectPath(const QByteArray&); QVariantMap actions() const; void setActions(const QVariantMap&); UnityMenuModel* model() const; Q_SIGNALS: void busNameChanged(); void menuObjectPathChanged(); void actionsChanged(); void modelChanged(); private: void initialize(); QByteArray m_busName; QByteArray m_menuObjectPath; QVariantMap m_actions; QSharedPointer m_model; }; #endif // SHAREDUNITYMENUMODEL_H