30 #ifndef INTERFACES_IINFO_H
31 #define INTERFACES_IINFO_H
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)
362 #define CURRENT_API_LEVEL 20
364 #if QT_VERSION < 0x050000
365 #define LC_EXPORT_PLUGIN(name,file) Q_EXPORT_PLUGIN2(name, file) \
368 Q_DECL_EXPORT quint64 GetAPILevels ()\
370 return CURRENT_API_LEVEL;\
374 #define LC_EXPORT_PLUGIN(name,file) \
377 Q_DECL_EXPORT quint64 GetAPILevels ()\
379 return CURRENT_API_LEVEL;\
384 #if QT_VERSION < 0x050000
385 #define LC_PLUGIN_METADATA(id)
387 #define LC_PLUGIN_METADATA(id) Q_PLUGIN_METADATA (IID id)
virtual QStringList Provides() const
Returns the list of provided features.
Proxy class for the communication with LeechCraft.
std::shared_ptr< ICoreProxy > ICoreProxy_ptr
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.
virtual QStringList Uses() const
Returns the list of used 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 Needs() const
Returns the list of needed 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.
Describes parameters of an entity.
virtual void SetProvider(QObject *object, const QString &feature)
Sets the provider plugin for a given feature.
Q_DECLARE_INTERFACE(IInfo,"org.Deviant.LeechCraft.IInfo/1.0")