LeechCraft 0.6.70-16373-g319c272718
Modular cross-platform feature rich live environment.
Loading...
Searching...
No Matches
icoreproxy.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 <memory>
12#include <QMetaType>
13#include <QtNetwork/QNetworkAccessManager>
14
15class IShortcutProxy;
16class IMWProxy;
17class ITagsManager;
18class IPluginsManager;
19class ICoreTabWidget;
20class IEntityManager;
21class QTreeView;
22class QModelIndex;
23class QIcon;
24class QMainWindow;
25class QAbstractItemModel;
26class QTabWidget;
29class QAction;
30
31namespace LC
32{
33 namespace Util
34 {
35 class BaseSettingsManager;
36 }
37}
38
40
46class Q_DECL_EXPORT ICoreProxy
47{
48public:
49 virtual ~ICoreProxy () {}
50
60 virtual QNetworkAccessManager* GetNetworkAccessManager () const = 0;
61
69 virtual IShortcutProxy* GetShortcutProxy () const = 0;
70
73 virtual QModelIndex MapToSource (const QModelIndex& index) const = 0;
74
85 virtual LC::Util::BaseSettingsManager* GetSettingsManager () const = 0;
86
94
102
110
117 virtual ITagsManager* GetTagsManager () const = 0;
118
130 virtual QStringList GetSearchCategories () const = 0;
131
138 virtual IPluginsManager* GetPluginsManager () const = 0;
139
150 virtual IEntityManager* GetEntityManager () const = 0;
151
158 virtual QString GetVersion () const = 0;
159
167 virtual void RegisterSkinnable (QAction *action) = 0;
168
178 virtual bool IsShuttingDown () = 0;
179};
180
181using ICoreProxy_ptr = std::shared_ptr<ICoreProxy>;
182
184
Proxy class to the color theme management engine.
Proxy class for the communication with LeechCraft.
Definition icoreproxy.h:47
virtual LC::Util::BaseSettingsManager * GetSettingsManager() const =0
Returns the LeechCraft's settings manager.
virtual IPluginsManager * GetPluginsManager() const =0
Returns the application's plugin manager.
virtual IColorThemeManager * GetColorThemeManager() const =0
Returns the color theme manager.
virtual IEntityManager * GetEntityManager() const =0
Returns the entity manager object.
virtual QStringList GetSearchCategories() const =0
virtual bool IsShuttingDown()=0
Checks if LeechCraft is currently shutting down.
virtual ~ICoreProxy()
Definition icoreproxy.h:49
virtual IRootWindowsManager * GetRootWindowsManager() const =0
Returns the root windows manager.
virtual QString GetVersion() const =0
Returns the version of LeechCraft core and base system.
virtual QModelIndex MapToSource(const QModelIndex &index) const =0
Maps the given index to the plugin's model.
virtual ITagsManager * GetTagsManager() const =0
Returns the application-wide tags manager.
virtual IShortcutProxy * GetShortcutProxy() const =0
Returns the shortcut proxy used to communicate with the shortcut manager.
virtual void RegisterSkinnable(QAction *action)=0
Registers the given action as having skinnable icons.
virtual IIconThemeManager * GetIconThemeManager() const =0
Returns the icon theme manager.
virtual QNetworkAccessManager * GetNetworkAccessManager() const =0
Returns application-wide network access manager.
This interface is used to represent LeechCraft's core tab widget.
Proxy to core entity manager.
Interface for accessing LeechCraft-wide icons manager.
This interface is used for manipulating the main window.
Definition imwproxy.h:26
This interface is used to represent LeechCraft's global plugin manager.
Interface to the core windows manager.
Proxy for requesting shortcuts from the shortcut manager in the Core.
Tags manager's interface.
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
Definition icoreproxy.h:181
const ICoreProxy_ptr & GetProxyHolder()
Definition constants.h:15
Q_DECLARE_METATYPE(QVariantList *)