1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
12 #include <com/sun/star/beans/Property.hpp>
13 #include <com/sun/star/lang/XSingleServiceFactory.hpp>
14 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
15 #include <ucbhelper/providerhelper.hxx>
16 #include <libcmis/libcmis.hxx>
21 class ContentProvider
: public ::ucbhelper::ContentProviderImplHelper
24 std::map
< std::pair
< OUString
, OUString
>, libcmis::Session
* > m_aSessionCache
;
27 explicit ContentProvider( const css::uno::Reference
< css::uno::XComponentContext
>& rxContext
);
28 virtual ~ContentProvider() override
;
31 virtual css::uno::Any SAL_CALL
queryInterface( const css::uno::Type
& rType
) override
;
32 virtual void SAL_CALL
acquire()
34 virtual void SAL_CALL
release()
38 virtual css::uno::Sequence
< sal_Int8
> SAL_CALL
getImplementationId() override
;
39 virtual css::uno::Sequence
< css::uno::Type
> SAL_CALL
getTypes() override
;
42 virtual OUString SAL_CALL
getImplementationName() override
;
43 virtual sal_Bool SAL_CALL
supportsService( const OUString
& ServiceName
) override
;
44 virtual css::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames() override
;
47 virtual css::uno::Reference
< css::ucb::XContent
> SAL_CALL
48 queryContent( const css::uno::Reference
< css::ucb::XContentIdentifier
>& Identifier
) override
;
50 libcmis::Session
* getSession( const OUString
& sBindingUrl
, const OUString
& sUsername
);
51 void registerSession( const OUString
& sBindingUrl
, const OUString
& sUsername
, libcmis::Session
* pSession
);
56 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */