LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
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 
15 class IShortcutProxy;
16 class IMWProxy;
17 class ITagsManager;
18 class IPluginsManager;
19 class ICoreTabWidget;
20 class IEntityManager;
21 class QTreeView;
22 class QModelIndex;
23 class QIcon;
24 class QMainWindow;
25 class QAbstractItemModel;
26 class QTabWidget;
27 class IColorThemeManager;
28 class IIconThemeManager;
29 class QAction;
30 
31 namespace LC
32 {
33  namespace Util
34  {
35  class BaseSettingsManager;
36  }
37 }
38 
40 
46 class Q_DECL_EXPORT ICoreProxy
47 {
48 public:
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 
93  virtual IIconThemeManager* GetIconThemeManager () const = 0;
94 
101  virtual IColorThemeManager* GetColorThemeManager () const = 0;
102 
109  virtual IRootWindowsManager* GetRootWindowsManager () const = 0;
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 
181 using ICoreProxy_ptr = std::shared_ptr<ICoreProxy>;
182 
184 
IShortcutProxy
Proxy for requesting shortcuts from the shortcut manager in the Core.
Definition: ishortcutproxy.h:27
ICoreProxy::~ICoreProxy
virtual ~ICoreProxy()
Definition: icoreproxy.h:49
ICoreProxy
Proxy class for the communication with LeechCraft.
Definition: icoreproxy.h:46
ICoreTabWidget
This interface is used to represent LeechCraft's core tab widget.
Definition: icoretabwidget.h:24
IPluginsManager
This interface is used to represent LeechCraft's global plugin manager.
Definition: ipluginsmanager.h:34
ITagsManager
Tags manager's interface.
Definition: itagsmanager.h:22
IMWProxy
This interface is used for manipulating the main window.
Definition: imwproxy.h:25
Q_DECLARE_METATYPE
Q_DECLARE_METATYPE(QVariantList *)
IIconThemeManager
Interface for accessing LeechCraft-wide icons manager.
Definition: iiconthememanager.h:38
ICoreProxy_ptr
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
Definition: icoreproxy.h:181
IEntityManager
Proxy to core entity manager.
Definition: ientitymanager.h:31
LC
Definition: constants.h:14
IColorThemeManager
Proxy class to the color theme management engine.
Definition: icolorthememanager.h:17
IRootWindowsManager
Interface to the core windows manager.
Definition: irootwindowsmanager.h:45
GetProxyHolder
const ICoreProxy_ptr & GetProxyHolder()