LeechCraft  0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
IPluginReady Class Referenceabstract

Base class for plugins accepting second-level plugins. More...

#include "ipluginready.h"

Public Member Functions

virtual ~IPluginReady ()
 
virtual QSet< QByteArray > GetExpectedPluginClasses () const =0
 Returns the expected classes of the plugins for this plugin. More...
 
virtual void AddPlugin (QObject *plugin)=0
 Adds second-level plugin to this one. More...
 

Detailed Description

Base class for plugins accepting second-level plugins.

A plugin for LeechCraft could be actually a plugin for another plugin. Then, to simplify the process, if a plugin could handle such second-level plugins (if it's a host for them), it's better to implement this interface. LeechCraft would the automatically manage the dependencies, perform correct initialization order and feed the matching first-level plugins with second-level ones.

Plugins of different levels are matched with each other by their classes, which is returned by IPlugin2::GetPluginClasses() and by IPluginReady::GetExpectedPluginClasses().

Definition at line 27 of file ipluginready.h.

Constructor & Destructor Documentation

◆ ~IPluginReady()

virtual IPluginReady::~IPluginReady ( )
inlinevirtual

Definition at line 36 of file ipluginready.h.

Member Function Documentation

◆ AddPlugin()

virtual void IPluginReady::AddPlugin ( QObject *  plugin)
pure virtual

Adds second-level plugin to this one.

Note
This function should be able to work before IInfo::Init() is called. The second-level plugin also comes uninitialized.
Parameters
[in]pluginThe pointer to the plugin instance.

◆ GetExpectedPluginClasses()

virtual QSet<QByteArray> IPluginReady::GetExpectedPluginClasses ( ) const
pure virtual

Returns the expected classes of the plugins for this plugin.

Returns the expected second level plugins' classes expected by this first-level plugin.

Note
This function should be able to work before IInfo::Init() is called.
Returns
The expected plugin class entity.

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