#if QT_VERSION >= 0x050000
#define DQB_PLUGIN(T, IID_S) \
        Q_INTERFACES(T) \
        Q_PLUGIN_METADATA(IID IID_S FILE "plugin.json") \
        public : \
        virtual QString organisationName ()\
        {return "@ORGANIZATION_NAME@";}\
        virtual QString algorithmName ()\
        {return "@ALGORITHM_NAME@";}\
        virtual QString version()\
        {return "@VERSION@";} \
        virtual QString author() \
        {return "@AUTHOR@"; } \
        virtual QString pluginId() { return "@PLUGIN_ID@"; } \
        virtual QString description () { return "@DESCRIPTION@"; } \

#define DQB_EXPORT_PLUGIN(T)

#else

#define DQB_PLUGIN(T, IID) \
        Q_INTERFACES(T) \
        public : \
        virtual QString organisationName ()\
        {return "@ORGANIZATION_NAME@";}\
        virtual QString algorithmName ()\
        {return "@ALGORITHM_NAME@";}\
        virtual QString version()\
        {return "@VERSION@";} \
        virtual QString author() \
        {return "@AUTHOR@"; } \
        virtual QString pluginId() { return "@PLUGIN_ID@"; } \
        virtual QString description () { return "@DESCRIPTION@"; } \

#define DQB_EXPORT_PLUGIN(T) \
    Q_EXPORT_PLUGIN2(T ## Plugin, T)


#endif

