/* -*- 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 INCLUDED_PACKAGE_INC_ZIPFILEACCESS_HXX #define INCLUDED_PACKAGE_INC_ZIPFILEACCESS_HXX #include #include #include #include #include #include #include #include #include #include #include "ZipFile.hxx" #include "HashMaps.hxx" #include class OZipFileAccess : public ::cppu::WeakImplHelper< css::packages::zip::XZipFileAccess2, css::lang::XInitialization, css::lang::XComponent, css::lang::XServiceInfo > { rtl::Reference m_aMutexHolder; css::uno::Reference< css::uno::XComponentContext > m_xContext; css::uno::Reference< css::io::XInputStream > m_xContentStream; std::unique_ptr m_pZipFile; std::unique_ptr<::comphelper::OInterfaceContainerHelper2> m_pListenersContainer; bool m_bDisposed; bool m_bOwnContent; public: OZipFileAccess( const css::uno::Reference< css::uno::XComponentContext >& rxContext ); virtual ~OZipFileAccess() override; static css::uno::Sequence< OUString > GetPatternsFromString_Impl( const OUString& aString ); static bool StringGoodForPattern_Impl( const OUString& aString, const css::uno::Sequence< OUString >& aPattern ); static css::uno::Sequence< OUString > impl_staticGetSupportedServiceNames(); static OUString impl_staticGetImplementationName(); static css::uno::Reference< css::uno::XInterface > impl_staticCreateSelfInstance( const css::uno::Reference< css::lang::XMultiServiceFactory >& rxMSF ); // XInitialization virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) override; // XNameAccess virtual css::uno::Any SAL_CALL getByName( const OUString& aName ) override; virtual css::uno::Sequence< OUString > SAL_CALL getElementNames( ) override; virtual sal_Bool SAL_CALL hasByName( const OUString& aName ) override; virtual css::uno::Type SAL_CALL getElementType( ) override; virtual sal_Bool SAL_CALL hasElements( ) override; // XZipFileAccess virtual css::uno::Reference< css::io::XInputStream > SAL_CALL getStreamByPattern( const OUString& aPattern ) override; // XComponent virtual void SAL_CALL dispose( ) override; virtual void SAL_CALL addEventListener( const css::uno::Reference< css::lang::XEventListener >& xListener ) override; virtual void SAL_CALL removeEventListener( const css::uno::Reference< css::lang::XEventListener >& aListener ) override; // XServiceInfo virtual OUString SAL_CALL getImplementationName() override; virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override; virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames( ) override; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ 0 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-03-21tdf#96505 - Get rid of cargo cult long integer literalsudaycoder
Change-Id: I56fbc7cd9c879b18ac65c5e6adf80f01c6b95b84 Reviewed-on: https://gerrit.libreoffice.org/35176 Reviewed-by: Michael Stahl <mstahl@redhat.com> Tested-by: Michael Stahl <mstahl@redhat.com>
2017-02-17Drop :: prefix from std in [de]*/Tor Lillqvist
Change-Id: I3247894fe022dce7f0aa351bd85fefcd7c545dd4 Reviewed-on: https://gerrit.libreoffice.org/34377 Reviewed-by: Tor Lillqvist <tml@collabora.com> Tested-by: Tor Lillqvist <tml@collabora.com>
2017-02-10Remove MinGW supportStephan Bergmann
In OOo times, there'd originally been efforts to allow building on Windows with MinGW. Later, in LO times, this has been shifted to an attempt of cross- compiling for Windows on Linux. That attempt can be considered abandoned, and the relevant code rotting. Due to this heritage, there are now three kinds of MinGW-specific code in LO: * Code from the original OOo native Windows effort that is no longer relevant for the LO cross-compilation effort, but has never been removed properly. * Code from the original OOo native Windows effort that is re-purposed for the LO cross-compilation effort. * Code that has been added specifially for the LO cross-compilation effort. All three kinds of code are removed. (An unrelated, remaining use of MinGW is for --enable-build-unowinreg, utilizing --with-mingw-cross-compiler, MINGWCXX, and MINGWSTRIP.) Change-Id: I49daad8669b4cbe49fa923050c4a4a6ff7dda568 Reviewed-on: https://gerrit.libreoffice.org/34127 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2017-02-08Add missing #includesStephan Bergmann
...like 6dce9c6757823b9e89863716ae70ff4e8ddd4e60, for Windows-only code Change-Id: I35f37aae2e6f55ff8ed82afc710a9b59a43b028c
2017-02-01loplugin:stringconstantStephan Bergmann
Change-Id: I8b7611d6fdc55fc8cd9551e129a2e03e58682229