diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:52:45 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:52:45 +0100 |
commit | 2e626373db2412ac22e8c5c27a60d11cd29e875b (patch) | |
tree | 9e9f67205cd5b72f1031721273e1534a3a1e5b0f /extensions/source/oooimprovement/myconfigurationhelper.cxx | |
parent | f7ee7bbd5174b084f018c2ec94d8c70c98ee04da (diff) |
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'extensions/source/oooimprovement/myconfigurationhelper.cxx')
-rw-r--r-- | extensions/source/oooimprovement/myconfigurationhelper.cxx | 181 |
1 files changed, 0 insertions, 181 deletions
diff --git a/extensions/source/oooimprovement/myconfigurationhelper.cxx b/extensions/source/oooimprovement/myconfigurationhelper.cxx deleted file mode 100644 index c9bd2f2bb..000000000 --- a/extensions/source/oooimprovement/myconfigurationhelper.cxx +++ /dev/null @@ -1,181 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org 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 version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_extensions.hxx" - -#include "myconfigurationhelper.hxx" -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/container/XNameAccess.hpp> -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/lang/XSingleServiceFactory.hpp> -#include <rtl/ustrbuf.hxx> -#include <vector> - - -namespace css = ::com::sun::star; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::uno; -using ::rtl::OUString; -using ::rtl::OUStringBuffer; -using ::std::vector; - - -namespace -{ - static const Sequence<Any> sequenceFromVector(const vector<Any>& vec) - { - Sequence<Any> result(vec.size()); - for(size_t idx = 0; idx < vec.size(); ++idx) - result[idx] = vec[idx]; - return result; - }; - - static const OUString noSuchElement(const OUString& path) - { - OUStringBuffer buf(256); - buf.appendAscii("The requested path \""); - buf.append(path); - buf.appendAscii("\" does not exists."); - return buf.makeStringAndClear(); - }; -} - -namespace oooimprovement -{ - Reference<XInterface> MyConfigurationHelper::openConfig( - const Reference<XMultiServiceFactory> xSMGR, - const OUString& sPackage, - sal_Int32 eMode) - { - Reference<XMultiServiceFactory> xConfigProvider( - xSMGR->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.configuration.ConfigurationProvider"))), - UNO_QUERY_THROW); - - vector<Any> lParams; - css::beans::PropertyValue aParam; - - // set root path - aParam.Name = OUString(RTL_CONSTASCII_USTRINGPARAM("nodepath")); - aParam.Value <<= sPackage; - lParams.push_back(makeAny(aParam)); - - // enable all locales mode - if ((eMode & MyConfigurationHelper::E_ALL_LOCALES)==MyConfigurationHelper::E_ALL_LOCALES) - { - aParam.Name = OUString(RTL_CONSTASCII_USTRINGPARAM("locale")); - aParam.Value <<= OUString(RTL_CONSTASCII_USTRINGPARAM("*")); - lParams.push_back(makeAny(aParam)); - } - - // enable lazy writing - sal_Bool bLazy = ((eMode & MyConfigurationHelper::E_LAZY_WRITE)==MyConfigurationHelper::E_LAZY_WRITE); - aParam.Name = OUString(RTL_CONSTASCII_USTRINGPARAM("lazywrite")); - aParam.Value = makeAny(bLazy); - lParams.push_back(makeAny(aParam)); - - // open it - Reference<XInterface> xCFG; - - sal_Bool bReadOnly = ((eMode & MyConfigurationHelper::E_READONLY)==MyConfigurationHelper::E_READONLY); - if (bReadOnly) - xCFG = xConfigProvider->createInstanceWithArguments( - OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.configuration.ConfigurationAccess")), - sequenceFromVector(lParams)); - else - xCFG = xConfigProvider->createInstanceWithArguments( - OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.configuration.ConfigurationUpdateAccess")), - sequenceFromVector(lParams)); - return xCFG; - } - - Any MyConfigurationHelper::readRelativeKey( - const Reference<XInterface> xCFG, - const OUString& sRelPath, - const OUString& sKey) - { - Reference<css::container::XHierarchicalNameAccess> xAccess(xCFG, UNO_QUERY_THROW); - - Reference<css::beans::XPropertySet> xProps; - xAccess->getByHierarchicalName(sRelPath) >>= xProps; - if (!xProps.is()) - throw css::container::NoSuchElementException( - noSuchElement(sRelPath), - Reference<XInterface>()); - return xProps->getPropertyValue(sKey); - } - - void MyConfigurationHelper::writeRelativeKey( - const Reference<XInterface> xCFG, - const OUString& sRelPath, - const OUString& sKey, - const Any& aValue) - { - Reference<css::container::XHierarchicalNameAccess> xAccess(xCFG, UNO_QUERY_THROW); - - Reference<css::beans::XPropertySet> xProps; - xAccess->getByHierarchicalName(sRelPath) >>= xProps; - if (!xProps.is()) - throw css::container::NoSuchElementException( - noSuchElement(sRelPath), - Reference<XInterface>()); - xProps->setPropertyValue(sKey, aValue); - } - - Any MyConfigurationHelper::readDirectKey( - const Reference<XMultiServiceFactory> xSMGR, - const OUString& sPackage, - const OUString& sRelPath, - const OUString& sKey, - sal_Int32 eMode) - { - Reference<XInterface> xCFG = MyConfigurationHelper::openConfig(xSMGR, sPackage, eMode); - return MyConfigurationHelper::readRelativeKey(xCFG, sRelPath, sKey); - } - - void MyConfigurationHelper::writeDirectKey( - const Reference<XMultiServiceFactory> xSMGR, - const OUString& sPackage, - const OUString& sRelPath, - const OUString& sKey, - const Any& aValue, - sal_Int32 eMode) - { - Reference<XInterface> xCFG = MyConfigurationHelper::openConfig(xSMGR, sPackage, eMode); - MyConfigurationHelper::writeRelativeKey(xCFG, sRelPath, sKey, aValue); - MyConfigurationHelper::flush(xCFG); - } - - void MyConfigurationHelper::flush(const Reference<XInterface>& xCFG) - { - Reference<css::util::XChangesBatch> xBatch(xCFG, UNO_QUERY_THROW); - xBatch->commitChanges(); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |