LeechCraft  0.6.70-18450-gabe19ee3b0
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 
81  virtual LC::Util::BaseSettingsManager* GetSettingsManager () const = 0;
82 
89  virtual IIconThemeManager* GetIconThemeManager () const = 0;
90 
97  virtual IColorThemeManager* GetColorThemeManager () const = 0;
98 
105  virtual IRootWindowsManager* GetRootWindowsManager () const = 0;
106 
113  virtual ITagsManager* GetTagsManager () const = 0;
114 
126  virtual QStringList GetSearchCategories () const = 0;
127 
134  virtual IPluginsManager* GetPluginsManager () const = 0;
135 
146  virtual IEntityManager* GetEntityManager () const = 0;
147 
154  virtual QString GetVersion () const = 0;
155 
163  virtual void RegisterSkinnable (QAction *action) = 0;
164 
174  virtual bool IsShuttingDown () = 0;
175 };
176 
177 using ICoreProxy_ptr = std::shared_ptr<ICoreProxy>;
178 
180 
Proxy to core entity manager.
Proxy class for the communication with LeechCraft.
Definition: icoreproxy.h:46
Interface to the core windows manager.
virtual ~ICoreProxy()
Definition: icoreproxy.h:49
Tags manager&#39;s interface.
Definition: itagsmanager.h:22
const ICoreProxy_ptr & GetProxyHolder()
This interface is used for manipulating the main window.
Definition: imwproxy.h:25
This interface is used to represent LeechCraft&#39;s core tab widget.
Interface for accessing LeechCraft-wide icons manager.
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
Definition: icoreproxy.h:177
This interface is used to represent LeechCraft&#39;s global plugin manager.
Q_DECLARE_METATYPE(QVariantList *)
Proxy class to the color theme management engine.
Proxy for requesting shortcuts from the shortcut manager in the Core.