diff -r cfcbf08528c4 -r 2b40d63a9c3d qtmobileextensions/src/settingsmanager/xqsettingsmanager.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/qtmobileextensions/src/settingsmanager/xqsettingsmanager.cpp Fri Apr 16 15:51:22 2010 +0300 @@ -0,0 +1,159 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* +* This program is free software: you can redistribute it and/or modify +* it under the terms of the GNU Lesser General Public License as published by +* the Free Software Foundation, version 2.1 of the License. +* +* This program is distributed in the hope that it will be useful, +* but WITHOUT ANY WARRANTY; without even the implied warranty of +* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +* GNU Lesser General Public License for more details. +* +* You should have received a copy of the GNU Lesser General Public License +* along with this program. If not, +* see "http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html/". +* +* Description: +* +*/ + +#include "xqsettingsmanager.h" +#include "xqsettingsmanager_p.h" +#include + +/*! + \class XQSettingsManager + + \brief The XQSettingsManager class provides methods to handle settings items. + The settings items can be targetted in Central Repository or Publish And Subscribe. +*/ + +/*! + Constructs an XQSettingsManager object with the given parent. +*/ +XQSettingsManager::XQSettingsManager(QObject* parent) + : QObject(parent), d(new XQSettingsManagerPrivate(this)) +{ +} + +/*! + Destroys the XQSettingsManager object. +*/ +XQSettingsManager::~XQSettingsManager() +{ + delete d; +} + +/*! + \enum XQSettingsManager::Type + + This enum defines the possible item types for an XQSettingsKey object. +*/ +/*! \var XQSettingsManager::TypeVariant XQSettingsManager::TypeVariant + The item type is detected automatically. +*/ +/*! \var XQSettingsManager::TypeInt XQSettingsManager::TypeInt + The item is treated as integer. +*/ +/*! \var XQSettingsManager::TypeDouble XQSettingsManager::TypeDouble + The item is treated as double. NOTE: This is not supported in Publish And Subscribe. +*/ +/*! \var XQSettingsManager::TypeString XQSettingsManager::TypeString + The item is treated as string. +*/ +/*! \var XQSettingsManager::TypeByteArray XQSettingsManager::TypeByteArray + The item is treated as bytearray. +*/ + + + +/*! + \enum XQSettingsManager::Error + + This enum defines the possible errors for an XQSettingsManager object. +*/ +/*! \var XQSettingsManager::Error XQSettingsManager::NoError + No error occured. +*/ +/*! \var XQSettingsManager::Error XQSettingsManager::OutOfMemoryError + Not enough memory. +*/ +/*! \var XQSettingsManager::Error XQSettingsManager::NotFoundError + Item not found error. +*/ +/*! \var XQSettingsManager::Error XQSettingsManager::AlreadyExistsError + Item already exists error. +*/ +/*! \var XQSettingsManager::Error XQSettingsManager::NotSupportedError + Operation with this kind of item type isn't supported error. +*/ +/*! \var XQSettingsManager::Error XQSettingsManager::PermissionDeniedError + Permission denied. +*/ +/*! \var XQSettingsManager::Error XQSettingsManager::UnknownError + Unknown error. +*/ + + +/*! + Reads an item value. + \param key XQSettingsKey where the value is read from + \param type Value type. Default is TypeVariant which means that the type is + tried to detect automatically. + \return Settings value as QVariant or null object if an error has occurred. + \sa error(), writeItemValue() +*/ +QVariant XQSettingsManager::readItemValue(const XQSettingsKey& key, XQSettingsManager::Type type) +{ + return d->readItemValue(key, type); +} + +/*! + Writes an item value. + \param key XQSettingsKey where the value is written to + \param value Value to be written into the settings item. The type is determined with + QVariant.type() and it must be either QVariant::Int, QVariant::Double, QVariant::String or + QVariant::ByteArray. + \return True if the item was written succesfully, otherwise return false. + \sa error(), readItemValue() +*/ +bool XQSettingsManager::writeItemValue(const XQSettingsKey& key, const QVariant& value) +{ + return d->writeItemValue(key, value); +} + +/*! + Starts monitoring a settings item. + \param key XQSettingsKey of which changes are monitored. + \param type Value type. Default is TypeVariant which means that the type is + tried to detect automatically. + \return True if monitoring was started succesfully, otherwise return false. + \sa error(), stopMonitoring() +*/ +bool XQSettingsManager::startMonitoring(const XQSettingsKey& key, XQSettingsManager::Type type) +{ + return d->startMonitoring(key, type); +} + +/*! + Stops monitoring a settings item. + \param key XQSettingsKey of which changes are not monitored any more. + \return True if monitoring was stopped succesfully, otherwise return false. + \sa error(), startMonitoring() +*/ +bool XQSettingsManager::stopMonitoring(const XQSettingsKey& key) +{ + return d->stopMonitoring(key); +} + +/*! + Returns the type of error that occurred if the latest function call failed. + Otherwise it returns NoError + \return Error code +*/ +XQSettingsManager::Error XQSettingsManager::error() const +{ + return d->error(); +}