diff -r 67457b2ffb33 -r feebad15db8c camerauis/cameraxui/cxengine/src/cxesettingscenrepstore.cpp --- a/camerauis/cameraxui/cxengine/src/cxesettingscenrepstore.cpp Thu Jul 15 01:52:14 2010 +0300 +++ b/camerauis/cameraxui/cxengine/src/cxesettingscenrepstore.cpp Thu Jul 15 01:53:45 2010 +0300 @@ -25,6 +25,9 @@ #include #include #include +#ifdef Q_OS_SYMBIAN +#include +#endif #include "xqsettingsmanager.h" // Settings Manager API #include "xqsettingskey.h" @@ -35,10 +38,11 @@ #include "cxeerror.h" #include "cxecenrepkeys.h" +#include "OstTraceDefinitions.h" +#ifdef OST_TRACE_COMPILER_IN_USE +#include "cxesettingscenrepstoreTraces.h" +#endif -#ifdef Q_OS_SYMBIAN -#include -#endif using namespace CxeSettingIds; @@ -49,6 +53,7 @@ CxeSettingsCenRepStore::CxeSettingsCenRepStore() { CX_DEBUG_ENTER_FUNCTION(); + OstTrace0(camerax_performance, CXESETTINGSCENREPSTORE_1, "msg: e_CX_SETTINGSSTORE_CREATE 1"); // map keys of type "string" to cenrep ids mapKeys(); @@ -56,13 +61,13 @@ // we create settings handle, scope user::scope mSettingsManager = new XQSettingsManager(this); - bool ok = false; - ok = connect(mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)), - this, SLOT(handleValueChanged(XQSettingsKey, QVariant))); - CX_DEBUG_ASSERT(ok); + bool ok = connect(mSettingsManager, SIGNAL(valueChanged(XQSettingsKey, QVariant)), + this, SLOT(handleValueChanged(XQSettingsKey, QVariant))); + CX_ASSERT_ALWAYS(ok); CX_DEBUG(("CxeSettingsCenRepStore - mSettingsManager ptr = %d", mSettingsManager)); + OstTrace0(camerax_performance, CXESETTINGSCENREPSTORE_2, "msg: e_CX_SETTINGSSTORE_CREATE 0"); CX_DEBUG_EXIT_FUNCTION(); } @@ -81,7 +86,7 @@ /*! * Generates XQSettingsKey from given setting/runtime key -* \param key Name of the setting from which to generate the XQSettingsKey +* \param key Name of the setting from which to generate the XQSettingsKey * \param[out] error Error code. CxeError::None if everything went fine. */ XQSettingsKey @@ -119,6 +124,7 @@ QHash CxeSettingsCenRepStore::loadRuntimeSettings(QList& runtimeKeys) { CX_DEBUG_ENTER_FUNCTION(); + OstTrace0(camerax_performance, CXESETTINGSCENREPSTORE_LOADRUNTIME_1, "msg: e_CX_SETTINGSSTORE_LOAD_RUNTIME 1"); QHash settings; CxeError::Id err = CxeError::None; @@ -152,6 +158,7 @@ CX_DEBUG_EXIT_FUNCTION(); + OstTrace0(camerax_performance, CXESETTINGSCENREPSTORE_LOADRUNTIME_2, "msg: e_CX_SETTINGSSTORE_LOAD_RUNTIME 0"); return settings; } @@ -216,14 +223,20 @@ } XQSettingsKey settingsKey(keyType, uid, key); - CX_DEBUG(("reading values from XQSettingsManager..")); + CX_DEBUG(("reading value from XQSettingsManager..")); value = mSettingsManager->readItemValue(settingsKey); // start monitoring changes for the key // both P&S and Repository keys are monitored - bool ok = false; - ok = mSettingsManager->startMonitoring(settingsKey); - CX_DEBUG_ASSERT(ok); + bool ok = mSettingsManager->startMonitoring(settingsKey); + if (!ok) { + XQSettingsManager::Error error = mSettingsManager->error(); + CX_DEBUG(("CxeSettingsCenRepStore - got error %d trying to start listening", error)); + // If we try to start listening one key more than once, + // we get this error. We can safely ignore it. + ok = (XQSettingsManager::AlreadyExistsError == error); + } + CX_ASSERT_ALWAYS(ok); CX_DEBUG_EXIT_FUNCTION(); } @@ -284,6 +297,8 @@ void CxeSettingsCenRepStore::mapKeys() { CX_DEBUG_ENTER_FUNCTION(); + OstTrace0(camerax_performance, CXESETTINGSCENREPSTORE_MAPKEYS_1, "msg: e_CX_SETTINGSSTORE_INIT_MAPPING 1"); + mKeyMapping.clear(); // mapping setting keys @@ -322,7 +337,7 @@ addKeyMapping(CxeSettingIds::VIDEO_MUTE_SETTING, AudioMuteCr, XQSettingsManager::TypeInt); - + addKeyMapping(CxeSettingIds::GEOTAGGING, GeoTaggingCr, XQSettingsManager::TypeInt); @@ -346,7 +361,7 @@ addKeyMapping(CxeSettingIds::CAPTURE_SOUND_ALWAYS_ON, CaptureSoundAlwaysOnCr, XQSettingsManager::TypeInt); - + addKeyMapping(CxeSettingIds::CAMERA_MODE, CameraModeCr, XQSettingsManager::TypeInt); @@ -386,6 +401,7 @@ XQSettingsManager::TypeString, true); + OstTrace0(camerax_performance, CXESETTINGSCENREPSTORE_MAPKEYS_2, "msg: e_CX_SETTINGSSTORE_INIT_MAPPING 0"); CX_DEBUG_EXIT_FUNCTION(); }