diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-04-12 09:05:17 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-04-12 21:07:47 +0200 |
commit | 169bd7718264b0e312052757f9bbd2321e1399c2 (patch) | |
tree | 069426d3d5ed1acd5f6584214a994c099549f223 /comphelper/source/misc | |
parent | 9bd5b6b9855ad11314ec5d00585fc568bb1689fe (diff) |
[API-CHANGE] drop css.comp.logging.SimpleLogRing
Change-Id: I2f61a8ec24a28a917b458673df6ed45ac1f93e72
Reviewed-on: https://gerrit.libreoffice.org/36447
Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'comphelper/source/misc')
-rw-r--r-- | comphelper/source/misc/documentiologring.cxx | 151 | ||||
-rw-r--r-- | comphelper/source/misc/documentiologring.hxx | 69 |
2 files changed, 0 insertions, 220 deletions
diff --git a/comphelper/source/misc/documentiologring.cxx b/comphelper/source/misc/documentiologring.cxx deleted file mode 100644 index e90cd95f0cf8..000000000000 --- a/comphelper/source/misc/documentiologring.cxx +++ /dev/null @@ -1,151 +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 <com/sun/star/frame/DoubleInitializationException.hpp> -#include <com/sun/star/lang/IllegalArgumentException.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> -#include <cppuhelper/supportsservice.hxx> - -#include "documentiologring.hxx" -#include <rtl/ref.hxx> - -using namespace ::com::sun::star; - -namespace comphelper -{ - - -OSimpleLogRing::OSimpleLogRing() -: m_aMessages( SIMPLELOGRING_SIZE ) -, m_bInitialized( false ) -, m_bFull( false ) -, m_nPos( 0 ) -{ -} - - -OSimpleLogRing::~OSimpleLogRing() -{ -} - -// XSimpleLogRing - -void SAL_CALL OSimpleLogRing::logString( const OUString& aMessage ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - - m_aMessages[m_nPos] = aMessage; - if ( ++m_nPos >= (sal_Int32)m_aMessages.size() ) - { - m_nPos = 0; - m_bFull = true; - } - - // if used once then default initialized - m_bInitialized = true; -} - - -uno::Sequence< OUString > SAL_CALL OSimpleLogRing::getCollectedLog() -{ - ::osl::MutexGuard aGuard( m_aMutex ); - - sal_Int32 nResLen = m_bFull ? m_aMessages.size() : m_nPos; - sal_Int32 nStart = m_bFull ? m_nPos : 0; - uno::Sequence< OUString > aResult( nResLen ); - - for ( sal_Int32 nInd = 0; nInd < nResLen; nInd++ ) - aResult[nInd] = m_aMessages[ ( nStart + nInd ) % m_aMessages.size() ]; - - // if used once then default initialized - m_bInitialized = true; - - return aResult; -} - -// XInitialization - -void SAL_CALL OSimpleLogRing::initialize( const uno::Sequence< uno::Any >& aArguments ) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - if ( m_bInitialized ) - throw frame::DoubleInitializationException(); - - if ( !m_refCount ) - throw uno::RuntimeException(); // the object must be refcounted already! - - if (aArguments.hasElements()) - { - sal_Int32 nLen = 0; - if ( aArguments.getLength() == 1 && ( aArguments[0] >>= nLen ) && nLen ) - m_aMessages.resize( nLen ); - else - throw lang::IllegalArgumentException( - "Nonnull size is expected as the first argument!", - uno::Reference< uno::XInterface >(), - 0 ); - } - - m_bInitialized = true; -} - -// XServiceInfo -OUString SAL_CALL OSimpleLogRing::getImplementationName() -{ - return OUString("com.sun.star.comp.logging.SimpleLogRing"); -} - -sal_Bool SAL_CALL OSimpleLogRing::supportsService( const OUString& aServiceName ) -{ - return cppu::supportsService(this, aServiceName); -} - -uno::Sequence< OUString > SAL_CALL OSimpleLogRing::getSupportedServiceNames() -{ - return { "com.sun.star.logging.SimpleLogRing" }; -} - -} // namespace comphelper - -namespace { - -struct Instance { - explicit Instance(): - instance(new comphelper::OSimpleLogRing()) - {} - - rtl::Reference<cppu::OWeakObject> instance; -}; - -struct Singleton: - public rtl::Static<Instance, Singleton> -{}; - -} - -extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface * SAL_CALL -com_sun_star_comp_logging_SimpleLogRing( - css::uno::XComponentContext *, - css::uno::Sequence<css::uno::Any> const &) -{ - return cppu::acquire(Singleton::get().instance.get()); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/comphelper/source/misc/documentiologring.hxx b/comphelper/source/misc/documentiologring.hxx deleted file mode 100644 index b4cffa8b85cf..000000000000 --- a/comphelper/source/misc/documentiologring.hxx +++ /dev/null @@ -1,69 +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 . - */ - -#ifndef INCLUDED_COMPHELPER_SOURCE_MISC_DOCUMENTIOLOGRING_HXX -#define INCLUDED_COMPHELPER_SOURCE_MISC_DOCUMENTIOLOGRING_HXX - -#include <com/sun/star/logging/XSimpleLogRing.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XInitialization.hpp> - -#include <osl/mutex.hxx> -#include <cppuhelper/implbase.hxx> -#include <vector> - -#define SIMPLELOGRING_SIZE 256 - -namespace comphelper -{ - -class OSimpleLogRing : public ::cppu::WeakImplHelper< css::logging::XSimpleLogRing, - css::lang::XInitialization, - css::lang::XServiceInfo > -{ - ::osl::Mutex m_aMutex; - std::vector< OUString > m_aMessages; - - bool m_bInitialized; - bool m_bFull; - sal_Int32 m_nPos; - -public: - OSimpleLogRing(); - virtual ~OSimpleLogRing() override; - -// XSimpleLogRing - virtual void SAL_CALL logString( const OUString& aMessage ) override; - virtual css::uno::Sequence< OUString > SAL_CALL getCollectedLog() override; - -// XInitialization - virtual void SAL_CALL initialize( const css::uno::Sequence< css::uno::Any >& aArguments ) 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; - -}; - -} // namespace comphelper - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |