mirror of
https://github.com/linuxdeepin/dde-dock.git
synced 2025-06-04 17:33:05 +00:00
dde-dock: API version check
This commit is contained in:
parent
dea0ca42ca
commit
61d09fb6c0
@ -12,6 +12,7 @@ TARGET = dde-dock
|
||||
TEMPLATE = app
|
||||
INCLUDEPATH += src/ ../libs/
|
||||
|
||||
DEFINES += PLUGIN_API_VERSION=1.0
|
||||
|
||||
SOURCES += \
|
||||
src/main.cpp \
|
||||
|
@ -51,11 +51,15 @@ void DockPluginManager::onDockModeChanged(Dock::DockMode newMode,
|
||||
// private methods
|
||||
DockPluginProxy * DockPluginManager::loadPlugin(const QString &path)
|
||||
{
|
||||
// check the file type
|
||||
if (!QLibrary::isLibrary(path)) return NULL;
|
||||
|
||||
QPluginLoader * pluginLoader = new QPluginLoader(path);
|
||||
|
||||
// TODO: API version check;
|
||||
// check the apiVersion the plugin uses
|
||||
double apiVersion = pluginLoader->metaData()["MetaData"].toObject()["api_version"].toDouble();
|
||||
if (apiVersion != PLUGIN_API_VERSION) return NULL;
|
||||
|
||||
|
||||
QObject *plugin = pluginLoader->instance();
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user