LibreOffice Module framework (master) 1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
framework::ItemContainer Class Referencefinal

#include <itemcontainer.hxx>

Inheritance diagram for framework::ItemContainer:
[legend]
Collaboration diagram for framework::ItemContainer:
[legend]

Public Member Functions

 ItemContainer (const ShareableMutex &)
 
 ItemContainer (const ConstItemContainer &rConstItemContainer, const ShareableMutex &rMutex)
 
 ItemContainer (const css::uno::Reference< css::container::XIndexAccess > &rItemAccessContainer, const ShareableMutex &rMutex)
 
virtual ~ItemContainer () override
 
virtual void SAL_CALL insertByIndex (sal_Int32 Index, const css::uno::Any &Element) override
 
virtual void SAL_CALL removeByIndex (sal_Int32 Index) override
 
virtual void SAL_CALL replaceByIndex (sal_Int32 Index, const css::uno::Any &Element) override
 
virtual sal_Int32 SAL_CALL getCount () override
 
virtual css::uno::Any SAL_CALL getByIndex (sal_Int32 Index) override
 
virtual css::uno::Type SAL_CALL getElementType () override
 
virtual sal_Bool SAL_CALL hasElements () override
 

Private Member Functions

void copyItemContainer (const std::vector< css::uno::Sequence< css::beans::PropertyValue > > &rSourceVector, const ShareableMutex &rMutex)
 
css::uno::Reference< css::container::XIndexAccess > deepCopyContainer (const css::uno::Reference< css::container::XIndexAccess > &rSubContainer, const ShareableMutex &rMutex)
 

Private Attributes

ShareableMutex m_aShareMutex
 
std::vector< css::uno::Sequence< css::beans::PropertyValue > > m_aItemVector
 

Friends

class ConstItemContainer
 

Detailed Description

Definition at line 34 of file itemcontainer.hxx.

Constructor & Destructor Documentation

◆ ItemContainer() [1/3]

framework::ItemContainer::ItemContainer ( const ShareableMutex rMutex)

Definition at line 42 of file itemcontainer.cxx.

Referenced by deepCopyContainer().

◆ ItemContainer() [2/3]

framework::ItemContainer::ItemContainer ( const ConstItemContainer rConstItemContainer,
const ShareableMutex rMutex 
)

◆ ItemContainer() [3/3]

framework::ItemContainer::ItemContainer ( const css::uno::Reference< css::container::XIndexAccess > &  rItemAccessContainer,
const ShareableMutex rMutex 
)

◆ ~ItemContainer()

framework::ItemContainer::~ItemContainer ( )
overridevirtual

Definition at line 90 of file itemcontainer.cxx.

Member Function Documentation

◆ copyItemContainer()

void framework::ItemContainer::copyItemContainer ( const std::vector< css::uno::Sequence< css::beans::PropertyValue > > &  rSourceVector,
const ShareableMutex rMutex 
)
private

Definition at line 95 of file itemcontainer.cxx.

References deepCopyContainer(), i, m_aItemVector, Name, and nCount.

Referenced by ItemContainer().

◆ deepCopyContainer()

Reference< XIndexAccess > framework::ItemContainer::deepCopyContainer ( const css::uno::Reference< css::container::XIndexAccess > &  rSubContainer,
const ShareableMutex rMutex 
)
private

Definition at line 120 of file itemcontainer.cxx.

References ItemContainer().

Referenced by copyItemContainer().

◆ getByIndex()

Any SAL_CALL framework::ItemContainer::getByIndex ( sal_Int32  Index)
overridevirtual

Definition at line 151 of file itemcontainer.cxx.

References Any, m_aItemVector, and m_aShareMutex.

◆ getCount()

sal_Int32 SAL_CALL framework::ItemContainer::getCount ( )
overridevirtual

Definition at line 145 of file itemcontainer.cxx.

References m_aItemVector, and m_aShareMutex.

◆ getElementType()

virtual css::uno::Type SAL_CALL framework::ItemContainer::getElementType ( )
inlineoverridevirtual

Definition at line 60 of file itemcontainer.hxx.

◆ hasElements()

sal_Bool SAL_CALL framework::ItemContainer::hasElements ( )
overridevirtual

Definition at line 138 of file itemcontainer.cxx.

References m_aItemVector, and m_aShareMutex.

◆ insertByIndex()

void SAL_CALL framework::ItemContainer::insertByIndex ( sal_Int32  Index,
const css::uno::Any &  Element 
)
overridevirtual

Definition at line 161 of file itemcontainer.cxx.

References aSeq, m_aItemVector, m_aShareMutex, and WRONG_TYPE_EXCEPTION.

◆ removeByIndex()

void SAL_CALL framework::ItemContainer::removeByIndex ( sal_Int32  Index)
overridevirtual

Definition at line 181 of file itemcontainer.cxx.

References m_aItemVector, m_aShareMutex, and nIndex.

◆ replaceByIndex()

void SAL_CALL framework::ItemContainer::replaceByIndex ( sal_Int32  Index,
const css::uno::Any &  Element 
)
overridevirtual

Definition at line 190 of file itemcontainer.cxx.

References aSeq, m_aItemVector, m_aShareMutex, and WRONG_TYPE_EXCEPTION.

Friends And Related Function Documentation

◆ ConstItemContainer

friend class ConstItemContainer
friend

Definition at line 36 of file itemcontainer.hxx.

Member Data Documentation

◆ m_aItemVector

std::vector< css::uno::Sequence< css::beans::PropertyValue > > framework::ItemContainer::m_aItemVector
private

◆ m_aShareMutex

ShareableMutex framework::ItemContainer::m_aShareMutex
mutableprivate

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