diff options
author | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-02-03 14:28:33 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2020-02-04 06:21:41 +0100 |
commit | d7b0b2b50592aa73a0fd9ab8c696ac082dbed8c4 (patch) | |
tree | 47764c4a0ac6599edaa82e541886b5cae446989c /ucbhelper | |
parent | 54b28638ab15f68731861ae903c732273b41f78a (diff) |
move some headers inside ucbhelper
Change-Id: Iccd80aa4e631abe002837ca61248e136de9a62eb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87866
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'ucbhelper')
-rw-r--r-- | ucbhelper/source/client/activedatastreamer.cxx | 2 | ||||
-rw-r--r-- | ucbhelper/source/client/activedatastreamer.hxx | 51 | ||||
-rw-r--r-- | ucbhelper/source/client/content.cxx | 2 | ||||
-rw-r--r-- | ucbhelper/source/provider/cancelcommandexecution.cxx | 2 | ||||
-rw-r--r-- | ucbhelper/source/provider/contenthelper.cxx | 2 | ||||
-rw-r--r-- | ucbhelper/source/provider/contentinfo.cxx | 2 | ||||
-rw-r--r-- | ucbhelper/source/provider/contentinfo.hxx | 128 | ||||
-rw-r--r-- | ucbhelper/source/provider/simpleioerrorrequest.cxx | 2 | ||||
-rw-r--r-- | ucbhelper/source/provider/simpleioerrorrequest.hxx | 67 |
9 files changed, 252 insertions, 6 deletions
diff --git a/ucbhelper/source/client/activedatastreamer.cxx b/ucbhelper/source/client/activedatastreamer.cxx index a74f0c2e0cf7..aab9cef0df29 100644 --- a/ucbhelper/source/client/activedatastreamer.cxx +++ b/ucbhelper/source/client/activedatastreamer.cxx @@ -23,7 +23,7 @@ ************************************************************************** *************************************************************************/ -#include <ucbhelper/activedatastreamer.hxx> +#include "activedatastreamer.hxx" using namespace com::sun::star; diff --git a/ucbhelper/source/client/activedatastreamer.hxx b/ucbhelper/source/client/activedatastreamer.hxx new file mode 100644 index 000000000000..ae4f53736913 --- /dev/null +++ b/ucbhelper/source/client/activedatastreamer.hxx @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef UCBHELPER_SOURCE_CLIENT_ACTIVEDATASTREAMER_HXX +#define UCBHELPER_SOURCE_CLIENT_ACTIVEDATASTREAMER_HXX + +#include <com/sun/star/io/XActiveDataStreamer.hpp> +#include <cppuhelper/implbase.hxx> + +namespace ucbhelper +{ + + +/** + * This class implements the interface css::io::XActiveDataStreamer. + * Instances of this class can be passed with the parameters of an + * "open" command. + */ + +class ActiveDataStreamer final : + public cppu::WeakImplHelper< css::io::XActiveDataStreamer > +{ + css::uno::Reference< css::io::XStream > m_xStream; + +public: + // XActiveDataStreamer methods. + virtual void SAL_CALL setStream( const css::uno::Reference< css::io::XStream >& xStream ) override; + virtual css::uno::Reference< css::io::XStream > SAL_CALL getStream() override; +}; + +} /* namespace ucbhelper */ + +#endif /* ! UCBHELPER_SOURCE_CLIENT_ACTIVEDATASTREAMER_HXX */ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucbhelper/source/client/content.cxx b/ucbhelper/source/client/content.cxx index 0de94810ed29..69e92b134ae6 100644 --- a/ucbhelper/source/client/content.cxx +++ b/ucbhelper/source/client/content.cxx @@ -55,7 +55,7 @@ #include <com/sun/star/beans/UnknownPropertyException.hpp> #include <ucbhelper/content.hxx> #include <ucbhelper/activedatasink.hxx> -#include <ucbhelper/activedatastreamer.hxx> +#include "activedatastreamer.hxx" #include <ucbhelper/cancelcommandexecution.hxx> namespace com::sun::star::ucb { class XCommandEnvironment; } diff --git a/ucbhelper/source/provider/cancelcommandexecution.cxx b/ucbhelper/source/provider/cancelcommandexecution.cxx index e61415f5efde..f700c8a4afc1 100644 --- a/ucbhelper/source/provider/cancelcommandexecution.cxx +++ b/ucbhelper/source/provider/cancelcommandexecution.cxx @@ -30,7 +30,7 @@ #include <com/sun/star/ucb/XCommandEnvironment.hpp> #include <ucbhelper/interactionrequest.hxx> #include <ucbhelper/cancelcommandexecution.hxx> -#include <ucbhelper/simpleioerrorrequest.hxx> +#include "simpleioerrorrequest.hxx" using namespace com::sun::star; diff --git a/ucbhelper/source/provider/contenthelper.cxx b/ucbhelper/source/provider/contenthelper.cxx index 653f0d47e125..01ebcee1ca71 100644 --- a/ucbhelper/source/provider/contenthelper.cxx +++ b/ucbhelper/source/provider/contenthelper.cxx @@ -33,7 +33,7 @@ #include <cppuhelper/queryinterface.hxx> #include <ucbhelper/contenthelper.hxx> #include <ucbhelper/contentidentifier.hxx> -#include <ucbhelper/contentinfo.hxx> +#include "contentinfo.hxx" #include <ucbhelper/providerhelper.hxx> #include <ucbhelper/macros.hxx> diff --git a/ucbhelper/source/provider/contentinfo.cxx b/ucbhelper/source/provider/contentinfo.cxx index a0a26745b758..85b3b6c741e3 100644 --- a/ucbhelper/source/provider/contentinfo.cxx +++ b/ucbhelper/source/provider/contentinfo.cxx @@ -30,7 +30,7 @@ #include <cppuhelper/queryinterface.hxx> #include <osl/mutex.hxx> #include <ucbhelper/contenthelper.hxx> -#include <ucbhelper/contentinfo.hxx> +#include "contentinfo.hxx" #include <ucbhelper/macros.hxx> using namespace com::sun::star; diff --git a/ucbhelper/source/provider/contentinfo.hxx b/ucbhelper/source/provider/contentinfo.hxx new file mode 100644 index 000000000000..3472ed49922c --- /dev/null +++ b/ucbhelper/source/provider/contentinfo.hxx @@ -0,0 +1,128 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef UCBHELPER_SOURCE_PROVIDER_CONTENTINFO_HXX +#define UCBHELPER_SOURCE_PROVIDER_CONTENTINFO_HXX + +#include <memory> +#include <com/sun/star/ucb/XCommandInfo.hpp> +#include <com/sun/star/lang/XTypeProvider.hpp> +#include <com/sun/star/beans/XPropertySetInfo.hpp> +#include <cppuhelper/implbase.hxx> + +#include <osl/mutex.hxx> + +namespace com { namespace sun { namespace star { namespace ucb { class XCommandEnvironment; } } } } + +namespace ucbhelper { + + + + +class ContentImplHelper; + +/** + * This class provides a propertyset info ( the complete implementation of + * the interface XPropertySetInfo ) for an object derived from class + * ucb::ContentImplHelper. The implementation takes care about Additional + * Core Properties that may have been added to the content. + */ +class PropertySetInfo : + public cppu::WeakImplHelper<css::beans::XPropertySetInfo> +{ + css::uno::Reference< css::ucb::XCommandEnvironment > + m_xEnv; + std::unique_ptr<css::uno::Sequence< css::beans::Property >> + m_pProps; + osl::Mutex m_aMutex; + ContentImplHelper* m_pContent; + +private: + bool queryProperty( const OUString& rName, + css::beans::Property& rProp ); + +public: + PropertySetInfo( const css::uno::Reference< css::ucb::XCommandEnvironment >& rxEnv, + ContentImplHelper* pContent ); + virtual ~PropertySetInfo() override; + + // XPropertySetInfo + virtual css::uno::Sequence< + css::beans::Property > SAL_CALL + getProperties() override; + virtual css::beans::Property SAL_CALL + getPropertyByName( const OUString& aName ) override; + virtual sal_Bool SAL_CALL + hasPropertyByName( const OUString& Name ) override; + + // Non-Interface methods. + void reset(); +}; + + + + +/** + * This class provides a command info ( the complete implementation of + * the interface XCommandInfo ) for an object derived from class + * ucb::ContentImplHelper. + */ +class CommandProcessorInfo : + public cppu::WeakImplHelper<css::ucb::XCommandInfo> +{ + css::uno::Reference< css::ucb::XCommandEnvironment > + m_xEnv; + std::unique_ptr<css::uno::Sequence< css::ucb::CommandInfo >> + m_pCommands; + osl::Mutex m_aMutex; + ContentImplHelper* m_pContent; + +private: + bool queryCommand( const OUString& rName, + css::ucb::CommandInfo& rCommand ); + bool queryCommand( sal_Int32 nHandle, + css::ucb::CommandInfo& rCommand ); + +public: + CommandProcessorInfo( const css::uno::Reference< css::ucb::XCommandEnvironment >& rxEnv, + ContentImplHelper* pContent ); + virtual ~CommandProcessorInfo() override; + + // XCommandInfo + virtual css::uno::Sequence< + css::ucb::CommandInfo > SAL_CALL + getCommands() override; + virtual css::ucb::CommandInfo SAL_CALL + getCommandInfoByName( const OUString& Name ) override; + virtual css::ucb::CommandInfo SAL_CALL + getCommandInfoByHandle( sal_Int32 Handle ) override; + virtual sal_Bool SAL_CALL + hasCommandByName( const OUString& Name ) override; + virtual sal_Bool SAL_CALL + hasCommandByHandle( sal_Int32 Handle ) override; + + // Non-Interface methods. + void reset(); +}; + +} // namespace ucbhelper + +#endif /* ! UCBHELPER_SOURCE_PROVIDER_CONTENTINFO_HXX */ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/ucbhelper/source/provider/simpleioerrorrequest.cxx b/ucbhelper/source/provider/simpleioerrorrequest.cxx index 41492a225750..aeb0a8429424 100644 --- a/ucbhelper/source/provider/simpleioerrorrequest.cxx +++ b/ucbhelper/source/provider/simpleioerrorrequest.cxx @@ -18,7 +18,7 @@ */ #include <com/sun/star/ucb/InteractiveAugmentedIOException.hpp> -#include <ucbhelper/simpleioerrorrequest.hxx> +#include "simpleioerrorrequest.hxx" using namespace com::sun::star; using namespace ucbhelper; diff --git a/ucbhelper/source/provider/simpleioerrorrequest.hxx b/ucbhelper/source/provider/simpleioerrorrequest.hxx new file mode 100644 index 000000000000..3a5225ac6a82 --- /dev/null +++ b/ucbhelper/source/provider/simpleioerrorrequest.hxx @@ -0,0 +1,67 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef UCBHELPER_SOURCE_PROVIDER_SIMPLEIOERRORREQUEST_HXX +#define UCBHELPER_SOURCE_PROVIDER_SIMPLEIOERRORREQUEST_HXX + +#include <com/sun/star/ucb/IOErrorCode.hpp> +#include <ucbhelper/interactionrequest.hxx> + +namespace com { namespace sun { namespace star { namespace ucb { + class XCommandProcessor; +} } } } + +namespace ucbhelper { + +/** + * This class implements a simple IO error interaction request. Instances + * can be passed directly to XInteractionHandler::handle(...). Each + * instance contains an InteractiveIOException and one interaction + * continuation: "Abort". + * + * @see css::ucb::InteractiveIOException + * @see InteractionAbort + */ +class SimpleIOErrorRequest final : public ucbhelper::InteractionRequest +{ +public: + /** + * Constructor. + * + * @param xContext contains the command processor that executes the + * command related to the request. + * + * @param eError is the error code to pass along with the request. + * + * qparam rArgs are additional parameters according to the specification + * of the error code. Refer to com/sun/star/ucb/IOErrorCode.idl + * for details. + */ + SimpleIOErrorRequest( const css::ucb::IOErrorCode eError, + const css::uno::Sequence< css::uno::Any > & rArgs, + const OUString & rMessage, + const css::uno::Reference< css::ucb::XCommandProcessor > & xContext + ); +}; + +} // namespace ucbhelper + +#endif /* ! UCBHELPER_SOURCE_PROVIDER_SIMPLEIOERRORREQUEST_HXX */ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |