diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2000-09-18 23:16:46 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2000-09-18 23:16:46 +0000 |
commit | 8b9e4e393eff8b89a37a5932548700c0b50bcab8 (patch) | |
tree | 3286bcc9991e518cadaabcaa0bc2eca596c45328 /dbaccess/source/core/api/CRowSetDataColumn.hxx | |
parent | a253a5ecd3e1deb645b041c92b37f92bba0b8e15 (diff) |
initial import
Diffstat (limited to 'dbaccess/source/core/api/CRowSetDataColumn.hxx')
-rw-r--r-- | dbaccess/source/core/api/CRowSetDataColumn.hxx | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/dbaccess/source/core/api/CRowSetDataColumn.hxx b/dbaccess/source/core/api/CRowSetDataColumn.hxx new file mode 100644 index 000000000000..bd610e9e6f05 --- /dev/null +++ b/dbaccess/source/core/api/CRowSetDataColumn.hxx @@ -0,0 +1,147 @@ +/************************************************************************* + * + * $RCSfile: CRowSetDataColumn.hxx,v $ + * + * $Revision: 1.1.1.1 $ + * + * last change: $Author: hr $ $Date: 2000-09-19 00:15:38 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ +#ifndef DBACCESS_CORE_API_CROWSETDATACOLUMN_HXX +#define DBACCESS_CORE_API_CROWSETDATACOLUMN_HXX + +#ifndef _DBACORE_DATACOLUMN_HXX_ +#include "datacolumn.hxx" +#endif +#ifndef DBACCESS_CORE_API_ROWSETROW_HXX +#include "RowSetRow.hxx" +#endif +#ifndef _CONNECTIVITY_COMMONTOOLS_HXX_ +#include <connectivity/CommonTools.hxx> +#endif +#ifndef _UNOTOOLS_PROPERTY_ARRAY_HELPER_HXX_ +#include <unotools/proparrhlp.hxx> +#endif + +namespace dbaccess +{ + class ORowSetDataColumn; + typedef ::utl::OPropertyArrayUsageHelper<ORowSetDataColumn> ORowSetDataColumn_PROP; + + class ORowSetDataColumn : public ODataColumn, + public OColumnSettings, + public ORowSetDataColumn_PROP + { + protected: + ORowSetMatrix::iterator& m_rColumnValue; + ORowSetMatrix::iterator& m_rEnd; // end of the matrix to when we reach the end + ::com::sun::star::uno::Any m_aOldValue; + public: + ORowSetDataColumn(const ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XResultSetMetaData >& _xMetaData, + const ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XRow >& _xRow, + const ::com::sun::star::uno::Reference < ::com::sun::star::sdbc::XRowUpdate >& _xRowUpdate, + sal_Int32 _nPos, + ORowSetMatrix::iterator& _rColumnValue, + ORowSetMatrix::iterator& _rEnd); + + ~ORowSetDataColumn(); + // com::sun::star::lang::XTypeProvider + virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException); + // utl::OPropertyArrayUsageHelper + virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const; + + // cppu::OPropertySetHelper + virtual ::cppu::IPropertyArrayHelper& SAL_CALL getInfoHelper(); + + virtual sal_Bool SAL_CALL convertFastPropertyValue( ::com::sun::star::uno::Any & rConvertedValue, + ::com::sun::star::uno::Any & rOldValue, + sal_Int32 nHandle, + const ::com::sun::star::uno::Any& rValue ) throw (::com::sun::star::lang::IllegalArgumentException); + virtual void SAL_CALL getFastPropertyValue( ::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const; + virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const ::com::sun::star::uno::Any& rValue )throw (::com::sun::star::uno::Exception); + + virtual OColumnSettings* getSettings() { return static_cast<ORowSetDataColumn*>(this); } + + virtual void fireValueChange(const ::com::sun::star::uno::Any& _rOldValue); + }; + // ------------------------------------------------------------------------- + typedef connectivity::ORefVector< ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> > + ORowSetDataColumns_COLLECTION; + class ORowSetDataColumns : public connectivity::sdbcx::OCollection + { + ORowSetDataColumns_COLLECTION m_aColumns; + protected: + virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNamed > createObject(const ::rtl::OUString& _rName); + virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException) {} + virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createEmptyObject() + { + return NULL; + } + public: + ORowSetDataColumns( + sal_Bool _bCase, + const ORowSetDataColumns_COLLECTION& _rColumns, + ::cppu::OWeakObject& _rParent, + ::osl::Mutex& _rMutex, + const ::std::vector< ::rtl::OUString> &_rVector + ) : connectivity::sdbcx::OCollection(_rParent,_bCase,_rMutex,_rVector) + ,m_aColumns(_rColumns) + {} + ~ORowSetDataColumns() + {} + }; +} + +#endif + |