LeechCraft Azoth  0.6.70-15082-g543737046d
Modular multiprotocol IM plugin for LeechCraft
iprotocolplugin.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 PLUGINS_AZOTH_INTERFACES_IPROTOCOLPLUGIN_H
10 #define PLUGINS_AZOTH_INTERFACES_IPROTOCOLPLUGIN_H
11 #include <QList>
12 
13 class QObject;
14 
15 namespace LC
16 {
17 namespace Azoth
18 {
27  {
28  public:
29  virtual ~IProtocolPlugin () {}
30 
35  virtual QObject* GetQObject () = 0;
36 
46  virtual QList<QObject*> GetProtocols () const = 0;
47  protected:
61  virtual void gotNewProtocols (const QList<QObject*>& protocols) = 0;
62  };
63 }
64 }
65 
66 Q_DECLARE_INTERFACE (LC::Azoth::IProtocolPlugin,
67  "org.Deviant.LeechCraft.Azoth.IProtocolPlugin/1.0")
68 
69 #endif
70 
QList
Definition: iaccountactionsprovider.h:16
LC::Azoth::IProtocolPlugin::GetProtocols
virtual QList< QObject * > GetProtocols() const =0
Returns the protocols list provided by this plugin.
LC::Azoth::IProtocolPlugin::GetQObject
virtual QObject * GetQObject()=0
Returns the protocol plugin object as a QObject.
LC::Azoth::IProtocolPlugin::~IProtocolPlugin
virtual ~IProtocolPlugin()
Definition: iprotocolplugin.h:29
LC::Azoth::IProtocolPlugin::gotNewProtocols
virtual void gotNewProtocols(const QList< QObject * > &protocols)=0
Notifies Azoth that new protocols are available.
LC::Azoth::IProtocolPlugin
Definition: iprotocolplugin.h:26
LC
Definition: activityinfo.h:13