2001-07-25 12:30:17 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-10 11:06:43 +00:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2001-07-25 12:30:17 +00:00
|
|
|
*
|
2008-04-10 11:06:43 +00:00
|
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
2001-07-25 12:30:17 +00:00
|
|
|
*
|
2008-04-10 11:06:43 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2001-07-25 12:30:17 +00:00
|
|
|
*
|
2008-04-10 11:06:43 +00:00
|
|
|
* $RCSfile: staticdbtools_s.hxx,v $
|
|
|
|
* $Revision: 1.12 $
|
2001-07-25 12:30:17 +00:00
|
|
|
*
|
2008-04-10 11:06:43 +00:00
|
|
|
* This file is part of OpenOffice.org.
|
2001-07-25 12:30:17 +00:00
|
|
|
*
|
2008-04-10 11:06:43 +00:00
|
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
|
|
* only, as published by the Free Software Foundation.
|
2001-07-25 12:30:17 +00:00
|
|
|
*
|
2008-04-10 11:06:43 +00:00
|
|
|
* OpenOffice.org 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 version 3 for more details
|
|
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
2001-07-25 12:30:17 +00:00
|
|
|
*
|
2008-04-10 11:06:43 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
|
|
* <http://www.openoffice.org/license.html>
|
|
|
|
* for a copy of the LGPLv3 License.
|
2001-07-25 12:30:17 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
|
|
|
|
#ifndef CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX
|
|
|
|
#define CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX
|
|
|
|
|
|
|
|
#include <connectivity/virtualdbtools.hxx>
|
|
|
|
#include "refbase.hxx"
|
|
|
|
|
|
|
|
//........................................................................
|
|
|
|
namespace connectivity
|
|
|
|
{
|
|
|
|
//........................................................................
|
|
|
|
|
|
|
|
//================================================================
|
|
|
|
//= ODataAccessStaticTools
|
|
|
|
//================================================================
|
|
|
|
class ODataAccessStaticTools
|
|
|
|
:public simple::IDataAccessTypeConversion
|
|
|
|
,public simple::IDataAccessTools
|
|
|
|
,public ORefBase
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
ODataAccessStaticTools();
|
|
|
|
|
|
|
|
// IDataAccessTypeConversion
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::com::sun::star::util::Date getStandardDate() const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual double getValue(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn>& _rxVariant,
|
|
|
|
const ::com::sun::star::util::Date& rNullDate,
|
|
|
|
sal_Int16 nKeyType) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::rtl::OUString getValue(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _rxColumn,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& _rxFormatter,
|
|
|
|
const ::com::sun::star::util::Date& _rNullDate,
|
|
|
|
sal_Int32 _nKey,
|
|
|
|
sal_Int16 _nKeyType) const;
|
|
|
|
|
2001-08-06 13:50:00 +00:00
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::rtl::OUString getValue(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxColumn,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter>& _rxFormatter,
|
|
|
|
const ::com::sun::star::lang::Locale& _rLocale,
|
|
|
|
const ::com::sun::star::util::Date& _rNullDate
|
|
|
|
) const;
|
|
|
|
|
|
|
|
// IDataAccessTools
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getConnection_withFeedback(
|
|
|
|
const ::rtl::OUString& _rDataSourceName,
|
|
|
|
const ::rtl::OUString& _rUser,
|
|
|
|
const ::rtl::OUString& _rPwd,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory
|
|
|
|
) const SAL_THROW ( (::com::sun::star::sdbc::SQLException) );
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> connectRowset(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& _rxRowSet,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory,
|
|
|
|
sal_Bool _bSetAsActiveConnection
|
2005-02-17 09:16:30 +00:00
|
|
|
) const SAL_THROW ( ( ::com::sun::star::sdbc::SQLException
|
|
|
|
, ::com::sun::star::lang::WrappedTargetException
|
|
|
|
, ::com::sun::star::uno::RuntimeException ) );
|
2001-08-06 13:50:00 +00:00
|
|
|
|
2002-10-07 12:09:48 +00:00
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getRowSetConnection(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& _rxRowSet)
|
|
|
|
const SAL_THROW ( (::com::sun::star::uno::RuntimeException) );
|
|
|
|
|
2001-08-06 13:50:00 +00:00
|
|
|
// ------------------------------------------------
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier> getNumberFormats(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection>& _rxConn,
|
|
|
|
sal_Bool _bAllowDefault
|
|
|
|
) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual sal_Int32 getDefaultNumberFormat(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumn,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatTypes >& _rxTypes,
|
|
|
|
const ::com::sun::star::lang::Locale& _rLocale
|
|
|
|
) const;
|
|
|
|
|
2001-07-25 12:30:17 +00:00
|
|
|
// ------------------------------------------------
|
|
|
|
virtual void TransferFormComponentProperties(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxOld,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxNew,
|
|
|
|
const ::com::sun::star::lang::Locale& _rLocale
|
|
|
|
) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::rtl::OUString quoteName(
|
|
|
|
const ::rtl::OUString& _rQuote,
|
|
|
|
const ::rtl::OUString& _rName
|
|
|
|
) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
2006-07-10 13:40:08 +00:00
|
|
|
virtual ::rtl::OUString composeTableNameForSelect(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection,
|
|
|
|
const ::rtl::OUString& _rCatalog,
|
|
|
|
const ::rtl::OUString& _rSchema,
|
2001-07-25 12:30:17 +00:00
|
|
|
const ::rtl::OUString& _rName
|
2006-07-10 13:40:08 +00:00
|
|
|
) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::rtl::OUString composeTableNameForSelect(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _xTable
|
2001-07-25 12:30:17 +00:00
|
|
|
) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::com::sun::star::sdb::SQLContext prependContextInfo(
|
|
|
|
::com::sun::star::sdbc::SQLException& _rException,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxContext,
|
|
|
|
const ::rtl::OUString& _rContextDescription,
|
|
|
|
const ::rtl::OUString& _rContextDetails
|
|
|
|
) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
2001-08-06 13:50:00 +00:00
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource > getDataSource(
|
|
|
|
const ::rtl::OUString& _rsRegisteredName,
|
2001-07-25 12:30:17 +00:00
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory
|
|
|
|
) const;
|
|
|
|
|
2002-10-07 12:09:48 +00:00
|
|
|
// ------------------------------------------------
|
|
|
|
/** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::INSERT
|
|
|
|
@param _rxCursorSet the property set
|
|
|
|
*/
|
|
|
|
virtual sal_Bool canInsert(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
/** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::UPDATE
|
|
|
|
@param _rxCursorSet the property set
|
|
|
|
*/
|
|
|
|
virtual sal_Bool canUpdate(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
/** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::DELETE
|
|
|
|
@param _rxCursorSet the property set
|
|
|
|
*/
|
|
|
|
virtual sal_Bool canDelete(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
|
|
|
|
|
2003-03-19 15:38:50 +00:00
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >
|
|
|
|
getFieldsByCommandDescriptor(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection,
|
|
|
|
const sal_Int32 _nCommandType,
|
|
|
|
const ::rtl::OUString& _rCommand,
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& _rxKeepFieldsAlive,
|
|
|
|
::dbtools::SQLExceptionInfo* _pErrorInfo = NULL
|
|
|
|
) SAL_THROW( ( ) );
|
|
|
|
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString >
|
|
|
|
getFieldNamesByCommandDescriptor(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection,
|
|
|
|
const sal_Int32 _nCommandType,
|
|
|
|
const ::rtl::OUString& _rCommand,
|
|
|
|
::dbtools::SQLExceptionInfo* _pErrorInfo = NULL
|
|
|
|
) SAL_THROW( ( ) );
|
|
|
|
|
2004-09-09 09:03:00 +00:00
|
|
|
// ------------------------------------------------
|
2004-10-22 10:32:39 +00:00
|
|
|
virtual bool isEmbeddedInDatabase(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent,
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxActualConnection
|
|
|
|
);
|
2004-09-09 09:03:00 +00:00
|
|
|
|
2001-07-25 12:30:17 +00:00
|
|
|
// disambiguate IReference
|
|
|
|
// ------------------------------------------------
|
|
|
|
virtual oslInterlockedCount SAL_CALL acquire();
|
|
|
|
virtual oslInterlockedCount SAL_CALL release();
|
|
|
|
};
|
|
|
|
|
|
|
|
//........................................................................
|
|
|
|
} // namespace connectivity
|
|
|
|
//........................................................................
|
|
|
|
|
|
|
|
#endif // CONNECTIVITY_STATIC_DBTOOLS_SIMPLE_HXX
|
|
|
|
|