User: obo Date: 2006/07/10 08:08:06 Modified: dba/dbaccess/source/core/dataaccess/ComponentDefinition.hxx
Log: INTEGRATION: CWS qiq (1.3.124); FILE MERGED 2006/06/27 11:59:58 fs 1.3.124.2: RESYNC: (1.3-1.4); FILE MERGED 2006/06/16 11:47:38 fs 1.3.124.1: during #i51143#: refactored VCollection: - createEmptyObject now named createDescriptor - cloneObject removed - appendObject now returns the newly created object (previously done via a subsequent call to cloneObject) File Changes: Directory: /dba/dbaccess/source/core/dataaccess/ ================================================ File [changed]: ComponentDefinition.hxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/core/dataaccess/ComponentDefinition.hxx?r1=1.4&r2=1.5 Delta lines: +31 -7 -------------------- --- ComponentDefinition.hxx 20 Jun 2006 02:42:45 -0000 1.4 +++ ComponentDefinition.hxx 10 Jul 2006 15:08:03 -0000 1.5 @@ -81,13 +81,34 @@ ,public ODataSettings_Base { public: - DECLARE_STL_USTRINGACCESS_MAP(::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> , TColumns); - DECLARE_STL_VECTOR(TColumns::iterator, TColumnsIndexAccess); + typedef ::std::map < ::rtl::OUString + , ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > + > Columns; + typedef Columns::iterator iterator; + typedef Columns::const_iterator const_iterator; - TColumnsIndexAccess m_aColumns; // for a efficient index access - TColumns m_aColumnNames; // for a efficient name access + private: + Columns m_aColumns; + + public: ::rtl::OUString m_sSchemaName; ::rtl::OUString m_sCatalogName; + + public: + inline size_t size() const { return m_aColumns.size(); } + + inline const_iterator begin() const { return m_aColumns.begin(); } + inline const_iterator end() const { return m_aColumns.end(); } + + inline const_iterator find( const ::rtl::OUString& _rName ) const { return m_aColumns.find( _rName ); } + + inline void erase( const ::rtl::OUString& _rName ) { m_aColumns.erase( _rName ); } + + inline void insert( const ::rtl::OUString& _rName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumn ) + { + OSL_PRECOND( m_aColumns.find( _rName ) == m_aColumns.end(), "OComponentDefinition_Impl::insert: there's already an element wihh this name!" ); + m_aColumns.insert( Columns::value_type( _rName, _rxColumn ) ); + } }; //========================================================================= @@ -109,13 +130,16 @@ virtual ~OComponentDefinition(); virtual void SAL_CALL disposing(); + + protected: OComponentDefinition(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ,const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _xParentContainer ,const TContentPtr& _pImpl ,sal_Bool _bTable = sal_True); - + const OComponentDefinition_Impl& getDefinition() const { return dynamic_cast< const OComponentDefinition_Impl& >( *m_pImpl.get() ); } + OComponentDefinition_Impl& getDefinition() { return dynamic_cast< OComponentDefinition_Impl& >( *m_pImpl.get() ); } public: OComponentDefinition( @@ -152,9 +176,9 @@ // IColumnFactory virtual OColumn* createColumn(const ::rtl::OUString& _rName) const; - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createEmptyObject(); + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createColumnDescriptor(); + virtual void columnAppended( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxSourceDescriptor ); virtual void columnDropped(const ::rtl::OUString& _sName); - virtual void columnCloned(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _xClone); protected: // OPropertyArrayUsageHelper --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
