LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
ihavesettings.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 #ifndef INTERFACES_IHAVESETTINGS_H
10 #define INTERFACES_IHAVESETTINGS_H
11 #include <memory>
12 #include <QtPlugin>
13 
14 namespace LC
15 {
16  namespace Util
17  {
18  class XmlSettingsDialog;
19  typedef std::shared_ptr<XmlSettingsDialog> XmlSettingsDialog_ptr;
20  }
21 }
22 
29 class Q_DECL_EXPORT IHaveSettings
30 {
31 public:
41  virtual LC::Util::XmlSettingsDialog_ptr GetSettingsDialog () const = 0;
42 
45  virtual ~IHaveSettings () {}
46 };
47 
48 Q_DECLARE_INTERFACE (IHaveSettings, "org.Deviant.LeechCraft.IHaveSettings/1.0")
49 
50 #endif
51 
IHaveSettings::~IHaveSettings
virtual ~IHaveSettings()
Virtual destructor.
Definition: ihavesettings.h:45
LC
Definition: constants.h:14
IHaveSettings
Interface for plugins that have user-configurable settings.
Definition: ihavesettings.h:29
LC::Util::XmlSettingsDialog_ptr
std::shared_ptr< XmlSettingsDialog > XmlSettingsDialog_ptr
Definition: ihavesettings.h:30