LeechCraft Azoth  0.6.70-15082-g543737046d
Modular multiprotocol IM plugin for LeechCraft
LC::Azoth::IProtocolPlugin Class Referenceabstract

#include "iprotocolplugin.h"

Public Member Functions

virtual ~IProtocolPlugin ()
 
virtual QObject * GetQObject ()=0
 Returns the protocol plugin object as a QObject. More...
 
virtual QList< QObject * > GetProtocols () const =0
 Returns the protocols list provided by this plugin. More...
 

Protected Member Functions

virtual void gotNewProtocols (const QList< QObject * > &protocols)=0
 Notifies Azoth that new protocols are available. More...
 

Detailed Description

This is the base interface for plugins providing messaging protocols. Since these plugins are plugins for plugins, they should also implement IPlugin2 and return the "org.LeechCraft.Plugins.Azoth.Plugins.IProtocolPlugin" string, among others, from their IPlugin2::GetPluginClasses() method.

Definition at line 26 of file iprotocolplugin.h.

Constructor & Destructor Documentation

◆ ~IProtocolPlugin()

virtual LC::Azoth::IProtocolPlugin::~IProtocolPlugin ( )
inlinevirtual

Definition at line 29 of file iprotocolplugin.h.

Member Function Documentation

◆ GetProtocols()

virtual QList<QObject*> LC::Azoth::IProtocolPlugin::GetProtocols ( ) const
pure virtual

Returns the protocols list provided by this plugin.

Each object in this list must implement the IProtocol interface.

Returns
The list of this plugin's protocols.
See also
IProtocol, gotNewProtocols()

◆ GetQObject()

virtual QObject* LC::Azoth::IProtocolPlugin::GetQObject ( )
pure virtual

Returns the protocol plugin object as a QObject.

Returns
The protocol plugin as a QObject.

◆ gotNewProtocols()

virtual void LC::Azoth::IProtocolPlugin::gotNewProtocols ( const QList< QObject * > &  protocols)
protectedpure virtual

Notifies Azoth that new protocols are available.

Each object in the protocols list must implement the IProtocol interface.

After this signal the protocols should be contained in the list returned by GetProtocols().

Note
This function is expected to be a signal.
Parameters
[out]protocolsThe new protocols made available in this protocol plugin.

The documentation for this class was generated from the following file: