LeechCraft Azoth 0.6.70-17609-g3dde4097dd
Modular multiprotocol IM plugin for LeechCraft
Loading...
Searching...
No Matches
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
13class QObject;
14
15namespace LC
16{
17namespace 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
66Q_DECLARE_INTERFACE (LC::Azoth::IProtocolPlugin,
67 "org.Deviant.LeechCraft.Azoth.IProtocolPlugin/1.0")
68
69#endif
70
virtual void gotNewProtocols(const QList< QObject * > &protocols)=0
Notifies Azoth that new protocols are available.
virtual QObject * GetQObject()=0
Returns the protocol plugin object as a QObject.
virtual QList< QObject * > GetProtocols() const =0
Returns the protocols list provided by this plugin.