summaryrefslogtreecommitdiff
path: root/ucbhelper/source/provider
diff options
context:
space:
mode:
Diffstat (limited to 'ucbhelper/source/provider')
-rw-r--r--ucbhelper/source/provider/cancelcommandexecution.cxx131
-rw-r--r--ucbhelper/source/provider/commandenvironmentproxy.cxx168
-rw-r--r--ucbhelper/source/provider/contenthelper.cxx1125
-rw-r--r--ucbhelper/source/provider/contentidentifier.cxx224
-rw-r--r--ucbhelper/source/provider/contentinfo.cxx426
-rw-r--r--ucbhelper/source/provider/handleinteractionrequest.cxx164
-rw-r--r--ucbhelper/source/provider/interactionrequest.cxx1153
-rw-r--r--ucbhelper/source/provider/propertyvalueset.cxx926
-rw-r--r--ucbhelper/source/provider/providerhelper.cxx675
-rw-r--r--ucbhelper/source/provider/registerucb.cxx167
-rw-r--r--ucbhelper/source/provider/resultset.cxx1698
-rw-r--r--ucbhelper/source/provider/resultsethelper.cxx332
-rw-r--r--ucbhelper/source/provider/resultsetmetadata.cxx585
-rw-r--r--ucbhelper/source/provider/simpleauthenticationrequest.cxx246
-rw-r--r--ucbhelper/source/provider/simplecertificatevalidationrequest.cxx91
-rw-r--r--ucbhelper/source/provider/simpleinteractionrequest.cxx133
-rw-r--r--ucbhelper/source/provider/simpleioerrorrequest.cxx62
-rw-r--r--ucbhelper/source/provider/simplenameclashresolverequest.cxx69
18 files changed, 0 insertions, 8375 deletions
diff --git a/ucbhelper/source/provider/cancelcommandexecution.cxx b/ucbhelper/source/provider/cancelcommandexecution.cxx
deleted file mode 100644
index 453518deb6..0000000000
--- a/ucbhelper/source/provider/cancelcommandexecution.cxx
+++ /dev/null
@@ -1,131 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-#include <osl/diagnose.h>
-#include <cppuhelper/exc_hlp.hxx>
-#include <com/sun/star/ucb/CommandFailedException.hpp>
-#include <com/sun/star/ucb/XCommandEnvironment.hpp>
-#include <ucbhelper/interactionrequest.hxx>
-#include <ucbhelper/cancelcommandexecution.hxx>
-#include <ucbhelper/simpleioerrorrequest.hxx>
-
-using namespace com::sun::star;
-
-namespace ucbhelper
-{
-
-//=========================================================================
-void cancelCommandExecution( const uno::Any & rException,
- const uno::Reference<
- ucb::XCommandEnvironment > & xEnv )
- throw( uno::Exception )
-{
- if ( xEnv.is() )
- {
- uno::Reference<
- task::XInteractionHandler > xIH = xEnv->getInteractionHandler();
- if ( xIH.is() )
- {
- rtl::Reference< ucbhelper::InteractionRequest > xRequest
- = new ucbhelper::InteractionRequest( rException );
-
- uno::Sequence< uno::Reference< task::XInteractionContinuation > >
- aContinuations( 1 );
- aContinuations[ 0 ]
- = new ucbhelper::InteractionAbort( xRequest.get() );
-
- xRequest->setContinuations( aContinuations );
-
- xIH->handle( xRequest.get() );
-
- rtl::Reference< ucbhelper::InteractionContinuation > xSelection
- = xRequest->getSelection();
-
- if ( xSelection.is() )
- throw ucb::CommandFailedException(
- rtl::OUString(),
- uno::Reference< uno::XInterface >(),
- rException );
- }
- }
-
- cppu::throwException( rException );
-
- OSL_FAIL( "Return from cppu::throwException call!!!" );
- throw uno::RuntimeException();
-}
-
-
-//=========================================================================
-void cancelCommandExecution( const ucb::IOErrorCode eError,
- const uno::Sequence< uno::Any > & rArgs,
- const uno::Reference<
- ucb::XCommandEnvironment > & xEnv,
- const rtl::OUString & rMessage,
- const uno::Reference<
- ucb::XCommandProcessor > & xContext )
- throw( uno::Exception )
-{
- rtl::Reference< ucbhelper::SimpleIOErrorRequest > xRequest
- = new ucbhelper::SimpleIOErrorRequest(
- eError, rArgs, rMessage, xContext );
- if ( xEnv.is() )
- {
- uno::Reference<
- task::XInteractionHandler > xIH = xEnv->getInteractionHandler();
- if ( xIH.is() )
- {
- xIH->handle( xRequest.get() );
-
- rtl::Reference< ucbhelper::InteractionContinuation > xSelection
- = xRequest->getSelection();
-
- if ( xSelection.is() )
- throw ucb::CommandFailedException( rtl::OUString(),
- xContext,
- xRequest->getRequest() );
- }
- }
-
- cppu::throwException( xRequest->getRequest() );
-
- OSL_FAIL( "Return from cppu::throwException call!!!" );
- throw uno::RuntimeException();
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/commandenvironmentproxy.cxx b/ucbhelper/source/provider/commandenvironmentproxy.cxx
deleted file mode 100644
index 7993815cbc..0000000000
--- a/ucbhelper/source/provider/commandenvironmentproxy.cxx
+++ /dev/null
@@ -1,168 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <com/sun/star/ucb/XContentIdentifierFactory.hpp>
-#include <com/sun/star/ucb/XContentProvider.hpp>
-#include <com/sun/star/ucb/XContentProviderManager.hpp>
-#include <osl/mutex.hxx>
-#include <ucbhelper/commandenvironmentproxy.hxx>
-
-using namespace com::sun::star::lang;
-using namespace com::sun::star::task;
-using namespace com::sun::star::ucb;
-using namespace com::sun::star::uno;
-
-namespace ucbhelper
-{
-
-//=========================================================================
-//=========================================================================
-//
-// struct CommandEnvironmentProxy_Impl.
-//
-//=========================================================================
-//=========================================================================
-
-struct CommandEnvironmentProxy_Impl
-{
- osl::Mutex m_aMutex;
- Reference< XCommandEnvironment > m_xEnv;
- Reference< XInteractionHandler > m_xInteractionHandler;
- Reference< XProgressHandler > m_xProgressHandler;
- sal_Bool m_bGotInteractionHandler;
- sal_Bool m_bGotProgressHandler;
-
- CommandEnvironmentProxy_Impl(
- const Reference< XCommandEnvironment >& rxEnv )
- : m_xEnv( rxEnv ), m_bGotInteractionHandler( sal_False ),
- m_bGotProgressHandler( sal_False ) {}
-};
-
-//=========================================================================
-//=========================================================================
-//
-// CommandEnvironmentProxy Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-CommandEnvironmentProxy::CommandEnvironmentProxy(
- const Reference< XCommandEnvironment >& rxEnv )
-{
- m_pImpl = new CommandEnvironmentProxy_Impl( rxEnv );
-}
-
-//=========================================================================
-// virtual
-CommandEnvironmentProxy::~CommandEnvironmentProxy()
-{
- delete m_pImpl;
-}
-
-//=========================================================================
-//
-// XInterface methods
-//
-//=========================================================================
-
-XINTERFACE_IMPL_2( CommandEnvironmentProxy,
- XTypeProvider,
- XCommandEnvironment );
-
-//=========================================================================
-//
-// XTypeProvider methods
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_2( CommandEnvironmentProxy,
- XTypeProvider,
- XCommandEnvironment );
-
-//=========================================================================
-//
-// XCommandEnvironemnt methods.
-//
-//=========================================================================
-
-// virtual
-Reference< XInteractionHandler > SAL_CALL
-CommandEnvironmentProxy::getInteractionHandler()
- throw ( RuntimeException )
-{
- if ( m_pImpl->m_xEnv.is() )
- {
- if ( !m_pImpl->m_bGotInteractionHandler )
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- if ( !m_pImpl->m_bGotInteractionHandler )
- {
- m_pImpl->m_xInteractionHandler
- = m_pImpl->m_xEnv->getInteractionHandler();
- m_pImpl->m_bGotInteractionHandler = sal_True;
- }
- }
- }
- return m_pImpl->m_xInteractionHandler;
-}
-
-//=========================================================================
-// virtual
-Reference< XProgressHandler > SAL_CALL
-CommandEnvironmentProxy::getProgressHandler()
- throw ( RuntimeException )
-{
- if ( m_pImpl->m_xEnv.is() )
- {
- if ( !m_pImpl->m_bGotProgressHandler )
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- if ( !m_pImpl->m_bGotProgressHandler )
- {
- m_pImpl->m_xProgressHandler
- = m_pImpl->m_xEnv->getProgressHandler();
- m_pImpl->m_bGotProgressHandler = sal_True;
- }
- }
- }
- return m_pImpl->m_xProgressHandler;
-}
-
-} /* namespace ucbhelper */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/contenthelper.cxx b/ucbhelper/source/provider/contenthelper.cxx
deleted file mode 100644
index 87c08c7a1c..0000000000
--- a/ucbhelper/source/provider/contenthelper.cxx
+++ /dev/null
@@ -1,1125 +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_ucbhelper.hxx"
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#include <boost/unordered_map.hpp>
-#include <com/sun/star/ucb/ContentAction.hpp>
-#include <com/sun/star/ucb/CommandInfoChange.hpp>
-#include <com/sun/star/ucb/XPersistentPropertySet.hpp>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/beans/PropertySetInfoChange.hpp>
-#include <cppuhelper/interfacecontainer.hxx>
-
-#include "osl/diagnose.h"
-#include "osl/mutex.hxx"
-#include "rtl/ref.hxx"
-#include <ucbhelper/contentidentifier.hxx>
-#include <ucbhelper/contenthelper.hxx>
-#include <ucbhelper/providerhelper.hxx>
-#include <ucbhelper/contentinfo.hxx>
-
-using namespace com::sun::star;
-
-namespace ucbhelper_impl
-{
-
-//=========================================================================
-//
-// class PropertyEventSequence.
-//
-//=========================================================================
-
-class PropertyEventSequence
-{
- uno::Sequence< beans::PropertyChangeEvent > m_aSeq;
- sal_uInt32 m_nPos;
-
-public:
- PropertyEventSequence( sal_uInt32 nSize )
- : m_aSeq( nSize ), m_nPos( 0 ) {};
-
- void append( const beans::PropertyChangeEvent& rEvt )
- { m_aSeq.getArray()[ m_nPos ] = rEvt; ++m_nPos; }
-
- const uno::Sequence< beans::PropertyChangeEvent >& getEvents()
- { m_aSeq.realloc( m_nPos ); return m_aSeq; }
-};
-
-//=========================================================================
-//
-// PropertiesEventListenerMap.
-//
-//=========================================================================
-
-typedef void* XPropertiesChangeListenerPtr; // -> Compiler problems!
-
-struct equalPtr
-{
- bool operator()( const XPropertiesChangeListenerPtr& rp1,
- const XPropertiesChangeListenerPtr& rp2 ) const
- {
- return ( rp1 == rp2 );
- }
-};
-
-struct hashPtr
-{
- size_t operator()( const XPropertiesChangeListenerPtr& rp ) const
- {
- return (size_t)rp;
- }
-};
-
-typedef boost::unordered_map
-<
- XPropertiesChangeListenerPtr,
- PropertyEventSequence*,
- hashPtr,
- equalPtr
->
-PropertiesEventListenerMap;
-
-//=========================================================================
-//
-// PropertyChangeListenerContainer.
-//
-//=========================================================================
-
-struct equalStr
-{
- bool operator()( const rtl::OUString& s1, const rtl::OUString& s2 ) const
- {
- return !!( s1 == s2 );
- }
-};
-
-struct hashStr
-{
- size_t operator()( const rtl::OUString& rName ) const
- {
- return rName.hashCode();
- }
-};
-
-typedef cppu::OMultiTypeInterfaceContainerHelperVar
-<
- rtl::OUString,
- hashStr,
- equalStr
-> PropertyChangeListeners;
-
-//=========================================================================
-//
-// struct ContentImplHelper_Impl
-//
-//=========================================================================
-
-struct ContentImplHelper_Impl
-{
- rtl::Reference< ::ucbhelper::PropertySetInfo > m_xPropSetInfo;
- rtl::Reference< ::ucbhelper::CommandProcessorInfo > m_xCommandsInfo;
- cppu::OInterfaceContainerHelper* m_pDisposeEventListeners;
- cppu::OInterfaceContainerHelper* m_pContentEventListeners;
- cppu::OInterfaceContainerHelper* m_pPropSetChangeListeners;
- cppu::OInterfaceContainerHelper* m_pCommandChangeListeners;
- PropertyChangeListeners* m_pPropertyChangeListeners;
-
- ContentImplHelper_Impl()
- : m_pDisposeEventListeners( 0 ),
- m_pContentEventListeners( 0 ),
- m_pPropSetChangeListeners( 0 ),
- m_pCommandChangeListeners( 0 ),
- m_pPropertyChangeListeners( 0 ) {}
-
- ~ContentImplHelper_Impl()
- {
- delete m_pDisposeEventListeners;
- delete m_pContentEventListeners;
- delete m_pPropSetChangeListeners;
- delete m_pCommandChangeListeners;
- delete m_pPropertyChangeListeners;
- }
-};
-
-} // namespace ucbhelper_impl
-
-using namespace ucbhelper_impl;
-
-//=========================================================================
-//=========================================================================
-//
-// ContentImplHelper Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-namespace ucbhelper {
-
-ContentImplHelper::ContentImplHelper(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const rtl::Reference< ContentProviderImplHelper >& rxProvider,
- const uno::Reference<
- com::sun::star::ucb::XContentIdentifier >& Identifier )
-: m_pImpl( new ContentImplHelper_Impl ),
- m_xSMgr( rxSMgr ),
- m_xIdentifier( Identifier ),
- m_xProvider( rxProvider ),
- m_nCommandId( 0 )
-{
-}
-
-//=========================================================================
-// virtual
-ContentImplHelper::~ContentImplHelper()
-{
- delete m_pImpl;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-void SAL_CALL ContentImplHelper::acquire()
- throw()
-{
- cppu::OWeakObject::acquire();
-}
-
-void SAL_CALL ContentImplHelper::release()
- throw()
-{
- // #144882# - Call to OWeakObject::release may destroy m_xProvider.
- // Prevent this.
- rtl::Reference< ContentProviderImplHelper > xKeepProviderAlive(
- m_xProvider );
-
- {
- osl::MutexGuard aGuard( m_xProvider->m_aMutex );
- OWeakObject::release();
- }
-}
-
-uno::Any SAL_CALL ContentImplHelper::queryInterface( const uno::Type & rType )
- throw( uno::RuntimeException )
-{
- com::sun::star::uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >(this),
- static_cast< lang::XServiceInfo * >(this),
- static_cast< lang::XComponent * >(this),
- static_cast< com::sun::star::ucb::XContent * >(this),
- static_cast< com::sun::star::ucb::XCommandProcessor * >(this),
- static_cast< beans::XPropertiesChangeNotifier * >(this),
- static_cast< com::sun::star::ucb::XCommandInfoChangeNotifier * >(this),
- static_cast< beans::XPropertyContainer * >(this),
- static_cast< beans::XPropertySetInfoChangeNotifier * >(this),
- static_cast< container::XChild * >(this));
- return aRet.hasValue() ? aRet : cppu::OWeakObject::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_10( ContentImplHelper,
- lang::XTypeProvider,
- lang::XServiceInfo,
- lang::XComponent,
- com::sun::star::ucb::XContent,
- com::sun::star::ucb::XCommandProcessor,
- beans::XPropertiesChangeNotifier,
- com::sun::star::ucb::XCommandInfoChangeNotifier,
- beans::XPropertyContainer,
- beans::XPropertySetInfoChangeNotifier,
- container::XChild );
-
-//=========================================================================
-//
-// XServiceInfo methods.
-//
-//=========================================================================
-
-// virtual
-sal_Bool SAL_CALL ContentImplHelper::supportsService(
- const rtl::OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- uno::Sequence< rtl::OUString > aSNL = getSupportedServiceNames();
- const rtl::OUString* pArray = aSNL.getConstArray();
- for ( sal_Int32 i = 0; i < aSNL.getLength(); i++ )
- {
- if ( pArray[ i ] == ServiceName )
- return sal_True;
- }
-
- return sal_False;
-}
-
-//=========================================================================
-//
-// XComponent methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL ContentImplHelper::dispose()
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( m_pImpl->m_pDisposeEventListeners &&
- m_pImpl->m_pDisposeEventListeners->getLength() )
- {
- lang::EventObject aEvt;
- aEvt.Source = static_cast< lang::XComponent * >( this );
- m_pImpl->m_pDisposeEventListeners->disposeAndClear( aEvt );
- }
-
- if ( m_pImpl->m_pContentEventListeners &&
- m_pImpl->m_pContentEventListeners->getLength() )
- {
- lang::EventObject aEvt;
- aEvt.Source = static_cast< com::sun::star::ucb::XContent * >( this );
- m_pImpl->m_pContentEventListeners->disposeAndClear( aEvt );
- }
-
- if ( m_pImpl->m_pPropSetChangeListeners &&
- m_pImpl->m_pPropSetChangeListeners->getLength() )
- {
- lang::EventObject aEvt;
- aEvt.Source
- = static_cast< beans::XPropertySetInfoChangeNotifier * >( this );
- m_pImpl->m_pPropSetChangeListeners->disposeAndClear( aEvt );
- }
-
- if ( m_pImpl->m_pCommandChangeListeners &&
- m_pImpl->m_pCommandChangeListeners->getLength() )
- {
- lang::EventObject aEvt;
- aEvt.Source = static_cast< com::sun::star::ucb::XCommandInfoChangeNotifier * >( this );
- m_pImpl->m_pCommandChangeListeners->disposeAndClear( aEvt );
- }
-
- if ( m_pImpl->m_pPropertyChangeListeners )
- {
- lang::EventObject aEvt;
- aEvt.Source
- = static_cast< beans::XPropertiesChangeNotifier * >( this );
- m_pImpl->m_pPropertyChangeListeners->disposeAndClear( aEvt );
- }
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::addEventListener(
- const uno::Reference< lang::XEventListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_pDisposeEventListeners )
- m_pImpl->m_pDisposeEventListeners
- = new cppu::OInterfaceContainerHelper( m_aMutex );
-
- m_pImpl->m_pDisposeEventListeners->addInterface( Listener );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::removeEventListener(
- const uno::Reference< lang::XEventListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( m_pImpl->m_pDisposeEventListeners )
- m_pImpl->m_pDisposeEventListeners->removeInterface( Listener );
-}
-
-//=========================================================================
-//
-// XContent methods.
-//
-//=========================================================================
-
-// virtual
-uno::Reference< com::sun::star::ucb::XContentIdentifier > SAL_CALL
-ContentImplHelper::getIdentifier()
- throw( uno::RuntimeException )
-{
- return m_xIdentifier;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::addContentEventListener(
- const uno::Reference< com::sun::star::ucb::XContentEventListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_pContentEventListeners )
- m_pImpl->m_pContentEventListeners
- = new cppu::OInterfaceContainerHelper( m_aMutex );
-
- m_pImpl->m_pContentEventListeners->addInterface( Listener );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::removeContentEventListener(
- const uno::Reference< com::sun::star::ucb::XContentEventListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( m_pImpl->m_pContentEventListeners )
- m_pImpl->m_pContentEventListeners->removeInterface( Listener );
-}
-
-//=========================================================================
-//
-// XCommandProcessor methods.
-//
-//=========================================================================
-
-// virtual
-sal_Int32 SAL_CALL ContentImplHelper::createCommandIdentifier()
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- // Just increase counter on every call to generate an identifier.
- return ++m_nCommandId;
-}
-
-//=========================================================================
-//
-// XPropertiesChangeNotifier methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL ContentImplHelper::addPropertiesChangeListener(
- const uno::Sequence< rtl::OUString >& PropertyNames,
- const uno::Reference< beans::XPropertiesChangeListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_pPropertyChangeListeners )
- m_pImpl->m_pPropertyChangeListeners
- = new PropertyChangeListeners( m_aMutex );
-
- sal_Int32 nCount = PropertyNames.getLength();
- if ( !nCount )
- {
- // Note: An empty sequence means a listener for "all" properties.
- m_pImpl->m_pPropertyChangeListeners->addInterface(
- rtl::OUString(), Listener );
- }
- else
- {
- const rtl::OUString* pSeq = PropertyNames.getConstArray();
-
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const rtl::OUString& rName = pSeq[ n ];
- if ( rName.getLength() )
- m_pImpl->m_pPropertyChangeListeners->addInterface(
- rName, Listener );
- }
- }
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::removePropertiesChangeListener(
- const uno::Sequence< rtl::OUString >& PropertyNames,
- const uno::Reference< beans::XPropertiesChangeListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_pPropertyChangeListeners )
- return;
-
- sal_Int32 nCount = PropertyNames.getLength();
- if ( !nCount )
- {
- // Note: An empty sequence means a listener for "all" properties.
- m_pImpl->m_pPropertyChangeListeners->removeInterface(
- rtl::OUString(), Listener );
- }
- else
- {
- const rtl::OUString* pSeq = PropertyNames.getConstArray();
-
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const rtl::OUString& rName = pSeq[ n ];
- if ( rName.getLength() )
- m_pImpl->m_pPropertyChangeListeners->removeInterface(
- rName, Listener );
- }
- }
-}
-
-//=========================================================================
-//
-// XCommandInfoChangeNotifier methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL ContentImplHelper::addCommandInfoChangeListener(
- const uno::Reference< com::sun::star::ucb::XCommandInfoChangeListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_pCommandChangeListeners )
- m_pImpl->m_pCommandChangeListeners
- = new cppu::OInterfaceContainerHelper( m_aMutex );
-
- m_pImpl->m_pCommandChangeListeners->addInterface( Listener );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::removeCommandInfoChangeListener(
- const uno::Reference< com::sun::star::ucb::XCommandInfoChangeListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( m_pImpl->m_pCommandChangeListeners )
- m_pImpl->m_pCommandChangeListeners->removeInterface( Listener );
-}
-
-//=========================================================================
-//
-// XPropertyContainer methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL ContentImplHelper::addProperty(
- const rtl::OUString& Name,
- sal_Int16 Attributes,
- const uno::Any& DefaultValue )
- throw( beans::PropertyExistException,
- beans::IllegalTypeException,
- lang::IllegalArgumentException,
- uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- //////////////////////////////////////////////////////////////////////
- // Make sure a property with the requested name does not already
- // exist in dynamic and static(!) properties.
- //////////////////////////////////////////////////////////////////////
-
- // @@@ Need real command environment here, but where to get it from?
- // XPropertyContainer interface should be replaced by
- // XCommandProcessor commands!
- uno::Reference< com::sun::star::ucb::XCommandEnvironment > xEnv;
-
- if ( getPropertySetInfo( xEnv )->hasPropertyByName( Name ) )
- {
- // Property does already exist.
- throw beans::PropertyExistException();
- }
-
- //////////////////////////////////////////////////////////////////////
- // Add a new dynamic property.
- //////////////////////////////////////////////////////////////////////
-
- // Open/create persistent property set.
- uno::Reference< com::sun::star::ucb::XPersistentPropertySet > xSet(
- getAdditionalPropertySet( sal_True ) );
-
- OSL_ENSURE( xSet.is(),
- "ContentImplHelper::addProperty - No property set!" );
-
- if ( xSet.is() )
- {
- uno::Reference< beans::XPropertyContainer > xContainer(
- xSet, uno::UNO_QUERY );
-
- OSL_ENSURE(
- xContainer.is(),
- "ContentImplHelper::addProperty - No property container!" );
-
- if ( xContainer.is() )
- {
- // Property is always removeable.
- Attributes |= beans::PropertyAttribute::REMOVEABLE;
-
- try
- {
- xContainer->addProperty( Name, Attributes, DefaultValue );
- }
- catch ( beans::PropertyExistException const & )
- {
- OSL_FAIL( "ContentImplHelper::addProperty - Exists!" );
- throw;
- }
- catch ( beans::IllegalTypeException const & )
- {
- OSL_FAIL( "ContentImplHelper::addProperty - Wrong Type!" );
- throw;
- }
- catch ( lang::IllegalArgumentException const & )
- {
- OSL_FAIL( "ContentImplHelper::addProperty - Illegal Arg!" );
- throw;
- }
-
- // Success!
-
- if ( m_pImpl->m_xPropSetInfo.is() )
- {
- // Info cached in propertyset info is invalid now!
- m_pImpl->m_xPropSetInfo->reset();
- }
-
- // Notify propertyset info change listeners.
- if ( m_pImpl->m_pPropSetChangeListeners &&
- m_pImpl->m_pPropSetChangeListeners->getLength() )
- {
- beans::PropertySetInfoChangeEvent evt(
- static_cast< cppu::OWeakObject * >( this ),
- Name,
- -1, // No handle available
- beans::PropertySetInfoChange::PROPERTY_INSERTED );
- notifyPropertySetInfoChange( evt );
- }
- }
- }
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::removeProperty( const rtl::OUString& Name )
- throw( beans::UnknownPropertyException,
- beans::NotRemoveableException,
- uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- try
- {
- // @@@ Need real command environment here, but where to get it from?
- // XPropertyContainer interface should be replaced by
- // XCommandProcessor commands!
- uno::Reference< com::sun::star::ucb::XCommandEnvironment > xEnv;
-
- beans::Property aProp
- = getPropertySetInfo( xEnv )->getPropertyByName( Name );
-
- if ( !( aProp.Attributes & beans::PropertyAttribute::REMOVEABLE ) )
- {
- // Not removeable!
- throw beans::NotRemoveableException();
- }
- }
- catch ( beans::UnknownPropertyException const & )
- {
- OSL_FAIL( "ContentImplHelper::removeProperty - Unknown!" );
- throw;
- }
-
- //////////////////////////////////////////////////////////////////////
- // Try to remove property from dynamic property set.
- //////////////////////////////////////////////////////////////////////
-
- // Open persistent property set, if exists.
- uno::Reference< com::sun::star::ucb::XPersistentPropertySet > xSet(
- getAdditionalPropertySet( sal_False ) );
- if ( xSet.is() )
- {
- uno::Reference< beans::XPropertyContainer > xContainer(
- xSet, uno::UNO_QUERY );
-
- OSL_ENSURE(
- xContainer.is(),
- "ContentImplHelper::removeProperty - No property container!" );
-
- if ( xContainer.is() )
- {
- try
- {
- xContainer->removeProperty( Name );
- }
- catch ( beans::UnknownPropertyException const & )
- {
- OSL_FAIL( "ContentImplHelper::removeProperty - Unknown!" );
- throw;
- }
- catch ( beans::NotRemoveableException const & )
- {
- OSL_FAIL(
- "ContentImplHelper::removeProperty - Unremoveable!" );
- throw;
- }
-
- xContainer = 0;
-
- // Success!
-
- if ( xSet->getPropertySetInfo()->getProperties().getLength() == 0 )
- {
- // Remove empty propertyset from registry.
- uno::Reference< com::sun::star::ucb::XPropertySetRegistry >
- xReg = xSet->getRegistry();
- if ( xReg.is() )
- {
- rtl::OUString aKey( xSet->getKey() );
- xSet = 0;
- xReg->removePropertySet( aKey );
- }
- }
-
- if ( m_pImpl->m_xPropSetInfo.is() )
- {
- // Info cached in propertyset info is invalid now!
- m_pImpl->m_xPropSetInfo->reset();
- }
-
- // Notify propertyset info change listeners.
- if ( m_pImpl->m_pPropSetChangeListeners &&
- m_pImpl->m_pPropSetChangeListeners->getLength() )
- {
- beans::PropertySetInfoChangeEvent evt(
- static_cast< cppu::OWeakObject * >( this ),
- Name,
- -1, // No handle available
- beans::PropertySetInfoChange::PROPERTY_REMOVED );
- notifyPropertySetInfoChange( evt );
- }
- }
- }
-}
-
-//=========================================================================
-//
-// XPropertySetInfoChangeNotifier methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL ContentImplHelper::addPropertySetInfoChangeListener(
- const uno::Reference< beans::XPropertySetInfoChangeListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_pPropSetChangeListeners )
- m_pImpl->m_pPropSetChangeListeners
- = new cppu::OInterfaceContainerHelper( m_aMutex );
-
- m_pImpl->m_pPropSetChangeListeners->addInterface( Listener );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::removePropertySetInfoChangeListener(
- const uno::Reference< beans::XPropertySetInfoChangeListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( m_pImpl->m_pPropSetChangeListeners )
- m_pImpl->m_pPropSetChangeListeners->removeInterface( Listener );
-}
-
-//=========================================================================
-//
-// XChild methods.
-//
-//=========================================================================
-
-// virtual
-uno::Reference< uno::XInterface > SAL_CALL ContentImplHelper::getParent()
- throw( uno::RuntimeException )
-{
- uno::Reference< uno::XInterface > xParent;
- rtl::OUString aURL = getParentURL();
-
- if ( aURL.getLength() )
- {
- uno::Reference< com::sun::star::ucb::XContentIdentifier > xId(
- new ContentIdentifier( m_xSMgr, aURL ) );
- try
- {
- xParent.set( m_xProvider->queryContent( xId ) );
- }
- catch ( com::sun::star::ucb::IllegalIdentifierException const & )
- {
- }
- }
-
- return xParent;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentImplHelper::setParent(
- const uno::Reference< uno::XInterface >& )
- throw( lang::NoSupportException, uno::RuntimeException )
-{
- throw lang::NoSupportException();
-}
-
-//=========================================================================
-//
-// Non-interface methods
-//
-//=========================================================================
-
-uno::Reference< com::sun::star::ucb::XPersistentPropertySet >
-ContentImplHelper::getAdditionalPropertySet( sal_Bool bCreate )
-{
- // Get propertyset from provider.
- return m_xProvider->getAdditionalPropertySet(
- m_xIdentifier->getContentIdentifier(), bCreate );
-}
-
-//=========================================================================
-sal_Bool ContentImplHelper::renameAdditionalPropertySet(
- const rtl::OUString& rOldKey,
- const rtl::OUString& rNewKey,
- sal_Bool bRecursive )
-{
- return m_xProvider->renameAdditionalPropertySet(
- rOldKey, rNewKey, bRecursive );
-}
-
-//=========================================================================
-sal_Bool ContentImplHelper::copyAdditionalPropertySet(
- const rtl::OUString& rSourceKey,
- const rtl::OUString& rTargetKey,
- sal_Bool bRecursive )
-{
- return m_xProvider->copyAdditionalPropertySet(
- rSourceKey, rTargetKey, bRecursive );
-}
-
-//=========================================================================
-sal_Bool ContentImplHelper::removeAdditionalPropertySet( sal_Bool bRecursive )
-{
- return m_xProvider->removeAdditionalPropertySet(
- m_xIdentifier->getContentIdentifier(), bRecursive );
-}
-
-//=========================================================================
-void ContentImplHelper::notifyPropertiesChange(
- const uno::Sequence< beans::PropertyChangeEvent >& evt ) const
-{
- if ( !m_pImpl->m_pPropertyChangeListeners )
- return;
-
- sal_Int32 nCount = evt.getLength();
- if ( nCount )
- {
- // First, notify listeners interested in changes of every property.
- cppu::OInterfaceContainerHelper* pAllPropsContainer
- = m_pImpl->m_pPropertyChangeListeners->getContainer(
- rtl::OUString() );
- if ( pAllPropsContainer )
- {
- cppu::OInterfaceIteratorHelper aIter( *pAllPropsContainer );
- while ( aIter.hasMoreElements() )
- {
- // Propagate event.
- uno::Reference< beans::XPropertiesChangeListener > xListener(
- aIter.next(), uno::UNO_QUERY );
- if ( xListener.is() )
- xListener->propertiesChange( evt );
- }
- }
-
- PropertiesEventListenerMap aListeners;
-
- const beans::PropertyChangeEvent* pEvents = evt.getConstArray();
-
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const beans::PropertyChangeEvent& rEvent = pEvents[ n ];
- const rtl::OUString& rName = rEvent.PropertyName;
-
- cppu::OInterfaceContainerHelper* pPropsContainer
- = m_pImpl->m_pPropertyChangeListeners->getContainer( rName );
- if ( pPropsContainer )
- {
- cppu::OInterfaceIteratorHelper aIter( *pPropsContainer );
- while ( aIter.hasMoreElements() )
- {
- PropertyEventSequence* p = NULL;
-
- beans::XPropertiesChangeListener* pListener =
- static_cast< beans::XPropertiesChangeListener * >(
- aIter.next() );
- PropertiesEventListenerMap::iterator it =
- aListeners.find( pListener );
- if ( it == aListeners.end() )
- {
- // Not in map - create and insert new entry.
- p = new PropertyEventSequence( nCount );
- aListeners[ pListener ] = p;
- }
- else
- p = (*it).second;
-
- if ( p )
- p->append( rEvent );
- }
- }
- }
-
- // Notify listeners.
- PropertiesEventListenerMap::iterator it = aListeners.begin();
- while ( !aListeners.empty() )
- {
- beans::XPropertiesChangeListener* pListener =
- static_cast< beans::XPropertiesChangeListener * >( (*it).first );
- PropertyEventSequence* pSeq = (*it).second;
-
- // Remove current element.
- aListeners.erase( it );
-
- // Propagate event.
- pListener->propertiesChange( pSeq->getEvents() );
-
- delete pSeq;
-
- it = aListeners.begin();
- }
- }
-}
-
-//=========================================================================
-void ContentImplHelper::notifyPropertySetInfoChange(
- const beans::PropertySetInfoChangeEvent& evt ) const
-{
- if ( !m_pImpl->m_pPropSetChangeListeners )
- return;
-
- // Notify event listeners.
- cppu::OInterfaceIteratorHelper aIter( *m_pImpl->m_pPropSetChangeListeners );
- while ( aIter.hasMoreElements() )
- {
- // Propagate event.
- uno::Reference< beans::XPropertySetInfoChangeListener >
- xListener( aIter.next(), uno::UNO_QUERY );
- if ( xListener.is() )
- xListener->propertySetInfoChange( evt );
- }
-}
-
-//=========================================================================
-void ContentImplHelper::notifyCommandInfoChange(
- const com::sun::star::ucb::CommandInfoChangeEvent& evt ) const
-{
- if ( !m_pImpl->m_pCommandChangeListeners )
- return;
-
- // Notify event listeners.
- cppu::OInterfaceIteratorHelper aIter(
- *m_pImpl->m_pCommandChangeListeners );
- while ( aIter.hasMoreElements() )
- {
- // Propagate event.
- uno::Reference< com::sun::star::ucb::XCommandInfoChangeListener >
- xListener( aIter.next(), uno::UNO_QUERY );
- if ( xListener.is() )
- xListener->commandInfoChange( evt );
- }
-}
-
-//=========================================================================
-void ContentImplHelper::notifyContentEvent(
- const com::sun::star::ucb::ContentEvent& evt ) const
-{
- if ( !m_pImpl->m_pContentEventListeners )
- return;
-
- // Notify event listeners.
- cppu::OInterfaceIteratorHelper aIter( *m_pImpl->m_pContentEventListeners );
- while ( aIter.hasMoreElements() )
- {
- // Propagate event.
- uno::Reference<
- com::sun::star::ucb::XContentEventListener > xListener(
- aIter.next(), uno::UNO_QUERY );
- if ( xListener.is() )
- xListener->contentEvent( evt );
- }
-}
-
-//=========================================================================
-void ContentImplHelper::inserted()
-{
- // Content is not yet registered at provider.
- m_xProvider->registerNewContent( this );
-
- // If the parent content is currently not instanciated, there can be
- // no listeners interested in changes ;-)
-
- rtl::Reference< ContentImplHelper > xParent
- = m_xProvider->queryExistingContent( getParentURL() );
-
- if ( xParent.is() )
- {
- com::sun::star::ucb::ContentEvent aEvt(
- static_cast< cppu::OWeakObject * >( xParent.get() ), // Source
- com::sun::star::ucb::ContentAction::INSERTED, // Action
- this, // Content
- xParent->getIdentifier() ); // Id
- xParent->notifyContentEvent( aEvt );
- }
-}
-
-//=========================================================================
-void ContentImplHelper::deleted()
-{
- uno::Reference< com::sun::star::ucb::XContent > xThis = this;
-
- rtl::Reference< ContentImplHelper > xParent
- = m_xProvider->queryExistingContent( getParentURL() );
-
- if ( xParent.is() )
- {
- // Let parent notify "REMOVED" event.
- com::sun::star::ucb::ContentEvent aEvt(
- static_cast< cppu::OWeakObject * >( xParent.get() ),
- com::sun::star::ucb::ContentAction::REMOVED,
- this,
- xParent->getIdentifier() );
- xParent->notifyContentEvent( aEvt );
- }
-
- // Notify "DELETED" event.
- com::sun::star::ucb::ContentEvent aEvt1(
- static_cast< cppu::OWeakObject * >( this ),
- com::sun::star::ucb::ContentAction::DELETED,
- this,
- getIdentifier() );
- notifyContentEvent( aEvt1 );
-
- m_xProvider->removeContent( this );
-}
-
-//=========================================================================
-sal_Bool ContentImplHelper::exchange(
- const uno::Reference< com::sun::star::ucb::XContentIdentifier >& rNewId )
-{
- uno::Reference< com::sun::star::ucb::XContent > xThis = this;
-
- osl::ClearableMutexGuard aGuard( m_aMutex );
-
- rtl::Reference< ContentImplHelper > xContent
- = m_xProvider->queryExistingContent( rNewId );
- if ( xContent.is() )
- {
- // @@@
- // Big trouble. Another object with the new identity exists.
- // How shall I mutate to / merge with the other object?
- return sal_False;
- }
-
- uno::Reference< com::sun::star::ucb::XContentIdentifier > xOldId
- = getIdentifier();
-
- // Re-insert at provider.
- m_xProvider->removeContent( this );
- m_xIdentifier = rNewId;
- m_xProvider->registerNewContent( this );
-
- aGuard.clear();
-
- // Notify "EXCHANGED" event.
- com::sun::star::ucb::ContentEvent aEvt(
- static_cast< cppu::OWeakObject * >( this ),
- com::sun::star::ucb::ContentAction::EXCHANGED,
- this,
- xOldId );
- notifyContentEvent( aEvt );
- return sal_True;
-}
-
-//=========================================================================
-uno::Reference< com::sun::star::ucb::XCommandInfo >
-ContentImplHelper::getCommandInfo(
- const uno::Reference< com::sun::star::ucb::XCommandEnvironment > & xEnv,
- sal_Bool bCache )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_xCommandsInfo.is() )
- m_pImpl->m_xCommandsInfo
- = new CommandProcessorInfo( m_xSMgr, xEnv, this );
- else if ( !bCache )
- m_pImpl->m_xCommandsInfo->reset();
-
- return uno::Reference< com::sun::star::ucb::XCommandInfo >(
- m_pImpl->m_xCommandsInfo.get() );
-}
-
-//=========================================================================
-uno::Reference< beans::XPropertySetInfo >
-ContentImplHelper::getPropertySetInfo(
- const uno::Reference< com::sun::star::ucb::XCommandEnvironment > & xEnv,
- sal_Bool bCache )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_xPropSetInfo.is() )
- m_pImpl->m_xPropSetInfo
- = new PropertySetInfo( m_xSMgr, xEnv, this );
- else if ( !bCache )
- m_pImpl->m_xPropSetInfo->reset();
-
- return uno::Reference< beans::XPropertySetInfo >(
- m_pImpl->m_xPropSetInfo.get() );
-}
-
-} // namespace ucbhelper
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/contentidentifier.cxx b/ucbhelper/source/provider/contentidentifier.cxx
deleted file mode 100644
index 1b82a79629..0000000000
--- a/ucbhelper/source/provider/contentidentifier.cxx
+++ /dev/null
@@ -1,224 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <ucbhelper/contentidentifier.hxx>
-#include <cppuhelper/typeprovider.hxx>
-#include <osl/mutex.hxx>
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::ucb;
-
-using ::rtl::OUString;
-
-namespace ucbhelper
-{
-
-//=========================================================================
-//=========================================================================
-//
-// struct ContentIdentifier_Impl.
-//
-//=========================================================================
-//=========================================================================
-
-struct ContentIdentifier_Impl
-{
- Reference< XMultiServiceFactory > m_xSMgr;
- OUString m_aContentId;
- OUString m_aProviderScheme;
- osl::Mutex m_aMutex;
-
- ContentIdentifier_Impl( const Reference< XMultiServiceFactory >& rSMgr,
- const OUString& rURL );
-};
-
-//=========================================================================
-//
-// ContentIdentifier_Impl Implementation.
-//
-//=========================================================================
-
-ContentIdentifier_Impl::ContentIdentifier_Impl(
- const Reference< XMultiServiceFactory >& rSMgr,
- const OUString& rURL )
-: m_xSMgr( rSMgr )
-{
- // Normalize URL scheme ( it's case insensitive ).
-
- // The content provider scheme is the part before the first ':'
- // within the content id.
- sal_Int32 nPos = rURL.indexOf( ':', 0 );
- if ( nPos != -1 )
- {
- OUString aScheme( rURL.copy( 0, nPos ) );
- m_aProviderScheme = aScheme.toAsciiLowerCase();
- m_aContentId = rURL.replaceAt( 0, nPos, aScheme );
- }
-}
-
-//=========================================================================
-//
-// ContentIdentifier Implementation.
-//
-//=========================================================================
-
-ContentIdentifier::ContentIdentifier(
- const Reference< XMultiServiceFactory >& rxSMgr,
- const OUString& rURL )
-{
- m_pImpl = new ContentIdentifier_Impl( rxSMgr, rURL );
-}
-
-//=========================================================================
-ContentIdentifier::ContentIdentifier( const OUString& rURL )
-{
- m_pImpl = new ContentIdentifier_Impl(
- Reference< XMultiServiceFactory >(), rURL );
-}
-
-//=========================================================================
-// virtual
-ContentIdentifier::~ContentIdentifier()
-{
- delete m_pImpl;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentIdentifier::acquire() throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ContentIdentifier::release() throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-Any SAL_CALL
-ContentIdentifier::queryInterface( const Type & rType )
- throw ( RuntimeException )
-{
- Any aRet = cppu::queryInterface( rType,
- static_cast< XTypeProvider * >( this ),
- static_cast< XContentIdentifier * >( this ) );
-
- return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-Sequence< sal_Int8 > SAL_CALL
-ContentIdentifier::getImplementationId()
- throw( RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-Sequence< com::sun::star::uno::Type > SAL_CALL
-ContentIdentifier::getTypes()
- throw( RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = NULL;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- Reference < XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- Reference< XContentIdentifier > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XContentIdentifier methods.
-//
-//=========================================================================
-
-// virtual
-OUString SAL_CALL ContentIdentifier::getContentIdentifier()
- throw( RuntimeException )
-{
- return m_pImpl->m_aContentId;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL ContentIdentifier::getContentProviderScheme()
- throw( RuntimeException )
-{
- return m_pImpl->m_aProviderScheme;
-}
-
-} /* namespace ucbhelper */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/contentinfo.cxx b/ucbhelper/source/provider/contentinfo.cxx
deleted file mode 100644
index 00a6834124..0000000000
--- a/ucbhelper/source/provider/contentinfo.cxx
+++ /dev/null
@@ -1,426 +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_ucbhelper.hxx"
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-#include <com/sun/star/beans/PropertyValue.hpp>
-#include <com/sun/star/ucb/XPropertySetRegistry.hpp>
-
-#include "osl/diagnose.h"
-#include "osl/mutex.hxx"
-#include <ucbhelper/contenthelper.hxx>
-#include <ucbhelper/contentinfo.hxx>
-
-using namespace com::sun::star;
-
-//=========================================================================
-//=========================================================================
-//
-// PropertySetInfo Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-namespace ucbhelper {
-
-PropertySetInfo::PropertySetInfo(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const uno::Reference< com::sun::star::ucb::XCommandEnvironment >& rxEnv,
- ContentImplHelper* pContent )
-: m_xSMgr( rxSMgr ),
- m_xEnv( rxEnv ),
- m_pProps( 0 ),
- m_pContent( pContent )
-{
-}
-
-//=========================================================================
-// virtual
-PropertySetInfo::~PropertySetInfo()
-{
- delete m_pProps;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-XINTERFACE_IMPL_2( PropertySetInfo,
- lang::XTypeProvider,
- beans::XPropertySetInfo );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_2( PropertySetInfo,
- lang::XTypeProvider,
- beans::XPropertySetInfo );
-
-//=========================================================================
-//
-// XPropertySetInfo methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< beans::Property > SAL_CALL PropertySetInfo::getProperties()
- throw( uno::RuntimeException )
-{
- if ( !m_pProps )
- {
- osl::MutexGuard aGuard( m_aMutex );
- if ( !m_pProps )
- {
- //////////////////////////////////////////////////////////////
- // Get info for core ( native) properties.
- //////////////////////////////////////////////////////////////
-
- try
- {
- uno::Sequence< beans::Property > aProps
- = m_pContent->getProperties( m_xEnv );
- m_pProps = new uno::Sequence< beans::Property >( aProps );
- }
- catch ( uno::RuntimeException const & )
- {
- throw;
- }
- catch ( uno::Exception const & )
- {
- m_pProps = new uno::Sequence< beans::Property >( 0 );
- }
-
- //////////////////////////////////////////////////////////////
- // Get info for additional properties.
- //////////////////////////////////////////////////////////////
-
- uno::Reference< com::sun::star::ucb::XPersistentPropertySet >
- xSet ( m_pContent->getAdditionalPropertySet( sal_False ) );
-
- if ( xSet.is() )
- {
- // Get property set info.
- uno::Reference< beans::XPropertySetInfo > xInfo(
- xSet->getPropertySetInfo() );
- if ( xInfo.is() )
- {
- const uno::Sequence< beans::Property >& rAddProps
- = xInfo->getProperties();
- sal_Int32 nAddProps = rAddProps.getLength();
- if ( nAddProps > 0 )
- {
- sal_Int32 nPos = m_pProps->getLength();
- m_pProps->realloc( nPos + nAddProps );
-
- beans::Property* pProps = m_pProps->getArray();
- const beans::Property* pAddProps
- = rAddProps.getConstArray();
-
- for ( sal_Int32 n = 0; n < nAddProps; ++n, ++nPos )
- pProps[ nPos ] = pAddProps[ n ];
- }
- }
- }
- }
- }
- return *m_pProps;
-}
-
-//=========================================================================
-// virtual
-beans::Property SAL_CALL PropertySetInfo::getPropertyByName(
- const rtl::OUString& aName )
- throw( beans::UnknownPropertyException, uno::RuntimeException )
-{
- beans::Property aProp;
- if ( queryProperty( aName, aProp ) )
- return aProp;
-
- throw beans::UnknownPropertyException();
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL PropertySetInfo::hasPropertyByName(
- const rtl::OUString& Name )
- throw( uno::RuntimeException )
-{
- beans::Property aProp;
- return queryProperty( Name, aProp );
-}
-
-//=========================================================================
-//
-// Non-Interface methods.
-//
-//=========================================================================
-
-void PropertySetInfo::reset()
-{
- osl::MutexGuard aGuard( m_aMutex );
- delete m_pProps;
- m_pProps = 0;
-}
-
-//=========================================================================
-sal_Bool PropertySetInfo::queryProperty(
- const rtl::OUString& rName, beans::Property& rProp )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- getProperties();
-
- const beans::Property* pProps = m_pProps->getConstArray();
- sal_Int32 nCount = m_pProps->getLength();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const beans::Property& rCurrProp = pProps[ n ];
- if ( rCurrProp.Name == rName )
- {
- rProp = rCurrProp;
- return sal_True;
- }
- }
-
- return sal_False;
-}
-
-//=========================================================================
-//=========================================================================
-//
-// CommandProcessorInfo Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-CommandProcessorInfo::CommandProcessorInfo(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const uno::Reference< com::sun::star::ucb::XCommandEnvironment >& rxEnv,
- ContentImplHelper* pContent )
-: m_xSMgr( rxSMgr ),
- m_xEnv( rxEnv ),
- m_pCommands( 0 ),
- m_pContent( pContent )
-{
-}
-
-//=========================================================================
-// virtual
-CommandProcessorInfo::~CommandProcessorInfo()
-{
- delete m_pCommands;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-XINTERFACE_IMPL_2( CommandProcessorInfo,
- lang::XTypeProvider,
- com::sun::star::ucb::XCommandInfo );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_2( CommandProcessorInfo,
- lang::XTypeProvider,
- com::sun::star::ucb::XCommandInfo );
-
-//=========================================================================
-//
-// XCommandInfo methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< com::sun::star::ucb::CommandInfo > SAL_CALL
-CommandProcessorInfo::getCommands()
- throw( uno::RuntimeException )
-{
- if ( !m_pCommands )
- {
- osl::MutexGuard aGuard( m_aMutex );
- if ( !m_pCommands )
- {
- //////////////////////////////////////////////////////////////
- // Get info for commands.
- //////////////////////////////////////////////////////////////
-
- try
- {
- uno::Sequence< com::sun::star::ucb::CommandInfo > aCmds
- = m_pContent->getCommands( m_xEnv );
- m_pCommands
- = new uno::Sequence< com::sun::star::ucb::CommandInfo >(
- aCmds );
- }
- catch ( uno::RuntimeException const & )
- {
- throw;
- }
- catch ( uno::Exception const & )
- {
- m_pCommands
- = new uno::Sequence< com::sun::star::ucb::CommandInfo >(
- 0 );
- }
- }
- }
- return *m_pCommands;
-}
-
-//=========================================================================
-// virtual
-com::sun::star::ucb::CommandInfo SAL_CALL
-CommandProcessorInfo::getCommandInfoByName(
- const rtl::OUString& Name )
- throw( com::sun::star::ucb::UnsupportedCommandException,
- uno::RuntimeException )
-{
- com::sun::star::ucb::CommandInfo aInfo;
- if ( queryCommand( Name, aInfo ) )
- return aInfo;
-
- throw com::sun::star::ucb::UnsupportedCommandException();
-}
-
-//=========================================================================
-// virtual
-com::sun::star::ucb::CommandInfo SAL_CALL
-CommandProcessorInfo::getCommandInfoByHandle( sal_Int32 Handle )
- throw( com::sun::star::ucb::UnsupportedCommandException,
- uno::RuntimeException )
-{
- com::sun::star::ucb::CommandInfo aInfo;
- if ( queryCommand( Handle, aInfo ) )
- return aInfo;
-
- throw com::sun::star::ucb::UnsupportedCommandException();
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL CommandProcessorInfo::hasCommandByName(
- const rtl::OUString& Name )
- throw( uno::RuntimeException )
-{
- com::sun::star::ucb::CommandInfo aInfo;
- return queryCommand( Name, aInfo );
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL CommandProcessorInfo::hasCommandByHandle( sal_Int32 Handle )
- throw( uno::RuntimeException )
-{
- com::sun::star::ucb::CommandInfo aInfo;
- return queryCommand( Handle, aInfo );
-}
-
-//=========================================================================
-//
-// Non-Interface methods.
-//
-//=========================================================================
-
-void CommandProcessorInfo::reset()
-{
- osl::MutexGuard aGuard( m_aMutex );
- delete m_pCommands;
- m_pCommands = 0;
-}
-
-
-//=========================================================================
-sal_Bool CommandProcessorInfo::queryCommand(
- const rtl::OUString& rName,
- com::sun::star::ucb::CommandInfo& rCommand )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- getCommands();
-
- const com::sun::star::ucb::CommandInfo* pCommands
- = m_pCommands->getConstArray();
- sal_Int32 nCount = m_pCommands->getLength();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const com::sun::star::ucb::CommandInfo& rCurrCommand = pCommands[ n ];
- if ( rCurrCommand.Name == rName )
- {
- rCommand = rCurrCommand;
- return sal_True;
- }
- }
-
- return sal_False;
-}
-
-//=========================================================================
-sal_Bool CommandProcessorInfo::queryCommand(
- sal_Int32 nHandle,
- com::sun::star::ucb::CommandInfo& rCommand )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- getCommands();
-
- const com::sun::star::ucb::CommandInfo* pCommands
- = m_pCommands->getConstArray();
- sal_Int32 nCount = m_pCommands->getLength();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const com::sun::star::ucb::CommandInfo& rCurrCommand = pCommands[ n ];
- if ( rCurrCommand.Handle == nHandle )
- {
- rCommand = rCurrCommand;
- return sal_True;
- }
- }
-
- return sal_False;
-}
-
-} // namespace ucbhelper
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/handleinteractionrequest.cxx b/ucbhelper/source/provider/handleinteractionrequest.cxx
deleted file mode 100644
index e7c861b385..0000000000
--- a/ucbhelper/source/provider/handleinteractionrequest.cxx
+++ /dev/null
@@ -1,164 +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_ucbhelper.hxx"
-#include "ucbhelper/handleinteractionrequest.hxx"
-#include "com/sun/star/task/XInteractionAbort.hpp"
-#include "com/sun/star/task/XInteractionHandler.hpp"
-#include "com/sun/star/task/XInteractionRetry.hpp"
-#include "com/sun/star/ucb/CommandFailedException.hpp"
-#include "com/sun/star/ucb/XCommandEnvironment.hpp"
-#include "com/sun/star/uno/Reference.hxx"
-#include "com/sun/star/uno/RuntimeException.hpp"
-#include "cppuhelper/exc_hlp.hxx"
-#include "osl/diagnose.h"
-#include "rtl/ustring.hxx"
-#include "ucbhelper/interactionrequest.hxx"
-#include "ucbhelper/simpleauthenticationrequest.hxx"
-#include "ucbhelper/simpleinteractionrequest.hxx"
-#include "ucbhelper/simplecertificatevalidationrequest.hxx"
-#ifndef INCLUDED_UTILITY
-#include <utility>
-#define INCLUDED_UTILITY
-#endif
-
-using namespace com::sun::star;
-
-namespace {
-
-void
-handle(uno::Reference< task::XInteractionRequest > const & rRequest,
- uno::Reference< ucb::XCommandEnvironment > const & rEnvironment)
- SAL_THROW((uno::Exception))
-{
- OSL_ENSURE(rRequest.is(), "specification violation");
- uno::Reference< task::XInteractionHandler > xHandler;
- if (rEnvironment.is())
- xHandler = rEnvironment->getInteractionHandler();
- if (!xHandler.is())
- cppu::throwException(rRequest->getRequest());
- xHandler->handle(rRequest.get());
-}
-
-}
-
-namespace ucbhelper {
-
-sal_Int32
-handleInteractionRequest(
- rtl::Reference< ucbhelper::SimpleInteractionRequest > const & rRequest,
- uno::Reference< ucb::XCommandEnvironment > const & rEnvironment,
- bool bThrowOnAbort)
- SAL_THROW((uno::Exception))
-{
- handle(rRequest.get(), rEnvironment);
- sal_Int32 nResponse = rRequest->getResponse();
- switch (nResponse)
- {
- case ucbhelper::CONTINUATION_UNKNOWN:
- cppu::throwException(rRequest->getRequest());
- break;
-
- case ucbhelper::CONTINUATION_ABORT:
- if (bThrowOnAbort)
- throw ucb::CommandFailedException(
- rtl::OUString(), 0, rRequest->getRequest());
- break;
- }
- return nResponse;
-}
-
-std::pair< sal_Int32,
- rtl::Reference< ucbhelper::InteractionSupplyAuthentication > >
-handleInteractionRequest(
- rtl::Reference< ucbhelper::SimpleAuthenticationRequest > const & rRequest,
- uno::Reference< ucb::XCommandEnvironment > const & rEnvironment,
- bool bThrowOnAbort)
- SAL_THROW((uno::Exception))
-{
- handle(rRequest.get(), rEnvironment);
- rtl::Reference< ucbhelper::InteractionContinuation >
- xContinuation(rRequest->getSelection());
- if (uno::Reference< task::XInteractionAbort >(
- xContinuation.get(), uno::UNO_QUERY).
- is())
- if (bThrowOnAbort)
- throw ucb::CommandFailedException(
- rtl::OUString(), 0, rRequest->getRequest());
- else
- return std::make_pair(
- ucbhelper::CONTINUATION_ABORT,
- rtl::Reference<
- ucbhelper::InteractionSupplyAuthentication >());
- else if (uno::Reference< task::XInteractionRetry >(
- xContinuation.get(), uno::UNO_QUERY).
- is())
- return std::make_pair(
- ucbhelper::CONTINUATION_ABORT,
- rtl::Reference<
- ucbhelper::InteractionSupplyAuthentication >());
- else
- return std::make_pair(
- ucbhelper::CONTINUATION_UNKNOWN,
- rtl::Reference<
- ucbhelper::InteractionSupplyAuthentication >(
- rRequest->getAuthenticationSupplier()));
-}
-
-}
-
-namespace ucbhelper {
-
-sal_Int32
-handleInteractionRequest(
- rtl::Reference< ucbhelper::SimpleCertificateValidationRequest > const & rRequest,
- uno::Reference< ucb::XCommandEnvironment > const & rEnvironment,
- bool bThrowOnAbort)
- SAL_THROW((uno::Exception))
-{
- handle(rRequest.get(), rEnvironment);
- sal_Int32 nResponse = rRequest->getResponse();
- switch (nResponse)
- {
- case ucbhelper::CONTINUATION_UNKNOWN:
- cppu::throwException(rRequest->getRequest());
- break;
-
- case ucbhelper::CONTINUATION_ABORT:
- if (bThrowOnAbort)
- throw ucb::CommandFailedException(
- rtl::OUString(), 0, rRequest->getRequest());
- break;
- }
- return nResponse;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/interactionrequest.cxx b/ucbhelper/source/provider/interactionrequest.cxx
deleted file mode 100644
index b2fb85e095..0000000000
--- a/ucbhelper/source/provider/interactionrequest.cxx
+++ /dev/null
@@ -1,1153 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-#include <osl/mutex.hxx>
-#include <cppuhelper/typeprovider.hxx>
-#include <ucbhelper/interactionrequest.hxx>
-
-using namespace com::sun::star;
-using namespace ucbhelper;
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionRequest Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-namespace ucbhelper
-{
-
-struct InteractionRequest_Impl
-{
- rtl::Reference< InteractionContinuation > m_xSelection;
- com::sun::star::uno::Any m_aRequest;
- com::sun::star::uno::Sequence<
- com::sun::star::uno::Reference<
- com::sun::star::task::XInteractionContinuation > > m_aContinuations;
-
- InteractionRequest_Impl() {}
- InteractionRequest_Impl( const uno::Any & rRequest )
- : m_aRequest( rRequest ) {}
-};
-
-}
-
-//=========================================================================
-InteractionRequest::InteractionRequest()
-: m_pImpl( new InteractionRequest_Impl )
-{
-}
-
-//=========================================================================
-InteractionRequest::InteractionRequest( const uno::Any & rRequest )
-: m_pImpl( new InteractionRequest_Impl( rRequest ) )
-{
-}
-
-//=========================================================================
-// virtual
-InteractionRequest::~InteractionRequest()
-{
- delete m_pImpl;
-}
-
-//=========================================================================
-void InteractionRequest::setRequest( const uno::Any & rRequest )
-{
- m_pImpl->m_aRequest = rRequest;
-}
-
-//=========================================================================
-void InteractionRequest::setContinuations(
- const uno::Sequence< uno::Reference<
- task::XInteractionContinuation > > & rContinuations )
-{
- m_pImpl->m_aContinuations = rContinuations;
-}
-
-//=========================================================================
-rtl::Reference< InteractionContinuation >
-InteractionRequest::getSelection() const
-{
- return m_pImpl->m_xSelection;
-}
-
-//=========================================================================
-void InteractionRequest::setSelection(
- const rtl::Reference< InteractionContinuation > & rxSelection )
-{
- m_pImpl->m_xSelection = rxSelection;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionRequest::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionRequest::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL
-InteractionRequest::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >( this ),
- static_cast< task::XInteractionRequest * >( this ) );
-
- return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL InteractionRequest::getImplementationId()
- throw( uno::RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL InteractionRequest::getTypes()
- throw( uno::RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = 0;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- uno::Reference< lang::XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- uno::Reference< task::XInteractionRequest > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XInteractionRequest methods.
-//
-//=========================================================================
-
-// virtual
-uno::Any SAL_CALL InteractionRequest::getRequest()
- throw( uno::RuntimeException )
-{
- return m_pImpl->m_aRequest;
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Reference< task::XInteractionContinuation > > SAL_CALL
-InteractionRequest::getContinuations()
- throw( uno::RuntimeException )
-{
- return m_pImpl->m_aContinuations;
-}
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionContinuation Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-namespace ucbhelper
-{
-
-struct InteractionContinuation_Impl
-{
- InteractionRequest * m_pRequest;
-
- InteractionContinuation_Impl( InteractionRequest * pRequest )
- : m_pRequest( pRequest ) {}
-};
-
-}
-
-//=========================================================================
-InteractionContinuation::InteractionContinuation(
- InteractionRequest * pRequest )
-: m_pImpl( new InteractionContinuation_Impl( pRequest ) )
-{
-}
-
-//=========================================================================
-// virtual
-InteractionContinuation::~InteractionContinuation()
-{
- delete m_pImpl;
-}
-
-//=========================================================================
-void InteractionContinuation::recordSelection()
-{
- m_pImpl->m_pRequest->setSelection( this );
-}
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionAbort Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionAbort::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionAbort::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL
-InteractionAbort::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >( this ),
- static_cast< task::XInteractionContinuation * >( this ),
- static_cast< task::XInteractionAbort * >( this ) );
-
- return aRet.hasValue()
- ? aRet : InteractionContinuation::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL InteractionAbort::getImplementationId()
- throw( uno::RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL InteractionAbort::getTypes()
- throw( uno::RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = 0;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- uno::Reference< lang::XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- uno::Reference< task::XInteractionAbort > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XInteractionContinuation methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionAbort::select()
- throw( uno::RuntimeException )
-{
- recordSelection();
-}
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionRetry Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionRetry::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionRetry::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL
-InteractionRetry::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >( this ),
- static_cast< task::XInteractionContinuation * >( this ),
- static_cast< task::XInteractionRetry * >( this ) );
-
- return aRet.hasValue()
- ? aRet : InteractionContinuation::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL InteractionRetry::getImplementationId()
- throw( uno::RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL InteractionRetry::getTypes()
- throw( uno::RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = 0;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- uno::Reference< lang::XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- uno::Reference< task::XInteractionRetry > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XInteractionContinuation methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionRetry::select()
- throw( uno::RuntimeException )
-{
- recordSelection();
-}
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionApprove Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionApprove::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionApprove::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL
-InteractionApprove::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >( this ),
- static_cast< task::XInteractionContinuation * >( this ),
- static_cast< task::XInteractionApprove * >( this ) );
-
- return aRet.hasValue()
- ? aRet : InteractionContinuation::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL InteractionApprove::getImplementationId()
- throw( uno::RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL InteractionApprove::getTypes()
- throw( uno::RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = 0;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- uno::Reference< lang::XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- uno::Reference< task::XInteractionApprove > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XInteractionContinuation methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionApprove::select()
- throw( uno::RuntimeException )
-{
- recordSelection();
-}
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionDisapprove Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionDisapprove::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionDisapprove::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL
-InteractionDisapprove::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >( this ),
- static_cast< task::XInteractionContinuation * >( this ),
- static_cast< task::XInteractionDisapprove * >( this ) );
-
- return aRet.hasValue()
- ? aRet : InteractionContinuation::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL InteractionDisapprove::getImplementationId()
- throw( uno::RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL InteractionDisapprove::getTypes()
- throw( uno::RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = 0;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- uno::Reference< lang::XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- uno::Reference< task::XInteractionDisapprove > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XInteractionContinuation methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionDisapprove::select()
- throw( uno::RuntimeException )
-{
- recordSelection();
-}
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionSupplyAuthentication Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionSupplyAuthentication::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionSupplyAuthentication::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL
-InteractionSupplyAuthentication::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >( this ),
- static_cast< task::XInteractionContinuation * >( this ),
- static_cast< ucb::XInteractionSupplyAuthentication * >( this ),
- static_cast< ucb::XInteractionSupplyAuthentication2 * >( this ));
-
- return aRet.hasValue()
- ? aRet : InteractionContinuation::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL
-InteractionSupplyAuthentication::getImplementationId()
- throw( uno::RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL InteractionSupplyAuthentication::getTypes()
- throw( uno::RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = 0;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- uno::Reference< lang::XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- uno::Reference<
- ucb::XInteractionSupplyAuthentication2 > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XInteractionContinuation methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionSupplyAuthentication::select()
- throw( uno::RuntimeException )
-{
- recordSelection();
-}
-
-//=========================================================================
-//
-// XInteractionSupplyAuthentication methods.
-//
-//=========================================================================
-
-// virtual
-sal_Bool SAL_CALL
-InteractionSupplyAuthentication::canSetRealm()
- throw( uno::RuntimeException )
-{
- return m_bCanSetRealm;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL
-InteractionSupplyAuthentication::setRealm( const rtl::OUString& Realm )
- throw( uno::RuntimeException )
-{
- OSL_ENSURE( m_bCanSetPassword,
- "InteractionSupplyAuthentication::setRealm - Not supported!" );
-
- if ( m_bCanSetRealm )
- m_aRealm = Realm;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL
-InteractionSupplyAuthentication::canSetUserName()
- throw( uno::RuntimeException )
-{
- return m_bCanSetUserName;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL
-InteractionSupplyAuthentication::setUserName( const rtl::OUString& UserName )
- throw( uno::RuntimeException )
-{
- OSL_ENSURE( m_bCanSetUserName,
- "InteractionSupplyAuthentication::setUserName - Not supported!" );
-
- if ( m_bCanSetUserName )
- m_aUserName = UserName;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL
-InteractionSupplyAuthentication::canSetPassword()
- throw( uno::RuntimeException )
-{
- return m_bCanSetPassword;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL
-InteractionSupplyAuthentication::setPassword( const rtl::OUString& Password )
- throw( uno::RuntimeException )
-{
- OSL_ENSURE( m_bCanSetPassword,
- "InteractionSupplyAuthentication::setPassword - Not supported!" );
-
- if ( m_bCanSetPassword )
- m_aPassword = Password;
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< ucb::RememberAuthentication > SAL_CALL
-InteractionSupplyAuthentication::getRememberPasswordModes(
- ucb::RememberAuthentication& Default )
- throw( uno::RuntimeException )
-{
- Default = m_eDefaultRememberPasswordMode;
- return m_aRememberPasswordModes;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL
-InteractionSupplyAuthentication::setRememberPassword(
- ucb::RememberAuthentication Remember )
- throw( uno::RuntimeException )
-{
- m_eRememberPasswordMode = Remember;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL
-InteractionSupplyAuthentication::canSetAccount()
- throw( uno::RuntimeException )
-{
- return m_bCanSetAccount;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL
-InteractionSupplyAuthentication::setAccount( const rtl::OUString& Account )
- throw( uno::RuntimeException )
-{
- OSL_ENSURE( m_bCanSetAccount,
- "InteractionSupplyAuthentication::setAccount - Not supported!" );
-
- if ( m_bCanSetAccount )
- m_aAccount = Account;
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< ucb::RememberAuthentication > SAL_CALL
-InteractionSupplyAuthentication::getRememberAccountModes(
- ucb::RememberAuthentication& Default )
- throw( uno::RuntimeException )
-{
- Default = m_eDefaultRememberAccountMode;
- return m_aRememberAccountModes;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionSupplyAuthentication::setRememberAccount(
- ucb::RememberAuthentication Remember )
- throw( uno::RuntimeException )
-{
- m_eRememberAccountMode = Remember;
-}
-
-//=========================================================================
-//
-// XInteractionSupplyAuthentication2 methods.
-//
-//=========================================================================
-
-// virtual
-::sal_Bool SAL_CALL
-InteractionSupplyAuthentication::canUseSystemCredentials(
- ::sal_Bool& Default )
- throw ( uno::RuntimeException )
-{
- Default = m_bDefaultUseSystemCredentials;
- return m_bCanUseSystemCredentials;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionSupplyAuthentication::setUseSystemCredentials(
- ::sal_Bool UseSystemCredentials )
- throw ( uno::RuntimeException )
-{
- if ( m_bCanUseSystemCredentials )
- m_bUseSystemCredentials = UseSystemCredentials;
-}
-
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionSupplyName Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionSupplyName::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionSupplyName::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL
-InteractionSupplyName::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >( this ),
- static_cast< task::XInteractionContinuation * >( this ),
- static_cast< ucb::XInteractionSupplyName * >( this ) );
-
- return aRet.hasValue()
- ? aRet : InteractionContinuation::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL InteractionSupplyName::getImplementationId()
- throw( uno::RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL InteractionSupplyName::getTypes()
- throw( uno::RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = 0;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- uno::Reference< lang::XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- uno::Reference< ucb::XInteractionSupplyName > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XInteractionContinuation methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionSupplyName::select()
- throw( uno::RuntimeException )
-{
- recordSelection();
-}
-
-//=========================================================================
-//
-// XInteractionSupplyName methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL
-InteractionSupplyName::setName( const rtl::OUString& Name )
- throw( uno::RuntimeException )
-{
- m_aName = Name;
-}
-
-//=========================================================================
-//=========================================================================
-//
-// InteractionReplaceExistingData Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionReplaceExistingData::acquire()
- throw()
-{
- OWeakObject::acquire();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL InteractionReplaceExistingData::release()
- throw()
-{
- OWeakObject::release();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL
-InteractionReplaceExistingData::queryInterface( const uno::Type & rType )
- throw ( uno::RuntimeException )
-{
- uno::Any aRet = cppu::queryInterface( rType,
- static_cast< lang::XTypeProvider * >( this ),
- static_cast< task::XInteractionContinuation * >( this ),
- static_cast< ucb::XInteractionReplaceExistingData * >( this ) );
-
- return aRet.hasValue()
- ? aRet : InteractionContinuation::queryInterface( rType );
-}
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL
-InteractionReplaceExistingData::getImplementationId()
- throw( uno::RuntimeException )
-{
- static cppu::OImplementationId* pId = NULL;
- if ( !pId )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pId )
- {
- static cppu::OImplementationId id( sal_False );
- pId = &id;
- }
- }
- return (*pId).getImplementationId();
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< uno::Type > SAL_CALL InteractionReplaceExistingData::getTypes()
- throw( uno::RuntimeException )
-{
- static cppu::OTypeCollection* pCollection = 0;
- if ( !pCollection )
- {
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() );
- if ( !pCollection )
- {
- static cppu::OTypeCollection collection(
- getCppuType( static_cast<
- uno::Reference< lang::XTypeProvider > * >( 0 ) ),
- getCppuType( static_cast<
- uno::Reference<
- ucb::XInteractionReplaceExistingData > * >( 0 ) ) );
- pCollection = &collection;
- }
- }
- return (*pCollection).getTypes();
-}
-
-//=========================================================================
-//
-// XInteractionContinuation methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL InteractionReplaceExistingData::select()
- throw( uno::RuntimeException )
-{
- recordSelection();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/propertyvalueset.cxx b/ucbhelper/source/provider/propertyvalueset.cxx
deleted file mode 100644
index 2c61acbefa..0000000000
--- a/ucbhelper/source/provider/propertyvalueset.cxx
+++ /dev/null
@@ -1,926 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#ifndef __VECTOR__
-#include <vector>
-#endif
-#include <com/sun/star/beans/Property.hpp>
-#include <com/sun/star/beans/XPropertyAccess.hpp>
-#include <com/sun/star/beans/XPropertySet.hpp>
-#include <com/sun/star/beans/XPropertySetInfo.hpp>
-#include <com/sun/star/script/XTypeConverter.hpp>
-
-#include "osl/diagnose.h"
-#include "osl/mutex.hxx"
-#include <ucbhelper/propertyvalueset.hxx>
-
-using namespace com::sun::star::beans;
-using namespace com::sun::star::container;
-using namespace com::sun::star::io;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::script;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::util;
-using ::rtl::OUString;
-
-namespace ucbhelper_impl
-{
-
-//=========================================================================
-//
-// PropertyValue.
-//
-//=========================================================================
-
-const sal_uInt32 NO_VALUE_SET = 0x00000000;
-const sal_uInt32 STRING_VALUE_SET = 0x00000001;
-const sal_uInt32 BOOLEAN_VALUE_SET = 0x00000002;
-const sal_uInt32 BYTE_VALUE_SET = 0x00000004;
-const sal_uInt32 SHORT_VALUE_SET = 0x00000008;
-const sal_uInt32 INT_VALUE_SET = 0x00000010;
-const sal_uInt32 LONG_VALUE_SET = 0x00000020;
-const sal_uInt32 FLOAT_VALUE_SET = 0x00000040;
-const sal_uInt32 DOUBLE_VALUE_SET = 0x00000080;
-const sal_uInt32 BYTES_VALUE_SET = 0x00000100;
-const sal_uInt32 DATE_VALUE_SET = 0x00000200;
-const sal_uInt32 TIME_VALUE_SET = 0x00000400;
-const sal_uInt32 TIMESTAMP_VALUE_SET = 0x00000800;
-const sal_uInt32 BINARYSTREAM_VALUE_SET = 0x00001000;
-const sal_uInt32 CHARACTERSTREAM_VALUE_SET = 0x00002000;
-const sal_uInt32 REF_VALUE_SET = 0x00004000;
-const sal_uInt32 BLOB_VALUE_SET = 0x00008000;
-const sal_uInt32 CLOB_VALUE_SET = 0x00010000;
-const sal_uInt32 ARRAY_VALUE_SET = 0x00020000;
-const sal_uInt32 OBJECT_VALUE_SET = 0x00040000;
-
-struct PropertyValue
-{
- ::rtl::OUString
- sPropertyName;
-
- sal_uInt32 nPropsSet;
- sal_uInt32 nOrigValue;
-
- OUString aString; // getString
- sal_Bool bBoolean; // getBoolean
- sal_Int8 nByte; // getByte
- sal_Int16 nShort; // getShort
- sal_Int32 nInt; // getInt
- sal_Int64 nLong; // getLong
- float nFloat; // getFloat
- double nDouble; // getDouble
-
- Sequence< sal_Int8 > aBytes; // getBytes
- Date aDate; // getDate
- Time aTime; // getTime
- DateTime aTimestamp; // getTimestamp
- Reference< XInputStream > xBinaryStream; // getBinaryStream
- Reference< XInputStream > xCharacterStream; // getCharacterStream
- Reference< XRef > xRef; // getRef
- Reference< XBlob > xBlob; // getBlob
- Reference< XClob > xClob; // getClob
- Reference< XArray > xArray; // getArray
- Any aObject; // getObject
-
- inline PropertyValue()
- : nPropsSet( NO_VALUE_SET ), nOrigValue( NO_VALUE_SET ),
- bBoolean(false),
- nByte(0),
- nShort(0),
- nInt(0),
- nLong(0),
- nFloat(0.0),
- nDouble(0.0)
- {}
-};
-} // namespace ucbhelper_impl
-
-using namespace ucbhelper_impl;
-
-namespace ucbhelper
-{
-
-//=========================================================================
-//
-// class PropertyValues.
-//
-//=========================================================================
-
-typedef std::vector< ucbhelper_impl::PropertyValue > PropertyValuesVector;
-
-class PropertyValues : public PropertyValuesVector {};
-
-} // namespace ucbhelper
-
-//=========================================================================
-//
-// Welcome to the macro hell...
-//
-//=========================================================================
-
-#define GETVALUE_IMPL_TYPE( _type_, _type_name_, _member_name_, _cppu_type_ ) \
- \
- osl::MutexGuard aGuard( m_aMutex ); \
- \
- _type_ aValue = _type_(); /* default ctor */ \
- \
- m_bWasNull = sal_True; \
- \
- if ( ( columnIndex < 1 ) \
- || ( columnIndex > sal_Int32( m_pValues->size() ) ) ) \
- { \
- OSL_FAIL( "PropertyValueSet - index out of range!" ); \
- } \
- else \
- { \
- ucbhelper_impl::PropertyValue& rValue \
- = (*m_pValues)[ columnIndex - 1 ]; \
- \
- if ( rValue.nOrigValue != NO_VALUE_SET ) \
- { \
- if ( rValue.nPropsSet & _type_name_ ) \
- { \
- /* Values is present natively... */ \
- aValue = rValue._member_name_; \
- m_bWasNull = sal_False; \
- } \
- else \
- { \
- if ( !(rValue.nPropsSet & OBJECT_VALUE_SET) ) \
- { \
- /* Value is not (yet) available as Any. Create it. */ \
- getObject( columnIndex, Reference< XNameAccess >() ); \
- } \
- \
- if ( rValue.nPropsSet & OBJECT_VALUE_SET ) \
- { \
- /* Value is available as Any. */ \
- \
- if ( rValue.aObject.hasValue() ) \
- { \
- /* Try to convert into native value. */ \
- if ( rValue.aObject >>= aValue ) \
- { \
- rValue._member_name_ = aValue; \
- rValue.nPropsSet |= _type_name_; \
- m_bWasNull = sal_False; \
- } \
- else \
- { \
- /* Last chance. Try type converter service... */ \
- \
- Reference< XTypeConverter > xConverter \
- = getTypeConverter(); \
- if ( xConverter.is() ) \
- { \
- try \
- { \
- Any aConvAny = xConverter->convertTo( \
- rValue.aObject, \
- _cppu_type_ ); \
- \
- if ( aConvAny >>= aValue ) \
- { \
- rValue._member_name_ = aValue; \
- rValue.nPropsSet |= _type_name_; \
- m_bWasNull = sal_False; \
- } \
- } \
- catch (const IllegalArgumentException&) \
- { \
- } \
- catch (const CannotConvertException&) \
- { \
- } \
- } \
- } \
- } \
- } \
- } \
- } \
- } \
- return aValue;
-
-#define GETVALUE_IMPL( _type_, _type_name_, _member_name_ ) \
- GETVALUE_IMPL_TYPE( _type_, \
- _type_name_, \
- _member_name_, \
- getCppuType( static_cast< const _type_ * >( 0 ) ) )
-
-#define SETVALUE_IMPL( _prop_name_, _type_name_, _member_name_, _value_ ) \
- \
- osl::MutexGuard aGuard( m_aMutex ); \
- \
- ucbhelper_impl::PropertyValue aNewValue; \
- aNewValue.sPropertyName = _prop_name_; \
- aNewValue.nPropsSet = _type_name_; \
- aNewValue.nOrigValue = _type_name_; \
- aNewValue._member_name_ = _value_; \
- \
- m_pValues->push_back( aNewValue );
-
-namespace ucbhelper {
-
-//=========================================================================
-//=========================================================================
-//
-// PropertyValueSet Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-#define PROPERTYVALUESET_INIT() \
- m_xSMgr( rxSMgr ), \
- m_pValues( new PropertyValues ), \
- m_bWasNull( sal_False ), \
- m_bTriedToGetTypeConverter( sal_False )
-
-//=========================================================================
-PropertyValueSet::PropertyValueSet(
- const Reference< XMultiServiceFactory >& rxSMgr )
-: PROPERTYVALUESET_INIT()
-{
-}
-
-//=========================================================================
-PropertyValueSet::PropertyValueSet(
- const Reference< XMultiServiceFactory >& rxSMgr,
- const Sequence< com::sun::star::beans::PropertyValue >& rValues )
-: PROPERTYVALUESET_INIT()
-{
- sal_Int32 nCount = rValues.getLength();
- if ( nCount )
- {
- const com::sun::star::beans::PropertyValue* pValues
- = rValues.getConstArray();
-
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const com::sun::star::beans::PropertyValue& rValue = pValues[ n ];
- appendObject( Property( rValue.Name,
- rValue.Handle,
- rValue.Value.getValueType(),
- 0 ),
- rValue.Value );
- }
- }
-}
-
-//=========================================================================
-// virtual
-PropertyValueSet::~PropertyValueSet()
-{
- delete m_pValues;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-XINTERFACE_IMPL_3( PropertyValueSet,
- XTypeProvider,
- XRow,
- XColumnLocate );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_3( PropertyValueSet,
- XTypeProvider,
- XRow,
- XColumnLocate );
-
-//=========================================================================
-//
-// XRow methods.
-//
-//=========================================================================
-
-// virtual
-sal_Bool SAL_CALL PropertyValueSet::wasNull()
- throw( SQLException, RuntimeException )
-{
- // This method can not be implemented correctly!!! Imagine different
- // threads doing a getXYZ - wasNull calling sequence on the same
- // implementation object...
- return m_bWasNull;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL PropertyValueSet::getString( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( OUString, STRING_VALUE_SET, aString );
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL PropertyValueSet::getBoolean( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL_TYPE(
- sal_Bool, BOOLEAN_VALUE_SET, bBoolean, getCppuBooleanType() );
-}
-
-//=========================================================================
-// virtual
-sal_Int8 SAL_CALL PropertyValueSet::getByte( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( sal_Int8, BYTE_VALUE_SET, nByte );
-}
-
-//=========================================================================
-// virtual
-sal_Int16 SAL_CALL PropertyValueSet::getShort( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( sal_Int16, SHORT_VALUE_SET, nShort );
-}
-
-//=========================================================================
-// virtual
-sal_Int32 SAL_CALL PropertyValueSet::getInt( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( sal_Int32, INT_VALUE_SET, nInt );
-}
-
-//=========================================================================
-// virtual
-sal_Int64 SAL_CALL PropertyValueSet::getLong( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( sal_Int64, LONG_VALUE_SET, nLong );
-}
-
-//=========================================================================
-// virtual
-float SAL_CALL PropertyValueSet::getFloat( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( float, FLOAT_VALUE_SET, nFloat );
-}
-
-//=========================================================================
-// virtual
-double SAL_CALL PropertyValueSet::getDouble( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( double, DOUBLE_VALUE_SET, nDouble );
-}
-
-//=========================================================================
-// virtual
-Sequence< sal_Int8 > SAL_CALL
-PropertyValueSet::getBytes( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( Sequence< sal_Int8 >, BYTES_VALUE_SET, aBytes );
-}
-
-//=========================================================================
-// virtual
-Date SAL_CALL PropertyValueSet::getDate( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( Date, DATE_VALUE_SET, aDate );
-}
-
-//=========================================================================
-// virtual
-Time SAL_CALL PropertyValueSet::getTime( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( Time, TIME_VALUE_SET, aTime );
-}
-
-//=========================================================================
-// virtual
-DateTime SAL_CALL PropertyValueSet::getTimestamp( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( DateTime, TIMESTAMP_VALUE_SET, aTimestamp );
-}
-
-//=========================================================================
-// virtual
-Reference< XInputStream > SAL_CALL
-PropertyValueSet::getBinaryStream( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL(
- Reference< XInputStream >, BINARYSTREAM_VALUE_SET, xBinaryStream );
-}
-
-//=========================================================================
-// virtual
-Reference< XInputStream > SAL_CALL
-PropertyValueSet::getCharacterStream( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL(
- Reference< XInputStream >, CHARACTERSTREAM_VALUE_SET, xCharacterStream );
-}
-
-//=========================================================================
-// virtual
-Any SAL_CALL PropertyValueSet::getObject(
- sal_Int32 columnIndex,
- const Reference< XNameAccess >& )
- throw( SQLException, RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- Any aValue;
-
- m_bWasNull = sal_True;
-
- if ( ( columnIndex < 1 )
- || ( columnIndex > sal_Int32( m_pValues->size() ) ) )
- {
- OSL_FAIL( "PropertyValueSet - index out of range!" );
- }
- else
- {
- ucbhelper_impl::PropertyValue& rValue
- = (*m_pValues)[ columnIndex - 1 ];
-
- if ( rValue.nPropsSet & OBJECT_VALUE_SET )
- {
- // Values is present natively...
- aValue = rValue.aObject;
- m_bWasNull = sal_False;
- }
- else
- {
- // Make Any from original value.
-
- switch ( rValue.nOrigValue )
- {
- case NO_VALUE_SET:
- break;
-
- case STRING_VALUE_SET:
- aValue <<= rValue.aString;
- break;
-
- case BOOLEAN_VALUE_SET:
- aValue <<= rValue.bBoolean;
- break;
-
- case BYTE_VALUE_SET:
- aValue <<= rValue.nByte;
- break;
-
- case SHORT_VALUE_SET:
- aValue <<= rValue.nShort;
- break;
-
- case INT_VALUE_SET:
- aValue <<= rValue.nInt;
- break;
-
- case LONG_VALUE_SET:
- aValue <<= rValue.nLong;
- break;
-
- case FLOAT_VALUE_SET:
- aValue <<= rValue.nFloat;
- break;
-
- case DOUBLE_VALUE_SET:
- aValue <<= rValue.nDouble;
- break;
-
- case BYTES_VALUE_SET:
- aValue <<= rValue.aBytes;
- break;
-
- case DATE_VALUE_SET:
- aValue <<= rValue.aDate;
- break;
-
- case TIME_VALUE_SET:
- aValue <<= rValue.aTime;
- break;
-
- case TIMESTAMP_VALUE_SET:
- aValue <<= rValue.aTimestamp;
- break;
-
- case BINARYSTREAM_VALUE_SET:
- aValue <<= rValue.xBinaryStream;
- break;
-
- case CHARACTERSTREAM_VALUE_SET:
- aValue <<= rValue.xCharacterStream;
- break;
-
- case REF_VALUE_SET:
- aValue <<= rValue.xRef;
- break;
-
- case BLOB_VALUE_SET:
- aValue <<= rValue.xBlob;
- break;
-
- case CLOB_VALUE_SET:
- aValue <<= rValue.xClob;
- break;
-
- case ARRAY_VALUE_SET:
- aValue <<= rValue.xArray;
- break;
-
- case OBJECT_VALUE_SET:
- // Fall-through is intended!
- default:
- OSL_FAIL( "PropertyValueSet::getObject - "
- "Wrong original type" );
- break;
- }
-
- if ( aValue.hasValue() )
- {
- rValue.aObject = aValue;
- rValue.nPropsSet |= OBJECT_VALUE_SET;
- m_bWasNull = sal_False;
- }
- }
- }
-
- return aValue;
-}
-
-//=========================================================================
-// virtual
-Reference< XRef > SAL_CALL PropertyValueSet::getRef( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( Reference< XRef >, REF_VALUE_SET, xRef );
-}
-
-//=========================================================================
-// virtual
-Reference< XBlob > SAL_CALL PropertyValueSet::getBlob( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( Reference< XBlob >, BLOB_VALUE_SET, xBlob );
-}
-
-//=========================================================================
-// virtual
-Reference< XClob > SAL_CALL PropertyValueSet::getClob( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( Reference< XClob >, CLOB_VALUE_SET, xClob );
-}
-
-//=========================================================================
-// virtual
-Reference< XArray > SAL_CALL PropertyValueSet::getArray( sal_Int32 columnIndex )
- throw( SQLException, RuntimeException )
-{
- GETVALUE_IMPL( Reference< XArray >, ARRAY_VALUE_SET, xArray );
-}
-
-//=========================================================================
-//
-// XColumnLocate methods.
-//
-//=========================================================================
-
-// virtual
-sal_Int32 SAL_CALL PropertyValueSet::findColumn( const OUString& columnName )
- throw( SQLException, RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( columnName.getLength() )
- {
- sal_Int32 nCount = m_pValues->size();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- if ( (*m_pValues)[ n ].sPropertyName.equals( columnName ) )
- return sal_Int32( n + 1 ); // Index is 1-based.
- }
- }
- return 0;
-}
-
-//=========================================================================
-//
-// Non-interface methods.
-//
-//=========================================================================
-
-const Reference< XTypeConverter >& PropertyValueSet::getTypeConverter()
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_bTriedToGetTypeConverter && !m_xTypeConverter.is() )
- {
- m_bTriedToGetTypeConverter = sal_True;
- m_xTypeConverter = Reference< XTypeConverter >(
- m_xSMgr->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.script.Converter" )) ),
- UNO_QUERY );
-
- OSL_ENSURE( m_xTypeConverter.is(),
- "PropertyValueSet::getTypeConverter() - "
- "Service 'com.sun.star.script.Converter' n/a!" );
- }
- return m_xTypeConverter;
-}
-
-//=========================================================================
-sal_Int32 PropertyValueSet::getLength() const
-{
- return m_pValues->size();
-}
-
-//=========================================================================
-void PropertyValueSet::appendString( const ::rtl::OUString& rPropName,
- const OUString& rValue )
-{
- SETVALUE_IMPL( rPropName, STRING_VALUE_SET, aString, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendBoolean( const ::rtl::OUString& rPropName,
- sal_Bool bValue )
-{
- SETVALUE_IMPL( rPropName, BOOLEAN_VALUE_SET, bBoolean, bValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendByte( const ::rtl::OUString& rPropName,
- sal_Int8 nValue )
-{
- SETVALUE_IMPL( rPropName, BYTE_VALUE_SET, nByte, nValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendShort( const ::rtl::OUString& rPropName,
- sal_Int16 nValue )
-{
- SETVALUE_IMPL( rPropName, SHORT_VALUE_SET, nShort, nValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendInt( const ::rtl::OUString& rPropName,
- sal_Int32 nValue )
-{
- SETVALUE_IMPL( rPropName, INT_VALUE_SET, nInt, nValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendLong( const ::rtl::OUString& rPropName,
- sal_Int64 nValue )
-{
- SETVALUE_IMPL( rPropName, LONG_VALUE_SET, nLong, nValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendFloat( const ::rtl::OUString& rPropName,
- float nValue )
-{
- SETVALUE_IMPL( rPropName, FLOAT_VALUE_SET, nFloat, nValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendDouble( const ::rtl::OUString& rPropName,
- double nValue )
-{
- SETVALUE_IMPL( rPropName, DOUBLE_VALUE_SET, nDouble, nValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendBytes( const ::rtl::OUString& rPropName,
- const Sequence< sal_Int8 >& rValue )
-{
- SETVALUE_IMPL( rPropName, BYTES_VALUE_SET, aBytes, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendDate( const ::rtl::OUString& rPropName,
- const Date& rValue )
-{
- SETVALUE_IMPL( rPropName, DATE_VALUE_SET, aDate, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendTime( const ::rtl::OUString& rPropName,
- const Time& rValue )
-{
- SETVALUE_IMPL( rPropName, TIME_VALUE_SET, aTime, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendTimestamp( const ::rtl::OUString& rPropName,
- const DateTime& rValue )
-{
- SETVALUE_IMPL( rPropName, TIMESTAMP_VALUE_SET, aTimestamp, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendBinaryStream(
- const ::rtl::OUString& rPropName,
- const Reference< XInputStream >& rValue )
-{
- SETVALUE_IMPL( rPropName, BINARYSTREAM_VALUE_SET, xBinaryStream, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendCharacterStream(
- const ::rtl::OUString& rPropName,
- const Reference< XInputStream >& rValue )
-{
- SETVALUE_IMPL( rPropName, CHARACTERSTREAM_VALUE_SET, xCharacterStream, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendObject( const ::rtl::OUString& rPropName,
- const Any& rValue )
-{
- SETVALUE_IMPL( rPropName, OBJECT_VALUE_SET, aObject, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendRef( const ::rtl::OUString& rPropName,
- const Reference< XRef >& rValue )
-{
- SETVALUE_IMPL( rPropName, REF_VALUE_SET, xRef, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendBlob( const ::rtl::OUString& rPropName,
- const Reference< XBlob >& rValue )
-{
- SETVALUE_IMPL( rPropName, BLOB_VALUE_SET, xBlob, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendClob( const ::rtl::OUString& rPropName,
- const Reference< XClob >& rValue )
-{
- SETVALUE_IMPL( rPropName, CLOB_VALUE_SET, xClob, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendArray( const ::rtl::OUString& rPropName,
- const Reference< XArray >& rValue )
-{
- SETVALUE_IMPL( rPropName, ARRAY_VALUE_SET, xArray, rValue );
-}
-
-//=========================================================================
-void PropertyValueSet::appendVoid( const ::rtl::OUString& rPropName )
-{
- SETVALUE_IMPL( rPropName, NO_VALUE_SET, aObject, Any() );
-}
-
-//=========================================================================
-void PropertyValueSet::appendPropertySet(
- const Reference< XPropertySet >& rxSet )
-{
- if ( rxSet.is() )
- {
- Reference< XPropertySetInfo > xInfo = rxSet->getPropertySetInfo();
- if ( xInfo.is() )
- {
- Sequence< Property > aProps = xInfo->getProperties();
- const Property* pProps = aProps.getConstArray();
- sal_Int32 nPropsCount = aProps.getLength();
-
- Reference< XPropertyAccess > xPropertyAccess( rxSet, UNO_QUERY );
- if ( xPropertyAccess.is() )
- {
- // Efficient: Get all prop values with one ( remote) call.
-
- Sequence< ::com::sun::star::beans::PropertyValue > aPropValues
- = xPropertyAccess->getPropertyValues();
-
- const ::com::sun::star::beans::PropertyValue* pPropValues
- = aPropValues.getConstArray();
-
- sal_Int32 nValuesCount = aPropValues.getLength();
- for ( sal_Int32 n = 0; n < nValuesCount; ++n )
- {
- const ::com::sun::star::beans::PropertyValue& rPropValue
- = pPropValues[ n ];
-
- // Find info for current property value.
- for ( sal_Int32 m = 0; m < nPropsCount; ++m )
- {
- const Property& rProp = pProps[ m ];
- if ( rProp.Name == rPropValue.Name )
- {
- // Found!
- appendObject( rProp, rPropValue.Value );
- break;
- }
- }
- }
- }
- else
- {
- // Get every single prop value with one ( remote) call.
-
- for ( sal_Int32 n = 0; n < nPropsCount; ++n )
- {
- const Property& rProp = pProps[ n ];
-
- try
- {
- Any aValue = rxSet->getPropertyValue( rProp.Name );
-
- if ( aValue.hasValue() )
- appendObject( rProp, aValue );
- }
- catch (const UnknownPropertyException&)
- {
- }
- catch (const WrappedTargetException&)
- {
- }
- }
- }
- }
- }
-}
-
-//=========================================================================
-sal_Bool PropertyValueSet::appendPropertySetValue(
- const Reference< XPropertySet >& rxSet,
- const Property& rProperty )
-{
- if ( rxSet.is() )
- {
- try
- {
- Any aValue = rxSet->getPropertyValue( rProperty.Name );
- if ( aValue.hasValue() )
- {
- appendObject( rProperty, aValue );
- return sal_True;
- }
- }
- catch (const UnknownPropertyException&)
- {
- }
- catch (const WrappedTargetException&)
- {
- }
- }
-
- // Error.
- return sal_False;
-}
-
-} // namespace ucbhelper
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/providerhelper.cxx b/ucbhelper/source/provider/providerhelper.cxx
deleted file mode 100644
index e09d90ce92..0000000000
--- a/ucbhelper/source/provider/providerhelper.cxx
+++ /dev/null
@@ -1,675 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#include <boost/unordered_map.hpp>
-#include <com/sun/star/beans/XPropertyAccess.hpp>
-#include <com/sun/star/container/XNameAccess.hpp>
-#include <com/sun/star/container/XNamed.hpp>
-#include <com/sun/star/ucb/XPropertySetRegistryFactory.hpp>
-#include <com/sun/star/ucb/XPropertySetRegistry.hpp>
-
-#include "osl/diagnose.h"
-#include "osl/mutex.hxx"
-#include "cppuhelper/weakref.hxx"
-#include <ucbhelper/contentidentifier.hxx>
-#include <ucbhelper/providerhelper.hxx>
-#include <ucbhelper/contenthelper.hxx>
-
-using namespace com::sun::star;
-
-namespace ucbhelper_impl
-{
-
-//=========================================================================
-//
-// Contents.
-//
-//=========================================================================
-
-struct equalString
-{
- bool operator()(
- const rtl::OUString& rKey11, const rtl::OUString& rKey22 ) const
- {
- return !!( rKey11 == rKey22 );
- }
-};
-
-struct hashString
-{
- size_t operator()( const rtl::OUString & rName ) const
- {
- return rName.hashCode();
- }
-};
-
-typedef boost::unordered_map
-<
- rtl::OUString,
- uno::WeakReference< ucb::XContent >,
- hashString,
- equalString
->
-Contents;
-
-//=========================================================================
-//
-// struct ContentProviderImplHelper_Impl.
-//
-//=========================================================================
-
-struct ContentProviderImplHelper_Impl
-{
- uno::Reference< com::sun::star::ucb::XPropertySetRegistry >
- m_xPropertySetRegistry;
- Contents
- m_aContents;
-};
-
-} // namespace ucbhelper_impl
-
-//=========================================================================
-//=========================================================================
-//
-// ContentProviderImplHelper Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-namespace ucbhelper {
-
-ContentProviderImplHelper::ContentProviderImplHelper(
- const uno::Reference< lang::XMultiServiceFactory >& rXSMgr )
-: m_pImpl( new ucbhelper_impl::ContentProviderImplHelper_Impl ),
- m_xSMgr( rXSMgr )
-{
-}
-
-//=========================================================================
-// virtual
-ContentProviderImplHelper::~ContentProviderImplHelper()
-{
- delete m_pImpl;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-XINTERFACE_IMPL_3( ContentProviderImplHelper,
- lang::XTypeProvider,
- lang::XServiceInfo,
- com::sun::star::ucb::XContentProvider );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_3( ContentProviderImplHelper,
- lang::XTypeProvider,
- lang::XServiceInfo,
- com::sun::star::ucb::XContentProvider );
-
-//=========================================================================
-//
-// XServiceInfo methods.
-//
-//=========================================================================
-
-// virtual
-sal_Bool SAL_CALL ContentProviderImplHelper::supportsService(
- const rtl::OUString& ServiceName )
- throw( uno::RuntimeException )
-{
- uno::Sequence< rtl::OUString > aSNL = getSupportedServiceNames();
- const rtl::OUString* pArray = aSNL.getConstArray();
- for ( sal_Int32 i = 0; i < aSNL.getLength(); i++ )
- {
- if ( pArray[ i ] == ServiceName )
- return sal_True;
- }
-
- return sal_False;
-}
-
-//=========================================================================
-//
-// XContentProvider methods.
-//
-//=========================================================================
-
-// virtual
-sal_Int32 SAL_CALL ContentProviderImplHelper::compareContentIds(
- const uno::Reference< com::sun::star::ucb::XContentIdentifier >& Id1,
- const uno::Reference< com::sun::star::ucb::XContentIdentifier >& Id2 )
- throw( uno::RuntimeException )
-{
- // Simply do a string compare.
-
- rtl::OUString aURL1( Id1->getContentIdentifier() );
- rtl::OUString aURL2( Id2->getContentIdentifier() );
-
- return aURL1.compareTo( aURL2 );;
-}
-
-//=========================================================================
-//
-// Non-interface methods
-//
-//=========================================================================
-
-void ContentProviderImplHelper::cleanupRegisteredContents()
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- ucbhelper_impl::Contents::iterator it
- = m_pImpl->m_aContents.begin();
- while( it != m_pImpl->m_aContents.end() )
- {
- uno::Reference< ucb::XContent > xContent( (*it).second );
- if ( !xContent.is() )
- {
- ucbhelper_impl::Contents::iterator tmp = it;
- ++it;
- m_pImpl->m_aContents.erase( tmp );
- }
- else
- {
- ++it;
- }
- }
-}
-
-//=========================================================================
-
-void ContentProviderImplHelper::removeContent( ContentImplHelper* pContent )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- cleanupRegisteredContents();
-
- const rtl::OUString aURL(
- pContent->getIdentifier()->getContentIdentifier() );
-
- ucbhelper_impl::Contents::iterator it = m_pImpl->m_aContents.find( aURL );
-
- if ( it != m_pImpl->m_aContents.end() )
- m_pImpl->m_aContents.erase( it );
-}
-
-//=========================================================================
-rtl::Reference< ContentImplHelper >
-ContentProviderImplHelper::queryExistingContent(
- const uno::Reference< com::sun::star::ucb::XContentIdentifier >&
- Identifier )
-{
- return queryExistingContent( Identifier->getContentIdentifier() );
-}
-
-//=========================================================================
-rtl::Reference< ContentImplHelper >
-ContentProviderImplHelper::queryExistingContent( const rtl::OUString& rURL )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- cleanupRegisteredContents();
-
- // Check, if a content with given id already exists...
-
- ucbhelper_impl::Contents::const_iterator it
- = m_pImpl->m_aContents.find( rURL );
- if ( it != m_pImpl->m_aContents.end() )
- {
- uno::Reference< ucb::XContent > xContent( (*it).second );
- if ( xContent.is() )
- {
- return rtl::Reference< ContentImplHelper >(
- static_cast< ContentImplHelper * >( xContent.get() ) );
- }
- }
- return rtl::Reference< ContentImplHelper >();
-}
-
-//=========================================================================
-void ContentProviderImplHelper::queryExistingContents(
- ContentRefList& rContents )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- cleanupRegisteredContents();
-
- ucbhelper_impl::Contents::const_iterator it
- = m_pImpl->m_aContents.begin();
- ucbhelper_impl::Contents::const_iterator end
- = m_pImpl->m_aContents.end();
-
- while ( it != end )
- {
- uno::Reference< ucb::XContent > xContent( (*it).second );
- if ( xContent.is() )
- {
- rContents.push_back(
- rtl::Reference< ContentImplHelper >(
- static_cast< ContentImplHelper * >( xContent.get() ) ) );
- }
- ++it;
- }
-}
-
-//=========================================================================
-void ContentProviderImplHelper::registerNewContent(
- const uno::Reference< ucb::XContent > & xContent )
-{
- if ( xContent.is() )
- {
- osl::MutexGuard aGuard( m_aMutex );
-
- cleanupRegisteredContents();
-
- const rtl::OUString aURL(
- xContent->getIdentifier()->getContentIdentifier() );
- ucbhelper_impl::Contents::const_iterator it
- = m_pImpl->m_aContents.find( aURL );
- if ( it == m_pImpl->m_aContents.end() )
- m_pImpl->m_aContents[ aURL ] = xContent;
- }
-}
-
-//=========================================================================
-uno::Reference< com::sun::star::ucb::XPropertySetRegistry >
-ContentProviderImplHelper::getAdditionalPropertySetRegistry()
-{
- // Get propertyset registry.
-
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pImpl->m_xPropertySetRegistry.is() )
- {
- uno::Reference< com::sun::star::ucb::XPropertySetRegistryFactory >
- xRegFac(
- m_xSMgr->createInstance(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.ucb.Store" )) ),
- uno::UNO_QUERY );
-
- OSL_ENSURE( xRegFac.is(),
- "ContentProviderImplHelper::getAdditionalPropertySet - "
- "No UCB-Store service!" );
-
- if ( xRegFac.is() )
- {
- // Open/create a registry.
- m_pImpl->m_xPropertySetRegistry
- = xRegFac->createPropertySetRegistry( rtl::OUString() );
-
- OSL_ENSURE( m_pImpl->m_xPropertySetRegistry.is(),
- "ContentProviderImplHelper::getAdditionalPropertySet - "
- "Error opening registry!" );
- }
- }
-
- return m_pImpl->m_xPropertySetRegistry;
-}
-
-
-//=========================================================================
-uno::Reference< com::sun::star::ucb::XPersistentPropertySet >
-ContentProviderImplHelper::getAdditionalPropertySet(
- const rtl::OUString& rKey, sal_Bool bCreate )
-{
- // Get propertyset registry.
- getAdditionalPropertySetRegistry();
-
- if ( m_pImpl->m_xPropertySetRegistry.is() )
- {
- // Open/create persistent property set.
- return uno::Reference< com::sun::star::ucb::XPersistentPropertySet >(
- m_pImpl->m_xPropertySetRegistry->openPropertySet(
- rKey, bCreate ) );
- }
-
- return uno::Reference< com::sun::star::ucb::XPersistentPropertySet >();
-}
-
-//=========================================================================
-sal_Bool ContentProviderImplHelper::renameAdditionalPropertySet(
- const rtl::OUString& rOldKey,
- const rtl::OUString& rNewKey,
- sal_Bool bRecursive )
-{
- if ( rOldKey == rNewKey )
- return sal_True;
-
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( bRecursive )
- {
- // Get propertyset registry.
- getAdditionalPropertySetRegistry();
-
- if ( m_pImpl->m_xPropertySetRegistry.is() )
- {
- uno::Reference< container::XNameAccess > xNameAccess(
- m_pImpl->m_xPropertySetRegistry, uno::UNO_QUERY );
- if ( xNameAccess.is() )
- {
- uno::Sequence< rtl::OUString > aKeys
- = xNameAccess->getElementNames();
- sal_Int32 nCount = aKeys.getLength();
- if ( nCount > 0 )
- {
- rtl::OUString aOldKeyWithSlash = rOldKey;
- rtl::OUString aOldKeyWithoutSlash;
- if ( aOldKeyWithSlash.lastIndexOf(
- sal_Unicode('/')
- != aOldKeyWithSlash.getLength() - 1 ) )
- {
- aOldKeyWithSlash += rtl::OUString( sal_Unicode('/') );
- aOldKeyWithoutSlash = rOldKey;
- }
- else if ( rOldKey.getLength() )
- aOldKeyWithoutSlash
- = rOldKey.copy( 0, rOldKey.getLength() - 1 );
-
- const rtl::OUString* pKeys = aKeys.getConstArray();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const rtl::OUString& rKey = pKeys[ n ];
- if ( rKey.compareTo(
- aOldKeyWithSlash,
- aOldKeyWithSlash.getLength() ) == 0
- || rKey.equals( aOldKeyWithoutSlash ) )
- {
- rtl::OUString aNewKey
- = rKey.replaceAt(
- 0, rOldKey.getLength(), rNewKey );
- if ( !renameAdditionalPropertySet(
- rKey, aNewKey, sal_False ) )
- return sal_False;
- }
- }
- }
- }
- else
- return sal_False;
- }
- else
- return sal_False;
- }
- else
- {
- // Get old property set, if exists.
- uno::Reference< com::sun::star::ucb::XPersistentPropertySet > xOldSet
- = getAdditionalPropertySet( rOldKey, sal_False );
- if ( xOldSet.is() )
- {
- // Rename property set.
- uno::Reference< container::XNamed > xNamed(
- xOldSet, uno::UNO_QUERY );
- if ( xNamed.is() )
- {
- // ??? throws no exceptions and has no return value ???
- xNamed->setName( rNewKey );
- }
- else
- return sal_False;
- }
- }
- return sal_True;
-}
-
-//=========================================================================
-sal_Bool ContentProviderImplHelper::copyAdditionalPropertySet(
- const rtl::OUString& rSourceKey,
- const rtl::OUString& rTargetKey,
- sal_Bool bRecursive )
-{
- if ( rSourceKey == rTargetKey )
- return sal_True;
-
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( bRecursive )
- {
- // Get propertyset registry.
- getAdditionalPropertySetRegistry();
-
- if ( m_pImpl->m_xPropertySetRegistry.is() )
- {
- uno::Reference< container::XNameAccess > xNameAccess(
- m_pImpl->m_xPropertySetRegistry, uno::UNO_QUERY );
- if ( xNameAccess.is() )
- {
- uno::Sequence< rtl::OUString > aKeys
- = xNameAccess->getElementNames();
- sal_Int32 nCount = aKeys.getLength();
- if ( nCount > 0 )
- {
- rtl::OUString aSrcKeyWithSlash = rSourceKey;
- rtl::OUString aSrcKeyWithoutSlash;
- if ( aSrcKeyWithSlash.lastIndexOf(
- sal_Unicode('/')
- != aSrcKeyWithSlash.getLength() - 1 ) )
- {
- aSrcKeyWithSlash += rtl::OUString( sal_Unicode('/') );
- aSrcKeyWithoutSlash = rSourceKey;
- }
- else if ( rSourceKey.getLength() )
- aSrcKeyWithoutSlash = rSourceKey.copy(
- 0, rSourceKey.getLength() - 1 );
-
- const rtl::OUString* pKeys = aKeys.getConstArray();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const rtl::OUString& rKey = pKeys[ n ];
- if ( rKey.compareTo(
- aSrcKeyWithSlash,
- aSrcKeyWithSlash.getLength() ) == 0
- || rKey.equals( aSrcKeyWithoutSlash ) )
- {
- rtl::OUString aNewKey
- = rKey.replaceAt(
- 0, rSourceKey.getLength(), rTargetKey );
- if ( !copyAdditionalPropertySet(
- rKey, aNewKey, sal_False ) )
- return sal_False;
- }
- }
- }
- }
- else
- return sal_False;
- }
- else
- return sal_False;
- }
- else
- {
- // Get old property set, if exists.
- uno::Reference< com::sun::star::ucb::XPersistentPropertySet >
- xOldPropSet = getAdditionalPropertySet( rSourceKey, sal_False );
- if ( !xOldPropSet.is() )
- return sal_False;
-
- uno::Reference< beans::XPropertySetInfo > xPropSetInfo
- = xOldPropSet->getPropertySetInfo();
- if ( !xPropSetInfo.is() )
- return sal_False;
-
- uno::Reference< beans::XPropertyAccess > xOldPropAccess(
- xOldPropSet, uno::UNO_QUERY );
- if ( !xOldPropAccess.is() )
- return sal_False;
-
- // Obtain all values from old set.
- uno::Sequence< beans::PropertyValue > aValues
- = xOldPropAccess->getPropertyValues();
- sal_Int32 nCount = aValues.getLength();
-
- uno::Sequence< beans::Property > aProps
- = xPropSetInfo->getProperties();
-
- if ( nCount )
- {
- // Fail, if property set with new key already exists.
- uno::Reference< com::sun::star::ucb::XPersistentPropertySet >
- xNewPropSet
- = getAdditionalPropertySet( rTargetKey, sal_False );
- if ( xNewPropSet.is() )
- return sal_False;
-
- // Create new, empty set.
- xNewPropSet = getAdditionalPropertySet( rTargetKey, sal_True );
- if ( !xNewPropSet.is() )
- return sal_False;
-
- uno::Reference< beans::XPropertyContainer > xNewPropContainer(
- xNewPropSet, uno::UNO_QUERY );
- if ( !xNewPropContainer.is() )
- return sal_False;
-
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const beans::PropertyValue& rValue = aValues[ n ];
-
- sal_Int16 nAttribs = 0;
- for ( sal_Int32 m = 0; m < aProps.getLength(); ++m )
- {
- if ( aProps[ m ].Name == rValue.Name )
- {
- nAttribs = aProps[ m ].Attributes;
- break;
- }
- }
-
- try
- {
- xNewPropContainer->addProperty(
- rValue.Name, nAttribs, rValue.Value );
- }
- catch ( beans::PropertyExistException & )
- {
- }
- catch ( beans::IllegalTypeException & )
- {
- }
- catch ( lang::IllegalArgumentException & )
- {
- }
- }
- }
- }
- return sal_True;
-}
-
-//=========================================================================
-sal_Bool ContentProviderImplHelper::removeAdditionalPropertySet(
- const rtl::OUString& rKey, sal_Bool bRecursive )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( bRecursive )
- {
- // Get propertyset registry.
- getAdditionalPropertySetRegistry();
-
- if ( m_pImpl->m_xPropertySetRegistry.is() )
- {
- uno::Reference< container::XNameAccess > xNameAccess(
- m_pImpl->m_xPropertySetRegistry, uno::UNO_QUERY );
- if ( xNameAccess.is() )
- {
- uno::Sequence< rtl::OUString > aKeys
- = xNameAccess->getElementNames();
- sal_Int32 nCount = aKeys.getLength();
- if ( nCount > 0 )
- {
- rtl::OUString aKeyWithSlash = rKey;
- rtl::OUString aKeyWithoutSlash;
- if ( aKeyWithSlash.lastIndexOf(
- sal_Unicode('/')
- != aKeyWithSlash.getLength() - 1 ) )
- {
- aKeyWithSlash += rtl::OUString( (sal_Unicode)'/' );
- aKeyWithoutSlash = rKey;
- }
- else if ( rKey.getLength() )
- aKeyWithoutSlash
- = rKey.copy( 0, rKey.getLength() - 1 );
-
- const rtl::OUString* pKeys = aKeys.getConstArray();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const rtl::OUString& rCurrKey = pKeys[ n ];
- if ( rCurrKey.compareTo(
- aKeyWithSlash,
- aKeyWithSlash.getLength() ) == 0
- || rCurrKey.equals( aKeyWithoutSlash ) )
- {
- if ( !removeAdditionalPropertySet(
- rCurrKey, sal_False ) )
- return sal_False;
- }
- }
- }
- }
- else
- return sal_False;
- }
- else
- return sal_False;
- }
- else
- {
- // Get propertyset registry.
- getAdditionalPropertySetRegistry();
-
- if ( m_pImpl->m_xPropertySetRegistry.is() )
- m_pImpl->m_xPropertySetRegistry->removePropertySet( rKey );
- else
- return sal_False;
- }
- return sal_True;
-}
-
-} // namespace ucbhelper
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/registerucb.cxx b/ucbhelper/source/provider/registerucb.cxx
deleted file mode 100644
index 69c76297d5..0000000000
--- a/ucbhelper/source/provider/registerucb.cxx
+++ /dev/null
@@ -1,167 +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_ucbhelper.hxx"
-#include <ucbhelper/registerucb.hxx>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/ucb/XContentProviderManager.hpp>
-#include <com/sun/star/ucb/XParameterizedContentProvider.hpp>
-#include <com/sun/star/ucb/XContentProviderFactory.hpp>
-#include <com/sun/star/uno/RuntimeException.hpp>
-
-#include "osl/diagnose.h"
-
-using namespace com::sun::star;
-
-namespace ucbhelper {
-
-//============================================================================
-//
-// registerAtUcb
-//
-//============================================================================
-
-bool
-registerAtUcb(
- uno::Reference< ucb::XContentProviderManager > const & rManager,
- uno::Reference< lang::XMultiServiceFactory > const & rServiceFactory,
- rtl::OUString const & rName,
- rtl::OUString const & rArguments,
- rtl::OUString const & rTemplate,
- ContentProviderRegistrationInfo * pInfo)
- throw (uno::RuntimeException)
-{
- OSL_ENSURE(rServiceFactory.is(),
- "ucb::registerAtUcb(): No service factory");
-
- bool bNoProxy
- = rArguments.compareToAscii(RTL_CONSTASCII_STRINGPARAM("{noproxy}"))
- == 0;
- rtl::OUString
- aProviderArguments(bNoProxy ?
- rArguments.
- copy(RTL_CONSTASCII_LENGTH("{noproxy}")) :
- rArguments);
-
- // First, try to instantiate proxy for provider:
- uno::Reference< ucb::XContentProvider > xProvider;
- if (!bNoProxy)
- {
- uno::Reference< ucb::XContentProviderFactory > xProxyFactory;
- try
- {
- xProxyFactory
- = uno::Reference< ucb::XContentProviderFactory >(
- rServiceFactory->
- createInstance(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.ucb.ContentProviderProxyFactory"))),
- uno::UNO_QUERY);
- }
- catch (uno::Exception const &) {}
- OSL_ENSURE(xProxyFactory.is(), "No ContentProviderProxyFactory");
- if (xProxyFactory.is())
- xProvider = xProxyFactory->createContentProvider(rName);
- }
-
- // Then, try to instantiate provider directly:
- if (!xProvider.is())
- try
- {
- xProvider = uno::Reference< ucb::XContentProvider >(
- rServiceFactory->createInstance(rName),
- uno::UNO_QUERY);
- }
- catch (uno::RuntimeException const &) { throw; }
- catch (uno::Exception const &) {}
-
- uno::Reference< ucb::XContentProvider >
- xOriginalProvider(xProvider);
- uno::Reference< ucb::XParameterizedContentProvider >
- xParameterized(xProvider, uno::UNO_QUERY);
- if (xParameterized.is())
- {
- uno::Reference< ucb::XContentProvider > xInstance;
- try
- {
- xInstance = xParameterized->registerInstance(rTemplate,
- aProviderArguments,
- true);
- //@@@ if this call replaces an old instance, the commit-or-
- // rollback code below will not work
- }
- catch (lang::IllegalArgumentException const &) {}
-
- if (xInstance.is())
- xProvider = xInstance;
- }
-
- bool bSuccess = false;
- if (rManager.is() && xProvider.is())
- try
- {
- rManager->registerContentProvider(xProvider, rTemplate, true);
- bSuccess = true;
- }
- catch (ucb::DuplicateProviderException const &)
- {
- if (xParameterized.is())
- try
- {
- xParameterized->deregisterInstance(rTemplate,
- aProviderArguments);
- }
- catch (lang::IllegalArgumentException const &) {}
- }
- catch (...)
- {
- if (xParameterized.is())
- try
- {
- xParameterized->deregisterInstance(rTemplate,
- aProviderArguments);
- }
- catch (lang::IllegalArgumentException const &) {}
- catch (uno::RuntimeException const &) {}
- throw;
- }
-
- if (bSuccess && pInfo)
- {
- pInfo->m_xProvider = xOriginalProvider;
- pInfo->m_aArguments = aProviderArguments;
- pInfo->m_aTemplate = rTemplate;
- }
- return bSuccess;
-}
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/resultset.cxx b/ucbhelper/source/provider/resultset.cxx
deleted file mode 100644
index c19b517a3e..0000000000
--- a/ucbhelper/source/provider/resultset.cxx
+++ /dev/null
@@ -1,1698 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-#include <cppuhelper/interfacecontainer.hxx>
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <ucbhelper/resultset.hxx>
-#include <ucbhelper/resultsetmetadata.hxx>
-
-using namespace com::sun::star;
-
-//=========================================================================
-
-namespace ucbhelper_impl
-{
-
-struct PropertyInfo
-{
- const char* pName;
- sal_Int32 nHandle;
- sal_Int16 nAttributes;
- const uno::Type& (*pGetCppuType)();
-};
-
-static const uno::Type& sal_Int32_getCppuType()
-{
- return getCppuType( static_cast< const sal_Int32 * >( 0 ) );
-}
-
-static const uno::Type& sal_Bool_getCppuType()
-{
- return getCppuBooleanType();
-}
-
-static const PropertyInfo aPropertyTable[] =
-{
- { "IsRowCountFinal",
- 1000,
- beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY,
- &sal_Bool_getCppuType
- },
- { "RowCount",
- 1001,
- beans::PropertyAttribute::BOUND | beans::PropertyAttribute::READONLY,
- &sal_Int32_getCppuType
- },
- { 0,
- 0,
- 0,
- 0
- }
-};
-
-#define RESULTSET_PROPERTY_COUNT 2
-
-//=========================================================================
-//
-// class PropertySetInfo
-//
-//=========================================================================
-
-class PropertySetInfo :
- public cppu::OWeakObject,
- public lang::XTypeProvider,
- public beans::XPropertySetInfo
-{
- uno::Reference< lang::XMultiServiceFactory > m_xSMgr;
- uno::Sequence< beans::Property >* m_pProps;
-
-private:
- sal_Bool queryProperty(
- const rtl::OUString& aName, beans::Property& rProp );
-
-public:
- PropertySetInfo(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const PropertyInfo* pProps,
- sal_Int32 nProps );
- virtual ~PropertySetInfo();
-
- // XInterface
- XINTERFACE_DECL()
-
- // XTypeProvider
- XTYPEPROVIDER_DECL()
-
- // XPropertySetInfo
- virtual uno::Sequence< beans::Property > SAL_CALL getProperties()
- throw( uno::RuntimeException );
- virtual beans::Property SAL_CALL getPropertyByName(
- const rtl::OUString& aName )
- throw( beans::UnknownPropertyException, uno::RuntimeException );
- virtual sal_Bool SAL_CALL hasPropertyByName( const rtl::OUString& Name )
- throw( uno::RuntimeException );
-};
-
-//=========================================================================
-//
-// PropertyChangeListenerContainer.
-//
-//=========================================================================
-
-struct equalStr_Impl
-{
- bool operator()( const rtl::OUString& s1, const rtl::OUString& s2 ) const
- {
- return !!( s1 == s2 );
- }
-};
-
-struct hashStr_Impl
-{
- size_t operator()( const rtl::OUString& rName ) const
- {
- return rName.hashCode();
- }
-};
-
-typedef cppu::OMultiTypeInterfaceContainerHelperVar
-<
- rtl::OUString,
- hashStr_Impl,
- equalStr_Impl
-> PropertyChangeListenerContainer;
-
-//=========================================================================
-//
-// class PropertyChangeListeners.
-//
-//=========================================================================
-
-class PropertyChangeListeners : public PropertyChangeListenerContainer
-{
-public:
- PropertyChangeListeners( osl::Mutex& rMtx )
- : PropertyChangeListenerContainer( rMtx ) {}
-};
-
-} // namespace ucbhelper_impl
-
-using namespace ucbhelper_impl;
-
-namespace ucbhelper
-{
-
-//=========================================================================
-//
-// struct ResultSet_Impl.
-//
-//=========================================================================
-
-struct ResultSet_Impl
-{
- uno::Reference< lang::XMultiServiceFactory > m_xSMgr;
- uno::Reference< com::sun::star::ucb::XCommandEnvironment > m_xEnv;
- uno::Reference< beans::XPropertySetInfo > m_xPropSetInfo;
- uno::Reference< sdbc::XResultSetMetaData > m_xMetaData;
- uno::Sequence< beans::Property > m_aProperties;
- rtl::Reference< ResultSetDataSupplier > m_xDataSupplier;
- osl::Mutex m_aMutex;
- cppu::OInterfaceContainerHelper* m_pDisposeEventListeners;
- PropertyChangeListeners* m_pPropertyChangeListeners;
- sal_Int32 m_nPos;
- sal_Bool m_bWasNull;
- sal_Bool m_bAfterLast;
-
- inline ResultSet_Impl(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const uno::Sequence< beans::Property >& rProperties,
- const rtl::Reference< ResultSetDataSupplier >& rDataSupplier,
- const uno::Reference< com::sun::star::ucb::XCommandEnvironment >&
- rxEnv );
- inline ~ResultSet_Impl();
-};
-
-inline ResultSet_Impl::ResultSet_Impl(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const uno::Sequence< beans::Property >& rProperties,
- const rtl::Reference< ResultSetDataSupplier >& rDataSupplier,
- const uno::Reference< com::sun::star::ucb::XCommandEnvironment >& rxEnv )
-: m_xSMgr( rxSMgr ),
- m_xEnv( rxEnv ),
- m_aProperties( rProperties ),
- m_xDataSupplier( rDataSupplier ),
- m_pDisposeEventListeners( 0 ),
- m_pPropertyChangeListeners( 0 ),
- m_nPos( 0 ), // Position is one-based. Zero means: before first element.
- m_bWasNull( sal_False ),
- m_bAfterLast( sal_False )
-{
-}
-
-//=========================================================================
-inline ResultSet_Impl::~ResultSet_Impl()
-{
- delete m_pDisposeEventListeners;
- delete m_pPropertyChangeListeners;
-}
-
-//=========================================================================
-//=========================================================================
-//
-// ResultSet Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-ResultSet::ResultSet(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const uno::Sequence< beans::Property >& rProperties,
- const rtl::Reference< ResultSetDataSupplier >& rDataSupplier )
-: m_pImpl( new ResultSet_Impl(
- rxSMgr,
- rProperties,
- rDataSupplier,
- uno::Reference< com::sun::star::ucb::XCommandEnvironment >() ) )
-{
- rDataSupplier->m_pResultSet = this;
-}
-
-//=========================================================================
-ResultSet::ResultSet(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const uno::Sequence< beans::Property >& rProperties,
- const rtl::Reference< ResultSetDataSupplier >& rDataSupplier,
- const uno::Reference< com::sun::star::ucb::XCommandEnvironment >& rxEnv )
-: m_pImpl( new ResultSet_Impl( rxSMgr, rProperties, rDataSupplier, rxEnv ) )
-{
- rDataSupplier->m_pResultSet = this;
-}
-
-//=========================================================================
-// virtual
-ResultSet::~ResultSet()
-{
- delete m_pImpl;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-XINTERFACE_IMPL_9( ResultSet,
- lang::XTypeProvider,
- lang::XServiceInfo,
- lang::XComponent,
- com::sun::star::ucb::XContentAccess,
- sdbc::XResultSet,
- sdbc::XResultSetMetaDataSupplier,
- sdbc::XRow,
- sdbc::XCloseable,
- beans::XPropertySet );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_9( ResultSet,
- lang::XTypeProvider,
- lang::XServiceInfo,
- lang::XComponent,
- com::sun::star::ucb::XContentAccess,
- sdbc::XResultSet,
- sdbc::XResultSetMetaDataSupplier,
- sdbc::XRow,
- sdbc::XCloseable,
- beans::XPropertySet );
-
-//=========================================================================
-//
-// XServiceInfo methods.
-//
-//=========================================================================
-
-XSERVICEINFO_NOFACTORY_IMPL_1( ResultSet,
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ResultSet")),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( RESULTSET_SERVICE_NAME )) );
-
-//=========================================================================
-//
-// XComponent methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL ResultSet::dispose()
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( m_pImpl->m_pDisposeEventListeners &&
- m_pImpl->m_pDisposeEventListeners->getLength() )
- {
- lang::EventObject aEvt;
- aEvt.Source = static_cast< lang::XComponent * >( this );
- m_pImpl->m_pDisposeEventListeners->disposeAndClear( aEvt );
- }
-
- if ( m_pImpl->m_pPropertyChangeListeners )
- {
- lang::EventObject aEvt;
- aEvt.Source = static_cast< beans::XPropertySet * >( this );
- m_pImpl->m_pPropertyChangeListeners->disposeAndClear( aEvt );
- }
-
- m_pImpl->m_xDataSupplier->close();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::addEventListener(
- const uno::Reference< lang::XEventListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( !m_pImpl->m_pDisposeEventListeners )
- m_pImpl->m_pDisposeEventListeners =
- new cppu::OInterfaceContainerHelper( m_pImpl->m_aMutex );
-
- m_pImpl->m_pDisposeEventListeners->addInterface( Listener );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::removeEventListener(
- const uno::Reference< lang::XEventListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( m_pImpl->m_pDisposeEventListeners )
- m_pImpl->m_pDisposeEventListeners->removeInterface( Listener );
-}
-
-//=========================================================================
-//
-// XResultSetMetaDataSupplier methods.
-//
-//=========================================================================
-
-// virtual
-uno::Reference< sdbc::XResultSetMetaData > SAL_CALL ResultSet::getMetaData()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( !m_pImpl->m_xMetaData.is() )
- m_pImpl->m_xMetaData = new ResultSetMetaData( m_pImpl->m_xSMgr,
- m_pImpl->m_aProperties );
-
- return m_pImpl->m_xMetaData;
-}
-
-//=========================================================================
-//
-// XResultSet methods.
-//
-//=========================================================================
-
-// virtual
-sal_Bool SAL_CALL ResultSet::next()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- // Note: Cursor is initially positioned before the first row.
- // First call to 'next()' moves it to first row.
-
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( m_pImpl->m_bAfterLast )
- {
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
-
- // getResult works zero-based!
- if ( !m_pImpl->m_xDataSupplier->getResult( m_pImpl->m_nPos ) )
- {
- m_pImpl->m_bAfterLast = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
-
- m_pImpl->m_nPos++;
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::isBeforeFirst()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_bAfterLast )
- {
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
-
- // getResult works zero-based!
- if ( !m_pImpl->m_xDataSupplier->getResult( 0 ) )
- {
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
-
- m_pImpl->m_xDataSupplier->validate();
- return ( m_pImpl->m_nPos == 0 );
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::isAfterLast()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- m_pImpl->m_xDataSupplier->validate();
- return m_pImpl->m_bAfterLast;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::isFirst()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_bAfterLast )
- {
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
-
- m_pImpl->m_xDataSupplier->validate();
- return ( m_pImpl->m_nPos == 1 );
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::isLast()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_bAfterLast )
- {
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
-
- sal_Int32 nCount = m_pImpl->m_xDataSupplier->totalCount();
- if ( !nCount )
- {
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
-
- m_pImpl->m_xDataSupplier->validate();
- return ( m_pImpl->m_nPos == nCount );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::beforeFirst()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = 0;
- m_pImpl->m_xDataSupplier->validate();
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::afterLast()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_True;
- m_pImpl->m_xDataSupplier->validate();
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::first()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- // getResult works zero-based!
- if ( m_pImpl->m_xDataSupplier->getResult( 0 ) )
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = 1;
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
- }
-
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::last()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- sal_Int32 nCount = m_pImpl->m_xDataSupplier->totalCount();
- if ( nCount )
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = nCount;
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
- }
-
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
-}
-
-//=========================================================================
-// virtual
-sal_Int32 SAL_CALL ResultSet::getRow()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_bAfterLast )
- {
- m_pImpl->m_xDataSupplier->validate();
- return 0;
- }
-
- m_pImpl->m_xDataSupplier->validate();
- return m_pImpl->m_nPos;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::absolute( sal_Int32 row )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
-/*
- If the row number is positive, the cursor moves to the given row number
- with respect to the beginning of the result set. The first row is row 1,
- the second is row 2, and so on.
-
- If the given row number is negative, the cursor moves to an absolute row
- position with respect to the end of the result set. For example, calling
- absolaute( -1 ) positions the cursor on the last row, absolaute( -2 )
- indicates the next-to-last row, and so on.
-
- An attempt to position the cursor beyond the first/last row in the result
- set leaves the cursor before/after the first/last row, respectively.
-
- Calling absolute( 1 ) is the same as calling first().
-
- Calling absolute( -1 ) is the same as calling last().
-*/
- if ( row < 0 )
- {
- sal_Int32 nCount = m_pImpl->m_xDataSupplier->totalCount();
-
- if ( ( row * -1 ) > nCount )
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = 0;
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
- else // |row| <= nCount
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = ( nCount + row + 1 );
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
- }
- }
- else if ( row == 0 )
- {
- // @throws SQLException
- // ... if row is 0 ...
- throw sdbc::SQLException();
- }
- else // row > 0
- {
- sal_Int32 nCount = m_pImpl->m_xDataSupplier->totalCount();
-
- if ( row <= nCount )
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = row;
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
- }
- else // row > nCount
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
- }
-
- // unreachable...
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::relative( sal_Int32 rows )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
-/*
- Attempting to move beyond the first/last row in the result set
- positions the cursor before/after the the first/last row.
-
- Calling relative( 0 ) is valid, but does not change the cursor position.
-
- Calling relative( 1 ) is different from calling next() because it makes
- sense to call next() when there is no current row, for example, when
- the cursor is positioned before the first row or after the last row of
- the result set.
-*/
- if ( m_pImpl->m_bAfterLast || ( m_pImpl->m_nPos == 0 ) )
- {
- // "No current row".
- throw sdbc::SQLException();
- }
-
- if ( rows < 0 )
- {
- if ( ( m_pImpl->m_nPos + rows ) > 0 )
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = ( m_pImpl->m_nPos + rows );
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
- }
- else
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = 0;
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
- }
- else if ( rows == 0 )
- {
- // nop.
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
- }
- else // rows > 0
- {
- sal_Int32 nCount = m_pImpl->m_xDataSupplier->totalCount();
- if ( ( m_pImpl->m_nPos + rows ) <= nCount )
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_False;
- m_pImpl->m_nPos = ( m_pImpl->m_nPos + rows );
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
- }
- else
- {
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- m_pImpl->m_bAfterLast = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
- }
- }
-
- // unreachable...
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::previous()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
-/*
- previous() is not the same as relative( -1 ) because it makes sense
- to call previous() when there is no current row.
-*/
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( m_pImpl->m_bAfterLast )
- {
- m_pImpl->m_bAfterLast = sal_False;
- sal_Int32 nCount = m_pImpl->m_xDataSupplier->totalCount();
- m_pImpl->m_nPos = nCount;
- }
- else if ( m_pImpl->m_nPos )
- m_pImpl->m_nPos--;
-
- if ( m_pImpl->m_nPos )
- {
- m_pImpl->m_xDataSupplier->validate();
- return sal_True;
- }
-
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::refreshRow()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
- if ( m_pImpl->m_bAfterLast || ( m_pImpl->m_nPos == 0 ) )
- return;
-
- m_pImpl->m_xDataSupplier->releasePropertyValues( m_pImpl->m_nPos );
- m_pImpl->m_xDataSupplier->validate();
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::rowUpdated()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::rowInserted()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::rowDeleted()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
-}
-
-//=========================================================================
-// virtual
-uno::Reference< uno::XInterface > SAL_CALL ResultSet::getStatement()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
-/*
- returns the Statement that produced this ResultSet object. If the
- result set was generated some other way, ... this method returns null.
-*/
- m_pImpl->m_xDataSupplier->validate();
- return uno::Reference< uno::XInterface >();
-}
-
-//=========================================================================
-//
-// XRow methods.
-//
-//=========================================================================
-
-// virtual
-sal_Bool SAL_CALL ResultSet::wasNull()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- // This method can not be implemented correctly!!! Imagine different
- // threads doing a getXYZ - wasNull calling sequence on the same
- // implementation object...
-
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_xDataSupplier->validate();
- return xValues->wasNull();
- }
- }
-
- m_pImpl->m_xDataSupplier->validate();
- return m_pImpl->m_bWasNull;
-}
-
-//=========================================================================
-// virtual
-rtl::OUString SAL_CALL ResultSet::getString( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getString( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return rtl::OUString();
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSet::getBoolean( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getBoolean( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return sal_False;
-}
-
-//=========================================================================
-// virtual
-sal_Int8 SAL_CALL ResultSet::getByte( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getByte( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return 0;
-}
-
-//=========================================================================
-// virtual
-sal_Int16 SAL_CALL ResultSet::getShort( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getShort( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return 0;
-}
-
-//=========================================================================
-// virtual
-sal_Int32 SAL_CALL ResultSet::getInt( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getInt( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return 0;
-}
-
-//=========================================================================
-// virtual
-sal_Int64 SAL_CALL ResultSet::getLong( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getLong( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return 0;
-}
-
-//=========================================================================
-// virtual
-float SAL_CALL ResultSet::getFloat( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getFloat( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return 0;
-}
-
-//=========================================================================
-// virtual
-double SAL_CALL ResultSet::getDouble( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getDouble( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return 0;
-}
-
-//=========================================================================
-// virtual
-uno::Sequence< sal_Int8 > SAL_CALL
-ResultSet::getBytes( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getBytes( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return uno::Sequence< sal_Int8 >();
-}
-
-//=========================================================================
-// virtual
-util::Date SAL_CALL ResultSet::getDate( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getDate( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return util::Date();
-}
-
-//=========================================================================
-// virtual
-util::Time SAL_CALL ResultSet::getTime( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getTime( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return util::Time();
-}
-
-//=========================================================================
-// virtual
-util::DateTime SAL_CALL
-ResultSet::getTimestamp( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getTimestamp( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return util::DateTime();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< io::XInputStream > SAL_CALL
-ResultSet::getBinaryStream( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getBinaryStream( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return uno::Reference< io::XInputStream >();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< io::XInputStream > SAL_CALL
-ResultSet::getCharacterStream( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getCharacterStream( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return uno::Reference< io::XInputStream >();
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL ResultSet::getObject(
- sal_Int32 columnIndex,
- const uno::Reference< container::XNameAccess >& typeMap )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getObject( columnIndex, typeMap );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return uno::Any();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< sdbc::XRef > SAL_CALL
-ResultSet::getRef( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getRef( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return uno::Reference< sdbc::XRef >();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< sdbc::XBlob > SAL_CALL
-ResultSet::getBlob( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getBlob( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return uno::Reference< sdbc::XBlob >();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< sdbc::XClob > SAL_CALL
-ResultSet::getClob( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getClob( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return uno::Reference< sdbc::XClob >();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< sdbc::XArray > SAL_CALL
-ResultSet::getArray( sal_Int32 columnIndex )
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- {
- uno::Reference< sdbc::XRow > xValues
- = m_pImpl->m_xDataSupplier->queryPropertyValues(
- m_pImpl->m_nPos - 1 );
- if ( xValues.is() )
- {
- m_pImpl->m_bWasNull = sal_False;
- m_pImpl->m_xDataSupplier->validate();
- return xValues->getArray( columnIndex );
- }
- }
-
- m_pImpl->m_bWasNull = sal_True;
- m_pImpl->m_xDataSupplier->validate();
- return uno::Reference< sdbc::XArray >();
-}
-
-//=========================================================================
-//
-// XCloseable methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL ResultSet::close()
- throw( sdbc::SQLException, uno::RuntimeException )
-{
- m_pImpl->m_xDataSupplier->close();
- m_pImpl->m_xDataSupplier->validate();
-}
-
-//=========================================================================
-//
-// XContentAccess methods.
-//
-//=========================================================================
-
-// virtual
-rtl::OUString SAL_CALL ResultSet::queryContentIdentifierString()
- throw( uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- return m_pImpl->m_xDataSupplier->queryContentIdentifierString(
- m_pImpl->m_nPos - 1 );
-
- return rtl::OUString();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< com::sun::star::ucb::XContentIdentifier > SAL_CALL
-ResultSet::queryContentIdentifier()
- throw( uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- return m_pImpl->m_xDataSupplier->queryContentIdentifier(
- m_pImpl->m_nPos - 1 );
-
- return uno::Reference< com::sun::star::ucb::XContentIdentifier >();
-}
-
-//=========================================================================
-// virtual
-uno::Reference< com::sun::star::ucb::XContent > SAL_CALL
-ResultSet::queryContent()
- throw( uno::RuntimeException )
-{
- if ( m_pImpl->m_nPos && !m_pImpl->m_bAfterLast )
- return m_pImpl->m_xDataSupplier->queryContent( m_pImpl->m_nPos - 1 );
-
- return uno::Reference< com::sun::star::ucb::XContent >();
-}
-
-//=========================================================================
-//
-// XPropertySet methods.
-//
-//=========================================================================
-
-// virtual
-uno::Reference< beans::XPropertySetInfo > SAL_CALL
-ResultSet::getPropertySetInfo()
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( !m_pImpl->m_xPropSetInfo.is() )
- m_pImpl->m_xPropSetInfo
- = new PropertySetInfo( m_pImpl->m_xSMgr,
- aPropertyTable,
- RESULTSET_PROPERTY_COUNT );
- return m_pImpl->m_xPropSetInfo;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::setPropertyValue( const rtl::OUString& aPropertyName,
- const uno::Any& )
- throw( beans::UnknownPropertyException,
- beans::PropertyVetoException,
- lang::IllegalArgumentException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- if ( !aPropertyName.getLength() )
- throw beans::UnknownPropertyException();
-
- if ( aPropertyName.equals(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RowCount")) ) )
- {
- // property is read-only.
- throw lang::IllegalArgumentException();
- }
- else if ( aPropertyName.equals(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsRowCountFinal")) ) )
- {
- // property is read-only.
- throw lang::IllegalArgumentException();
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
-}
-
-//=========================================================================
-// virtual
-uno::Any SAL_CALL ResultSet::getPropertyValue(
- const rtl::OUString& PropertyName )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- if ( !PropertyName.getLength() )
- throw beans::UnknownPropertyException();
-
- uno::Any aValue;
-
- if ( PropertyName.equals(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RowCount")) ) )
- {
- aValue <<= m_pImpl->m_xDataSupplier->currentCount();
- }
- else if ( PropertyName.equals(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsRowCountFinal")) ) )
- {
- aValue <<= m_pImpl->m_xDataSupplier->isCountFinal();
- }
- else
- {
- throw beans::UnknownPropertyException();
- }
-
- return aValue;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::addPropertyChangeListener(
- const rtl::OUString& aPropertyName,
- const uno::Reference< beans::XPropertyChangeListener >& xListener )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- // Note: An empty property name means a listener for "all" properties.
-
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( aPropertyName.getLength() &&
- !aPropertyName.equals(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RowCount")) ) &&
- !aPropertyName.equals(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsRowCountFinal")) ) )
- throw beans::UnknownPropertyException();
-
- if ( !m_pImpl->m_pPropertyChangeListeners )
- m_pImpl->m_pPropertyChangeListeners
- = new PropertyChangeListeners( m_pImpl->m_aMutex );
-
- m_pImpl->m_pPropertyChangeListeners->addInterface(
- aPropertyName, xListener );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::removePropertyChangeListener(
- const rtl::OUString& aPropertyName,
- const uno::Reference< beans::XPropertyChangeListener >& xListener )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_pImpl->m_aMutex );
-
- if ( aPropertyName.getLength() &&
- !aPropertyName.equals(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RowCount")) ) &&
- !aPropertyName.equals(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsRowCountFinal")) ) )
- throw beans::UnknownPropertyException();
-
- if ( m_pImpl->m_pPropertyChangeListeners )
- m_pImpl->m_pPropertyChangeListeners->removeInterface(
- aPropertyName, xListener );
-
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::addVetoableChangeListener(
- const rtl::OUString&,
- const uno::Reference< beans::XVetoableChangeListener >& )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- // No constrained props, at the moment.
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSet::removeVetoableChangeListener(
- const rtl::OUString&,
- const uno::Reference< beans::XVetoableChangeListener >& )
- throw( beans::UnknownPropertyException,
- lang::WrappedTargetException,
- uno::RuntimeException )
-{
- // No constrained props, at the moment.
-}
-
-//=========================================================================
-//
-// Non-interface methods.
-//
-//=========================================================================
-
-void ResultSet::propertyChanged( const beans::PropertyChangeEvent& rEvt )
-{
- if ( !m_pImpl->m_pPropertyChangeListeners )
- return;
-
- // Notify listeners interested especially in the changed property.
- cppu::OInterfaceContainerHelper* pPropsContainer
- = m_pImpl->m_pPropertyChangeListeners->getContainer(
- rEvt.PropertyName );
- if ( pPropsContainer )
- {
- cppu::OInterfaceIteratorHelper aIter( *pPropsContainer );
- while ( aIter.hasMoreElements() )
- {
- uno::Reference< beans::XPropertyChangeListener > xListener(
- aIter.next(), uno::UNO_QUERY );
- if ( xListener.is() )
- xListener->propertyChange( rEvt );
- }
- }
-
- // Notify listeners interested in all properties.
- pPropsContainer
- = m_pImpl->m_pPropertyChangeListeners->getContainer( rtl::OUString() );
- if ( pPropsContainer )
- {
- cppu::OInterfaceIteratorHelper aIter( *pPropsContainer );
- while ( aIter.hasMoreElements() )
- {
- uno::Reference< beans::XPropertyChangeListener > xListener(
- aIter.next(), uno::UNO_QUERY );
- if ( xListener.is() )
- xListener->propertyChange( rEvt );
- }
- }
-}
-
-//=========================================================================
-void ResultSet::rowCountChanged( sal_uInt32 nOld, sal_uInt32 nNew )
-{
- OSL_ENSURE( nOld < nNew, "ResultSet::rowCountChanged - nOld >= nNew!" );
-
- if ( !m_pImpl->m_pPropertyChangeListeners )
- return;
-
- propertyChanged(
- beans::PropertyChangeEvent(
- static_cast< cppu::OWeakObject * >( this ),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("RowCount")),
- sal_False,
- 1001,
- uno::makeAny( nOld ), // old value
- uno::makeAny( nNew ) ) ); // new value
-}
-
-//=========================================================================
-void ResultSet::rowCountFinal()
-{
- if ( !m_pImpl->m_pPropertyChangeListeners )
- return;
-
- propertyChanged(
- beans::PropertyChangeEvent(
- static_cast< cppu::OWeakObject * >( this ),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsRowCountFinal")),
- sal_False,
- 1000,
- uno:: makeAny( sal_False ), // old value
- uno::makeAny( sal_True ) ) ); // new value
-}
-
-//=========================================================================
-const uno::Sequence< beans::Property >& ResultSet::getProperties()
-{
- return m_pImpl->m_aProperties;
-}
-
-//=========================================================================
-const uno::Reference< com::sun::star::ucb::XCommandEnvironment >&
-ResultSet::getEnvironment()
-{
- return m_pImpl->m_xEnv;
-}
-
-} // namespace ucbhelper
-
-namespace ucbhelper_impl {
-
-//=========================================================================
-//=========================================================================
-//
-// PropertySetInfo Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-PropertySetInfo::PropertySetInfo(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const PropertyInfo* pProps,
- sal_Int32 nProps )
-: m_xSMgr( rxSMgr )
-{
- m_pProps = new uno::Sequence< beans::Property >( nProps );
-
- if ( nProps )
- {
- const PropertyInfo* pEntry = pProps;
- beans::Property* pProperties = m_pProps->getArray();
-
- for ( sal_Int32 n = 0; n < nProps; ++n )
- {
- beans::Property& rProp = pProperties[ n ];
-
- rProp.Name = rtl::OUString::createFromAscii( pEntry->pName );
- rProp.Handle = pEntry->nHandle;
- rProp.Type = pEntry->pGetCppuType();
- rProp.Attributes = pEntry->nAttributes;
-
- pEntry++;
- }
- }
-}
-
-//=========================================================================
-// virtual
-PropertySetInfo::~PropertySetInfo()
-{
- delete m_pProps;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-XINTERFACE_IMPL_2( PropertySetInfo,
- lang::XTypeProvider,
- beans::XPropertySetInfo );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_2( PropertySetInfo,
- lang::XTypeProvider,
- beans::XPropertySetInfo );
-
-//=========================================================================
-//
-// XPropertySetInfo methods.
-//
-//=========================================================================
-
-// virtual
-uno::Sequence< beans::Property > SAL_CALL PropertySetInfo::getProperties()
- throw( uno::RuntimeException )
-{
- return uno::Sequence< beans::Property >( *m_pProps );
-}
-
-//=========================================================================
-// virtual
-beans::Property SAL_CALL PropertySetInfo::getPropertyByName(
- const rtl::OUString& aName )
- throw( beans::UnknownPropertyException, uno::RuntimeException )
-{
- beans::Property aProp;
- if ( queryProperty( aName, aProp ) )
- return aProp;
-
- throw beans::UnknownPropertyException();
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL PropertySetInfo::hasPropertyByName(
- const rtl::OUString& Name )
- throw( uno::RuntimeException )
-{
- beans::Property aProp;
- return queryProperty( Name, aProp );
-}
-
-//=========================================================================
-sal_Bool PropertySetInfo::queryProperty(
- const rtl::OUString& aName, beans::Property& rProp )
-{
- sal_Int32 nCount = m_pProps->getLength();
- const beans::Property* pProps = m_pProps->getConstArray();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- const beans::Property& rCurr = pProps[ n ];
- if ( rCurr.Name == aName )
- {
- rProp = rCurr;
- return sal_True;
- }
- }
-
- return sal_False;
-}
-
-} // namespace ucbhelper_impl
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/resultsethelper.cxx b/ucbhelper/source/provider/resultsethelper.cxx
deleted file mode 100644
index 1e393e42da..0000000000
--- a/ucbhelper/source/provider/resultsethelper.cxx
+++ /dev/null
@@ -1,332 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- - This implementation is far away from completion. It has no interface
- for changes notifications etc.
-
- *************************************************************************/
-#include <com/sun/star/ucb/ListActionType.hpp>
-#include <com/sun/star/ucb/WelcomeDynamicResultSetStruct.hpp>
-#include <com/sun/star/ucb/XCachedDynamicResultSetStubFactory.hpp>
-#include <com/sun/star/ucb/XSourceInitialization.hpp>
-#include <cppuhelper/interfacecontainer.hxx>
-#include <ucbhelper/resultsethelper.hxx>
-
-#include "osl/diagnose.h"
-
-using namespace com::sun::star;
-
-//=========================================================================
-//=========================================================================
-//
-// ResultSetImplHelper Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-namespace ucbhelper {
-
-//=========================================================================
-ResultSetImplHelper::ResultSetImplHelper(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr )
-: m_pDisposeEventListeners( 0 ),
- m_bStatic( sal_False ),
- m_bInitDone( sal_False ),
- m_xSMgr( rxSMgr )
-{
-}
-
-//=========================================================================
-ResultSetImplHelper::ResultSetImplHelper(
- const uno::Reference< lang::XMultiServiceFactory >& rxSMgr,
- const com::sun::star::ucb::OpenCommandArgument2& rCommand )
-: m_pDisposeEventListeners( 0 ),
- m_bStatic( sal_False ),
- m_bInitDone( sal_False ),
- m_aCommand( rCommand ),
- m_xSMgr( rxSMgr )
-{
-}
-
-//=========================================================================
-// virtual
-ResultSetImplHelper::~ResultSetImplHelper()
-{
- delete m_pDisposeEventListeners;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-XINTERFACE_IMPL_4( ResultSetImplHelper,
- lang::XTypeProvider,
- lang::XServiceInfo,
- lang::XComponent, /* base of XDynamicResultSet */
- com::sun::star::ucb::XDynamicResultSet );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_3( ResultSetImplHelper,
- lang::XTypeProvider,
- lang::XServiceInfo,
- com::sun::star::ucb::XDynamicResultSet );
-
-//=========================================================================
-//
-// XServiceInfo methods.
-//
-//=========================================================================
-
-XSERVICEINFO_NOFACTORY_IMPL_1( ResultSetImplHelper,
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "ResultSetImplHelper" )),
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- DYNAMICRESULTSET_SERVICE_NAME )) );
-
-//=========================================================================
-//
-// XComponent methods.
-//
-//=========================================================================
-
-// virtual
-void SAL_CALL ResultSetImplHelper::dispose()
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( m_pDisposeEventListeners && m_pDisposeEventListeners->getLength() )
- {
- lang::EventObject aEvt;
- aEvt.Source = static_cast< lang::XComponent * >( this );
- m_pDisposeEventListeners->disposeAndClear( aEvt );
- }
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSetImplHelper::addEventListener(
- const uno::Reference< lang::XEventListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_pDisposeEventListeners )
- m_pDisposeEventListeners
- = new cppu::OInterfaceContainerHelper( m_aMutex );
-
- m_pDisposeEventListeners->addInterface( Listener );
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSetImplHelper::removeEventListener(
- const uno::Reference< lang::XEventListener >& Listener )
- throw( uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( m_pDisposeEventListeners )
- m_pDisposeEventListeners->removeInterface( Listener );
-}
-
-//=========================================================================
-//
-// XDynamicResultSet methods.
-//
-//=========================================================================
-
-// virtual
-uno::Reference< sdbc::XResultSet > SAL_CALL
-ResultSetImplHelper::getStaticResultSet()
- throw( com::sun::star::ucb::ListenerAlreadySetException,
- uno::RuntimeException )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( m_xListener.is() )
- throw com::sun::star::ucb::ListenerAlreadySetException();
-
- init( sal_True );
- return m_xResultSet1;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSetImplHelper::setListener(
- const uno::Reference< com::sun::star::ucb::XDynamicResultSetListener >&
- Listener )
- throw( com::sun::star::ucb::ListenerAlreadySetException,
- uno::RuntimeException )
-{
- osl::ClearableMutexGuard aGuard( m_aMutex );
-
- if ( m_bStatic || m_xListener.is() )
- throw com::sun::star::ucb::ListenerAlreadySetException();
-
- m_xListener = Listener;
-
- //////////////////////////////////////////////////////////////////////
- // Create "welcome event" and send it to listener.
- //////////////////////////////////////////////////////////////////////
-
- // Note: We only have the implementation for a static result set at the
- // moment (src590). The dynamic result sets passed to the listener
- // are a fake. This implementation will never call "notify" at the
- // listener to propagate any changes!!!
-
- init( sal_False );
-
- uno::Any aInfo;
- aInfo <<= com::sun::star::ucb::WelcomeDynamicResultSetStruct(
- m_xResultSet1 /* "old" */,
- m_xResultSet2 /* "new" */ );
-
- uno::Sequence< com::sun::star::ucb::ListAction > aActions( 1 );
- aActions.getArray()[ 0 ]
- = com::sun::star::ucb::ListAction(
- 0, // Position; not used
- 0, // Count; not used
- com::sun::star::ucb::ListActionType::WELCOME,
- aInfo );
- aGuard.clear();
-
- Listener->notify(
- com::sun::star::ucb::ListEvent(
- static_cast< cppu::OWeakObject * >( this ), aActions ) );
-}
-
-//=========================================================================
-// virtual
-sal_Int16 SAL_CALL ResultSetImplHelper::getCapabilities()
- throw( uno::RuntimeException )
-{
- // ! com::sun::star::ucb::ContentResultSetCapability::SORTED
- return 0;
-}
-
-//=========================================================================
-// virtual
-void SAL_CALL ResultSetImplHelper::connectToCache(
- const uno::Reference< com::sun::star::ucb::XDynamicResultSet > &
- xCache )
- throw( com::sun::star::ucb::ListenerAlreadySetException,
- com::sun::star::ucb::AlreadyInitializedException,
- com::sun::star::ucb::ServiceNotFoundException,
- uno::RuntimeException )
-{
- if ( m_xListener.is() )
- throw com::sun::star::ucb::ListenerAlreadySetException();
-
- if ( m_bStatic )
- throw com::sun::star::ucb::ListenerAlreadySetException();
-
- uno::Reference< com::sun::star::ucb::XSourceInitialization >
- xTarget( xCache, uno::UNO_QUERY );
- if ( xTarget.is() )
- {
- uno::Reference<
- com::sun::star::ucb::XCachedDynamicResultSetStubFactory >
- xStubFactory;
- try
- {
- xStubFactory
- = uno::Reference<
- com::sun::star::ucb::XCachedDynamicResultSetStubFactory >(
- m_xSMgr->createInstance(
- rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.ucb.CachedDynamicResultSetStubFactory" )) ),
- uno::UNO_QUERY );
- }
- catch ( uno::Exception const & )
- {
- }
-
- if ( xStubFactory.is() )
- {
- xStubFactory->connectToCache(
- this, xCache, m_aCommand.SortingInfo, 0 );
- return;
- }
- }
- throw com::sun::star::ucb::ServiceNotFoundException();
-}
-
-//=========================================================================
-//
-// Non-interface methods.
-//
-//=========================================================================
-
-void ResultSetImplHelper::init( sal_Bool bStatic )
-{
- osl::MutexGuard aGuard( m_aMutex );
-
- if ( !m_bInitDone )
- {
- if ( bStatic )
- {
- // virtual... derived class fills m_xResultSet1
- initStatic();
-
- OSL_ENSURE( m_xResultSet1.is(),
- "ResultSetImplHelper::init - No 1st result set!" );
- m_bStatic = sal_True;
- }
- else
- {
- // virtual... derived class fills m_xResultSet1 and m_xResultSet2
- initDynamic();
-
- OSL_ENSURE( m_xResultSet1.is(),
- "ResultSetImplHelper::init - No 1st result set!" );
- OSL_ENSURE( m_xResultSet2.is(),
- "ResultSetImplHelper::init - No 2nd result set!" );
- m_bStatic = sal_False;
- }
- m_bInitDone = sal_True;
- }
-}
-
-} // namespace ucbhelper
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/resultsetmetadata.cxx b/ucbhelper/source/provider/resultsetmetadata.cxx
deleted file mode 100644
index 7ce9f981ad..0000000000
--- a/ucbhelper/source/provider/resultsetmetadata.cxx
+++ /dev/null
@@ -1,585 +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_ucbhelper.hxx"
-
-/**************************************************************************
- TODO
- **************************************************************************
-
- *************************************************************************/
-
-#include "osl/diagnose.h"
-#include <com/sun/star/beans/Property.hpp>
-#include <com/sun/star/beans/XPropertySetInfo.hpp>
-#include <com/sun/star/io/XInputStream.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <com/sun/star/sdbc/XArray.hpp>
-#include <com/sun/star/sdbc/XBlob.hpp>
-#include <com/sun/star/sdbc/XClob.hpp>
-#include <com/sun/star/sdbc/XRef.hpp>
-#include <com/sun/star/util/Date.hpp>
-#include <com/sun/star/util/Time.hpp>
-#include <com/sun/star/util/DateTime.hpp>
-#include <ucbhelper/resultsetmetadata.hxx>
-
-using namespace com::sun::star::beans;
-using namespace com::sun::star::io;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::util;
-
-using ::rtl::OUString;
-
-namespace ucbhelper_impl {
-
-struct ResultSetMetaData_Impl
-{
- osl::Mutex m_aMutex;
- std::vector< ::ucbhelper::ResultSetColumnData > m_aColumnData;
- sal_Bool m_bObtainedTypes;
- sal_Bool m_bGlobalReadOnlyValue;
-
- ResultSetMetaData_Impl( sal_Int32 nSize )
- : m_aColumnData( nSize ), m_bObtainedTypes( sal_False ),
- m_bGlobalReadOnlyValue( sal_True ) {}
-
- ResultSetMetaData_Impl(
- const std::vector< ::ucbhelper::ResultSetColumnData >& rColumnData )
- : m_aColumnData( rColumnData ), m_bObtainedTypes( sal_False ),
- m_bGlobalReadOnlyValue( sal_False ) {}
-};
-
-}
-
-using namespace ucbhelper_impl;
-
-namespace ucbhelper {
-
-//=========================================================================
-//=========================================================================
-//
-// ResultSetMetaData Implementation.
-//
-//=========================================================================
-//=========================================================================
-
-ResultSetMetaData::ResultSetMetaData(
- const Reference< XMultiServiceFactory >& rxSMgr,
- const Sequence< Property >& rProps,
- sal_Bool bReadOnly )
-: m_pImpl( new ResultSetMetaData_Impl( rProps.getLength() ) ),
- m_xSMgr( rxSMgr ),
- m_aProps( rProps ),
- m_bReadOnly( bReadOnly )
-{
-}
-
-//=========================================================================
-ResultSetMetaData::ResultSetMetaData(
- const Reference< XMultiServiceFactory >& rxSMgr,
- const Sequence< Property >& rProps,
- const std::vector< ResultSetColumnData >& rColumnData )
-: m_pImpl( new ResultSetMetaData_Impl( rColumnData ) ),
- m_xSMgr( rxSMgr ),
- m_aProps( rProps ),
- m_bReadOnly( sal_True )
-{
- OSL_ENSURE( rColumnData.size() == sal_uInt32( rProps.getLength() ),
- "ResultSetMetaData ctor - different array sizes!" );
-}
-
-//=========================================================================
-// virtual
-ResultSetMetaData::~ResultSetMetaData()
-{
- delete m_pImpl;
-}
-
-//=========================================================================
-//
-// XInterface methods.
-//
-//=========================================================================
-
-XINTERFACE_IMPL_2( ResultSetMetaData,
- XTypeProvider,
- XResultSetMetaData );
-
-//=========================================================================
-//
-// XTypeProvider methods.
-//
-//=========================================================================
-
-XTYPEPROVIDER_IMPL_2( ResultSetMetaData,
- XTypeProvider,
- XResultSetMetaData );
-
-//=========================================================================
-//
-// XResultSetMetaData methods.
-//
-//=========================================================================
-
-// virtual
-sal_Int32 SAL_CALL ResultSetMetaData::getColumnCount()
- throw( SQLException, RuntimeException )
-{
- return m_aProps.getLength();
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSetMetaData::isAutoIncrement( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Checks whether column is automatically numbered, which makes it
- read-only.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return sal_False;
-
- return m_pImpl->m_aColumnData[ column - 1 ].isAutoIncrement;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSetMetaData::isCaseSensitive( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return sal_False;
-
- return m_pImpl->m_aColumnData[ column - 1 ].isCaseSensitive;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSetMetaData::isSearchable( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Checks whether the value stored in column can be used in a
- WHERE clause.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return sal_False;
-
- return m_pImpl->m_aColumnData[ column - 1 ].isSearchable;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSetMetaData::isCurrency( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Checks whether column is a cash value.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return sal_False;
-
- return m_pImpl->m_aColumnData[ column - 1 ].isCurrency;
-}
-
-//=========================================================================
-// virtual
-sal_Int32 SAL_CALL ResultSetMetaData::isNullable( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Checks whether a NULL can be stored in column.
- Possible values: see com/sun/star/sdbc/ColumnValue.idl
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return ColumnValue::NULLABLE;
-
- return m_pImpl->m_aColumnData[ column - 1 ].isNullable;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSetMetaData::isSigned( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Checks whether the value stored in column is a signed number.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return sal_False;
-
- return m_pImpl->m_aColumnData[ column - 1 ].isSigned;
-}
-
-//=========================================================================
-// virtual
-sal_Int32 SAL_CALL ResultSetMetaData::getColumnDisplaySize( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the normal maximum width in characters for column.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return 16;
-
- return m_pImpl->m_aColumnData[ column - 1 ].columnDisplaySize;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL ResultSetMetaData::getColumnLabel( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the suggested column title for column, to be used in print-
- outs and displays.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return OUString();
-
- OUString aLabel = m_pImpl->m_aColumnData[ column - 1 ].columnLabel;
- if ( aLabel.getLength() )
- return aLabel;
-
- return m_aProps.getConstArray()[ column - 1 ].Name;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL ResultSetMetaData::getColumnName( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the name of column.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return OUString();
-
- return m_aProps.getConstArray()[ column - 1 ].Name;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL ResultSetMetaData::getSchemaName( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the schema name for the table from which column of this
- result set was derived.
- Because this feature is not widely supported, the return value
- for many DBMSs will be an empty string.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return OUString();
-
- return m_pImpl->m_aColumnData[ column - 1 ].schemaName;
-}
-
-//=========================================================================
-// virtual
-sal_Int32 SAL_CALL ResultSetMetaData::getPrecision( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- For number types, getprecision gets the number of decimal digits
- in column.
- For character types, it gets the maximum length in characters for
- column.
- For binary types, it gets the maximum length in bytes for column.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return -1;
-
- return m_pImpl->m_aColumnData[ column - 1 ].precision;
-}
-
-//=========================================================================
-// virtual
-sal_Int32 SAL_CALL ResultSetMetaData::getScale( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the number of digits to the right of the decimal point for
- values in column.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return 0;
-
- return m_pImpl->m_aColumnData[ column - 1 ].scale;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL ResultSetMetaData::getTableName( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the name of the table from which column of this result set
- was derived or "" if there is none (for example, for a join).
- Because this feature is not widely supported, the return value
- for many DBMSs will be an empty string.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return OUString();
-
- return m_pImpl->m_aColumnData[ column - 1 ].tableName;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL ResultSetMetaData::getCatalogName( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the catalog name for the table from which column of this
- result set was derived.
- Because this feature is not widely supported, the return value
- for many DBMSs will be an empty string.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return OUString();
-
- return m_pImpl->m_aColumnData[ column - 1 ].catalogName;
-}
-
-//=========================================================================
-// virtual
-sal_Int32 SAL_CALL ResultSetMetaData::getColumnType( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the JDBC type for the value stored in column. ... The STRUCT
- and DISTINCT type codes are always returned for structured and
- distinct types, regardless of whether the value will be mapped
- according to the standard mapping or be a custom mapping.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return DataType::SQLNULL;
-
- if ( m_aProps.getConstArray()[ column - 1 ].Type
- == getCppuVoidType() )
- {
- // No type given. Try UCB's Properties Manager...
-
- osl::Guard< osl::Mutex > aGuard( m_pImpl->m_aMutex );
-
- if ( !m_pImpl->m_bObtainedTypes )
- {
- try
- {
- Reference< XPropertySetInfo > xInfo(
- m_xSMgr->createInstance(
- OUString(RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.ucb.PropertiesManager" )) ),
- UNO_QUERY );
- if ( xInfo.is() )
- {
-
- // Less (remote) calls...
-
- Sequence< Property > aProps = xInfo->getProperties();
- const Property* pProps1 = aProps.getConstArray();
- sal_Int32 nCount1 = aProps.getLength();
-
- sal_Int32 nCount = m_aProps.getLength();
- Property* pProps = m_aProps.getArray();
- for ( sal_Int32 n = 0; n < nCount; ++n )
- {
- Property& rProp = pProps[ n ];
-
- for ( sal_Int32 m = 0; m < nCount1; ++m )
- {
- const Property& rProp1 = pProps1[ m ];
- if ( rProp.Name == rProp1.Name )
- {
- // Found...
- rProp.Type = rProp1.Type;
- break;
- }
- }
- }
- }
- }
- catch ( RuntimeException& )
- {
- throw;
- }
- catch ( Exception& )
- {
- // createInstance
- }
-
- m_pImpl->m_bObtainedTypes = sal_True;
- }
- }
-
- const Type& rType = m_aProps.getConstArray()[ column - 1 ].Type;
- sal_Int32 nType = DataType::OTHER;
-
- if ( rType == getCppuType( static_cast< const rtl::OUString * >( 0 ) ) )
- nType = DataType::VARCHAR; // XRow::getString
- else if ( rType == getCppuBooleanType() )
- nType = DataType::BIT; // XRow::getBoolean
- else if ( rType == getCppuType( static_cast< const sal_Int32 * >( 0 ) ) )
- nType = DataType::INTEGER; // XRow::getInt
- else if ( rType == getCppuType( static_cast< const sal_Int64 * >( 0 ) ) )
- nType = DataType::BIGINT; // XRow::getLong
- else if ( rType == getCppuType( static_cast< const sal_Int16 * >( 0 ) ) )
- nType = DataType::SMALLINT; // XRow::getShort
- else if ( rType == getCppuType( static_cast< const sal_Int8 * >( 0 ) ) )
- nType = DataType::TINYINT; // XRow::getByte
- else if ( rType == getCppuType( static_cast< const float * >( 0 ) ) )
- nType = DataType::REAL; // XRow::getFloat
- else if ( rType == getCppuType( static_cast< const double * >( 0 ) ) )
- nType = DataType::DOUBLE; // XRow::getDouble
- else if ( rType == getCppuType( static_cast< const Sequence< sal_Int8 > * >( 0 ) ) )
- nType = DataType::VARBINARY;// XRow::getBytes
- else if ( rType == getCppuType( static_cast< const Date * >( 0 ) ) )
- nType = DataType::DATE; // XRow::getDate
- else if ( rType == getCppuType( static_cast< const Time * >( 0 ) ) )
- nType = DataType::TIME; // XRow::getTime
- else if ( rType == getCppuType( static_cast< const DateTime * >( 0 ) ) )
- nType = DataType::TIMESTAMP;// XRow::getTimestamp
- else if ( rType == getCppuType( static_cast< Reference< XInputStream > * >( 0 ) ) )
- nType = DataType::LONGVARBINARY; // XRow::getBinaryStream
-// nType = DataType::LONGVARCHAR; // XRow::getCharacterStream
- else if ( rType == getCppuType( static_cast< Reference< XClob > * >( 0 ) ) )
- nType = DataType::CLOB; // XRow::getClob
- else if ( rType == getCppuType( static_cast< Reference< XBlob > * >( 0 ) ) )
- nType = DataType::BLOB; // XRow::getBlob
- else if ( rType == getCppuType( static_cast< Reference< XArray > * >( 0 ) ) )
- nType = DataType::ARRAY;// XRow::getArray
- else if ( rType == getCppuType( static_cast< Reference< XRef > * >( 0 ) ) )
- nType = DataType::REF;// XRow::getRef
- else
- nType = DataType::OBJECT;// XRow::getObject
-
- return nType;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL ResultSetMetaData::getColumnTypeName( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Gets the type name used by this particular data source for the
- values stored in column. If the type code for the type of value
- stored in column is STRUCT, DISTINCT or JAVA_OBJECT, this method
- returns a fully-qualified SQL type name.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return OUString();
-
- return m_pImpl->m_aColumnData[ column - 1 ].columnTypeName;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSetMetaData::isReadOnly( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- if ( m_pImpl->m_bGlobalReadOnlyValue )
- return m_bReadOnly;
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return sal_True;
-
- // autoincrement==true => readonly
- return m_pImpl->m_aColumnData[ column - 1 ].isAutoIncrement ||
- m_pImpl->m_aColumnData[ column - 1 ].isReadOnly;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSetMetaData::isWritable( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- if ( m_pImpl->m_bGlobalReadOnlyValue )
- return !m_bReadOnly;
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return sal_False;
-
- return m_pImpl->m_aColumnData[ column - 1 ].isWritable;
-}
-
-//=========================================================================
-// virtual
-sal_Bool SAL_CALL ResultSetMetaData::isDefinitelyWritable( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- if ( m_pImpl->m_bGlobalReadOnlyValue )
- return !m_bReadOnly;
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return sal_False;
-
- return m_pImpl->m_aColumnData[ column - 1 ].isDefinitelyWritable;
-}
-
-//=========================================================================
-// virtual
-OUString SAL_CALL ResultSetMetaData::getColumnServiceName( sal_Int32 column )
- throw( SQLException, RuntimeException )
-{
- /*
- Returns the fully-qualified name of the service whose instances
- are manufactured if XResultSet::getObject is called to retrieve
- a value from the column.
- */
-
- if ( ( column < 1 ) || ( column > m_aProps.getLength() ) )
- return OUString();
-
- return m_pImpl->m_aColumnData[ column - 1 ].columnServiceName;
-}
-
-} // namespace ucbhelper
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/simpleauthenticationrequest.cxx b/ucbhelper/source/provider/simpleauthenticationrequest.cxx
deleted file mode 100644
index c4ac91cb57..0000000000
--- a/ucbhelper/source/provider/simpleauthenticationrequest.cxx
+++ /dev/null
@@ -1,246 +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_ucbhelper.hxx"
-#include <com/sun/star/task/XMasterPasswordHandling.hpp>
-#include <com/sun/star/ucb/URLAuthenticationRequest.hpp>
-#include <ucbhelper/simpleauthenticationrequest.hxx>
-
-using namespace com::sun::star;
-using namespace ucbhelper;
-
-//=========================================================================
-SimpleAuthenticationRequest::SimpleAuthenticationRequest(
- const rtl::OUString & rURL,
- const rtl::OUString & rServerName,
- const rtl::OUString & rRealm,
- const rtl::OUString & rUserName,
- const rtl::OUString & rPassword,
- const rtl::OUString & rAccount )
-{
- // Fill request...
- ucb::URLAuthenticationRequest aRequest;
-// aRequest.Message = // OUString
-// aRequest.Context = // XInterface
- aRequest.Classification = task::InteractionClassification_ERROR;
- aRequest.ServerName = rServerName;
-// aRequest.Diagnostic = // OUString
- aRequest.HasRealm = ( rRealm.getLength() > 0 );
- if ( aRequest.HasRealm )
- aRequest.Realm = rRealm;
- aRequest.HasUserName = sal_True;
- aRequest.UserName = rUserName;
- aRequest.HasPassword = sal_True;
- aRequest.Password = rPassword;
- aRequest.HasAccount = ( rAccount.getLength() > 0 );
- if ( aRequest.HasAccount )
- aRequest.Account = rAccount;
- aRequest.URL = rURL;
-
- initialize(aRequest,
- sal_False,
- sal_True,
- sal_True,
- aRequest.HasAccount,
- sal_True,
- sal_False );
-}
-//=========================================================================
-SimpleAuthenticationRequest::SimpleAuthenticationRequest(
- const rtl::OUString & rURL,
- const rtl::OUString & rServerName,
- const rtl::OUString & rRealm,
- const rtl::OUString & rUserName,
- const rtl::OUString & rPassword,
- const rtl::OUString & rAccount,
- sal_Bool bAllowPersistentStoring,
- sal_Bool bAllowUseSystemCredentials )
-{
-
- // Fill request...
- ucb::URLAuthenticationRequest aRequest;
-// aRequest.Message = // OUString
-// aRequest.Context = // XInterface
- aRequest.Classification = task::InteractionClassification_ERROR;
- aRequest.ServerName = rServerName;
-// aRequest.Diagnostic = // OUString
- aRequest.HasRealm = ( rRealm.getLength() > 0 );
- if ( aRequest.HasRealm )
- aRequest.Realm = rRealm;
- aRequest.HasUserName = sal_True;
- aRequest.UserName = rUserName;
- aRequest.HasPassword = sal_True;
- aRequest.Password = rPassword;
- aRequest.HasAccount = ( rAccount.getLength() > 0 );
- if ( aRequest.HasAccount )
- aRequest.Account = rAccount;
- aRequest.URL = rURL;
-
- initialize(aRequest,
- sal_False,
- sal_True,
- sal_True,
- aRequest.HasAccount,
- bAllowPersistentStoring,
- bAllowUseSystemCredentials );
-}
-
-//=========================================================================
-SimpleAuthenticationRequest::SimpleAuthenticationRequest(
- const rtl::OUString & rURL,
- const rtl::OUString & rServerName,
- EntityType eRealmType,
- const rtl::OUString & rRealm,
- EntityType eUserNameType,
- const rtl::OUString & rUserName,
- EntityType ePasswordType,
- const rtl::OUString & rPassword,
- EntityType eAccountType,
- const rtl::OUString & rAccount )
-{
- // Fill request...
- ucb::URLAuthenticationRequest aRequest;
-// aRequest.Message = // OUString
-// aRequest.Context = // XInterface
- aRequest.Classification = task::InteractionClassification_ERROR;
- aRequest.ServerName = rServerName;
-// aRequest.Diagnostic = // OUString
- aRequest.HasRealm = eRealmType != ENTITY_NA;
- if ( aRequest.HasRealm )
- aRequest.Realm = rRealm;
- aRequest.HasUserName = eUserNameType != ENTITY_NA;
- if ( aRequest.HasUserName )
- aRequest.UserName = rUserName;
- aRequest.HasPassword = ePasswordType != ENTITY_NA;
- if ( aRequest.HasPassword )
- aRequest.Password = rPassword;
- aRequest.HasAccount = eAccountType != ENTITY_NA;
- if ( aRequest.HasAccount )
- aRequest.Account = rAccount;
- aRequest.URL = rURL;
-
- initialize(aRequest,
- eRealmType == ENTITY_MODIFY,
- eUserNameType == ENTITY_MODIFY,
- ePasswordType == ENTITY_MODIFY,
- eAccountType == ENTITY_MODIFY,
- sal_True,
- sal_False );
-}
-
-//=========================================================================
-SimpleAuthenticationRequest::SimpleAuthenticationRequest(
- const rtl::OUString & rURL,
- const rtl::OUString & rServerName,
- EntityType eRealmType,
- const rtl::OUString & rRealm,
- EntityType eUserNameType,
- const rtl::OUString & rUserName,
- EntityType ePasswordType,
- const rtl::OUString & rPassword,
- EntityType eAccountType,
- const rtl::OUString & rAccount,
- sal_Bool bAllowPersistentStoring,
- sal_Bool bAllowUseSystemCredentials )
-{
- // Fill request...
- ucb::URLAuthenticationRequest aRequest;
-// aRequest.Message = // OUString
-// aRequest.Context = // XInterface
- aRequest.Classification = task::InteractionClassification_ERROR;
- aRequest.ServerName = rServerName;
-// aRequest.Diagnostic = // OUString
- aRequest.HasRealm = eRealmType != ENTITY_NA;
- if ( aRequest.HasRealm )
- aRequest.Realm = rRealm;
- aRequest.HasUserName = eUserNameType != ENTITY_NA;
- if ( aRequest.HasUserName )
- aRequest.UserName = rUserName;
- aRequest.HasPassword = ePasswordType != ENTITY_NA;
- if ( aRequest.HasPassword )
- aRequest.Password = rPassword;
- aRequest.HasAccount = eAccountType != ENTITY_NA;
- if ( aRequest.HasAccount )
- aRequest.Account = rAccount;
- aRequest.URL = rURL;
-
- initialize(aRequest,
- eRealmType == ENTITY_MODIFY,
- eUserNameType == ENTITY_MODIFY,
- ePasswordType == ENTITY_MODIFY,
- eAccountType == ENTITY_MODIFY,
- bAllowPersistentStoring,
- bAllowUseSystemCredentials );
-}
-
-//=========================================================================
-void SimpleAuthenticationRequest::initialize(
- const ucb::URLAuthenticationRequest & rRequest,
- sal_Bool bCanSetRealm,
- sal_Bool bCanSetUserName,
- sal_Bool bCanSetPassword,
- sal_Bool bCanSetAccount,
- sal_Bool bAllowPersistentStoring,
- sal_Bool bAllowUseSystemCredentials )
-{
- setRequest( uno::makeAny( rRequest ) );
-
- // Fill continuations...
- uno::Sequence< ucb::RememberAuthentication > aRememberModes(
- bAllowPersistentStoring ? 3 : 2 );
- aRememberModes[ 0 ] = ucb::RememberAuthentication_NO;
- aRememberModes[ 1 ] = ucb::RememberAuthentication_SESSION;
- if (bAllowPersistentStoring)
- aRememberModes[ 2 ] = ucb::RememberAuthentication_PERSISTENT;
-
- m_xAuthSupplier
- = new InteractionSupplyAuthentication(
- this,
- bCanSetRealm,
- bCanSetUserName,
- bCanSetPassword,
- bCanSetAccount,
- aRememberModes, // rRememberPasswordModes
- ucb::RememberAuthentication_SESSION, // eDefaultRememberPasswordMode
- aRememberModes, // rRememberAccountModes
- ucb::RememberAuthentication_SESSION, // eDefaultRememberAccountMode
- bAllowUseSystemCredentials, // bCanUseSystemCredentials,
- false // bDefaultUseSystemCredentials
- );
-
- uno::Sequence<
- uno::Reference< task::XInteractionContinuation > > aContinuations( 3 );
- aContinuations[ 0 ] = new InteractionAbort( this );
- aContinuations[ 1 ] = new InteractionRetry( this );
- aContinuations[ 2 ] = m_xAuthSupplier.get();
-
- setContinuations( aContinuations );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/simplecertificatevalidationrequest.cxx b/ucbhelper/source/provider/simplecertificatevalidationrequest.cxx
deleted file mode 100644
index 912df52cfc..0000000000
--- a/ucbhelper/source/provider/simplecertificatevalidationrequest.cxx
+++ /dev/null
@@ -1,91 +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_ucbhelper.hxx"
-#include <com/sun/star/ucb/CertificateValidationRequest.hpp>
-#include <ucbhelper/simplecertificatevalidationrequest.hxx>
-
-using namespace com::sun::star;
-using namespace ucbhelper;
-
-//=========================================================================
-SimpleCertificateValidationRequest::SimpleCertificateValidationRequest( const sal_Int32 & lCertificateValidity,
- const com::sun::star::uno::Reference<com::sun::star::security::XCertificate> pCertificate,
- const rtl::OUString & hostname)
-{
- // Fill request...
- ucb::CertificateValidationRequest aRequest;
- aRequest.CertificateValidity = lCertificateValidity;
- aRequest.Certificate = pCertificate;
- aRequest.HostName = hostname;
-
- setRequest( uno::makeAny( aRequest ) );
-
- uno::Sequence< uno::Reference< task::XInteractionContinuation > > aContinuations( 2 );
- aContinuations[ 0 ] = new InteractionAbort( this );
- aContinuations[ 1 ] = new InteractionApprove( this );
-
- setContinuations( aContinuations );
- pCertificate.get();
-}
-
-//=========================================================================
-sal_Int32 SimpleCertificateValidationRequest::getResponse() const
-{
- rtl::Reference< InteractionContinuation > xSelection = getSelection();
- if ( xSelection.is() )
- {
- InteractionContinuation * pSelection = xSelection.get();
-
- uno::Reference< task::XInteractionAbort > xAbort(
- pSelection, uno::UNO_QUERY );
- if ( xAbort.is() )
- return 1;
-
- uno::Reference< task::XInteractionRetry > xRetry(
- pSelection, uno::UNO_QUERY );
- if ( xRetry.is() )
- return 2;
-
- uno::Reference< task::XInteractionApprove > xApprove(
- pSelection, uno::UNO_QUERY );
- if ( xApprove.is() )
- return 4;
-
- uno::Reference< task::XInteractionDisapprove > xDisapprove(
- pSelection, uno::UNO_QUERY );
- if ( xDisapprove.is() )
- return 8;
-
- OSL_FAIL( "CertificateValidationRequest - Unknown continuation!" );
- }
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/simpleinteractionrequest.cxx b/ucbhelper/source/provider/simpleinteractionrequest.cxx
deleted file mode 100644
index c4f254d03f..0000000000
--- a/ucbhelper/source/provider/simpleinteractionrequest.cxx
+++ /dev/null
@@ -1,133 +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_ucbhelper.hxx"
-#include <ucbhelper/simpleinteractionrequest.hxx>
-
-using namespace com::sun::star;
-using namespace ucbhelper;
-
-//=========================================================================
-SimpleInteractionRequest::SimpleInteractionRequest(
- const uno::Any & rRequest,
- const sal_Int32 nContinuations )
-: InteractionRequest( rRequest )
-{
- // Set continuations.
- OSL_ENSURE( nContinuations != CONTINUATION_UNKNOWN,
- "SimpleInteractionRequest - No continuation!" );
-
- sal_Int32 nLength = 0;
-
- uno::Reference< task::XInteractionContinuation > xAbort;
- uno::Reference< task::XInteractionContinuation > xRetry;
- uno::Reference< task::XInteractionContinuation > xApprove;
- uno::Reference< task::XInteractionContinuation > xDisapprove;
-
- if ( nContinuations & CONTINUATION_ABORT )
- {
- ++nLength;
- xAbort = new InteractionAbort( this );
- }
-
- if ( nContinuations & CONTINUATION_RETRY )
- {
- ++nLength;
- xRetry = new InteractionRetry( this );
- }
-
- if ( nContinuations & CONTINUATION_APPROVE )
- {
- ++nLength;
- xApprove = new InteractionApprove( this );
- }
-
- if ( nContinuations & CONTINUATION_DISAPPROVE )
- {
- ++nLength;
- xDisapprove = new InteractionDisapprove( this );
- }
-
- OSL_ENSURE( nLength > 0,
- "SimpleInteractionRequest - No continuation!" );
-
- uno::Sequence< uno::Reference< task::XInteractionContinuation > >
- aContinuations( nLength );
-
- nLength = 0;
-
- if ( xAbort.is() )
- aContinuations[ nLength++ ] = xAbort;
-
- if ( xRetry.is() )
- aContinuations[ nLength++ ] = xRetry;
-
- if ( xApprove.is() )
- aContinuations[ nLength++ ] = xApprove;
-
- if ( xDisapprove.is() )
- aContinuations[ nLength++ ] = xDisapprove;
-
- setContinuations( aContinuations );
-}
-
-//=========================================================================
-sal_Int32 SimpleInteractionRequest::getResponse() const
-{
- rtl::Reference< InteractionContinuation > xSelection = getSelection();
- if ( xSelection.is() )
- {
- InteractionContinuation * pSelection = xSelection.get();
-
- uno::Reference< task::XInteractionAbort > xAbort(
- pSelection, uno::UNO_QUERY );
- if ( xAbort.is() )
- return CONTINUATION_ABORT;
-
- uno::Reference< task::XInteractionRetry > xRetry(
- pSelection, uno::UNO_QUERY );
- if ( xRetry.is() )
- return CONTINUATION_RETRY;
-
- uno::Reference< task::XInteractionApprove > xApprove(
- pSelection, uno::UNO_QUERY );
- if ( xApprove.is() )
- return CONTINUATION_APPROVE;
-
- uno::Reference< task::XInteractionDisapprove > xDisapprove(
- pSelection, uno::UNO_QUERY );
- if ( xDisapprove.is() )
- return CONTINUATION_DISAPPROVE;
-
- OSL_FAIL( "SimpleInteractionRequest::getResponse - Unknown continuation!" );
- }
- return CONTINUATION_UNKNOWN;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/simpleioerrorrequest.cxx b/ucbhelper/source/provider/simpleioerrorrequest.cxx
deleted file mode 100644
index 6ba408019d..0000000000
--- a/ucbhelper/source/provider/simpleioerrorrequest.cxx
+++ /dev/null
@@ -1,62 +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_ucbhelper.hxx"
-#include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp>
-#include <ucbhelper/simpleioerrorrequest.hxx>
-
-using namespace com::sun::star;
-using namespace ucbhelper;
-
-//=========================================================================
-SimpleIOErrorRequest::SimpleIOErrorRequest(
- const ucb::IOErrorCode eError,
- const uno::Sequence< uno::Any > & rArgs,
- const rtl::OUString & rMessage,
- const uno::Reference< ucb::XCommandProcessor > & xContext )
-{
- // Fill request...
- ucb::InteractiveAugmentedIOException aRequest;
- aRequest.Message = rMessage;
- aRequest.Context = xContext;
- aRequest.Classification = task::InteractionClassification_ERROR;
- aRequest.Code = eError;
- aRequest.Arguments = rArgs;
-
- setRequest( uno::makeAny( aRequest ) );
-
- // Fill continuations...
- uno::Sequence< uno::Reference<
- task::XInteractionContinuation > > aContinuations( 1 );
- aContinuations[ 0 ] = new InteractionAbort( this );
-
- setContinuations( aContinuations );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/ucbhelper/source/provider/simplenameclashresolverequest.cxx b/ucbhelper/source/provider/simplenameclashresolverequest.cxx
deleted file mode 100644
index 9365e16144..0000000000
--- a/ucbhelper/source/provider/simplenameclashresolverequest.cxx
+++ /dev/null
@@ -1,69 +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_ucbhelper.hxx"
-#include <com/sun/star/ucb/NameClashResolveRequest.hpp>
-#include <ucbhelper/simplenameclashresolverequest.hxx>
-
-using namespace com::sun::star;
-using namespace ucbhelper;
-
-//=========================================================================
-SimpleNameClashResolveRequest::SimpleNameClashResolveRequest(
- const rtl::OUString & rTargetFolderURL,
- const rtl::OUString & rClashingName,
- const rtl::OUString & rProposedNewName,
- sal_Bool bSupportsOverwriteData )
-{
- // Fill request...
- ucb::NameClashResolveRequest aRequest;
-// aRequest.Message = // OUString
-// aRequest.Context = // XInterface
- aRequest.Classification = task::InteractionClassification_QUERY;
- aRequest.TargetFolderURL = rTargetFolderURL;
- aRequest.ClashingName = rClashingName;
- aRequest.ProposedNewName = rProposedNewName;
-
- setRequest( uno::makeAny( aRequest ) );
-
- // Fill continuations...
- m_xNameSupplier = new InteractionSupplyName( this );
-
- uno::Sequence< uno::Reference< task::XInteractionContinuation > >
- aContinuations( bSupportsOverwriteData ? 3 : 2 );
- aContinuations[ 0 ] = new InteractionAbort( this );
- aContinuations[ 1 ] = m_xNameSupplier.get();
-
- if ( bSupportsOverwriteData )
- aContinuations[ 2 ] = new InteractionReplaceExistingData( this );
-
- setContinuations( aContinuations );
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */