xmlhelp/Library_ucpchelp1.mk | 1 xmlhelp/source/cxxhelp/provider/databases.cxx | 1 xmlhelp/source/cxxhelp/provider/inputstream.cxx | 185 ------------------------ xmlhelp/source/cxxhelp/provider/inputstream.hxx | 96 ------------ 4 files changed, 283 deletions(-)
New commits: commit 13a3a28969d45f12c552e2d2968c03373cb2a063 Author: Julien Nabet <serval2...@yahoo.fr> AuthorDate: Wed Apr 30 14:05:36 2025 +0200 Commit: Julien Nabet <serval2...@yahoo.fr> CommitDate: Wed Apr 30 15:40:59 2025 +0200 Related tdf#165980: now cxxhelp/provider/inputstream is useless, get rid of it Change-Id: I3f1c71cc83f6f086c472a94adb8d5b916d1c8526 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184827 Reviewed-by: Julien Nabet <serval2...@yahoo.fr> Tested-by: Jenkins diff --git a/xmlhelp/Library_ucpchelp1.mk b/xmlhelp/Library_ucpchelp1.mk index 16b730e72c85..6c2b114eb661 100644 --- a/xmlhelp/Library_ucpchelp1.mk +++ b/xmlhelp/Library_ucpchelp1.mk @@ -47,7 +47,6 @@ $(eval $(call gb_Library_add_exception_objects,ucpchelp1,\ xmlhelp/source/cxxhelp/provider/contentcaps \ xmlhelp/source/cxxhelp/provider/databases \ xmlhelp/source/cxxhelp/provider/db \ - xmlhelp/source/cxxhelp/provider/inputstream \ xmlhelp/source/cxxhelp/provider/provider \ xmlhelp/source/cxxhelp/provider/resultset \ xmlhelp/source/cxxhelp/provider/resultsetbase \ diff --git a/xmlhelp/source/cxxhelp/provider/databases.cxx b/xmlhelp/source/cxxhelp/provider/databases.cxx index ba1ab577f5f5..4e125779789f 100644 --- a/xmlhelp/source/cxxhelp/provider/databases.cxx +++ b/xmlhelp/source/cxxhelp/provider/databases.cxx @@ -29,7 +29,6 @@ #include <com/sun/star/awt/Toolkit.hpp> #include <com/sun/star/i18n/Collator.hpp> #include <comphelper/propertysequence.hxx> -#include "inputstream.hxx" #include <algorithm> #include <cassert> #include <string.h> diff --git a/xmlhelp/source/cxxhelp/provider/inputstream.cxx b/xmlhelp/source/cxxhelp/provider/inputstream.cxx deleted file mode 100644 index 30b2e1e2e4db..000000000000 --- a/xmlhelp/source/cxxhelp/provider/inputstream.cxx +++ /dev/null @@ -1,185 +0,0 @@ -/* -*- 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 . - */ - - -#include "inputstream.hxx" - -#include <com/sun/star/io/IOException.hpp> -#include <com/sun/star/lang/IllegalArgumentException.hpp> -#include <cppuhelper/queryinterface.hxx> - - -using namespace chelp; -using namespace com::sun::star; - - -XInputStream_impl::XInputStream_impl( const OUString& aUncPath ) - : m_bIsOpen( false ), - m_aFile( aUncPath ) -{ - m_bIsOpen = ( osl::FileBase::E_None == m_aFile.open( osl_File_OpenFlag_Read ) ); -} - -XInputStream_impl::~XInputStream_impl() -{ - if (m_bIsOpen) - m_aFile.close(); -} - -uno::Any SAL_CALL -XInputStream_impl::queryInterface( const uno::Type& rType ) -{ - uno::Any aRet = cppu::queryInterface( rType, - static_cast< io::XInputStream* >(this), - static_cast< io::XSeekable* >(this) ); - return aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType ); -} - - -void SAL_CALL -XInputStream_impl::acquire() - noexcept -{ - OWeakObject::acquire(); -} - - -void SAL_CALL -XInputStream_impl::release() - noexcept -{ - OWeakObject::release(); -} - - -sal_Int32 SAL_CALL -XInputStream_impl::readBytes( - uno::Sequence< sal_Int8 >& aData, - sal_Int32 nBytesToRead ) -{ - if( ! m_bIsOpen ) - throw io::IOException(); - - if (aData.getLength() < nBytesToRead) - aData.realloc(nBytesToRead); - //TODO! translate memory exhaustion (if it were detectable...) into - // io::BufferSizeExceededException - - sal_uInt64 nBytesRead; - m_aFile.read( aData.getArray(), sal_uInt64(nBytesToRead), nBytesRead ); - - // Shrink aData in case we read less than nBytesToRead (XInputStream - // documentation does not tell whether this is required, and I do not know - // if any code relies on this, so be conservative---SB): - if (nBytesRead != sal::static_int_cast<sal_uInt64>(nBytesToRead) ) - aData.realloc(sal_Int32(nBytesRead)); - return static_cast<sal_Int32>(nBytesRead); -} - -sal_Int32 SAL_CALL -XInputStream_impl::readSomeBytes( - uno::Sequence< sal_Int8 >& aData, - sal_Int32 nMaxBytesToRead ) -{ - return readBytes( aData,nMaxBytesToRead ); -} - - -void SAL_CALL -XInputStream_impl::skipBytes( - sal_Int32 nBytesToSkip ) -{ - if (m_aFile.setPos(osl_Pos_Current, sal_uInt64(nBytesToSkip)) != osl::FileBase::E_None) - { - throw io::IOException(u"XInputStream_impl::skipBytes failed seek"_ustr); - } -} - - -sal_Int32 SAL_CALL -XInputStream_impl::available() -{ - sal_uInt64 uPos; - if( osl::FileBase::E_None != m_aFile.getPos( uPos ) ) - throw io::IOException(); - sal_uInt64 uSize; - if( osl::FileBase::E_None != m_aFile.getSize( uSize ) ) - throw io::IOException(); - return std::min<sal_uInt64>(SAL_MAX_INT32, uSize - uPos); -} - - -void SAL_CALL -XInputStream_impl::closeInput() -{ - if( m_bIsOpen ) - { - osl::FileBase::RC err = m_aFile.close(); - if( err != osl::FileBase::E_None ) - throw io::IOException(); - m_bIsOpen = false; - } -} - - -void SAL_CALL -XInputStream_impl::seek( sal_Int64 location ) -{ - if( location < 0 ) - throw lang::IllegalArgumentException(); - if( osl::FileBase::E_None != m_aFile.setPos( osl_Pos_Absolut, sal_uInt64( location ) ) ) - throw io::IOException(); -} - - -sal_Int64 SAL_CALL -XInputStream_impl::getPosition() -{ - sal_uInt64 uPos; - if( osl::FileBase::E_None != m_aFile.getPos( uPos ) ) - throw io::IOException(); - return sal_Int64( uPos ); -} - -sal_Int64 SAL_CALL -XInputStream_impl::getLength() -{ - osl::FileBase::RC err; - sal_uInt64 uCurrentPos, uEndPos; - - err = m_aFile.getPos( uCurrentPos ); - if( err != osl::FileBase::E_None ) - throw io::IOException(); - - err = m_aFile.setPos( osl_Pos_End, 0 ); - if( err != osl::FileBase::E_None ) - throw io::IOException(); - - err = m_aFile.getPos( uEndPos ); - if( err != osl::FileBase::E_None ) - throw io::IOException(); - - err = m_aFile.setPos( osl_Pos_Absolut, uCurrentPos ); - if( err != osl::FileBase::E_None ) - throw io::IOException(); - - return sal_Int64( uEndPos ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/xmlhelp/source/cxxhelp/provider/inputstream.hxx b/xmlhelp/source/cxxhelp/provider/inputstream.hxx deleted file mode 100644 index 5f9146293b46..000000000000 --- a/xmlhelp/source/cxxhelp/provider/inputstream.hxx +++ /dev/null @@ -1,96 +0,0 @@ -/* -*- 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 . - */ - -#pragma once - -#include <rtl/ustring.hxx> -#include <osl/file.hxx> -#include <cppuhelper/weak.hxx> -#include <com/sun/star/io/XSeekable.hpp> -#include <com/sun/star/io/XInputStream.hpp> - - -namespace chelp { - - class XInputStream_impl - : public cppu::OWeakObject, - public css::io::XInputStream, - public css::io::XSeekable - { - - public: - explicit XInputStream_impl( const OUString& aUncPath ); - - virtual ~XInputStream_impl() override; - - /** - * Returns an error code as given by filerror.hxx - */ - - bool CtorSuccess() { return m_bIsOpen;} - - virtual css::uno::Any SAL_CALL - queryInterface( - const css::uno::Type& rType ) override; - - virtual void SAL_CALL - acquire() - noexcept override; - - virtual void SAL_CALL - release() - noexcept override; - - virtual sal_Int32 SAL_CALL - readBytes( - css::uno::Sequence< sal_Int8 >& aData, - sal_Int32 nBytesToRead ) override; - - virtual sal_Int32 SAL_CALL - readSomeBytes( - css::uno::Sequence< sal_Int8 >& aData, - sal_Int32 nMaxBytesToRead ) override; - - virtual void SAL_CALL - skipBytes( sal_Int32 nBytesToSkip ) override; - - virtual sal_Int32 SAL_CALL - available() override; - - virtual void SAL_CALL - closeInput() override; - - virtual void SAL_CALL - seek( sal_Int64 location ) override; - - virtual sal_Int64 SAL_CALL - getPosition() override; - - virtual sal_Int64 SAL_CALL - getLength() override; - - private: - bool m_bIsOpen; - osl::File m_aFile; - }; - - -} // end namespace XInputStream_impl - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */