summaryrefslogtreecommitdiff
path: root/extensions/source/resource
diff options
context:
space:
mode:
Diffstat (limited to 'extensions/source/resource')
-rw-r--r--extensions/source/resource/ResourceIndexAccess.cxx208
-rw-r--r--extensions/source/resource/ResourceIndexAccess.hxx75
-rw-r--r--extensions/source/resource/exports.dxp1
-rw-r--r--extensions/source/resource/makefile.mk86
-rw-r--r--extensions/source/resource/oooresourceloader.cxx341
-rw-r--r--extensions/source/resource/oooresourceloader.hxx87
-rw-r--r--extensions/source/resource/res.component38
-rw-r--r--extensions/source/resource/resourceservices.cxx58
8 files changed, 0 insertions, 894 deletions
diff --git a/extensions/source/resource/ResourceIndexAccess.cxx b/extensions/source/resource/ResourceIndexAccess.cxx
deleted file mode 100644
index 31a244b96..000000000
--- a/extensions/source/resource/ResourceIndexAccess.cxx
+++ /dev/null
@@ -1,208 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License or as specified alternatively below. You may obtain a copy of
- * the License at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- * Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
- * Portions created by the Initial Developer are Copyright (C) 2010 the
- * Initial Developer. All Rights Reserved.
- *
- * Major Contributor(s):
- *
- * For minor contributions see the git repository.
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
- */
-
-#include <ResourceIndexAccess.hxx>
-
-#include <com/sun/star/container/XIndexAccess.hpp>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <comphelper/stlunosequence.hxx>
-#include <osl/mutex.hxx>
-#include <tools/rcid.h>
-#include <tools/resary.hxx>
-#include <tools/resmgr.hxx>
-#include <vcl/svapp.hxx>
-
-using namespace ::extensions::resource;
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::beans;
-using namespace ::com::sun::star::container;
-
-using ::comphelper::stl_begin;
-using ::comphelper::stl_end;
-using ::rtl::OString;
-using ::rtl::OUString;
-using ::rtl::OUStringToOString;
-
-namespace
-{
- static ::boost::shared_ptr<ResMgr> GetResMgr(Sequence<Any> const& rArgs)
- {
- if(rArgs.getLength()!=1)
- return ::boost::shared_ptr<ResMgr>();
- OUString sFilename;
- rArgs[0] >>= sFilename;
- SolarMutexGuard aGuard;
- const OString sEncName(OUStringToOString(sFilename, osl_getThreadTextEncoding()));
- return ::boost::shared_ptr<ResMgr>(ResMgr::CreateResMgr(sEncName));
- }
-
- class ResourceIndexAccessBase : public cppu::WeakImplHelper1< ::com::sun::star::container::XIndexAccess>
- {
- public:
- ResourceIndexAccessBase( ::boost::shared_ptr<ResMgr> pResMgr)
- : m_pResMgr(pResMgr)
- {
- OSL_ENSURE(m_pResMgr, "no ressource manager given");
- }
-
- // XIndexAccess
- virtual ::sal_Int32 SAL_CALL getCount( ) throw (::com::sun::star::uno::RuntimeException)
- { return m_pResMgr.get() ? SAL_MAX_UINT16 : 0; };
- // XElementAccess
- virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException)
- { return static_cast<bool>(m_pResMgr.get()); };
-
- protected:
- // m_pResMgr should never be NULL
- const ::boost::shared_ptr<ResMgr> m_pResMgr;
- };
-
- class ResourceStringIndexAccess : public ResourceIndexAccessBase
- {
- public:
- ResourceStringIndexAccess( ::boost::shared_ptr<ResMgr> pResMgr)
- : ResourceIndexAccessBase(pResMgr) {}
- // XIndexAccess
- virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
- // XElementAccessBase
- virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException)
- { return ::getCppuType(reinterpret_cast< ::rtl::OUString*>(NULL)); };
- };
-
- class ResourceStringListIndexAccess : public ResourceIndexAccessBase
- {
- public:
- ResourceStringListIndexAccess( ::boost::shared_ptr<ResMgr> pResMgr)
- : ResourceIndexAccessBase(pResMgr) {}
- // XIndexAccess
- virtual ::com::sun::star::uno::Any SAL_CALL getByIndex( ::sal_Int32 Index ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
- // XElementAccessBase
- virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException)
- { return ::getCppuType(reinterpret_cast<Sequence<PropertyValue> * >(NULL)); };
- };
-}
-
-ResourceIndexAccess::ResourceIndexAccess(Sequence<Any> const& rArgs, Reference<XComponentContext> const&)
- : m_pResMgr(GetResMgr(rArgs))
-{};
-
-Reference<XInterface> initResourceIndexAccess(ResourceIndexAccess* pResourceIndexAccess)
-{
- Reference<XInterface> xResult(static_cast<cppu::OWeakObject*>(pResourceIndexAccess));
- if(!pResourceIndexAccess->hasElements())
- // xResult does not help the client to analyse the problem
- // and will crash on getByIndex calls, better just give back an empty Reference
- // so that such ResourceStringIndexAccess instances are never release into the wild
- throw RuntimeException(
- OUString(RTL_CONSTASCII_USTRINGPARAM("ressource manager could not get initialized")),
- /* xResult */ Reference<XInterface>());
- return xResult;
-}
-
-Any SAL_CALL ResourceIndexAccess::getByName(const OUString& aName)
- throw (NoSuchElementException, WrappedTargetException, RuntimeException)
-{
- const Sequence<OUString> aNames(getElementNames());
- Reference<XIndexAccess> xResult;
- switch(::std::find(stl_begin(aNames), stl_end(aNames), aName)-stl_begin(aNames))
- {
- case 0:
- xResult = Reference<XIndexAccess>(new ResourceStringIndexAccess(m_pResMgr));
- break;
- case 1:
- xResult = Reference<XIndexAccess>(new ResourceStringListIndexAccess(m_pResMgr));
- break;
- default:
- throw NoSuchElementException();
- }
- return makeAny(xResult);
-}
-
-Sequence<OUString> SAL_CALL ResourceIndexAccess::getElementNames( )
- throw (RuntimeException)
-{
- static Sequence<OUString> aResult;
- if( aResult.getLength() == 0)
- {
- aResult.realloc(2);
- aResult[0] = OUString(RTL_CONSTASCII_USTRINGPARAM("String"));
- aResult[1] = OUString(RTL_CONSTASCII_USTRINGPARAM("StringList"));
- }
- return aResult;
-}
-
-::sal_Bool SAL_CALL ResourceIndexAccess::hasByName(const OUString& aName)
- throw (RuntimeException)
-{
- const Sequence<OUString> aNames(getElementNames());
- return (::std::find(stl_begin(aNames), stl_end(aNames), aName) != stl_end(aNames));
-}
-
-Any SAL_CALL ResourceStringIndexAccess::getByIndex(sal_Int32 nIdx)
- throw (IndexOutOfBoundsException, WrappedTargetException, RuntimeException)
-{
- if(nIdx > SAL_MAX_UINT16 || nIdx < 0)
- throw IndexOutOfBoundsException();
- SolarMutexGuard aGuard;
- const ResId aId(static_cast<sal_uInt16>(nIdx), *m_pResMgr);
- aId.SetRT(RSC_STRING);
- if(!m_pResMgr->IsAvailable(aId))
- throw RuntimeException(
- OUString(RTL_CONSTASCII_USTRINGPARAM("string ressource for id not available")),
- Reference<XInterface>());
- return makeAny(OUString(String(aId)));
-}
-
-Any SAL_CALL ResourceStringListIndexAccess::getByIndex(sal_Int32 nIdx)
- throw (IndexOutOfBoundsException, WrappedTargetException, RuntimeException)
-{
- if(nIdx > SAL_MAX_UINT16 || nIdx < 0)
- throw IndexOutOfBoundsException();
- SolarMutexGuard aGuard;
- const ResId aId(static_cast<sal_uInt16>(nIdx), *m_pResMgr);
- aId.SetRT(RSC_STRINGARRAY);
- if(!m_pResMgr->IsAvailable(aId))
- throw RuntimeException(
- OUString(RTL_CONSTASCII_USTRINGPARAM("string list ressource for id not available")),
- Reference<XInterface>());
- const ResStringArray aStringList(aId);
- Sequence<PropertyValue> aPropList(aStringList.Count());
- for(sal_Int32 nCount = 0; nCount != aPropList.getLength(); ++nCount)
- {
- aPropList[nCount].Name = aStringList.GetString(nCount);
- aPropList[nCount].Handle = -1;
- aPropList[nCount].Value <<= aStringList.GetValue(nCount);
- aPropList[nCount].State = PropertyState_DIRECT_VALUE;
- }
- return makeAny(aPropList);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/ResourceIndexAccess.hxx b/extensions/source/resource/ResourceIndexAccess.hxx
deleted file mode 100644
index 41632591a..000000000
--- a/extensions/source/resource/ResourceIndexAccess.hxx
+++ /dev/null
@@ -1,75 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License or as specified alternatively below. You may obtain a copy of
- * the License at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- * Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
- * Portions created by the Initial Developer are Copyright (C) 2010 the
- * Initial Developer. All Rights Reserved.
- *
- * Major Contributor(s):
- *
- * For minor contributions see the git repository.
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
- */
-
-#ifndef EXTENSIONS_RESOURCE_RESOURCESTRINGINDEXACCESS_HXX
-#define EXTENSIONS_RESOURCE_RESOURCESTRINGINDEXACCESS_HXX
-
-#include "precompiled_extensions.hxx"
-
-#include <boost/shared_ptr.hpp>
-#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/uno/Reference.hxx>
-#include <com/sun/star/uno/Sequence.hxx>
-#include <com/sun/star/uno/XInterface.hpp>
-#include <cppuhelper/implbase1.hxx>
-
-class ResMgr;
-
-namespace extensions { namespace resource
-{
- /** This class provides access to tools library text resources */
- class ResourceIndexAccess : public cppu::WeakImplHelper1< ::com::sun::star::container::XNameAccess>
- {
- public:
- /** The ctor takes a sequence with one element: the name of the resource, e.g. svt */
- ResourceIndexAccess(::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any> const& rArgs, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext> const&);
- // XNameAccess
- // The XNameAccess provides access to two named elements:
- // "String" returns a XIndexAccess to String resources
- // "StringList" returns a XIndexAccess to StringList/StringArray resources
- virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw (::com::sun::star::uno::RuntimeException);
- // XElementAccess
- virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException)
- { return ::getCppuType(reinterpret_cast< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>*>(NULL)); };
- virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException)
- { return static_cast<bool>(m_pResMgr.get()); };
-
- private:
- // m_pResMgr should never be NULL
- const ::boost::shared_ptr<ResMgr> m_pResMgr;
- };
-}}
-
-::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> initResourceIndexAccess(::extensions::resource::ResourceIndexAccess*);
-
-#endif
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/exports.dxp b/extensions/source/resource/exports.dxp
deleted file mode 100644
index 700330789..000000000
--- a/extensions/source/resource/exports.dxp
+++ /dev/null
@@ -1 +0,0 @@
-component_getFactory
diff --git a/extensions/source/resource/makefile.mk b/extensions/source/resource/makefile.mk
deleted file mode 100644
index 4839ec0b7..000000000
--- a/extensions/source/resource/makefile.mk
+++ /dev/null
@@ -1,86 +0,0 @@
-#*************************************************************************
-#
-# 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.
-#
-#*************************************************************************
-PRJ=..$/..
-
-PRJNAME=extensions
-TARGET=res
-LIBTARGET=NO
-USE_LDUMP2=TRUE
-USE_DEFFILE=TRUE
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : $(PRJ)$/util$/makefile.pmk
-
-# --- Files --------------------------------------------------------
-
-SLOFILES= \
- $(SLO)$/ResourceIndexAccess.obj \
- $(SLO)$/oooresourceloader.obj \
- $(SLO)$/resourceservices.obj
-
-LIB1TARGET= $(SLB)$/$(TARGET).lib
-LIB1OBJFILES= $(SLOFILES)
-
-SHL1TARGET= $(TARGET)$(DLLPOSTFIX)
-
-SHL1STDLIBS= \
- $(COMPHELPERLIB) \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALLIB) \
- $(VCLLIB) \
- $(TOOLSLIB)
-
-SHL1DEPN=
-SHL1IMPLIB= ires
-SHL1LIBS= $(LIB1TARGET)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-SHL1DEF=$(MISC)$/$(SHL1TARGET).def
-SHL1IMPLIB=i$(TARGET)
-SHL1LIBS=$(SLB)$/$(TARGET).lib
-SHL1VERSIONMAP=$(SOLARENV)/src/component.map
-
-DEF1NAME= $(SHL1TARGET)
-DEF1EXPORTFILE= exports.dxp
-
-
-# --- Targets ------------------------------------------------------
-
-.INCLUDE : target.mk
-.INCLUDE : $(PRJ)$/util$/target.pmk
-
-
-ALLTAR : $(MISC)/res.component
-
-$(MISC)/res.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- res.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt res.component
diff --git a/extensions/source/resource/oooresourceloader.cxx b/extensions/source/resource/oooresourceloader.cxx
deleted file mode 100644
index 9488c658e..000000000
--- a/extensions/source/resource/oooresourceloader.cxx
+++ /dev/null
@@ -1,341 +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 <oooresourceloader.hxx>
-#include <vcl/svapp.hxx>
-#include <tools/simplerm.hxx>
-#include <tools/rcid.h>
-#include <cppuhelper/implbase1.hxx>
-#include <cppuhelper/weakref.hxx>
-
-#include <boost/shared_ptr.hpp>
-#include <map>
-
-using namespace ::com::sun::star::uno;
-using namespace ::com::sun::star::resource;
-using namespace ::com::sun::star::container;
-using namespace ::com::sun::star::lang;
-
-
-namespace extensions { namespace resource
-{
- /** encapsulates access to a fixed resource type
- */
- class IResourceType
- {
- public:
- /** returns the RESOURCE_TYPE associated with this instance
- */
- virtual RESOURCE_TYPE getResourceType() const = 0;
-
- /** reads a single resource from the given resource manager
- @param _resourceManager
- the resource manager to read from
- @param _resourceId
- the id of the resource to read
- @return
- the required resource
- @precond
- the caler checked via <code>_resourceManager.IsAvailable( getResourceType(), _resourceId )</code>
- that the required resource really exists
- */
- virtual Any getResource( SimpleResMgr& _resourceManager, sal_Int32 _resourceId ) const = 0;
-
- virtual ~IResourceType() { };
- };
-
- class StringResourceAccess : public IResourceType
- {
- public:
- StringResourceAccess();
-
- // IResourceType
- virtual RESOURCE_TYPE getResourceType() const;
- virtual Any getResource( SimpleResMgr& _resourceManager, sal_Int32 _resourceId ) const;
- };
-
- StringResourceAccess::StringResourceAccess()
- {
- }
-
- RESOURCE_TYPE StringResourceAccess::getResourceType() const
- {
- return RSC_STRING;
- }
-
- Any StringResourceAccess::getResource( SimpleResMgr& _resourceManager, sal_Int32 _resourceId ) const
- {
- OSL_PRECOND( _resourceManager.IsAvailable( getResourceType(), _resourceId ), "StringResourceAccess::getResource: precondition not met!" );
- Any aResource;
- aResource <<= ::rtl::OUString( _resourceManager.ReadString( _resourceId ) );
- return aResource;
- }
-
- typedef ::cppu::WeakImplHelper1 < XResourceBundle
- > OpenOfficeResourceBundle_Base;
- class OpenOfficeResourceBundle : public OpenOfficeResourceBundle_Base
- {
- private:
- typedef ::boost::shared_ptr< IResourceType > ResourceTypePtr;
- typedef ::std::map< ::rtl::OUString, ResourceTypePtr > ResourceTypes;
-
- ::osl::Mutex m_aMutex;
- Reference< XResourceBundle > m_xParent;
- Locale m_aLocale;
- SimpleResMgr* m_pResourceManager;
- ResourceTypes m_aResourceTypes;
-
- public:
- OpenOfficeResourceBundle(
- const Reference< XComponentContext >& _rxContext,
- const ::rtl::OUString& _rBaseName,
- const Locale& _rLocale
- );
-
- protected:
- ~OpenOfficeResourceBundle();
-
- public:
- // XResourceBundle
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::resource::XResourceBundle > SAL_CALL getParent() throw (::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL setParent( const ::com::sun::star::uno::Reference< ::com::sun::star::resource::XResourceBundle >& _parent ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::lang::Locale SAL_CALL getLocale( ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Any SAL_CALL getDirectElement( const ::rtl::OUString& key ) throw (::com::sun::star::uno::RuntimeException);
-
- // XNameAccess (base of XResourceBundle)
- virtual ::com::sun::star::uno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw (::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getElementNames( ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw (::com::sun::star::uno::RuntimeException);
-
- // XElementAccess (base of XNameAccess)
- virtual ::com::sun::star::uno::Type SAL_CALL getElementType( ) throw (::com::sun::star::uno::RuntimeException);
- virtual ::sal_Bool SAL_CALL hasElements( ) throw (::com::sun::star::uno::RuntimeException);
-
- private:
- /** retrievs the element with the given key, without asking our parent bundle
- @param _key
- the key of the element to retrieve
- @param _out_Element
- will contained the retrieved element upon successful return. If the method is unsuccessful, the
- value will not be touched.
- @return
- <TRUE/> if and only if the element could be retrieved
- @precond
- our mutex is locked
- */
- bool impl_getDirectElement_nothrow( const ::rtl::OUString& _key, Any& _out_Element ) const;
-
- /** retrieves the resource type and id from a given resource key, which assembles those two
- @param _key
- the resource key as got via a public API call
- @param _out_resourceType
- the resource type, if successful
- @param _out_resourceId
- the resource id, if successful
- @return
- <TRUE/> if and only if the given key specifies a known resource type, and contains a valid
- resource id
- */
- bool impl_getResourceTypeAndId_nothrow( const ::rtl::OUString& _key, ResourceTypePtr& _out_resourceType, sal_Int32& _out_resourceId ) const;
- };
-
- OpenOfficeResourceLoader::OpenOfficeResourceLoader( Reference< XComponentContext > const& _rxContext )
- :m_xContext( _rxContext )
- {
- }
-
- //--------------------------------------------------------------------
- Reference< XResourceBundle > SAL_CALL OpenOfficeResourceLoader::loadBundle_Default( const ::rtl::OUString& _baseName ) throw (MissingResourceException, RuntimeException)
- {
- return loadBundle( _baseName, Application::GetSettings().GetUILocale() );
- }
-
- //--------------------------------------------------------------------
- Reference< XResourceBundle > SAL_CALL OpenOfficeResourceLoader::loadBundle( const ::rtl::OUString& _baseName, const Locale& _locale ) throw (MissingResourceException, RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
-
- Reference< XResourceBundle > xBundle;
-
- ResourceBundleDescriptor resourceDescriptor( _baseName, _locale );
- ResourceBundleCache::iterator cachePos = m_aBundleCache.find( resourceDescriptor );
- if ( cachePos != m_aBundleCache.end() )
- xBundle = cachePos->second;
-
- if ( !xBundle.is() )
- { // not in the cache, or already died
- xBundle = new OpenOfficeResourceBundle( m_xContext, _baseName, _locale );
- m_aBundleCache.insert( ResourceBundleCache::value_type( resourceDescriptor, xBundle ) );
- }
-
- return xBundle;
- }
-
- OpenOfficeResourceBundle::OpenOfficeResourceBundle( const Reference< XComponentContext >& /*_rxContext*/, const ::rtl::OUString& _rBaseName, const Locale& _rLocale )
- :m_aLocale( _rLocale )
- ,m_pResourceManager( NULL )
- {
- ::rtl::OUString sBaseName( _rBaseName );
- m_pResourceManager = new SimpleResMgr( sBaseName, m_aLocale );
-
- if ( !m_pResourceManager->IsValid() )
- {
- delete m_pResourceManager, m_pResourceManager = NULL;
- throw MissingResourceException();
- }
-
- // supported resource types so far: strings
- m_aResourceTypes[ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "string" ) ) ] =
- ResourceTypePtr( new StringResourceAccess );
- }
-
- OpenOfficeResourceBundle::~OpenOfficeResourceBundle()
- {
- delete m_pResourceManager;
- }
-
- Reference< XResourceBundle > SAL_CALL OpenOfficeResourceBundle::getParent() throw (RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- return m_xParent;
- }
-
- void SAL_CALL OpenOfficeResourceBundle::setParent( const Reference< XResourceBundle >& _parent ) throw (RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- m_xParent = _parent;
- }
-
- Locale SAL_CALL OpenOfficeResourceBundle::getLocale( ) throw (RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- return m_aLocale;
- }
-
- bool OpenOfficeResourceBundle::impl_getResourceTypeAndId_nothrow( const ::rtl::OUString& _key, ResourceTypePtr& _out_resourceType, sal_Int32& _out_resourceId ) const
- {
- sal_Int32 typeSeparatorPos = _key.indexOf( ':' );
- if ( typeSeparatorPos == -1 )
- // invalid key
- return false;
-
- ::rtl::OUString resourceType = _key.copy( 0, typeSeparatorPos );
-
- ResourceTypes::const_iterator typePos = m_aResourceTypes.find( resourceType );
- if ( typePos == m_aResourceTypes.end() )
- // don't know this resource type
- return false;
-
- _out_resourceType = typePos->second;
- _out_resourceId = _key.copy( typeSeparatorPos + 1 ).toInt32();
- return true;
- }
-
- bool OpenOfficeResourceBundle::impl_getDirectElement_nothrow( const ::rtl::OUString& _key, Any& _out_Element ) const
- {
- ResourceTypePtr resourceType;
- sal_Int32 resourceId( 0 );
- if ( !impl_getResourceTypeAndId_nothrow( _key, resourceType, resourceId ) )
- return false;
-
- if ( !m_pResourceManager->IsAvailable( resourceType->getResourceType(), resourceId ) )
- // no such resource with the given type/id
- return false;
-
- _out_Element = resourceType->getResource( *m_pResourceManager, resourceId );
- return _out_Element.hasValue();
- }
-
- Any SAL_CALL OpenOfficeResourceBundle::getDirectElement( const ::rtl::OUString& _key ) throw (RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
-
- Any aElement;
- impl_getDirectElement_nothrow( _key, aElement );
- return aElement;
- }
-
- Any SAL_CALL OpenOfficeResourceBundle::getByName( const ::rtl::OUString& _key ) throw (NoSuchElementException, WrappedTargetException, RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
-
- Any aElement;
- if ( !impl_getDirectElement_nothrow( _key, aElement ) )
- {
- if ( m_xParent.is() )
- aElement = m_xParent->getByName( _key );
- }
-
- if ( !aElement.hasValue() )
- throw NoSuchElementException( ::rtl::OUString(), *this );
-
- return aElement;
- }
-
- Sequence< ::rtl::OUString > SAL_CALL OpenOfficeResourceBundle::getElementNames( ) throw (RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- OSL_FAIL( "OpenOfficeResourceBundle::getElementNames: not implemented!" );
- // the (Simple)ResManager does not provide an API to enumerate the resources
- return Sequence< ::rtl::OUString >( );
- }
-
- ::sal_Bool SAL_CALL OpenOfficeResourceBundle::hasByName( const ::rtl::OUString& _key ) throw (RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
-
- ResourceTypePtr resourceType;
- sal_Int32 resourceId( 0 );
- if ( !impl_getResourceTypeAndId_nothrow( _key, resourceType, resourceId ) )
- return sal_False;
-
- if ( !m_pResourceManager->IsAvailable( resourceType->getResourceType(), resourceId ) )
- return sal_False;
-
- return sal_True;
- }
-
- Type SAL_CALL OpenOfficeResourceBundle::getElementType( ) throw (RuntimeException)
- {
- return ::cppu::UnoType< Any >::get();
- }
-
- ::sal_Bool SAL_CALL OpenOfficeResourceBundle::hasElements( ) throw (RuntimeException)
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- OSL_FAIL( "OpenOfficeResourceBundle::hasElements: not implemented!" );
- // the (Simple)ResManager does not provide an API to enumerate the resources
- return ::sal_Bool( );
- }
-
-}}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/oooresourceloader.hxx b/extensions/source/resource/oooresourceloader.hxx
deleted file mode 100644
index fd7f526ce..000000000
--- a/extensions/source/resource/oooresourceloader.hxx
+++ /dev/null
@@ -1,87 +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.
- *
- ************************************************************************/
-
-
-#ifndef EXTENSIONS_RESOURCE_OOORESOURCELOADER_HXX
-#define EXTENSIONS_RESOURCE_OOORESOURCELOADER_HXX
-
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/resource/XResourceBundleLoader.hpp>
-#include <com/sun/star/uno/XComponentContext.hpp>
-#include <cppuhelper/implbase1.hxx>
-
-#include <functional>
-#include <map>
-#include <utility>
-
-namespace extensions { namespace resource
-{
- typedef ::std::pair< ::rtl::OUString, ::com::sun::star::lang::Locale> ResourceBundleDescriptor;
-
- struct ResourceBundleDescriptorLess : public ::std::binary_function<ResourceBundleDescriptor, ResourceBundleDescriptor, bool>
- {
- bool operator()( const ResourceBundleDescriptor& _lhs, const ResourceBundleDescriptor& _rhs ) const
- {
- if ( _lhs.first < _rhs.first )
- return true;
- if ( _lhs.second.Language < _rhs.second.Language )
- return true;
- if ( _lhs.second.Country < _rhs.second.Country )
- return true;
- if ( _lhs.second.Variant < _rhs.second.Variant )
- return true;
- return false;
- }
- };
-
- class OpenOfficeResourceLoader : public ::cppu::WeakImplHelper1< ::com::sun::star::resource::XResourceBundleLoader>
- {
- public:
- typedef ::std::map<
- ResourceBundleDescriptor,
- ::com::sun::star::uno::WeakReference< ::com::sun::star::resource::XResourceBundle>,
- ResourceBundleDescriptorLess> ResourceBundleCache;
-
- OpenOfficeResourceLoader(::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext> const&);
- // XResourceBundleLoader
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::resource::XResourceBundle> SAL_CALL loadBundle_Default( const ::rtl::OUString& aBaseName ) throw (::com::sun::star::resource::MissingResourceException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::resource::XResourceBundle> SAL_CALL loadBundle( const ::rtl::OUString& abaseName, const ::com::sun::star::lang::Locale& aLocale ) throw (::com::sun::star::resource::MissingResourceException, ::com::sun::star::uno::RuntimeException);
-
- private:
- OpenOfficeResourceLoader(); // never implemented
- OpenOfficeResourceLoader( const OpenOfficeResourceLoader& ); // never implemented
- OpenOfficeResourceLoader& operator=( const OpenOfficeResourceLoader& ); // never implemented
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext> m_xContext;
- ::osl::Mutex m_aMutex;
- ResourceBundleCache m_aBundleCache;
- };
-}}
-
-#endif // EXTENSIONS_RESOURCE_OOORESOURCELOADER_HXX
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/extensions/source/resource/res.component b/extensions/source/resource/res.component
deleted file mode 100644
index b5df9748e..000000000
--- a/extensions/source/resource/res.component
+++ /dev/null
@@ -1,38 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--**********************************************************************
-*
-* 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.
-*
-**********************************************************************-->
-
-<component loader="com.sun.star.loader.SharedLibrary"
- xmlns="http://openoffice.org/2010/uno-components">
- <implementation name="com.sun.star.comp.resource.OpenOfficeResourceLoader">
- <service name="com.sun.star.resource.OfficeResourceLoader"/>
- <singleton name="com.sun.star.resource.OfficeResourceLoader"/>
- </implementation>
- <implementation name="org.libreoffice.extensions.resource.ResourceIndexAccess">
- <service name="org.libreoffice.resource.ResourceIndexAccess"/>
- </implementation>
-</component>
diff --git a/extensions/source/resource/resourceservices.cxx b/extensions/source/resource/resourceservices.cxx
deleted file mode 100644
index 0a08bb526..000000000
--- a/extensions/source/resource/resourceservices.cxx
+++ /dev/null
@@ -1,58 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * Version: MPL 1.1 / GPLv3+ / LGPLv3+
- *
- * The contents of this file are subject to the Mozilla Public License Version
- * 1.1 (the "License"); you may not use this file except in compliance with
- * the License or as specified alternatively below. You may obtain a copy of
- * the License at http://www.mozilla.org/MPL/
- *
- * Software distributed under the License is distributed on an "AS IS" basis,
- * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
- * for the specific language governing rights and limitations under the
- * License.
- *
- * The Initial Developer of the Original Code is
- * Bjoern Michaelsen <bjoern.michaelsen@canonical.com>
- * Portions created by the Initial Developer are Copyright (C) 2010 the
- * Initial Developer. All Rights Reserved.
- *
- * Major Contributor(s):
- *
- * For minor contributions see the git repository.
- *
- * Alternatively, the contents of this file may be used under the terms of
- * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
- * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
- * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
- * instead of those above.
- */
-
-#include "precompiled_extensions.hxx"
-
-#include <ResourceIndexAccess.hxx>
-#include <oooresourceloader.hxx>
-#include <comphelper/servicedecl.hxx>
-#include <uno/environment.h>
-
-namespace sdecl = ::comphelper::service_decl;
-
-sdecl::class_< ::extensions::resource::ResourceIndexAccess, sdecl::with_args<true> > ResourceIndexAccessServiceImpl;
-sdecl::class_< ::extensions::resource::OpenOfficeResourceLoader> OpenOfficeResourceLoaderServiceImpl;
-
-const sdecl::ServiceDecl ResourceIndexAccessDecl(
- ResourceIndexAccessServiceImpl,
- "org.libreoffice.extensions.resource.ResourceIndexAccess",
- "org.libreoffice.resource.ResourceIndexAccess");
-
-const sdecl::ServiceDecl OpenOfficeResourceLoaderDecl(
- OpenOfficeResourceLoaderServiceImpl,
- "com.sun.star.comp.resource.OpenOfficeResourceLoader",
- "com.sun.star.resource.OfficeResourceLoader");
-
-COMPHELPER_SERVICEDECL_EXPORTS2(
- ResourceIndexAccessDecl,
- OpenOfficeResourceLoaderDecl
-);
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */