aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authortrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-06-01 17:10:55 +0000
committertrialuser02 <trialuser02@90c681e8-e032-0410-971d-27865f9a5e38>2019-06-01 17:10:55 +0000
commite3c013c70396242bd813e50af78d35923ea7eb62 (patch)
tree0369d4d91223016a9010c108c519b0d0175f569c
parentd3e0097f6500791d72690ad20091ccfc2bab4d31 (diff)
downloadqmmp-e3c013c70396242bd813e50af78d35923ea7eb62.tar.gz
qmmp-e3c013c70396242bd813e50af78d35923ea7eb62.tar.bz2
qmmp-e3c013c70396242bd813e50af78d35923ea7eb62.zip
improved plugin api
git-svn-id: http://svn.code.sf.net/p/qmmp-dev/code/trunk/qmmp@8892 90c681e8-e032-0410-971d-27865f9a5e38
-rw-r--r--src/qmmp/abstractengine.cpp6
-rw-r--r--src/qmmp/abstractengine.h6
-rw-r--r--src/qmmp/decoder.cpp6
-rw-r--r--src/qmmp/decoder.h6
-rw-r--r--src/qmmp/effect.cpp6
-rw-r--r--src/qmmp/effect.h6
-rw-r--r--src/qmmp/inputsource.cpp4
-rw-r--r--src/qmmp/inputsource.h6
-rw-r--r--src/qmmp/output.cpp4
-rw-r--r--src/qmmp/output.h4
-rw-r--r--src/qmmp/visual.cpp12
-rw-r--r--src/qmmp/visual.h8
-rw-r--r--src/qmmpui/filedialog.cpp6
-rw-r--r--src/qmmpui/filedialog.h6
-rw-r--r--src/qmmpui/general.cpp4
-rw-r--r--src/qmmpui/general.h4
16 files changed, 46 insertions, 48 deletions
diff --git a/src/qmmp/abstractengine.cpp b/src/qmmp/abstractengine.cpp
index c61e41855..41989c308 100644
--- a/src/qmmp/abstractengine.cpp
+++ b/src/qmmp/abstractengine.cpp
@@ -158,13 +158,13 @@ void AbstractEngine::setEnabled(EngineFactory *factory, bool enable)
settings.setValue("Engine/disabled_plugins", m_disabledNames);
}
-bool AbstractEngine::isEnabled(EngineFactory *factory)
+bool AbstractEngine::isEnabled(const EngineFactory *factory)
{
loadPlugins();
return !m_disabledNames.contains(factory->properties().shortName);
}
-bool AbstractEngine::isEnabled(AbstractEngine *engine)
+bool AbstractEngine::isEnabled(const AbstractEngine *engine)
{
if(engine->objectName().isEmpty()) //qmmp engine
return true;
@@ -173,7 +173,7 @@ bool AbstractEngine::isEnabled(AbstractEngine *engine)
return !m_disabledNames.contains(engine->objectName());
}
-QString AbstractEngine::file(EngineFactory *factory)
+QString AbstractEngine::file(const EngineFactory *factory)
{
loadPlugins();
foreach(QmmpPluginCache *item, *m_cache)
diff --git a/src/qmmp/abstractengine.h b/src/qmmp/abstractengine.h
index ea51b262b..8026a4310 100644
--- a/src/qmmp/abstractengine.h
+++ b/src/qmmp/abstractengine.h
@@ -101,17 +101,17 @@ public:
* This function uses \b QObject::objectName() function.
* @param factory Engine plugin factory.
*/
- static bool isEnabled(EngineFactory *factory);
+ static bool isEnabled(const EngineFactory *factory);
/*!
* Returns \b true if engine is enabled, otherwise returns \b false
* @param engine Engine object.
*/
- static bool isEnabled(AbstractEngine *engine);
+ static bool isEnabled(const AbstractEngine *engine);
/*!
* Returns plugin file path.
* @param factory Engine plugin factory.
*/
- static QString file(EngineFactory *factory);
+ static QString file(const EngineFactory *factory);
/*!
* Returns a list of supported protocols (including meta-protocols).
* This fuction ignores disabled engines.
diff --git a/src/qmmp/decoder.cpp b/src/qmmp/decoder.cpp
index e7cd5c4b1..fc3941727 100644
--- a/src/qmmp/decoder.cpp
+++ b/src/qmmp/decoder.cpp
@@ -145,7 +145,7 @@ void Decoder::loadPlugins()
QmmpPluginCache::cleanup(&settings);
}
-QString Decoder::file(DecoderFactory *factory)
+QString Decoder::file(const DecoderFactory *factory)
{
loadPlugins();
foreach(QmmpPluginCache *item, *m_cache)
@@ -302,7 +302,7 @@ QList<DecoderFactory *> Decoder::findByFileExtension(const QString &path)
return filtered;
}
-void Decoder::setEnabled(DecoderFactory* factory, bool enable)
+void Decoder::setEnabled(DecoderFactory *factory, bool enable)
{
loadPlugins();
if (!factories().contains(factory))
@@ -321,7 +321,7 @@ void Decoder::setEnabled(DecoderFactory* factory, bool enable)
settings.setValue("Decoder/disabled_plugins", m_disabledNames);
}
-bool Decoder::isEnabled(DecoderFactory* factory)
+bool Decoder::isEnabled(const DecoderFactory *factory)
{
loadPlugins();
return !m_disabledNames.contains(factory->properties().shortName);
diff --git a/src/qmmp/decoder.h b/src/qmmp/decoder.h
index 969a35b15..44403691b 100644
--- a/src/qmmp/decoder.h
+++ b/src/qmmp/decoder.h
@@ -156,7 +156,7 @@ public:
* Returns plugin file path.
* @param factory Decoder plugin factory.
*/
- static QString file(DecoderFactory *factory);
+ static QString file(const DecoderFactory *factory);
/*!
* Returns a list of supported protocols (including meta-protocols).
* This fuction ignores disabled decoders.
@@ -167,12 +167,12 @@ public:
* @param factory Decoder plugin factory.
* @param enable Plugin enable state (\b true - enable, \b false - disable)
*/
- static void setEnabled(DecoderFactory* factory, bool enable = true);
+ static void setEnabled(DecoderFactory *factory, bool enable = true);
/*!
* Returns \b true if input plugin is enabled, otherwise returns \b false
* @param factory Decoder plugin factory.
*/
- static bool isEnabled(DecoderFactory* factory);
+ static bool isEnabled(const DecoderFactory* factory);
protected:
/*!
diff --git a/src/qmmp/effect.cpp b/src/qmmp/effect.cpp
index 67fc1f58c..6557bf782 100644
--- a/src/qmmp/effect.cpp
+++ b/src/qmmp/effect.cpp
@@ -132,7 +132,7 @@ QList<EffectFactory *> Effect::enabledFactories()
return list;
}
-QString Effect::file(EffectFactory *factory)
+QString Effect::file(const EffectFactory *factory)
{
loadPlugins();
foreach(QmmpPluginCache *item, *m_cache)
@@ -143,7 +143,7 @@ QString Effect::file(EffectFactory *factory)
return QString();
}
-void Effect::setEnabled(EffectFactory* factory, bool enable)
+void Effect::setEnabled(EffectFactory *factory, bool enable)
{
loadPlugins();
if (!factories().contains(factory))
@@ -171,7 +171,7 @@ void Effect::setEnabled(EffectFactory* factory, bool enable)
settings.setValue("Effect/enabled_plugins", m_enabledNames);
}
-bool Effect::isEnabled(EffectFactory* factory)
+bool Effect::isEnabled(const EffectFactory *factory)
{
loadPlugins();
return m_enabledNames.contains(factory->properties().shortName);
diff --git a/src/qmmp/effect.h b/src/qmmp/effect.h
index a3ca8f6bd..909a91955 100644
--- a/src/qmmp/effect.h
+++ b/src/qmmp/effect.h
@@ -92,18 +92,18 @@ public:
* Returns plugin file path.
* @param factory Effect plugin factory.
*/
- static QString file(EffectFactory *factory);
+ static QString file(const EffectFactory *factory);
/*!
* Sets whether the effect plugin is enabled.
* @param factory Effect plugin factory.
* @param enable Plugin enable state (\b true - enable, \b false - disable)
*/
- static void setEnabled(EffectFactory* factory, bool enable = true);
+ static void setEnabled(EffectFactory *factory, bool enable = true);
/*!
* Returns \b true if input plugin is enabled, otherwise returns \b false
* @param factory Effect plugin factory.
*/
- static bool isEnabled(EffectFactory* factory);
+ static bool isEnabled(const EffectFactory* factory);
/*!
* Finds effect factory object by short name \b shortName. Returns effect factory pointer.
* If no match is found, 0 is returned. The search is case sensitive.
diff --git a/src/qmmp/inputsource.cpp b/src/qmmp/inputsource.cpp
index bc64a08ab..174af9abc 100644
--- a/src/qmmp/inputsource.cpp
+++ b/src/qmmp/inputsource.cpp
@@ -155,7 +155,7 @@ QList<InputSourceFactory *> InputSource::enabledFactories()
return list;
}
-QString InputSource::file(InputSourceFactory *factory)
+QString InputSource::file(const InputSourceFactory *factory)
{
loadPlugins();
foreach(QmmpPluginCache *item, *m_cache)
@@ -201,7 +201,7 @@ void InputSource::setEnabled(InputSourceFactory *factory, bool enable)
settings.setValue("Transports/disabled_plugins", m_disabledNames);
}
-bool InputSource::isEnabled(InputSourceFactory *factory)
+bool InputSource::isEnabled(const InputSourceFactory *factory)
{
loadPlugins();
return !m_disabledNames.contains(factory->properties().shortName);
diff --git a/src/qmmp/inputsource.h b/src/qmmp/inputsource.h
index 23b3d3896..fd87d102a 100644
--- a/src/qmmp/inputsource.h
+++ b/src/qmmp/inputsource.h
@@ -130,7 +130,7 @@ public:
* Returns plugin file path.
* @param factory Transport plugin factory.
*/
- static QString file(InputSourceFactory *factory);
+ static QString file(const InputSourceFactory *factory);
/*!
* Returns a list of supported protocols.
*/
@@ -140,12 +140,12 @@ public:
* @param factory Transport plugin factory.
* @param enable Plugin enable state (\b true - enable, \b false - disable)
*/
- static void setEnabled(InputSourceFactory* factory, bool enable = true);
+ static void setEnabled(InputSourceFactory *factory, bool enable = true);
/*!
* Returns \b true if input plugin is enabled, otherwise returns \b false
* @param factory Decoder plugin factory.
*/
- static bool isEnabled(InputSourceFactory* factory);
+ static bool isEnabled(const InputSourceFactory* factory);
signals:
/*!
diff --git a/src/qmmp/output.cpp b/src/qmmp/output.cpp
index 49aa492fb..1093d9dce 100644
--- a/src/qmmp/output.cpp
+++ b/src/qmmp/output.cpp
@@ -122,7 +122,7 @@ QList<OutputFactory *> Output::factories()
return list;
}
-QString Output::file(OutputFactory *factory)
+QString Output::file(const OutputFactory *factory)
{
loadPlugins();
foreach(QmmpPluginCache *item, *m_cache)
@@ -133,7 +133,7 @@ QString Output::file(OutputFactory *factory)
return QString();
}
-void Output::setCurrentFactory(OutputFactory* factory)
+void Output::setCurrentFactory(const OutputFactory *factory)
{
loadPlugins();
if (file(factory).isEmpty())
diff --git a/src/qmmp/output.h b/src/qmmp/output.h
index 8a2b359ce..8ff367bec 100644
--- a/src/qmmp/output.h
+++ b/src/qmmp/output.h
@@ -119,11 +119,11 @@ public:
* Returns plugin file path.
* @param factory Output plugin factory.
*/
- static QString file(OutputFactory *factory);
+ static QString file(const OutputFactory *factory);
/*!
* Selects current output \b factory.
*/
- static void setCurrentFactory(OutputFactory* factory);
+ static void setCurrentFactory(const OutputFactory* factory);
/*!
* Returns selected output factory.
*/
diff --git a/src/qmmp/visual.cpp b/src/qmmp/visual.cpp
index d2d726018..44554d00e 100644
--- a/src/qmmp/visual.cpp
+++ b/src/qmmp/visual.cpp
@@ -88,7 +88,7 @@ bool Visual::takeData(float *left, float *right)
//static members
QList<VisualFactory*> *Visual::m_factories = nullptr;
-QHash <VisualFactory*, QString> *Visual::m_files = nullptr;
+QHash <const VisualFactory*, QString> *Visual::m_files = nullptr;
QList<Visual*> Visual::m_visuals;
QHash<VisualFactory*, Visual*> Visual::m_vis_map;
QWidget *Visual::m_parentWidget = nullptr;
@@ -102,13 +102,13 @@ QList<VisualFactory *> Visual::factories()
return *m_factories;
}
-QString Visual::file(VisualFactory *factory)
+QString Visual::file(const VisualFactory *factory)
{
checkFactories();
return m_files->value(factory);
}
-void Visual::setEnabled(VisualFactory* factory, bool enable)
+void Visual::setEnabled(VisualFactory *factory, bool enable)
{
checkFactories();
if (!m_factories->contains(factory))
@@ -149,11 +149,9 @@ void Visual::setEnabled(VisualFactory* factory, bool enable)
settings.setValue("Visualization/enabled_plugins", visList);
}
-bool Visual::isEnabled(VisualFactory* factory)
+bool Visual::isEnabled(const VisualFactory *factory)
{
checkFactories();
- if (!m_factories->contains(factory))
- return false;
QString name = factory->properties().shortName;
QSettings settings ( Qmmp::configFile(), QSettings::IniFormat );
QStringList visList = settings.value("Visualization/enabled_plugins").toStringList();
@@ -249,7 +247,7 @@ void Visual::checkFactories()
if (!m_factories)
{
m_factories = new QList<VisualFactory *>;
- m_files = new QHash <VisualFactory*, QString>;
+ m_files = new QHash <const VisualFactory*, QString>;
foreach (QString filePath, Qmmp::findPlugins("Visual"))
{
diff --git a/src/qmmp/visual.h b/src/qmmp/visual.h
index 5c9b5ab4b..8eaa9f4ab 100644
--- a/src/qmmp/visual.h
+++ b/src/qmmp/visual.h
@@ -57,18 +57,18 @@ public:
* Returns plugin file path.
* @param factory Visual plugin factory.
*/
- static QString file(VisualFactory *factory);
+ static QString file(const VisualFactory *factory);
/*!
* Sets whether the visual plugin is enabled.
* @param factory Visual plugin factory.
* @param enable Plugin enable state (\b true - enable, \b false - disable)
*/
- static void setEnabled(VisualFactory* factory, bool enable = true);
+ static void setEnabled(VisualFactory *factory, bool enable = true);
/*!
* Returns \b true if visual plugin is enabled, otherwise returns \b false
* @param factory Effect plugin factory.
*/
- static bool isEnabled(VisualFactory* factory);
+ static bool isEnabled(const VisualFactory *factory);
/*!
* Adds external visualization \b visual.
*/
@@ -141,7 +141,7 @@ protected:
private:
static QList<VisualFactory*> *m_factories;
- static QHash <VisualFactory*, QString> *m_files;
+ static QHash <const VisualFactory*, QString> *m_files;
static void checkFactories();
static QList<Visual*> m_visuals;
static QHash<VisualFactory*, Visual*> m_vis_map; //internal visualization
diff --git a/src/qmmpui/filedialog.cpp b/src/qmmpui/filedialog.cpp
index 8d74c0b78..510b281ad 100644
--- a/src/qmmpui/filedialog.cpp
+++ b/src/qmmpui/filedialog.cpp
@@ -67,14 +67,14 @@ QList<FileDialogFactory *> FileDialog::factories()
return list;
}
-void FileDialog::setEnabled(FileDialogFactory *factory)
+void FileDialog::setEnabled(const FileDialogFactory *factory)
{
loadPlugins();
QSettings settings (Qmmp::configFile(), QSettings::IniFormat);
settings.setValue("FileDialog", factory->properties().shortName);
}
-bool FileDialog::isEnabled(FileDialogFactory *factory)
+bool FileDialog::isEnabled(const FileDialogFactory *factory)
{
loadPlugins();
QSettings settings (Qmmp::configFile(), QSettings::IniFormat);
@@ -82,7 +82,7 @@ bool FileDialog::isEnabled(FileDialogFactory *factory)
return factory->properties().shortName == name;
}
-QString FileDialog::file(FileDialogFactory *factory)
+QString FileDialog::file(const FileDialogFactory *factory)
{
loadPlugins();
foreach(QmmpUiPluginCache *item, *m_cache)
diff --git a/src/qmmpui/filedialog.h b/src/qmmpui/filedialog.h
index 63d69c9f3..2df865753 100644
--- a/src/qmmpui/filedialog.h
+++ b/src/qmmpui/filedialog.h
@@ -44,16 +44,16 @@ public:
/*!
* Selects current file dialog factory.
*/
- static void setEnabled(FileDialogFactory *factory);
+ static void setEnabled(const FileDialogFactory *factory);
/*!
* Returns \b true if file dialog \b factory is used by default, otherwise returns \b false
*/
- static bool isEnabled(FileDialogFactory *factory);
+ static bool isEnabled(const FileDialogFactory *factory);
/*!
* Returns plugin file path.
* @param factory File dialog plugin factory.
*/
- static QString file(FileDialogFactory *factory);
+ static QString file(const FileDialogFactory *factory);
/*!
* Enum of available file dialog modes
*/
diff --git a/src/qmmpui/general.cpp b/src/qmmpui/general.cpp
index e47e23ec7..a09a9cd72 100644
--- a/src/qmmpui/general.cpp
+++ b/src/qmmpui/general.cpp
@@ -97,7 +97,7 @@ QList<GeneralFactory *> General::enabledFactories()
return list;
}
-QString General::file(GeneralFactory *factory)
+QString General::file(const GeneralFactory *factory)
{
loadPlugins();
foreach(QmmpUiPluginCache *item, *m_cache)
@@ -158,7 +158,7 @@ void General::showSettings(GeneralFactory* factory, QWidget* parentWidget)
dialog->deleteLater();
}
-bool General::isEnabled(GeneralFactory* factory)
+bool General::isEnabled(const GeneralFactory *factory)
{
loadPlugins();
return m_enabledNames.contains(factory->properties().shortName);
diff --git a/src/qmmpui/general.h b/src/qmmpui/general.h
index 1cedd2c30..660d8e7ba 100644
--- a/src/qmmpui/general.h
+++ b/src/qmmpui/general.h
@@ -51,7 +51,7 @@ public:
* Returns plugin file path.
* @param factory General plugin factory.
*/
- static QString file(GeneralFactory *factory);
+ static QString file(const GeneralFactory *factory);
/*!
* Sets whether the general plugin is enabled.
* @param factory General plugin factory.
@@ -68,7 +68,7 @@ public:
* Returns \b true if general plugin is enabled, otherwise returns \b false
* @param factory General plugin factory.
*/
- static bool isEnabled(GeneralFactory* factory);
+ static bool isEnabled(const GeneralFactory* factory);
private:
static void loadPlugins();