LeechCraft 0.6.70-19424-g027e980fd1
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#pragma once
10
11#include <QObject>
12
13class QString;
14
15template<typename T>
16class QList;
17
18namespace LC
19{
20 struct Entity;
21}
22
30{
31public:
32 virtual ~IANRulesStorage () {}
33
44 virtual QList<LC::Entity> GetAllRules (const QString& category) const = 0;
45
50 virtual void RequestRuleConfiguration (const LC::Entity& rule) = 0;
51protected:
59 virtual void rulesChanged () = 0;
60};
61
62Q_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:97