34 #include <QStringList> 98 virtual void SecondInit () = 0;
114 virtual QByteArray GetUniqueID ()
const = 0;
128 virtual QString GetName ()
const = 0;
141 virtual QString GetInfo ()
const = 0;
162 return QStringList ();
190 return QStringList ();
215 virtual QStringList
Uses ()
const 217 return QStringList ();
237 const QString& feature)
253 virtual void Release () = 0;
267 virtual QIcon GetIcon ()
const = 0;
352 int *
id, QObject **provider)
360 Q_DECLARE_INTERFACE (
IInfo,
"org.Deviant.LeechCraft.IInfo/1.0")
362 #define CURRENT_API_LEVEL 20 364 #define LC_EXPORT_PLUGIN(name,file) \ 367 Q_DECL_EXPORT quint64 GetAPILevels ()\ 369 return CURRENT_API_LEVEL;\ 373 #define LC_PLUGIN_METADATA(id) Q_PLUGIN_METADATA (IID id) Proxy class for the communication with LeechCraft.
virtual void delegateEntity(const LeechCraft::Entity &entity, int *id, QObject **provider)
This signal is emitted by plugin to delegate the entity to an another plugin.
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
virtual QStringList Provides() const
Returns the list of provided features.
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
virtual void couldHandle(const LeechCraft::Entity &entity, bool *could)
This signal is emitted by plugin to query if the given entity could be handled.
virtual QStringList Uses() const
Returns the list of used features.
virtual ~IInfo()
Virtual destructor.
virtual void gotEntity(const LeechCraft::Entity &entity)
This signal is emitted by plugin to notify the Core and other plugins about an entity.
Required interface for every plugin.
A message used for inter-plugin communication.
virtual void SetProvider(QObject *object, const QString &feature)
Sets the provider plugin for a given feature.
virtual QStringList Needs() const
Returns the list of needed features.