Tag: cws_src680_dba204a User: fs Date: 2006/07/13 00:10:31 Modified: dba/dbaccess/source/core/dataaccess/ComponentDefinition.hxx
Log: RESYNC: (1.4-1.5); FILE MERGED 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.6.1&r2=1.4.6.2 Delta lines: +37 -11 --------------------- --- ComponentDefinition.hxx 6 Jul 2006 06:12:52 -0000 1.4.6.1 +++ ComponentDefinition.hxx 13 Jul 2006 07:10:28 -0000 1.4.6.2 @@ -85,19 +85,42 @@ ,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; - OComponentDefinition_Impl(); - virtual ~OComponentDefinition_Impl(); + private: + Columns m_aColumns; - TColumnsIndexAccess m_aColumns; // for a efficient index access - TColumns m_aColumnNames; // for a efficient name access + public: ::rtl::OUString m_sSchemaName; ::rtl::OUString m_sCatalogName; + + public: + OComponentDefinition_Impl(); + virtual ~OComponentDefinition_Impl(); + + 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 with this name!" ); + m_aColumns.insert( Columns::value_type( _rName, _rxColumn ) ); + } }; + typedef ::comphelper::ImplementationReference< OColumns,::com::sun::star::container::XNameAccess > TColumnsHelper; + //========================================================================= //= OComponentDefinition - a database "document" which describes a query //========================================================================= @@ -116,13 +139,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( @@ -159,9 +185,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]
