diff options
author | Vesa Halttunen <vesa.halttunen@nokia.com> | 2010-12-26 19:38:32 +0200 |
---|---|---|
committer | Vesa Halttunen <vesa.halttunen@nokia.com> | 2010-12-27 00:24:34 +0200 |
commit | fbfb4833fbb4a660bcfcd416c5e78ece558733a3 (patch) | |
tree | 9efceb151f63c16879279a2029a9a938809b59d5 | |
parent | f4d8999b579bd2f5e538e615c01986c5e86b9a84 (diff) |
Changes: Warn when an application extension fails to load, instantiate or initialize to help debugging application extensions
RevBy: TrustMe
6 files changed, 37 insertions, 12 deletions
diff --git a/mapplicationextensionrunner/main.cpp b/mapplicationextensionrunner/main.cpp index 1107c078..a5736794 100644 --- a/mapplicationextensionrunner/main.cpp +++ b/mapplicationextensionrunner/main.cpp @@ -35,8 +35,8 @@ #include "mapplicationextensionrunner.h" #include <MApplication> #include <MApplicationService> +#include <MDebug> #include <QPluginLoader> -#include <QDebug> #include <mapplicationextensionmetadata.h> /// Error code for initialization failure @@ -56,7 +56,6 @@ public: } virtual void handleServiceRegistrationFailure() { - qDebug() << "MyApplicationService::handleServiceRegistrationFailure()"; } virtual QString registeredName() { @@ -82,21 +81,25 @@ int main(int argc, char **argv) { // Check for correct number of arguments if (argc != 3) { - qWarning() << "Invalid number of arguments"; + mWarning("MApplicationExtensionRunner") << "Invalid number of arguments"; return ERROR_INVALID_ARGUMENTS; } // Load metadata MApplicationExtensionMetaData metadata(argv[2]); if (!metadata.isValid()) { - qWarning() << "Metadata " << argv[2] << "is not valid"; + mWarning("MApplicationExtensionRunner") << "Application extension" << argv[2] << "metadata is not valid."; return ERROR_APPLICATION_EXTENSION_INIT_FAILED; } + // Set the output level to warning to help debugging + if (getenv("M_OUTPUT_LEVEL") == NULL) { + setenv("M_OUTPUT_LEVEL", "warning", 0); + } MApplication *app = new MApplication(argc, argv, metadata.resourceIdentifier(), new MyApplicationService()); MApplicationExtensionRunner runner; if (!runner.init(argv[1], metadata)) { - qWarning() << "Application extension initialization failed"; + mWarning("MApplicationExtensionRunner") << "Application extension" << argv[2] << "initialization failed."; return ERROR_APPLICATION_EXTENSION_INIT_FAILED; } diff --git a/mapplicationextensionrunner/mapplicationextensionrunner.cpp b/mapplicationextensionrunner/mapplicationextensionrunner.cpp index e5bf98da..25e5d851 100644 --- a/mapplicationextensionrunner/mapplicationextensionrunner.cpp +++ b/mapplicationextensionrunner/mapplicationextensionrunner.cpp @@ -23,7 +23,7 @@ #include <mapplicationextensioninterface.h> #include <QGraphicsLinearLayout> #include <QGraphicsWidget> -#include <QDebug> +#include <MDebug> MApplicationExtensionRunner::MApplicationExtensionRunner() : MExtensionRunner(), @@ -39,7 +39,7 @@ bool MApplicationExtensionRunner::init(const QString &serverName, MApplicationEx { // Check whether the metadata is valid if (!metaData.isValid()) { - qWarning() << "Extension metadata is not valid."; + mWarning("MApplicationExtensionRunner") << "Application extension" << metaData.fileName() << "metadata is not valid."; return false; } @@ -57,7 +57,11 @@ bool MApplicationExtensionRunner::init(const QString &serverName, MApplicationEx success = true; } } + } else { + mWarning("MApplicationExtensionRunner") << "Application extension" << metaData.fileName() << "could not be loaded."; } + } else { + mWarning("MApplicationExtensionRunner") << "Application extension" << metaData.fileName() << "could not be initialized."; } return success; diff --git a/src/extensions/applicationextension/mapplicationextensionloader.cpp b/src/extensions/applicationextension/mapplicationextensionloader.cpp index 2fe3fe84..3331e8e6 100644 --- a/src/extensions/applicationextension/mapplicationextensionloader.cpp +++ b/src/extensions/applicationextension/mapplicationextensionloader.cpp @@ -20,6 +20,7 @@ #include "mapplicationextensionloader.h" #include "mapplicationextensioninterface.h" #include "mapplicationextensionmetadata.h" +#include <MDebug> #include <QPluginLoader> MApplicationExtensionLoader::MApplicationExtensionLoader() @@ -37,10 +38,18 @@ MApplicationExtensionInterface *MApplicationExtensionLoader::loadExtension(const if (extension != NULL) { if (extension->initialize(metadata.interface())) { return extension; + } else { + mWarning("MApplicationExtensionLoader") << "Application extension" << metadata.fileName() << "could not be initialized."; } + } else { + mWarning("MApplicationExtensionLoader") << "Application extension" << metadata.fileName() << "could not be instantiated. The extension does not implement MApplicationExtensionInterface."; } + } else { + mWarning("MApplicationExtensionLoader") << "Application extension" << metadata.fileName() << "could not be instantiated. The extension does not inherit" << metadata.interface(); } delete object; + } else { + mWarning("MApplicationExtensionLoader") << "Application extension" << metadata.fileName() << "could not be loaded." << loader.errorString(); } return false; diff --git a/src/extensions/applicationextension/mapplicationextensionmanager.cpp b/src/extensions/applicationextension/mapplicationextensionmanager.cpp index ee712e66..7855ecb8 100644 --- a/src/extensions/applicationextension/mapplicationextensionmanager.cpp +++ b/src/extensions/applicationextension/mapplicationextensionmanager.cpp @@ -208,10 +208,19 @@ bool MApplicationExtensionManager::instantiateInProcessExtension(QSharedPointer< inProcessExtensionUsageCounts[extension]++; // Inform interested parties about the new extension emit extensionInstantiated(extension); + } else { + mWarning("MApplicationExtensionManager") << "Application extension" << metadata->fileName() << "could not be initialized."; } + } else { + mWarning("MApplicationExtensionManager") << "Application extension" << metadata->fileName() << "could not be instantiated. The extension does not implement MApplicationExtensionInterface."; } + } else { + mWarning("MApplicationExtensionManager") << "Application extension" << metadata->fileName() << "could not be instantiated. The extension does not inherit" << interface; } + } else { + mWarning("MApplicationExtensionManager") << "Application extension" << metadata->fileName() << "could not be loaded." << loader.errorString(); } + if (!success) { delete object; } diff --git a/src/extensions/applicationextension/mextensionhandle.cpp b/src/extensions/applicationextension/mextensionhandle.cpp index 2a5465bd..dfbaf7fe 100644 --- a/src/extensions/applicationextension/mextensionhandle.cpp +++ b/src/extensions/applicationextension/mextensionhandle.cpp @@ -288,7 +288,7 @@ void MExtensionHandle::connectionEstablished() Q_D(MExtensionHandle); if (state() != MExtensionHandleModel::STARTING) { - qWarning() << "MExtensionHandle::connectionEstablished() - Internal error, MExtensionHandle state differs from MExtensionHandleModel::STARTING"; + mWarning("MExtensionHandle") << "Internal error: MExtensionHandle state differs from MExtensionHandleModel::STARTING"; return; } @@ -414,7 +414,7 @@ void MExtensionHandle::messageReceived(const MAppletMessage &message) break; } default: - qWarning() << "IPC protocol error! Got message type:" << message.type(); + mWarning("MExtensionHandle") << "IPC protocol error! Got message type:" << message.type(); break; } } diff --git a/src/extensions/applicationextension/mextensionrunner.cpp b/src/extensions/applicationextension/mextensionrunner.cpp index 49736210..6febd616 100644 --- a/src/extensions/applicationextension/mextensionrunner.cpp +++ b/src/extensions/applicationextension/mextensionrunner.cpp @@ -45,6 +45,7 @@ #include <MScene> #include <MSceneManager> #include <MAction> +#include <MDebug> #include <QGraphicsView> #include <QLocalSocket> #include <QPluginLoader> @@ -54,7 +55,6 @@ #include <QFileInfo> #include <QMetaProperty> #include <QTimer> -#include <QDebug> #include <QAction> #include <QGraphicsLinearLayout> #ifdef Q_WS_X11 @@ -140,7 +140,7 @@ bool MExtensionRunner::init(const QString &serverName) // Take shared memory into use pixmapMutex = new MAppletSharedMutex; if (!pixmapMutex->init(serverName)) { - qWarning() << "Unable to attach to shared memory."; + mWarning("MExtensionRunner") << "Unable to attach to shared memory."; return false; } @@ -354,7 +354,7 @@ void MExtensionRunner::messageReceived(const MAppletMessage &message) } default: - qWarning() << __func__ << "Unrecognized event id received: " << message.type(); + mWarning("MExtensionRunner") << "Unrecognized event id received: " << message.type(); break; } } |