23#include <com/sun/star/sdbcx/XRename.hpp>
28#include <com/sun/star/container/XNameAccess.hpp>
29#include <com/sun/star/sdbcx/XColumnsSupplier.hpp>
30#include <com/sun/star/beans/XPropertyChangeListener.hpp>
31#include <com/sun/star/uno/XComponentContext.hpp>
46 typedef std::map < OUString
47 , css::uno::Reference< css::beans::XPropertySet >
72 void insert(
const OUString& _rName,
const css::uno::Reference< css::beans::XPropertySet >& _rxColumn )
74 OSL_PRECOND(
m_aColumns.find( _rName ) ==
m_aColumns.end(),
"OComponentDefinition_Impl::insert: there's already an element with this name!" );
79class OColumnPropertyListener;
94 virtual void SAL_CALL
disposing()
override;
100 const css::uno::Reference< css::uno::XComponentContext >&,
101 const css::uno::Reference< css::uno::XInterface >& _xParentContainer,
103 bool _bTable =
true);
106 const css::uno::Reference< css::uno::XInterface >& _rxContainer
107 ,
const OUString& _rElementName
108 ,
const css::uno::Reference< css::uno::XComponentContext >&
113 virtual css::uno::Sequence<css::uno::Type> SAL_CALL
getTypes()
override;
124 virtual
void SAL_CALL
initialize( css::
uno::Sequence< css::
uno::Any > const & rArguments) override;
130 virtual css::
uno::Reference< css::container::XNameAccess > SAL_CALL
getColumns( ) override;
138 virtual
void columnAppended( const css::
uno::Reference< css::beans::XPropertySet >& _rxSourceDescriptor ) override;
148 const css::
uno::Any& rValue) override;
void insert(const OUString &_rName, const css::uno::Reference< css::beans::XPropertySet > &_rxColumn)
Columns::const_iterator const_iterator
virtual ~OComponentDefinition_Impl() override
const_iterator end() const
const_iterator find(const OUString &_rName) const
Columns::iterator iterator
const_iterator begin() const
void erase(const OUString &_rName)
std::map< OUString, css::uno::Reference< css::beans::XPropertySet > > Columns
OComponentDefinition_Impl()
virtual ::cppu::IPropertyArrayHelper &SAL_CALL getInfoHelper() override
std::unique_ptr< OColumns > m_pColumns
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
virtual void SAL_CALL initialize(css::uno::Sequence< css::uno::Any > const &rArguments) override
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
virtual OUString determineContentType() const override
virtual void columnAppended(const css::uno::Reference< css::beans::XPropertySet > &_rxSourceDescriptor) override
notifies that a column, created from a column descriptor, has been appended
void notifyDataSourceModified()
const OComponentDefinition_Impl & getDefinition() const
OComponentDefinition_Impl & getDefinition()
virtual void SAL_CALL disposing() override
virtual ::cppu::IPropertyArrayHelper * createArrayHelper() const override
OComponentDefinition(const css::uno::Reference< css::uno::XInterface > &_rxContainer, const OUString &_rElementName, const css::uno::Reference< css::uno::XComponentContext > &, const TContentPtr &_pImpl, bool _bTable=true)
virtual OUString SAL_CALL getImplementationName() override
virtual void columnDropped(const OUString &_sName) override
notifies that a column with a given name has been dropped
OComponentDefinition(const css::uno::Reference< css::uno::XComponentContext > &, const css::uno::Reference< css::uno::XInterface > &_xParentContainer, const TContentPtr &_pImpl, bool _bTable=true)
virtual rtl::Reference< OColumn > createColumn(const OUString &_rName) const override
creates an OColumn object which should represent the column with a given name
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual css::uno::Reference< css::beans::XPropertySet > createColumnDescriptor() override
creates a column descriptor object.
rtl::Reference< OColumnPropertyListener > m_xColumnPropertyListener
virtual ~OComponentDefinition() override
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &rValue) override
void registerProperties()
virtual css::uno::Reference< css::container::XNameAccess > SAL_CALL getColumns() override
std::shared_ptr< OContentHelper_Impl > TContentPtr
::cppu::ImplHelper1< css::sdbcx::XColumnsSupplier > OComponentDefinition_BASE
#define DECLARE_XINTERFACE()