![]() |
LeechCraft
0.6.70-15082-g543737046d
Modular cross-platform feature rich live environment.
|
Base interface for data filter plugins. More...
#include "idatafilter.h"
Classes | |
struct | FilterVariant |
Describes a single filter variant supported by this data filter. More... | |
Public Member Functions | |
virtual | ~IDataFilter () |
virtual QString | GetFilterVerb () const =0 |
Returns the string describing the data filter. More... | |
virtual QList< FilterVariant > | GetFilterVariants (const QVariant &data) const =0 |
Returns the list of concrete data filter variants. More... | |
Base interface for data filter plugins.
Data filter plugins provide some means to manipulate and alter data. Examples of such plugins are image uploaders to various image bins, text finders, etc.
A single data filter plugin can support multiple data filter variants, like particular image bins supported by an image uploader or particular OpenSearch engines supported by an OpenSearch handler. The list of possible data filter variants is returned from the GetFilterVariants() function. The list can be dynamic (that is, different in different calls).
Plugins implementing this interface are also expected to implement IEntityHandler, considering (and accepting) entities with MIME "x-leechcraft/data-filter-request". Such entities will contain the entity to filter (like, a piece of text or an image) in the LC::Entity::Entity_ field and may contain the "DataFilter" key in the LC::Entity::Additional_ map with the ID of the exact filter variant to use (if user has already selected it).
The result of the data filter, if any, can be passed to the plugin emitting the entity. For this the emitting plugin shall set the callback function as the value of the DataFilterCallback LC::Entity::Additional_ map. The function is expected to be an object of type DataFilterCallback_f.
Definition at line 69 of file idatafilter.h.
|
inlinevirtual |
Definition at line 97 of file idatafilter.h.
|
pure virtual |
Returns the list of concrete data filter variants.
The passed data could be used to narrow down the list of filters. For instance, an image uploader may want to check the size and dimensions of an image and filter out filters not supporting those specific parameters.
[in] | data | The specific piece of data for which the variants should be returned. |
|
pure virtual |
Returns the string describing the data filter.
This function should return the human-readable string describing the data filter plugin in general in an imperative form, like "Upload image to" for an image uploader or "Search in" for a text searcher.