LibreOffice Module ucb (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SortedDynamicResultSet Class Reference

#include <sortdynres.hxx>

Inheritance diagram for SortedDynamicResultSet:
Collaboration diagram for SortedDynamicResultSet:

Public Member Functions

 SortedDynamicResultSet (const css::uno::Reference< css::ucb::XDynamicResultSet > &xOriginal, const css::uno::Sequence< css::ucb::NumberedSortingInfo > &aOptions, const css::uno::Reference< css::ucb::XAnyCompareFactory > &xCompFac, const css::uno::Reference< css::uno::XComponentContext > &rxContext)
virtual ~SortedDynamicResultSet () override
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
virtual void SAL_CALL dispose () override
virtual void SAL_CALL addEventListener (const css::uno::Reference< css::lang::XEventListener > &Listener) override
virtual void SAL_CALL removeEventListener (const css::uno::Reference< css::lang::XEventListener > &Listener) override
virtual css::uno::Reference< css::sdbc::XResultSet > SAL_CALL getStaticResultSet () override
virtual void SAL_CALL setListener (const css::uno::Reference< css::ucb::XDynamicResultSetListener > &Listener) override
virtual void SAL_CALL connectToCache (const css::uno::Reference< css::ucb::XDynamicResultSet > &xCache) override
virtual sal_Int16 SAL_CALL getCapabilities () override
void impl_disposing ()
void impl_notify (const css::ucb::ListEvent &Changes)
 In the first notify-call the listener gets the two <type>XResultSet</type>s and has to hold them. More...

Private Member Functions

void SendNotify ()

Private Attributes

std::unique_ptr< comphelper::OInterfaceContainerHelper3< css::lang::XEventListener > > mpDisposeEventListeners
css::uno::Reference< css::ucb::XDynamicResultSetListener > mxListener
css::uno::Reference< css::ucb::XDynamicResultSet > mxOriginal
css::uno::Sequence< css::ucb::NumberedSortingInfo > maOptions
css::uno::Reference< css::ucb::XAnyCompareFactory > mxCompFac
css::uno::Reference< css::uno::XComponentContext > m_xContext
rtl::Reference< SortedResultSetmxOne
rtl::Reference< SortedResultSetmxTwo
rtl::Reference< SortedDynamicResultSetListenermxOwnListener
EventList maActions
osl::Mutex maMutex
bool mbGotWelcome:1
bool mbUseOne:1
bool mbStatic:1

Detailed Description

Definition at line 37 of file sortdynres.hxx.

Constructor & Destructor Documentation

SortedDynamicResultSet::SortedDynamicResultSet ( const css::uno::Reference< css::ucb::XDynamicResultSet > &  xOriginal,
const css::uno::Sequence< css::ucb::NumberedSortingInfo > &  aOptions,
const css::uno::Reference< css::ucb::XAnyCompareFactory > &  xCompFac,
const css::uno::Reference< css::uno::XComponentContext > &  rxContext 

Definition at line 50 of file sortdynres.cxx.

References m_xContext.

SortedDynamicResultSet::~SortedDynamicResultSet ( )

Definition at line 70 of file sortdynres.cxx.

Member Function Documentation

void SAL_CALL SortedDynamicResultSet::addEventListener ( const css::uno::Reference< css::lang::XEventListener > &  Listener)

Definition at line 119 of file sortdynres.cxx.

References getContainerMutex(), and maMutex.

void SAL_CALL SortedDynamicResultSet::connectToCache ( const css::uno::Reference< css::ucb::XDynamicResultSet > &  xCache)

Definition at line 181 of file sortdynres.cxx.

References Exception, m_xContext, mxListener, and xTarget.

void SAL_CALL SortedDynamicResultSet::dispose ( void  )

Definition at line 101 of file sortdynres.cxx.

References maMutex.

sal_Int16 SAL_CALL SortedDynamicResultSet::getCapabilities ( )

Definition at line 212 of file sortdynres.cxx.

References maMutex.

OUString SAL_CALL SortedDynamicResultSet::getImplementationName ( )

Definition at line 84 of file sortdynres.cxx.

Reference< XResultSet > SAL_CALL SortedDynamicResultSet::getStaticResultSet ( )

Definition at line 144 of file sortdynres.cxx.

References SortedResultSet::Initialize(), maMutex, and mxListener.

css::uno::Sequence< OUString > SAL_CALL SortedDynamicResultSet::getSupportedServiceNames ( )

Definition at line 94 of file sortdynres.cxx.

void SortedDynamicResultSet::impl_disposing ( )

Definition at line 371 of file sortdynres.cxx.

References mxListener.

void SortedDynamicResultSet::impl_notify ( const css::ucb::ListEvent &  Changes)

In the first notify-call the listener gets the two <type>XResultSet</type>s and has to hold them.


The <type>XResultSet</type>s are implementations of the service <type>ContentResultSet</type>.

The notified new <type>XResultSet</type> will stay valid after returning notification. The old one will become invalid after returning notification.

While in notify-call the listener is allowed to read old and new version, except in the first call, where only the new Resultset is valid.

The Listener is allowed to blockade this call, until he really want to go to the new version. The only situation, where the listener has to return the update call at once is, while he disposes his broadcaster or while he is removing himself as listener (otherwise you deadlock)!!!

Definition at line 245 of file sortdynres.cxx.

References Any, SortedResultSet::CheckProperties(), SortedResultSet::CopyData(), SortedResultSet::GetCount(), SortedResultSet::getPropertyValue(), SortedResultSet::InsertNew(), maMutex, SortedResultSet::Move(), SortedResultSet::Remove(), SortedResultSet::ResortModified(), SortedResultSet::ResortNew(), and SortedResultSet::SetChanged().

void SAL_CALL SortedDynamicResultSet::removeEventListener ( const css::uno::Reference< css::lang::XEventListener > &  Listener)

Definition at line 131 of file sortdynres.cxx.

References maMutex.

void SortedDynamicResultSet::SendNotify ( )

Definition at line 379 of file sortdynres.cxx.

References i, mxListener, and nCount.

void SAL_CALL SortedDynamicResultSet::setListener ( const css::uno::Reference< css::ucb::XDynamicResultSetListener > &  Listener)

Definition at line 164 of file sortdynres.cxx.

References maMutex, and mxListener.

sal_Bool SAL_CALL SortedDynamicResultSet::supportsService ( const OUString &  ServiceName)

Definition at line 89 of file sortdynres.cxx.

References cppu::supportsService().

Member Data Documentation

css::uno::Reference< css::uno::XComponentContext > SortedDynamicResultSet::m_xContext

Definition at line 48 of file sortdynres.hxx.

EventList SortedDynamicResultSet::maActions

Definition at line 54 of file sortdynres.hxx.

osl::Mutex SortedDynamicResultSet::maMutex

Definition at line 55 of file sortdynres.hxx.

css::uno::Sequence< css::ucb::NumberedSortingInfo > SortedDynamicResultSet::maOptions

Definition at line 46 of file sortdynres.hxx.

bool SortedDynamicResultSet::mbGotWelcome

Definition at line 56 of file sortdynres.hxx.

bool SortedDynamicResultSet::mbStatic

Definition at line 58 of file sortdynres.hxx.

bool SortedDynamicResultSet::mbUseOne

Definition at line 57 of file sortdynres.hxx.

std::unique_ptr<comphelper::OInterfaceContainerHelper3<css::lang::XEventListener> > SortedDynamicResultSet::mpDisposeEventListeners

Definition at line 41 of file sortdynres.hxx.

css::uno::Reference< css::ucb::XAnyCompareFactory > SortedDynamicResultSet::mxCompFac

Definition at line 47 of file sortdynres.hxx.

css::uno::Reference< css::ucb::XDynamicResultSetListener > SortedDynamicResultSet::mxListener

Definition at line 43 of file sortdynres.hxx.

rtl::Reference<SortedResultSet> SortedDynamicResultSet::mxOne

Definition at line 50 of file sortdynres.hxx.

css::uno::Reference< css::ucb::XDynamicResultSet > SortedDynamicResultSet::mxOriginal

Definition at line 45 of file sortdynres.hxx.

rtl::Reference<SortedDynamicResultSetListener> SortedDynamicResultSet::mxOwnListener

Definition at line 52 of file sortdynres.hxx.

rtl::Reference<SortedResultSet> SortedDynamicResultSet::mxTwo

Definition at line 51 of file sortdynres.hxx.

The documentation for this class was generated from the following files: