summaryrefslogtreecommitdiff
path: root/comphelper/source/compare/AnyCompareFactory.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'comphelper/source/compare/AnyCompareFactory.cxx')
-rw-r--r--comphelper/source/compare/AnyCompareFactory.cxx195
1 files changed, 0 insertions, 195 deletions
diff --git a/comphelper/source/compare/AnyCompareFactory.cxx b/comphelper/source/compare/AnyCompareFactory.cxx
deleted file mode 100644
index f1242ba661..0000000000
--- a/comphelper/source/compare/AnyCompareFactory.cxx
+++ /dev/null
@@ -1,195 +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_comphelper.hxx"
-
-#include "comphelper_module.hxx"
-
-#include <com/sun/star/ucb/XAnyCompareFactory.hpp>
-#include <com/sun/star/i18n/XCollator.hpp>
-#include <com/sun/star/lang/Locale.hpp>
-#include <com/sun/star/uno/Sequence.h>
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <cppuhelper/implbase3.hxx>
-#include <cppuhelper/implbase1.hxx>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XInitialization.hpp>
-#include <com/sun/star/lang/IllegalArgumentException.hpp>
-#include <com/sun/star/lang/XMultiComponentFactory.hpp>
-#include <comphelper/stl_types.hxx>
-#include <map>
-
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::ucb;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::i18n;
-
-using ::rtl::OUString;
-
-//=============================================================================
-
-class AnyCompare : public ::cppu::WeakImplHelper1< XAnyCompare >
-{
- Reference< XCollator > m_rCollator;
-
-public:
- AnyCompare( Reference< XComponentContext > xContext, const Locale& rLocale ) throw()
- {
- Reference< XMultiComponentFactory > xFactory = xContext->getServiceManager();
- if ( xFactory.is() )
- {
- m_rCollator = Reference< XCollator >(
- xFactory->createInstanceWithContext( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.i18n.Collator" )), xContext ),
- UNO_QUERY );
- m_rCollator->loadDefaultCollator( rLocale,
- 0 ); //???
- }
-
- }
-
- virtual sal_Int16 SAL_CALL compare( const Any& any1, const Any& any2 ) throw(RuntimeException);
-};
-
-//=============================================================================
-
-class AnyCompareFactory : public cppu::WeakImplHelper3< XAnyCompareFactory, XInitialization, XServiceInfo >
-{
- Reference< XAnyCompare > m_rAnyCompare;
- Reference< XComponentContext > m_rContext;
- Locale m_Locale;
-
-public:
- AnyCompareFactory( Reference< XComponentContext > xContext ) : m_rContext( xContext )
- {}
-
- // XAnyCompareFactory
- virtual Reference< XAnyCompare > SAL_CALL createAnyCompareByName ( const OUString& aPropertyName ) throw(::com::sun::star::uno::RuntimeException);
-
- // XInitialization
- virtual void SAL_CALL initialize( const Sequence< Any >& aArguments )
- throw ( Exception, RuntimeException );
-
- // XServiceInfo
- virtual OUString SAL_CALL getImplementationName( ) throw(RuntimeException);
- virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(RuntimeException);
- virtual Sequence< OUString > SAL_CALL getSupportedServiceNames( ) throw(RuntimeException);
-
- // XServiceInfo - static versions (used for component registration)
- static ::rtl::OUString SAL_CALL getImplementationName_static();
- static Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames_static();
- static Reference< XInterface > SAL_CALL Create( const Reference< XComponentContext >& );
-};
-
-//===========================================================================================
-
-sal_Int16 SAL_CALL AnyCompare::compare( const Any& any1, const Any& any2 ) throw(::com::sun::star::uno::RuntimeException)
-{
- sal_Int16 aResult = 0;
-
- if( m_rCollator.is() )
- {
- OUString aStr1;
- OUString aStr2;
-
- any1 >>= aStr1;
- any2 >>= aStr2;
-
- aResult = ( sal_Int16 )m_rCollator->compareString( aStr1, aStr2 );
- }
-
- return aResult;
-}
-
-//===========================================================================================
-
-Reference< XAnyCompare > SAL_CALL AnyCompareFactory::createAnyCompareByName( const OUString& aPropertyName ) throw(::com::sun::star::uno::RuntimeException)
-{
- // for now only OUString properties compare is implemented
- // so no check for the property name is done
-
- if( aPropertyName.equals( OUString( RTL_CONSTASCII_USTRINGPARAM( "Title" )) ) )
- return m_rAnyCompare;
-
- return Reference< XAnyCompare >();
-}
-
-void SAL_CALL AnyCompareFactory::initialize( const Sequence< Any >& aArguments ) throw ( Exception, RuntimeException )
-{
- if( aArguments.getLength() )
- {
- if( aArguments[0] >>= m_Locale )
- {
- m_rAnyCompare = new AnyCompare( m_rContext, m_Locale );
- return;
- }
- }
-
-}
-
-OUString SAL_CALL AnyCompareFactory::getImplementationName( ) throw( RuntimeException )
-{
- return getImplementationName_static();
-}
-
-OUString SAL_CALL AnyCompareFactory::getImplementationName_static( )
-{
- return rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "AnyCompareFactory" ) );
-}
-
-sal_Bool SAL_CALL AnyCompareFactory::supportsService( const OUString& ServiceName ) throw(RuntimeException)
-{
- rtl::OUString aServiceName( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ucb.AnyCompareFactory" ) );
- return aServiceName == ServiceName;
-}
-
-Sequence< OUString > SAL_CALL AnyCompareFactory::getSupportedServiceNames( ) throw(RuntimeException)
-{
- return getSupportedServiceNames_static();
-}
-
-Sequence< OUString > SAL_CALL AnyCompareFactory::getSupportedServiceNames_static( )
-{
- const rtl::OUString aServiceName( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ucb.AnyCompareFactory" ) );
- const Sequence< rtl::OUString > aSeq( &aServiceName, 1 );
- return aSeq;
-}
-
-Reference< XInterface > SAL_CALL AnyCompareFactory::Create(
- const Reference< XComponentContext >& rxContext )
-{
- return (cppu::OWeakObject*)new AnyCompareFactory( rxContext );
-}
-
-void createRegistryInfo_AnyCompareFactory()
-{
- static ::comphelper::module::OAutoRegistration< AnyCompareFactory > aAutoRegistration;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */