summaryrefslogtreecommitdiff
path: root/sdext/source/presenter/PresenterConfigurationAccess.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sdext/source/presenter/PresenterConfigurationAccess.cxx')
-rw-r--r--sdext/source/presenter/PresenterConfigurationAccess.cxx412
1 files changed, 0 insertions, 412 deletions
diff --git a/sdext/source/presenter/PresenterConfigurationAccess.cxx b/sdext/source/presenter/PresenterConfigurationAccess.cxx
deleted file mode 100644
index 005a488..0000000
--- a/sdext/source/presenter/PresenterConfigurationAccess.cxx
+++ /dev/null
@@ -1,412 +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_sdext.hxx"
-
-#include "PresenterConfigurationAccess.hxx"
-
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/container/XHierarchicalNameAccess.hpp>
-#include <com/sun/star/util/XChangesBatch.hpp>
-
-using namespace ::com::sun::star;
-using namespace ::com::sun::star::uno;
-using ::rtl::OUString;
-
-#define A2S(pString) (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(pString)))
-
-namespace sdext { namespace presenter {
-
-const ::rtl::OUString PresenterConfigurationAccess::msPresenterScreenRootName =
- A2S("/org.openoffice.Office.extension.PresenterScreen/");
-
-PresenterConfigurationAccess::PresenterConfigurationAccess (
- const Reference<XComponentContext>& rxContext,
- const OUString& rsRootName,
- WriteMode eMode)
- : mxRoot(),
- maNode()
-{
- try
- {
- Reference<lang::XMultiComponentFactory> xFactory (rxContext->getServiceManager());
- if (xFactory.is())
- {
- Sequence<Any> aCreationArguments(3);
- aCreationArguments[0] = makeAny(beans::PropertyValue(
- A2S("nodepath"),
- 0,
- makeAny(rsRootName),
- beans::PropertyState_DIRECT_VALUE));
- aCreationArguments[1] = makeAny(beans::PropertyValue(
- A2S("depth"),
- 0,
- makeAny((sal_Int32)-1),
- beans::PropertyState_DIRECT_VALUE));
- aCreationArguments[2] = makeAny(beans::PropertyValue(
- A2S("lazywrite"),
- 0,
- makeAny(true),
- beans::PropertyState_DIRECT_VALUE));
-
- OUString sAccessService;
- if (eMode == READ_ONLY)
- sAccessService = A2S("com.sun.star.configuration.ConfigurationAccess");
- else
- sAccessService = A2S("com.sun.star.configuration.ConfigurationUpdateAccess");
-
- Reference<lang::XMultiServiceFactory> xProvider (
- xFactory->createInstanceWithContext(
- A2S("com.sun.star.configuration.ConfigurationProvider"),
- rxContext),
- UNO_QUERY_THROW);
- mxRoot = xProvider->createInstanceWithArguments(
- sAccessService, aCreationArguments);
- maNode <<= mxRoot;
- }
- }
- catch (Exception& rException)
- {
- OSL_TRACE ("caught exception while opening configuration: %s",
- ::rtl::OUStringToOString(rException.Message,
- RTL_TEXTENCODING_UTF8).getStr());
- }
-}
-
-
-
-
-PresenterConfigurationAccess::~PresenterConfigurationAccess (void)
-{
-}
-
-
-
-
-bool PresenterConfigurationAccess::IsValid (void) const
-{
- return mxRoot.is();
-}
-
-
-
-
-Any PresenterConfigurationAccess::GetConfigurationNode (const OUString& sPathToNode)
-{
- return GetConfigurationNode(
- Reference<container::XHierarchicalNameAccess>(mxRoot, UNO_QUERY),
- sPathToNode);
-}
-
-
-
-
-Reference<beans::XPropertySet> PresenterConfigurationAccess::GetNodeProperties (
- const OUString& sPathToNode)
-{
- return GetNodeProperties(
- Reference<container::XHierarchicalNameAccess>(mxRoot, UNO_QUERY),
- sPathToNode);
-}
-
-
-
-
-bool PresenterConfigurationAccess::GoToChild (const ::rtl::OUString& rsPathToNode)
-{
- if ( ! IsValid())
- return false;
-
- Reference<container::XHierarchicalNameAccess> xNode (maNode, UNO_QUERY);
- if (xNode.is())
- {
- maNode = GetConfigurationNode(
- Reference<container::XHierarchicalNameAccess>(maNode, UNO_QUERY),
- rsPathToNode);
- if (Reference<XInterface>(maNode, UNO_QUERY).is())
- return true;
- }
-
- mxRoot = NULL;
- return false;
-}
-
-
-
-
-bool PresenterConfigurationAccess::GoToChild (const Predicate& rPredicate)
-{
- if ( ! IsValid())
- return false;
-
- maNode = Find(Reference<container::XNameAccess>(maNode,UNO_QUERY), rPredicate);
- if (Reference<XInterface>(maNode, UNO_QUERY).is())
- return true;
-
- mxRoot = NULL;
- return false;
-}
-
-
-
-
-bool PresenterConfigurationAccess::SetProperty (
- const ::rtl::OUString& rsPropertyName,
- const Any& rValue)
-{
- Reference<beans::XPropertySet> xProperties (maNode, UNO_QUERY);
- if (xProperties.is())
- {
- xProperties->setPropertyValue(rsPropertyName, rValue);
- return true;
- }
- else
- return false;
-}
-
-
-
-
-Any PresenterConfigurationAccess::GetConfigurationNode (
- const css::uno::Reference<css::container::XHierarchicalNameAccess>& rxNode,
- const OUString& sPathToNode)
-{
- if (sPathToNode.getLength() == 0)
- return Any(rxNode);
-
- try
- {
- if (rxNode.is())
- {
- return rxNode->getByHierarchicalName(sPathToNode);
- }
- }
- catch (Exception& rException)
- {
- OSL_TRACE ("caught exception while getting configuration node %s: %s",
- ::rtl::OUStringToOString(sPathToNode, RTL_TEXTENCODING_UTF8).getStr(),
- ::rtl::OUStringToOString(rException.Message, RTL_TEXTENCODING_UTF8).getStr());
- }
-
- return Any();
-}
-
-
-
-
-Reference<beans::XPropertySet> PresenterConfigurationAccess::GetNodeProperties (
- const css::uno::Reference<css::container::XHierarchicalNameAccess>& rxNode,
- const ::rtl::OUString& rsPathToNode)
-{
- return Reference<beans::XPropertySet>(GetConfigurationNode(rxNode, rsPathToNode), UNO_QUERY);
-}
-
-
-
-
-void PresenterConfigurationAccess::CommitChanges (void)
-{
- Reference<util::XChangesBatch> xConfiguration (mxRoot, UNO_QUERY);
- if (xConfiguration.is())
- xConfiguration->commitChanges();
-}
-
-
-
-
-Any PresenterConfigurationAccess::GetValue (const rtl::OUString& sKey)
-{
- Reference<container::XNameAccess> xAccess (GetConfigurationNode(sKey), UNO_QUERY);
- if (xAccess.is())
- {
- return xAccess->getByName(sKey);
- }
- else
- {
- return Any();
- }
-}
-
-
-
-
-void PresenterConfigurationAccess::ForAll (
- const Reference<container::XNameAccess>& rxContainer,
- const ::std::vector<OUString>& rArguments,
- const ItemProcessor& rProcessor)
-{
- if (rxContainer.is())
- {
- ::std::vector<Any> aValues(rArguments.size());
- Sequence<OUString> aKeys (rxContainer->getElementNames());
- for (sal_Int32 nItemIndex=0; nItemIndex<aKeys.getLength(); ++nItemIndex)
- {
- bool bHasAllValues (true);
- const OUString& rsKey (aKeys[nItemIndex]);
- Reference<container::XNameAccess> xSetItem (rxContainer->getByName(rsKey), UNO_QUERY);
- Reference<beans::XPropertySet> xSet (xSetItem, UNO_QUERY);
- OSL_ASSERT(xSet.is());
- if (xSetItem.is())
- {
- // Get from the current item of the container the children
- // that match the names in the rArguments list.
- for (sal_uInt32 nValueIndex=0; nValueIndex<aValues.size(); ++nValueIndex)
- {
- if ( ! xSetItem->hasByName(rArguments[nValueIndex]))
- bHasAllValues = false;
- else
- aValues[nValueIndex] = xSetItem->getByName(rArguments[nValueIndex]);
- }
- }
- else
- bHasAllValues = false;
- if (bHasAllValues)
- rProcessor(rsKey,aValues);
- }
- }
-}
-
-
-
-
-void PresenterConfigurationAccess::ForAll (
- const Reference<container::XNameAccess>& rxContainer,
- const PropertySetProcessor& rProcessor)
-{
- if (rxContainer.is())
- {
- Sequence<OUString> aKeys (rxContainer->getElementNames());
- for (sal_Int32 nItemIndex=0; nItemIndex<aKeys.getLength(); ++nItemIndex)
- {
- const OUString& rsKey (aKeys[nItemIndex]);
- Reference<beans::XPropertySet> xSet (rxContainer->getByName(rsKey), UNO_QUERY);
- if (xSet.is())
- rProcessor(rsKey, xSet);
- }
- }
-}
-
-
-
-
-void PresenterConfigurationAccess::FillList(
- const Reference<container::XNameAccess>& rxContainer,
- const ::rtl::OUString& rsArgument,
- ::std::vector<OUString>& rList)
-{
- try
- {
- if (rxContainer.is())
- {
- Sequence<OUString> aKeys (rxContainer->getElementNames());
- rList.resize(aKeys.getLength());
- for (sal_Int32 nItemIndex=0; nItemIndex<aKeys.getLength(); ++nItemIndex)
- {
- Reference<container::XNameAccess> xSetItem (
- rxContainer->getByName(aKeys[nItemIndex]), UNO_QUERY);
- if (xSetItem.is())
- {
- xSetItem->getByName(rsArgument) >>= rList[nItemIndex];
- }
- }
- }
- }
- catch (RuntimeException&)
- {}
-}
-
-
-
-
-Any PresenterConfigurationAccess::Find (
- const Reference<container::XNameAccess>& rxContainer,
- const Predicate& rPredicate)
-{
- if (rxContainer.is())
- {
- Sequence<OUString> aKeys (rxContainer->getElementNames());
- for (sal_Int32 nItemIndex=0; nItemIndex<aKeys.getLength(); ++nItemIndex)
- {
- Reference<beans::XPropertySet> xProperties (
- rxContainer->getByName(aKeys[nItemIndex]),
- UNO_QUERY);
- if (xProperties.is())
- if (rPredicate(aKeys[nItemIndex], xProperties))
- return Any(xProperties);
- }
- }
- return Any();
-}
-
-
-
-
-bool PresenterConfigurationAccess::IsStringPropertyEqual (
- const ::rtl::OUString& rsValue,
- const ::rtl::OUString& rsPropertyName,
- const css::uno::Reference<css::beans::XPropertySet>& rxNode)
-{
- OUString sValue;
- if (GetProperty(rxNode, rsPropertyName) >>= sValue)
- return sValue == rsValue;
- else
- return false;
-}
-
-
-
-
-Any PresenterConfigurationAccess::GetProperty (
- const Reference<beans::XPropertySet>& rxProperties,
- const OUString& rsKey)
-{
- OSL_ASSERT(rxProperties.is());
- if ( ! rxProperties.is())
- return Any();
- try
- {
- Reference<beans::XPropertySetInfo> xInfo (rxProperties->getPropertySetInfo());
- if (xInfo.is())
- if ( ! xInfo->hasPropertyByName(rsKey))
- return Any();
- return rxProperties->getPropertyValue(rsKey);
- }
- catch (beans::UnknownPropertyException&)
- {
- }
- return Any();
-}
-
-
-
-
-} } // end of namespace sdext::tools
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */