diff -r 3fec62e6e7fc -r 90fe62538f66 controlpanelui/src/cpcategorymodel/src/cppluginconfigreader.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/controlpanelui/src/cpcategorymodel/src/cppluginconfigreader.h Tue Aug 31 15:15:28 2010 +0300 @@ -0,0 +1,80 @@ +/* +* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0"" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: This class reads cpcfg files. +* +*/ + +/* configuration format: + + + + This is Personalization + + + This is Communication + + + This is Application settings + + + This is Device + + +*/ + +/* Usage: + + const QString file("\\resource\\qt\\plugins\\controlpanel\\config\\applicationsettingsplugin.cpcfg"); + + CpPluginConfigReader cfgReader(file); + QList cfgList = cfgReader.readCpPluginConfigs(); + + foreach (CpPluginConfig cfg, cfgList) + { + cfg.dump(); + } +*/ + +#ifndef CPPLUGINCONFIGREADER_H +#define CPPLUGINCONFIGREADER_H + +#include +#include +#include "cppluginconfig.h" + +class QXmlStreamReader; + +class CpPluginConfigReader +{ +public: + explicit CpPluginConfigReader(const QString &configPath); + ~CpPluginConfigReader(); + + QList readCpPluginConfigs(); + +private: + void readCpPluginConfigs(QXmlStreamReader &xmlReader, + QList &cpPluginConfigList); + void readChildPluginsElement(QXmlStreamReader &xmlReader, + QList &cpPluginConfigList); + void readPluginElement(QXmlStreamReader &xmlReader, + QList &cpPluginConfigList); + void readDescElement(QXmlStreamReader &xmlReader, + CpPluginConfig &cpPluginConfig); + void skipUnknownElement(QXmlStreamReader &xmlReader); +private: + QString mConfigPath; +}; + +#endif /* CPPLUGINCONFIGREADER_H */