Simplify avmedia::SoundHandler
Change-Id: I253d6eda265e3e93d4b85ac35376a96676a68553 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/178050 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
This commit is contained in:
parent
04c62acc63
commit
762d76d9a4
2 changed files with 9 additions and 75 deletions
|
@ -33,61 +33,7 @@
|
||||||
namespace avmedia{
|
namespace avmedia{
|
||||||
|
|
||||||
|
|
||||||
// XInterface, XTypeProvider, XServiceInfo
|
// XServiceInfo
|
||||||
|
|
||||||
|
|
||||||
void SAL_CALL SoundHandler::acquire() noexcept
|
|
||||||
{
|
|
||||||
/* Don't use mutex in methods of XInterface! */
|
|
||||||
OWeakObject::acquire();
|
|
||||||
}
|
|
||||||
|
|
||||||
void SAL_CALL SoundHandler::release() noexcept
|
|
||||||
{
|
|
||||||
/* Don't use mutex in methods of XInterface! */
|
|
||||||
OWeakObject::release();
|
|
||||||
}
|
|
||||||
|
|
||||||
css::uno::Any SAL_CALL SoundHandler::queryInterface( const css::uno::Type& aType )
|
|
||||||
{
|
|
||||||
/* Attention: Don't use mutex or guard in this method!!! Is a method of XInterface. */
|
|
||||||
/* Ask for my own supported interfaces ...*/
|
|
||||||
css::uno::Any aReturn( ::cppu::queryInterface( aType,
|
|
||||||
static_cast< css::lang::XTypeProvider* >(this),
|
|
||||||
static_cast< css::lang::XServiceInfo* >(this),
|
|
||||||
static_cast< css::frame::XNotifyingDispatch* >(this),
|
|
||||||
static_cast< css::frame::XDispatch* >(this),
|
|
||||||
static_cast< css::document::XExtendedFilterDetection* >(this)));
|
|
||||||
/* If searched interface not supported by this class ... */
|
|
||||||
if ( !aReturn.hasValue() )
|
|
||||||
{
|
|
||||||
/* ... ask baseclass for interfaces! */
|
|
||||||
aReturn = OWeakObject::queryInterface( aType );
|
|
||||||
}
|
|
||||||
/* Return result of this search. */
|
|
||||||
return aReturn;
|
|
||||||
}
|
|
||||||
|
|
||||||
css::uno::Sequence< sal_Int8 > SAL_CALL SoundHandler::getImplementationId()
|
|
||||||
{
|
|
||||||
return css::uno::Sequence<sal_Int8>();
|
|
||||||
}
|
|
||||||
|
|
||||||
css::uno::Sequence< css::uno::Type > SAL_CALL SoundHandler::getTypes()
|
|
||||||
{
|
|
||||||
static ::cppu::OTypeCollection aTypeCollection(
|
|
||||||
cppu::UnoType<css::lang::XTypeProvider>::get(),
|
|
||||||
cppu::UnoType<css::lang::XServiceInfo>::get(),
|
|
||||||
cppu::UnoType<css::frame::XNotifyingDispatch>::get(),
|
|
||||||
cppu::UnoType<css::frame::XDispatch>::get(),
|
|
||||||
cppu::UnoType<css::document::XExtendedFilterDetection>::get());
|
|
||||||
|
|
||||||
return aTypeCollection.getTypes();
|
|
||||||
}
|
|
||||||
|
|
||||||
/*===========================================================================================================*/
|
|
||||||
/* XServiceInfo */
|
|
||||||
/*===========================================================================================================*/
|
|
||||||
OUString SAL_CALL SoundHandler::getImplementationName()
|
OUString SAL_CALL SoundHandler::getImplementationName()
|
||||||
{
|
{
|
||||||
return u"com.sun.star.comp.framework.SoundHandler"_ustr;
|
return u"com.sun.star.comp.framework.SoundHandler"_ustr;
|
||||||
|
@ -162,7 +108,7 @@ void SAL_CALL SoundHandler::dispatchWithNotification(const css::util::URL&
|
||||||
const css::uno::Reference< css::frame::XDispatchResultListener >& xListener )
|
const css::uno::Reference< css::frame::XDispatchResultListener >& xListener )
|
||||||
{
|
{
|
||||||
// SAFE {
|
// SAFE {
|
||||||
const ::osl::MutexGuard aLock( m_aMutex );
|
const std::unique_lock aLock(m_aMutex);
|
||||||
|
|
||||||
utl::MediaDescriptor aDescriptor(lDescriptor);
|
utl::MediaDescriptor aDescriptor(lDescriptor);
|
||||||
|
|
||||||
|
@ -274,7 +220,7 @@ OUString SAL_CALL SoundHandler::detect( css::uno::Sequence< css::beans::Property
|
||||||
IMPL_LINK_NOARG(SoundHandler, implts_PlayerNotify, Timer *, void)
|
IMPL_LINK_NOARG(SoundHandler, implts_PlayerNotify, Timer *, void)
|
||||||
{
|
{
|
||||||
// SAFE {
|
// SAFE {
|
||||||
::osl::ClearableMutexGuard aLock( m_aMutex );
|
std::unique_lock aLock(m_aMutex);
|
||||||
|
|
||||||
if (m_xPlayer.is() && m_xPlayer->isPlaying() && m_xPlayer->getMediaTime() < m_xPlayer->getDuration())
|
if (m_xPlayer.is() && m_xPlayer->isPlaying() && m_xPlayer->getMediaTime() < m_xPlayer->getDuration())
|
||||||
{
|
{
|
||||||
|
@ -304,7 +250,7 @@ IMPL_LINK_NOARG(SoundHandler, implts_PlayerNotify, Timer *, void)
|
||||||
|
|
||||||
// } SAFE
|
// } SAFE
|
||||||
//release aLock before end of method at which point xOperationHold goes out of scope and pThis dies
|
//release aLock before end of method at which point xOperationHold goes out of scope and pThis dies
|
||||||
aLock.clear();
|
aLock.unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace framework
|
} // namespace framework
|
||||||
|
|
|
@ -29,6 +29,7 @@
|
||||||
|
|
||||||
#include <com/sun/star/lang/XServiceInfo.hpp>
|
#include <com/sun/star/lang/XServiceInfo.hpp>
|
||||||
|
|
||||||
|
#include <comphelper/compbase.hxx>
|
||||||
#include <cppuhelper/basemutex.hxx>
|
#include <cppuhelper/basemutex.hxx>
|
||||||
#include <cppuhelper/weak.hxx>
|
#include <cppuhelper/weak.hxx>
|
||||||
|
|
||||||
|
@ -49,15 +50,9 @@ namespace avmedia{
|
||||||
@devstatus ready
|
@devstatus ready
|
||||||
@threadsafe yes
|
@threadsafe yes
|
||||||
*//*-*************************************************************************************************************/
|
*//*-*************************************************************************************************************/
|
||||||
class SoundHandler : // interfaces
|
class SoundHandler : public comphelper::WeakImplHelper<css::lang::XServiceInfo,
|
||||||
public css::lang::XTypeProvider
|
css::frame::XNotifyingDispatch, // => XDispatch
|
||||||
, public css::lang::XServiceInfo
|
css::document::XExtendedFilterDetection>
|
||||||
, public css::frame::XNotifyingDispatch // => XDispatch
|
|
||||||
, public css::document::XExtendedFilterDetection
|
|
||||||
// baseclasses
|
|
||||||
// Order is necessary for right initialization!
|
|
||||||
, private cppu::BaseMutex
|
|
||||||
, public ::cppu::OWeakObject
|
|
||||||
{
|
{
|
||||||
// public methods
|
// public methods
|
||||||
public:
|
public:
|
||||||
|
@ -66,14 +61,7 @@ class SoundHandler : // interfaces
|
||||||
SoundHandler();
|
SoundHandler();
|
||||||
virtual ~SoundHandler( ) override;
|
virtual ~SoundHandler( ) override;
|
||||||
|
|
||||||
// XInterface, XTypeProvider, XServiceInfo
|
// XServiceInfo
|
||||||
virtual css::uno::Any SAL_CALL queryInterface( const css::uno::Type& aType ) override;
|
|
||||||
virtual void SAL_CALL acquire() noexcept override;
|
|
||||||
virtual void SAL_CALL release() noexcept override;
|
|
||||||
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes () override;
|
|
||||||
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override;
|
|
||||||
|
|
||||||
/* interface XServiceInfo */
|
|
||||||
virtual OUString SAL_CALL getImplementationName ( ) override;
|
virtual OUString SAL_CALL getImplementationName ( ) override;
|
||||||
virtual sal_Bool SAL_CALL supportsService ( const OUString& sServiceName ) override;
|
virtual sal_Bool SAL_CALL supportsService ( const OUString& sServiceName ) override;
|
||||||
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames ( ) override;
|
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames ( ) override;
|
||||||
|
|
Loading…
Reference in a new issue