LeechCraft 0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
ianrulesstorage.h
Go to the documentation of this file.
1/**********************************************************************
2 * LeechCraft - modular cross-platform feature rich internet client.
3 * Copyright (C) 2006-2014 Georg Rudoy
4 *
5 * Distributed under the Boost Software License, Version 1.0.
6 * (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7 **********************************************************************/
8
9#include <QtPlugin>
10
11class QString;
12
13template<typename T>
14class QList;
15
16namespace LC
17{
18 struct Entity;
19}
20
28{
29public:
30 virtual ~IANRulesStorage () {}
31
42 virtual QList<LC::Entity> GetAllRules (const QString& category) const = 0;
43
48 virtual void RequestRuleConfiguration (const LC::Entity& rule) = 0;
49protected:
57 virtual void rulesChanged () = 0;
58};
59
60Q_DECLARE_INTERFACE (IANRulesStorage, "org.LeechCraft.IANRulesStorage/1.0")
Interface for plugins managing Advanced Notifications rules.
virtual void rulesChanged()=0
Emitted when the rules change.
virtual QList< LC::Entity > GetAllRules(const QString &category) const =0
Returns all rules matching the category.
virtual ~IANRulesStorage()
virtual void RequestRuleConfiguration(const LC::Entity &rule)=0
Requests opening the configuration of the given rule.
Definition constants.h:15
A message used for inter-plugin communication.
Definition structures.h:96