diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:55:39 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:55:39 +0100 |
commit | 371976860088a3c5c3df9840dcdfd632d9d6f1f5 (patch) | |
tree | 9e9f67205cd5b72f1031721273e1534a3a1e5b0f /connectivity/source/drivers/evoab2 | |
parent | 651568afad1a585c485384ab6d7b65780fb02256 (diff) |
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'connectivity/source/drivers/evoab2')
31 files changed, 0 insertions, 6478 deletions
diff --git a/connectivity/source/drivers/evoab2/EApi.cxx b/connectivity/source/drivers/evoab2/EApi.cxx deleted file mode 100644 index 1767ec1bcf..0000000000 --- a/connectivity/source/drivers/evoab2/EApi.cxx +++ /dev/null @@ -1,138 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" - -#include <rtl/ustring.hxx> -#include <osl/module.h> -#include <stdio.h> -#define DECLARE_FN_POINTERS 1 -#include "EApi.h" -static const char *eBookLibNames[] = { - "libebook-1.2.so.10", // bumped again - "libebook-1.2.so.9", // evolution-2.8 - "libebook-1.2.so.5", // evolution-2.4 and 2.6+ - "libebook-1.2.so.3", // evolution-2.2 - "libebook.so.8" // evolution-2.0 -}; - -typedef void (*SymbolFunc) (void); - -#define SYM_MAP(a) { #a, (SymbolFunc *)&a } - static struct { - const char *sym_name; - SymbolFunc *ref_value; - } aApiMap[] = { - SYM_MAP( e_contact_field_name ), - SYM_MAP( e_contact_get ), - SYM_MAP( e_contact_get_type ), - SYM_MAP( e_contact_field_id ), - SYM_MAP( e_source_peek_name ), - SYM_MAP( e_source_get_property ), - SYM_MAP( e_source_list_peek_groups ), - SYM_MAP( e_source_group_peek_sources ), - SYM_MAP( e_book_new ), - SYM_MAP( e_book_open ), - SYM_MAP( e_book_get_uri ), - SYM_MAP( e_book_get_source ), - SYM_MAP( e_book_get_addressbooks ), - SYM_MAP( e_book_get_contacts ), - SYM_MAP( e_book_authenticate_user ), - SYM_MAP( e_book_query_field_test ), - SYM_MAP( e_book_query_and ), - SYM_MAP( e_book_query_or ), - SYM_MAP( e_book_query_not ), - SYM_MAP( e_book_query_ref ), - SYM_MAP( e_book_query_unref ), - SYM_MAP( e_book_query_from_string ), - SYM_MAP( e_book_query_to_string ), - SYM_MAP( e_book_query_field_exists ), - SYM_MAP( e_source_group_peek_base_uri) - }; -#undef SYM_MAP - -static bool -tryLink( oslModule &aModule, const char *pName ) -{ - for( guint i = 0; i < G_N_ELEMENTS( aApiMap ); i++ ) - { - SymbolFunc aMethod; - aMethod = (SymbolFunc) osl_getFunctionSymbol - ( aModule, rtl::OUString::createFromAscii ( aApiMap[ i ].sym_name ).pData ); - if( !aMethod ) - { - fprintf( stderr, "Warning: missing symbol '%s' in '%s'", - aApiMap[ i ].sym_name, pName ); - return false; - } - * aApiMap[ i ].ref_value = aMethod; - } - return true; -} - -bool EApiInit() -{ - oslModule aModule; - - for( guint j = 0; j < G_N_ELEMENTS( eBookLibNames ); j++ ) - { - aModule = osl_loadModule( rtl::OUString::createFromAscii - ( eBookLibNames[ j ] ).pData, - SAL_LOADMODULE_DEFAULT ); - if( aModule) - { - if ( tryLink( aModule, eBookLibNames[ j ] ) ) - return true; - osl_unloadModule( aModule ); - } - } - fprintf( stderr, "Can find no compliant libebook client libraries\n" ); - return false; -} - -#if 0 -// hjs: SOLARDEF does no longer exist please lookup the required -// defines in a regular compile line -/* - * Test code - enable & - * - * Compile with ( after source LinuxIntelEnv.Set.sh ) - gcc $SOLARDEF -I $SOLARVER/$UPD/$INPATH/inc \ - -I. `pkg-config --cflags --libs gobject-2.0` \ - -L $SOLARVER/$UPD/$INPATH/lib -luno_sal -lstdc++ EApi.cxx - */ - -int main( int argc, char **argv) -{ - return EApiInit(); -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/EApi.h b/connectivity/source/drivers/evoab2/EApi.h deleted file mode 100755 index c089fda927..0000000000 --- a/connectivity/source/drivers/evoab2/EApi.h +++ /dev/null @@ -1,145 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_EVOLUTION_API_HXX_ -#define _CONNECTIVITY_EVOAB_EVOLUTION_API_HXX_ -#include <glib-object.h> - -// Initializes the API below, returns false if not available -bool EApiInit(); - -G_BEGIN_DECLS - -// This header defined all the API methods as -// function pointers instead of real functions -// this will all evaporate as it is compiled generating -// no symbol lookups or relocations, but giving code -// clarity. - -// We attempt to define a minimum API that we use: - -// e-contact.h -#ifdef DECLARE_FN_POINTERS -#define EAPI_EXTERN -#else -#define EAPI_EXTERN extern -#endif - - -typedef void EContact; -#define E_CONTACT(a) ((EContact *)(a)) -#define E_TYPE_CONTACT (e_contact_get_type()) -typedef int EContactField; - -EAPI_EXTERN const char *(*e_contact_field_name) ( EContactField field_id); -EAPI_EXTERN gpointer (*e_contact_get) (EContact *contact, EContactField field_id); -EAPI_EXTERN gconstpointer (*e_contact_get_const) (EContact *contact, EContactField field_id); -// e-source.h -typedef void ESource; -#define E_SOURCE(a) ((ESource *)(a)) -EAPI_EXTERN const char *(*e_source_peek_name) (ESource *source); -EAPI_EXTERN const gchar *(*e_source_get_property) (ESource *source, - const gchar *property); - -EAPI_EXTERN GType (*e_contact_get_type) (void); -EAPI_EXTERN EContactField (*e_contact_field_id) (const char *field_name); - -// e-source-list.h -typedef void ESourceList; -EAPI_EXTERN GSList *(*e_source_list_peek_groups) (ESourceList *list); - -// e-source-group.h -typedef void ESourceGroup; -#define E_SOURCE_GROUP(a) ((ESourceGroup *)(a)) - -EAPI_EXTERN GSList *(*e_source_group_peek_sources) (ESourceGroup *group); -EAPI_EXTERN const char *(*e_source_group_peek_base_uri) (ESourceGroup *group); -// e-book.h -typedef enum { - E_BOOK_QUERY_IS, - E_BOOK_QUERY_CONTAINS, - E_BOOK_QUERY_BEGINS_WITH, - E_BOOK_QUERY_ENDS_WITH, -} EBookQueryTest; - -typedef void EBook; -typedef void EBookQuery; - -EAPI_EXTERN EBook *(*e_book_new) (ESource *source, - GError **error); - -EAPI_EXTERN gboolean (*e_book_open) (EBook *book, - gboolean only_if_exists, - GError **error); - -EAPI_EXTERN const char *(*e_book_get_uri) (EBook *book); -EAPI_EXTERN ESource *(*e_book_get_source)(EBook *book); - -EAPI_EXTERN gboolean (*e_book_get_addressbooks) (ESourceList **addressbook_sources, - GError **error); - -EAPI_EXTERN gboolean (*e_book_get_contacts) (EBook *book, - EBookQuery *query, - GList **contacts, - GError **error); - -EAPI_EXTERN gboolean (*e_book_authenticate_user) (EBook *book, - const char *user, - const char *passwd, - const char *auth_method, - GError **error); - -// e-book-query.h -EAPI_EXTERN EBookQuery* (*e_book_query_field_exists) (EContactField field); -EAPI_EXTERN EBookQuery* (*e_book_query_field_test) (EContactField field, - EBookQueryTest test, - const char *value); -EAPI_EXTERN EBookQuery* (*e_book_query_and) (int nqs, EBookQuery **qs, gboolean unref); -EAPI_EXTERN EBookQuery* (*e_book_query_or) (int nqs, EBookQuery **qs, gboolean unref); -EAPI_EXTERN EBookQuery* (*e_book_query_not) (EBookQuery *q, gboolean unref); -EAPI_EXTERN EBookQuery* (*e_book_query_ref) (EBookQuery *q); -EAPI_EXTERN void (*e_book_query_unref) (EBookQuery *q); -EAPI_EXTERN char* (*e_book_query_to_string) (EBookQuery *q); -EAPI_EXTERN EBookQuery* (*e_book_query_from_string) (const char *query_string); - -typedef struct { - char *address_format; /* the two letter country code that - determines the format/meaning of the - following fields */ - char *po; - char *ext; - char *street; - char *locality; - char *region; - char *code; - char *country; -} EContactAddress; -G_END_DECLS -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NCatalog.cxx b/connectivity/source/drivers/evoab2/NCatalog.cxx deleted file mode 100644 index d1cc91b842..0000000000 --- a/connectivity/source/drivers/evoab2/NCatalog.cxx +++ /dev/null @@ -1,102 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "NCatalog.hxx" -#include "NConnection.hxx" -#include "NTables.hxx" -#include <com/sun/star/sdbc/XRow.hpp> -#include <com/sun/star/sdbc/XResultSet.hpp> -#include "NDebug.hxx" - - -// ------------------------------------------------------------------------- -using namespace connectivity::evoab; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::sdbcx; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::container; -using namespace ::com::sun::star::lang; -// ------------------------------------------------------------------------- -OEvoabCatalog::OEvoabCatalog(OEvoabConnection* _pCon) : - connectivity::sdbcx::OCatalog(_pCon) - ,m_pConnection(_pCon) - ,m_xMetaData(m_pConnection->getMetaData()) -{ -} -void OEvoabCatalog::refreshTables() -{ - TStringVector aVector; - Sequence< ::rtl::OUString > aTypes(1); - aTypes[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TABLE")); - Reference< XResultSet > xResult = m_xMetaData->getTables(Any(), - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("%")),::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("%")),aTypes); - - if(xResult.is()) - { - Reference< XRow > xRow(xResult,UNO_QUERY); - ::rtl::OUString aName; - - while(xResult->next()) - { - aName = xRow->getString(3); - aVector.push_back(aName); - } - } - if(m_pTables) - m_pTables->reFill(aVector); - else - m_pTables = new OEvoabTables(m_xMetaData,*this,m_aMutex,aVector); -} -// XTablesSupplier -Reference< XNameAccess > SAL_CALL OEvoabCatalog::getTables( ) throw(RuntimeException) -{ - ::osl::MutexGuard aGuard(m_aMutex); - - try - { - if (!m_pTables) { - refreshTables(); - } - } - catch( const RuntimeException& ) - { - // allowed to leave this method - throw; - } - catch( const Exception& ) - { - // allowed - } - - return m_pTables; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NCatalog.hxx b/connectivity/source/drivers/evoab2/NCatalog.hxx deleted file mode 100644 index b08b4e46a1..0000000000 --- a/connectivity/source/drivers/evoab2/NCatalog.hxx +++ /dev/null @@ -1,58 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_CATALOG_HXX_ -#define _CONNECTIVITY_EVOAB_CATALOG_HXX_ - -#include "connectivity/sdbcx/VCatalog.hxx" - -namespace connectivity -{ - namespace evoab - { - class OEvoabConnection; - class OEvoabCatalog : public connectivity::sdbcx::OCatalog - { - OEvoabConnection *m_pConnection; - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData; - public: - OEvoabCatalog(OEvoabConnection *_pCon); - inline OEvoabConnection* getConnection() const { return m_pConnection; } - virtual void refreshTables(); - virtual void refreshViews() {} - virtual void refreshGroups() {} - virtual void refreshUsers() {} - // XTablesSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getTables( - ) throw(::com::sun::star::uno::RuntimeException); - }; - } -} -#endif // _CONNECTIVITY_MOZAB_CATALOG_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NColumns.cxx b/connectivity/source/drivers/evoab2/NColumns.cxx deleted file mode 100644 index 53818b7507..0000000000 --- a/connectivity/source/drivers/evoab2/NColumns.cxx +++ /dev/null @@ -1,93 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" - -#include "NColumns.hxx" -#include "NTable.hxx" -#include "NTables.hxx" -#include "NCatalog.hxx" -#include "connectivity/sdbcx/VColumn.hxx" - -using namespace connectivity::sdbcx; -using namespace connectivity; -using namespace ::comphelper; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::container; -using namespace ::com::sun::star::lang; -using namespace connectivity::evoab; - -// ------------------------------------------------------------------------- -sdbcx::ObjectType OEvoabColumns::createObject(const ::rtl::OUString& _rName) -{ - Reference< XResultSet > xResult = m_pTable->getConnection()->getMetaData()->getColumns( - Any(), - m_pTable->getSchema(), - m_pTable->getTableName(), - _rName); - - sdbcx::ObjectType xRet = NULL; - if (xResult.is()) - { - Reference< XRow > xRow(xResult,UNO_QUERY); - - while (xResult->next()) - { - if (xRow->getString(4) == _rName) - { - OColumn* pRet = new OColumn( - _rName, - xRow->getString(6), - xRow->getString(13), - xRow->getString(12), - xRow->getInt(11), - xRow->getInt(7), - xRow->getInt(9), - xRow->getInt(5), - sal_False, - sal_False, - sal_False, - sal_True); - xRet = pRet; - break; - } - } - } - - return xRet; -} -// ------------------------------------------------------------------------- -void OEvoabColumns::impl_refresh() throw(RuntimeException) -{ - m_pTable->refreshColumns(); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NColumns.hxx b/connectivity/source/drivers/evoab2/NColumns.hxx deleted file mode 100644 index 34c01e911f..0000000000 --- a/connectivity/source/drivers/evoab2/NColumns.hxx +++ /dev/null @@ -1,60 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_COLUMNS_HXX_ -#define _CONNECTIVITY_EVOAB_COLUMNS_HXX_ - -#include "NTable.hxx" -#include "connectivity/sdbcx/VCollection.hxx" - -namespace connectivity -{ - namespace evoab - { - class OEvoabColumns : public sdbcx::OCollection - { - protected: - OEvoabTable* m_pTable; - - virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName); - virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException); - - public: - OEvoabColumns( OEvoabTable* _pTable, - ::osl::Mutex& _rMutex, - const TStringVector &_rVector - ) : sdbcx::OCollection(*_pTable,sal_True,_rMutex,_rVector), - m_pTable(_pTable) - { } - }; - } -} - -#endif // _CONNECTIVITY_EVOAB_COLUMNS_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NConnection.cxx b/connectivity/source/drivers/evoab2/NConnection.cxx deleted file mode 100644 index f056f61719..0000000000 --- a/connectivity/source/drivers/evoab2/NConnection.cxx +++ /dev/null @@ -1,293 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "NConnection.hxx" -#include "NDatabaseMetaData.hxx" -#include "NCatalog.hxx" -#include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/sdbc/TransactionIsolation.hpp> -#include <tools/urlobj.hxx> -#include "NPreparedStatement.hxx" -#include "NStatement.hxx" -#include <comphelper/extract.hxx> -#include <connectivity/dbexception.hxx> -#include <comphelper/processfactory.hxx> -#include <tools/debug.hxx> -#include "NDebug.hxx" -#include <comphelper/sequence.hxx> - -using namespace connectivity::evoab; -using namespace dbtools; - -//------------------------------------------------------------------------------ -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::sdbcx; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::lang; - -::rtl::OUString implGetExceptionMsg( Exception& e, const ::rtl::OUString& aExceptionType_ ) -{ - ::rtl::OUString aExceptionType = aExceptionType_; - if( aExceptionType.getLength() == 0 ) - aExceptionType = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Unknown")) ; - - ::rtl::OUString aTypeLine( RTL_CONSTASCII_USTRINGPARAM("\nType: " ) ); - aTypeLine += aExceptionType; - - ::rtl::OUString aMessageLine( RTL_CONSTASCII_USTRINGPARAM("\nMessage: " ) ); - aMessageLine += ::rtl::OUString( e.Message ); - - ::rtl::OUString aMsg(aTypeLine); - aMsg += aMessageLine; - return aMsg; -} - - // Exception type unknown -::rtl::OUString implGetExceptionMsg( Exception& e ) -{ - ::rtl::OUString aMsg = implGetExceptionMsg( e, ::rtl::OUString() ); - return aMsg; -} - -// -------------------------------------------------------------------------------- -OEvoabConnection::OEvoabConnection( OEvoabDriver& _rDriver ) - :OSubComponent<OEvoabConnection, OConnection_BASE>( (::cppu::OWeakObject*)(&_rDriver), this ) - ,m_rDriver(_rDriver) - ,m_xCatalog(NULL) -{ -} -//----------------------------------------------------------------------------- -OEvoabConnection::~OEvoabConnection() -{ - ::osl::MutexGuard aGuard( m_aMutex ); - - if(!isClosed()) { - acquire(); - close(); - } -} - -//----------------------------------------------------------------------------- -void SAL_CALL OEvoabConnection::release() throw() -{ - relase_ChildImpl(); -} - -// XServiceInfo -// -------------------------------------------------------------------------------- -IMPLEMENT_SERVICE_INFO(OEvoabConnection, "com.sun.star.sdbc.drivers.evoab.Connection", "com.sun.star.sdbc.Connection") - -//----------------------------------------------------------------------------- -void OEvoabConnection::construct(const ::rtl::OUString& url, const Sequence< PropertyValue >& info) throw(SQLException) -{ - osl_incrementInterlockedCount( &m_refCount ); - EVO_TRACE_STRING("OEvoabConnection::construct()::url = %s\n", url ); - - ::rtl::OUString sPassword; - const char* pPwd = "password"; - - const PropertyValue *pIter = info.getConstArray(); - const PropertyValue *pEnd = pIter + info.getLength(); - for(;pIter != pEnd;++pIter) - { - if(!pIter->Name.compareToAscii(pPwd)) - { - pIter->Value >>= sPassword; - break; - } - } - - if (url.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("sdbc:address:evolution:groupwise"))) - setSDBCAddressType(SDBCAddress::EVO_GWISE); - else if (url.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("sdbc:address:evolution:ldap"))) - setSDBCAddressType(SDBCAddress::EVO_LDAP); - else - setSDBCAddressType(SDBCAddress::EVO_LOCAL); - setURL(url); - setPassword(::rtl::OUStringToOString(sPassword,RTL_TEXTENCODING_UTF8)); - osl_decrementInterlockedCount( &m_refCount ); -} - -// -------------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabConnection::nativeSQL( const ::rtl::OUString& _sSql ) throw(SQLException, RuntimeException) -{ - // when you need to transform SQL92 to you driver specific you can do it here - return _sSql; -} -// -------------------------------------------------------------------------------- -Reference< XDatabaseMetaData > SAL_CALL OEvoabConnection::getMetaData( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OConnection_BASE::rBHelper.bDisposed); - - Reference< XDatabaseMetaData > xMetaData = m_xMetaData; - if(!xMetaData.is()) - { - xMetaData = new OEvoabDatabaseMetaData(this); - m_xMetaData = xMetaData; - } - - return xMetaData; -} -//------------------------------------------------------------------------------ -::com::sun::star::uno::Reference< XTablesSupplier > OEvoabConnection::createCatalog() -{ - ::osl::MutexGuard aGuard( m_aMutex ); - Reference< XTablesSupplier > xTab = m_xCatalog; - if(!xTab.is()) - { - OEvoabCatalog *pCat = new OEvoabCatalog(this); - xTab = pCat; - m_xCatalog = xTab; - } - return xTab; -} -// -------------------------------------------------------------------------------- -Reference< XStatement > SAL_CALL OEvoabConnection::createStatement( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OConnection_BASE::rBHelper.bDisposed); - - OStatement* pStmt = new OStatement(this); - - Reference< XStatement > xStmt = pStmt; - m_aStatements.push_back(WeakReferenceHelper(*pStmt)); - return xStmt; -} -// -------------------------------------------------------------------------------- -Reference< XPreparedStatement > SAL_CALL OEvoabConnection::prepareStatement( const ::rtl::OUString& sql ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OConnection_BASE::rBHelper.bDisposed); - - OEvoabPreparedStatement* pStmt = new OEvoabPreparedStatement( this ); - Reference< XPreparedStatement > xStmt = pStmt; - pStmt->construct( sql ); - - m_aStatements.push_back(WeakReferenceHelper(*pStmt)); - return xStmt; -} - -Reference< XPreparedStatement > SAL_CALL OEvoabConnection::prepareCall( const ::rtl::OUString& /*sql*/ ) throw( SQLException, RuntimeException) -{ - ::dbtools::throwFeatureNotImplementedException( "XConnection::prepareCall", *this ); - return NULL; -} -sal_Bool SAL_CALL OEvoabConnection::isClosed( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - return OConnection_BASE::rBHelper.bDisposed; -} - -// -------------------------------------------------------------------------------- -// XCloseable -void SAL_CALL OEvoabConnection::close( ) throw(SQLException, RuntimeException) -{ - { // we just dispose us - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OConnection_BASE::rBHelper.bDisposed); - } - dispose(); -} - -// -------------------------------------------------------------------------------- -// XWarningsSupplier -Any SAL_CALL OEvoabConnection::getWarnings( ) throw(SQLException, RuntimeException) -{ - return m_aWarnings.getWarnings(); -} -void SAL_CALL OEvoabConnection::clearWarnings( ) throw(SQLException, RuntimeException) -{ - m_aWarnings.clearWarnings(); -} -//------------------------------------------------------------------------------ - -void OEvoabConnection::disposing() -{ - // we noticed that we should be destroyed in near future so we have to dispose our statements - ::osl::MutexGuard aGuard(m_aMutex); - OConnection_BASE::disposing(); - dispose_ChildImpl(); -} - -// -------------------------------- stubbed methods ------------------------------------------------ -void SAL_CALL OEvoabConnection::setAutoCommit( sal_Bool /*autoCommit*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFeatureNotImplementedException( "XConnection::setAutoCommit", *this ); -} -sal_Bool SAL_CALL OEvoabConnection::getAutoCommit( ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -void SAL_CALL OEvoabConnection::commit( ) throw(SQLException, RuntimeException) -{ -} -void SAL_CALL OEvoabConnection::rollback( ) throw(SQLException, RuntimeException) -{ -} -void SAL_CALL OEvoabConnection::setReadOnly( sal_Bool /*readOnly*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFeatureNotImplementedException( "XConnection::setReadOnly", *this ); -} -sal_Bool SAL_CALL OEvoabConnection::isReadOnly( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -void SAL_CALL OEvoabConnection::setCatalog( const ::rtl::OUString& /*catalog*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFeatureNotImplementedException( "XConnection::setCatalog", *this ); -} - -::rtl::OUString SAL_CALL OEvoabConnection::getCatalog( ) throw(SQLException, RuntimeException) -{ - return ::rtl::OUString(); -} -void SAL_CALL OEvoabConnection::setTransactionIsolation( sal_Int32 /*level*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFeatureNotImplementedException( "XConnection::setTransactionIsolation", *this ); -} - -sal_Int32 SAL_CALL OEvoabConnection::getTransactionIsolation( ) throw(SQLException, RuntimeException) -{ - return TransactionIsolation::NONE; -} - -Reference< ::com::sun::star::container::XNameAccess > SAL_CALL OEvoabConnection::getTypeMap( ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFeatureNotImplementedException( "XConnection::getTypeMap", *this ); - return NULL; -} -void SAL_CALL OEvoabConnection::setTypeMap( const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFeatureNotImplementedException( "XConnection::setTypeMap", *this ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NConnection.hxx b/connectivity/source/drivers/evoab2/NConnection.hxx deleted file mode 100644 index 2b25b76013..0000000000 --- a/connectivity/source/drivers/evoab2/NConnection.hxx +++ /dev/null @@ -1,126 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_CONNECTION_HXX_ -#define _CONNECTIVITY_EVOAB_CONNECTION_HXX_ - -#include "NDriver.hxx" -#include <com/sun/star/sdbc/SQLWarning.hpp> -#include <com/sun/star/beans/PropertyValue.hpp> -#include "OSubComponent.hxx" -#include <com/sun/star/sdbcx/XTablesSupplier.hpp> -#include "connectivity/CommonTools.hxx" -#include "connectivity/warningscontainer.hxx" -#include "TConnection.hxx" -#include <cppuhelper/weakref.hxx> -#include <osl/module.h> -#include "EApi.h" - -namespace connectivity -{ - namespace evoab - { - - namespace SDBCAddress { - typedef enum { - Unknown = 0, - EVO_LOCAL = 1, - EVO_LDAP = 2, - EVO_GWISE = 3 - } sdbc_address_type; - } - - typedef connectivity::OMetaConnection OConnection_BASE; // implements basics and text encoding - - class OEvoabConnection :public OConnection_BASE - ,public connectivity::OSubComponent<OEvoabConnection, OConnection_BASE> - { - friend class connectivity::OSubComponent<OEvoabConnection, OConnection_BASE>; - - private: - const OEvoabDriver& m_rDriver; - SDBCAddress::sdbc_address_type m_eSDBCAddressType; - ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > - m_xCatalog; - ::rtl::OString m_aPassword; - ::dbtools::WarningsContainer m_aWarnings; - - virtual ~OEvoabConnection(); - - public: - OEvoabConnection( OEvoabDriver& _rDriver ); - virtual void construct(const ::rtl::OUString& _rUrl,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rInfo ) throw( ::com::sun::star::sdbc::SQLException); - - inline rtl::OString getPassword() { return m_aPassword; } - inline void setPassword( rtl::OString aStr ) { m_aPassword = aStr; } - // own methods - inline const OEvoabDriver& getDriver() const { return m_rDriver; } - - SDBCAddress::sdbc_address_type getSDBCAddressType() const { return m_eSDBCAddressType;} - void setSDBCAddressType(SDBCAddress::sdbc_address_type _eSDBCAddressType) {m_eSDBCAddressType = _eSDBCAddressType;} - - // OComponentHelper - virtual void SAL_CALL disposing(void); - // XInterface - virtual void SAL_CALL release() throw(); - - // XServiceInfo - DECLARE_SERVICE_INFO(); - - // XConnection - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > createCatalog(); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XStatement > SAL_CALL createStatement( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XPreparedStatement > SAL_CALL prepareStatement( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XPreparedStatement > SAL_CALL prepareCall( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL nativeSQL( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setAutoCommit( sal_Bool autoCommit ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getAutoCommit( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL commit( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL rollback( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isClosed( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > SAL_CALL getMetaData( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setReadOnly( sal_Bool readOnly ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isReadOnly( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setCatalog( const ::rtl::OUString& catalog ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getCatalog( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTransactionIsolation( sal_Int32 level ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getTransactionIsolation( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getTypeMap( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTypeMap( const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& typeMap ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - - // XCloseable - virtual void SAL_CALL close( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XWarningsSupplier - virtual ::com::sun::star::uno::Any SAL_CALL getWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clearWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - }; - } -} -#endif // _CONNECTIVITY_EVOAB_CONNECTION_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx b/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx deleted file mode 100644 index 5af4a68551..0000000000 --- a/connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx +++ /dev/null @@ -1,1196 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "NDatabaseMetaData.hxx" -#include <com/sun/star/sdbc/DataType.hpp> -#include <com/sun/star/sdbc/ResultSetType.hpp> -#include <com/sun/star/sdbc/ResultSetConcurrency.hpp> -#include <com/sun/star/sdbc/TransactionIsolation.hpp> -#include <connectivity/dbexception.hxx> -#include <connectivity/FValue.hxx> -#include <com/sun/star/sdbc/ColumnValue.hpp> -#include <com/sun/star/sdbc/ColumnSearch.hpp> - -#include <vector> -#include <string.h> -#include "EApi.h" - -#if OSL_DEBUG_LEVEL > 0 -# define OUtoCStr( x ) ( ::rtl::OUStringToOString ( (x), RTL_TEXTENCODING_ASCII_US).getStr()) -#else /* OSL_DEBUG_LEVEL */ -# define OUtoCStr( x ) ("dummy") -#endif /* OSL_DEBUG_LEVEL */ - -using namespace connectivity::evoab; -using namespace connectivity; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; -using namespace com::sun::star::beans; -using namespace com::sun::star::sdbc; -using namespace com::sun::star::sdbcx; - - -namespace connectivity -{ - namespace evoab - { - static sal_Int32 const s_nCOLUMN_SIZE = 256; - static sal_Int32 const s_nDECIMAL_DIGITS = 0; - static sal_Int32 const s_nNULLABLE = 1; - static sal_Int32 const s_nCHAR_OCTET_LENGTH = 65535; - - static ColumnProperty **pFields=NULL; - static guint nFields = 0; - - static const char *pBlackList[] = - { - "id", - "list-show-addresses", - "address-label-home", - "address-label-work", - "address-label-other" - }; - - const SplitEvoColumns* get_evo_addr() - { - static const SplitEvoColumns evo_addr[] = { - {"addr-line1",DEFAULT_ADDR_LINE1},{"addr-line2",DEFAULT_ADDR_LINE2},{"city",DEFAULT_CITY},{"state",DEFAULT_STATE},{"country",DEFAULT_COUNTRY},{"zip",DEFAULT_ZIP}, - {"work-addr-line1",WORK_ADDR_LINE1},{"work-addr-line2",WORK_ADDR_LINE2},{"work-city",WORK_CITY},{"work-state",WORK_STATE},{"work-country",WORK_COUNTRY},{"work-zip",WORK_ZIP}, - {"home-addr-line1",HOME_ADDR_LINE1},{"home-addr-line2",HOME_ADDR_LINE2},{"home-addr-City",HOME_CITY},{"home-state",HOME_STATE},{"home-country",HOME_COUNTRY},{"home-zip",HOME_ZIP}, - {"other-addr-line1",OTHER_ADDR_LINE1},{"other-addr-line2",OTHER_ADDR_LINE2},{"other-addr-city",OTHER_CITY},{"other-addr-state",OTHER_STATE},{"other-addr-country",OTHER_COUNTRY},{"other-addr-zip",OTHER_ZIP} - }; - return evo_addr; - } - - static void - splitColumn (ColumnProperty **pToBeFields) - { - const SplitEvoColumns* evo_addr( get_evo_addr() ); - for (int i = 0; i < OTHER_ZIP; i++) - { - pToBeFields[nFields] = g_new0(ColumnProperty,1); - pToBeFields[nFields]->bIsSplittedValue = true; - pToBeFields[nFields]->pField = g_param_spec_ref(g_param_spec_string (evo_addr[i].pColumnName,evo_addr[i].pColumnName,"",NULL,G_PARAM_WRITABLE)); - nFields++; - } - } - - static void - initFields() - { - if( !pFields ) - { - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - if( !pFields ) - { - guint nProps; - ColumnProperty **pToBeFields; - GParamSpec **pProps; - nFields = 0; - pProps = g_object_class_list_properties - ( (GObjectClass *) g_type_class_ref( E_TYPE_CONTACT ), - &nProps ); - pToBeFields = g_new0(ColumnProperty *, (nProps + OTHER_ZIP)/* new column(s)*/ ); - for ( guint i = 0; i < nProps; i++ ) - { - switch (pProps[i]->value_type) - { - case G_TYPE_STRING: - case G_TYPE_BOOLEAN: - { - bool bAdd = true; - const char *pName = g_param_spec_get_name( pProps[i] ); - for (unsigned int j = 0; j < G_N_ELEMENTS( pBlackList ); j++ ) - { - if( !strcmp( pBlackList[j], pName ) ) - { - bAdd = false; - break; - } - } - if( bAdd ) - { - pToBeFields[nFields]= g_new0(ColumnProperty,1); - pToBeFields[nFields]->bIsSplittedValue=false; - pToBeFields[ nFields++ ]->pField = g_param_spec_ref( pProps[i] ); - } - break; - } - default: - break; - } - } - - splitColumn(pToBeFields); - pFields = pToBeFields; - } - } - } - - - guint - getFieldCount() - { - initFields(); - return nFields; - } - - const ColumnProperty * - getField(guint n) - { - initFields(); - if( n < nFields ) - return pFields[n]; - else - return NULL; - } - - GType - getGFieldType( guint nCol ) - { - initFields(); - - sal_Int32 nType = G_TYPE_STRING; - if ( nCol < nFields ) - return ((GParamSpec *)pFields[nCol]->pField)->value_type; - return nType; - } - - sal_Int32 - getFieldType( guint nCol ) - { - sal_Int32 nType = getGFieldType( nCol ); - return nType == G_TYPE_STRING ? DataType::VARCHAR : DataType::BIT; - } - - guint findEvoabField(const rtl::OUString& aColName) - { - guint nRet = (guint)-1; - sal_Bool bFound = sal_False; - initFields(); - for (guint i=0;(i < nFields) && !bFound;i++) - { - rtl::OUString aName = getFieldName(i); - if (aName == aColName) - { - nRet = i; - bFound = sal_True; - } - } - return nRet; - } - - rtl::OUString - getFieldTypeName( guint nCol ) - { - switch( getFieldType( nCol ) ) - { - case DataType::BIT: - return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("BIT")); - case DataType::VARCHAR: - return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VARCHAR")); - default: - break; - } - return ::rtl::OUString(); - } - - rtl::OUString - getFieldName( guint nCol ) - { - const GParamSpec *pSpec = getField( nCol )->pField; - rtl::OUString aName; - initFields(); - - if( pSpec ) - aName = rtl::OStringToOUString( g_param_spec_get_name( ( GParamSpec * )pSpec ), - RTL_TEXTENCODING_UTF8 ); - aName = aName.replace( '-', '_' ); - return aName; - } - - void - free_column_resources() - { - for (int i=nFields-1;i > 0;i--) - { - if (pFields && pFields[i] ) - { - if (pFields[i]->pField) - g_param_spec_unref(pFields[i]->pField); - g_free(pFields[i]); - } - } - if(pFields) - { - g_free(pFields); - pFields=NULL; - } - - } - - - } -} - - -OEvoabDatabaseMetaData::OEvoabDatabaseMetaData(OEvoabConnection* _pCon) - : ::connectivity::ODatabaseMetaDataBase(_pCon, _pCon->getConnectionInfo()) - ,m_pConnection(_pCon) -{ - OSL_ENSURE(m_pConnection,"OEvoabDatabaseMetaData::OEvoabDatabaseMetaData: No connection set!"); -} -OEvoabDatabaseMetaData::~OEvoabDatabaseMetaData() -{ -} - -// ------------------------------------------------------------------------- -ODatabaseMetaDataResultSet::ORows& OEvoabDatabaseMetaData::getColumnRows( const ::rtl::OUString& columnNamePattern ) -{ - static ODatabaseMetaDataResultSet::ORows aRows; - ODatabaseMetaDataResultSet::ORow aRow(19); - aRows.clear(); - - // **************************************************** - // Some entries in a row never change, so set them now - // **************************************************** - - // Catalog - aRow[1] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(""))); - // Schema - aRow[2] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(""))); - // COLUMN_SIZE - aRow[7] = new ORowSetValueDecorator(s_nCOLUMN_SIZE); - // BUFFER_LENGTH, not used - aRow[8] = ODatabaseMetaDataResultSet::getEmptyValue(); - // DECIMAL_DIGITS. - aRow[9] = new ORowSetValueDecorator(s_nDECIMAL_DIGITS); - // NUM_PREC_RADIX - aRow[10] = new ORowSetValueDecorator((sal_Int32)10); - // NULLABLE - aRow[11] = new ORowSetValueDecorator(s_nNULLABLE); - // REMARKS - aRow[12] = ODatabaseMetaDataResultSet::getEmptyValue(); - // COULUMN_DEF, not used - aRow[13] = ODatabaseMetaDataResultSet::getEmptyValue(); - // SQL_DATA_TYPE, not used - aRow[14] = ODatabaseMetaDataResultSet::getEmptyValue(); - // SQL_DATETIME_SUB, not used - aRow[15] = ODatabaseMetaDataResultSet::getEmptyValue(); - // CHAR_OCTET_LENGTH, refer to [5] - aRow[16] = new ORowSetValueDecorator(s_nCHAR_OCTET_LENGTH); - // IS_NULLABLE - aRow[18] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("YES"))); - - - aRow[3] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TABLE"))); - ::osl::MutexGuard aGuard( m_aMutex ); - - initFields(); - for (sal_Int32 i = 0; i < (sal_Int32) nFields; i++) - { - if( match( columnNamePattern, getFieldName( i ), '\0' ) ) - { - aRow[5] = new ORowSetValueDecorator( static_cast<sal_Int16>( getFieldType( i ) ) ); - aRow[6] = new ORowSetValueDecorator( getFieldTypeName( i ) ); - - OSL_TRACE( "ColumnName = '%s'", g_param_spec_get_name( pFields[i]->pField ) ); - // COLUMN_NAME - aRow[4] = new ORowSetValueDecorator( getFieldName( i ) ); - // ORDINAL_POSITION - aRow[17] = new ORowSetValueDecorator( i ); - aRows.push_back( aRow ); - } - } - - return aRows ; -} -// ------------------------------------------------------------------------- -::rtl::OUString OEvoabDatabaseMetaData::impl_getCatalogSeparator_throw( ) -{ - return ::rtl::OUString(); -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxBinaryLiteralLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxRowSize( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxCatalogNameLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxCharLiteralLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxColumnNameLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxColumnsInIndex( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxCursorNameLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxConnections( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxColumnsInTable( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 OEvoabDatabaseMetaData::impl_getMaxStatements_throw( ) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxTableNameLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 OEvoabDatabaseMetaData::impl_getMaxTablesInSelect_throw( ) -{ - // We only support a single table - return 1; -} -// ------------------------------------------------------------------------- -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::doesMaxRowSizeIncludeBlobs( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::storesLowerCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::storesLowerCaseIdentifiers( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_storesMixedCaseQuotedIdentifiers_throw( ) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::storesMixedCaseIdentifiers( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::storesUpperCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::storesUpperCaseIdentifiers( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_supportsAlterTableWithAddColumn_throw( ) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_supportsAlterTableWithDropColumn_throw( ) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxIndexLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsNonNullableColumns( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getCatalogTerm( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aVal; - return aVal; -} -// ------------------------------------------------------------------------- -::rtl::OUString OEvoabDatabaseMetaData::impl_getIdentifierQuoteString_throw( ) -{ - // normally this is " - ::rtl::OUString aVal(RTL_CONSTASCII_USTRINGPARAM("\"")); - return aVal; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getExtraNameCharacters( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aVal; - return aVal; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsDifferentTableCorrelationNames( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_isCatalogAtStart_throw( ) -{ - sal_Bool bValue = sal_False; - return bValue; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::dataDefinitionIgnoredInTransactions( ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::dataDefinitionCausesTransactionCommit( ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsDataManipulationTransactionsOnly( ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions( ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsPositionedDelete( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsPositionedUpdate( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsOpenStatementsAcrossRollback( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsOpenStatementsAcrossCommit( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsOpenCursorsAcrossCommit( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsOpenCursorsAcrossRollback( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsTransactionIsolationLevel( sal_Int32 /*level*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_supportsSchemasInDataManipulation_throw( ) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsANSI92FullSQL( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsANSI92EntryLevelSQL( ) throw(SQLException, RuntimeException) -{ - return sal_True; // should be supported at least -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsIntegrityEnhancementFacility( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsSchemasInIndexDefinitions( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_supportsSchemasInTableDefinitions_throw( ) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_supportsCatalogsInTableDefinitions_throw( ) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsCatalogsInIndexDefinitions( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_supportsCatalogsInDataManipulation_throw( ) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsOuterJoins( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxStatementLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxProcedureNameLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxSchemaNameLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsTransactions( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::allProceduresAreCallable( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsStoredProcedures( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsSelectForUpdate( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::allTablesAreSelectable( ) throw(SQLException, RuntimeException) -{ - // We allow you to select from any table. - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::isReadOnly( ) throw(SQLException, RuntimeException) -{ - // For now definately read-only, no support for update/delete - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::usesLocalFiles( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::usesLocalFilePerTable( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsTypeConversion( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::nullPlusNonNullIsNull( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsColumnAliasing( ) throw(SQLException, RuntimeException) -{ - // todo add Support for this. - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsTableCorrelationNames( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsConvert( sal_Int32 /*fromType*/, sal_Int32 /*toType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsExpressionsInOrderBy( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsGroupBy( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsGroupByBeyondSelect( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsGroupByUnrelated( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsMultipleTransactions( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsMultipleResultSets( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsLikeEscapeClause( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsOrderByUnrelated( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsUnion( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsUnionAll( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsMixedCaseIdentifiers( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool OEvoabDatabaseMetaData::impl_supportsMixedCaseQuotedIdentifiers_throw( ) -{ - // Any case may be used - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::nullsAreSortedAtEnd( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::nullsAreSortedAtStart( ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::nullsAreSortedHigh( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::nullsAreSortedLow( ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsSchemasInProcedureCalls( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsSchemasInPrivilegeDefinitions( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsCatalogsInProcedureCalls( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsCatalogsInPrivilegeDefinitions( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsCorrelatedSubqueries( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsSubqueriesInComparisons( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsSubqueriesInExists( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsSubqueriesInIns( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsSubqueriesInQuantifieds( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsANSI92IntermediateSQL( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getURL( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - - return m_pConnection->getURL(); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getUserName( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue; - return aValue; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getDriverName( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue; - return aValue; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getDriverVersion() throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue = ::rtl::OUString::valueOf((sal_Int32)1); - return aValue; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getDatabaseProductVersion( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue = ::rtl::OUString::valueOf((sal_Int32)0); - return aValue; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getDatabaseProductName( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue; - return aValue; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getProcedureTerm( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue; - return aValue; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getSchemaTerm( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue; - return aValue; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getDriverMajorVersion( ) throw(RuntimeException) -{ - return 1; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getDefaultTransactionIsolation( ) throw(SQLException, RuntimeException) -{ - return TransactionIsolation::NONE; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getDriverMinorVersion( ) throw(RuntimeException) -{ - return 0; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getSQLKeywords( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue; - return aValue; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getSearchStringEscape( ) throw(SQLException, RuntimeException) -{ - ::rtl::OUString aValue; - return aValue; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getStringFunctions( ) throw(SQLException, RuntimeException) -{ - return ::rtl::OUString(); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getTimeDateFunctions( ) throw(SQLException, RuntimeException) -{ - return ::rtl::OUString(); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getSystemFunctions( ) throw(SQLException, RuntimeException) -{ - return ::rtl::OUString(); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabDatabaseMetaData::getNumericFunctions( ) throw(SQLException, RuntimeException) -{ - return ::rtl::OUString(); -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsExtendedSQLGrammar( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsCoreSQLGrammar( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsMinimumSQLGrammar( ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsFullOuterJoins( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsLimitedOuterJoins( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxColumnsInGroupBy( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxColumnsInOrderBy( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxColumnsInSelect( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDatabaseMetaData::getMaxUserNameLength( ) throw(SQLException, RuntimeException) -{ - return 0;// 0 means no limit -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsResultSetType( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsResultSetConcurrency( sal_Int32 /*setType*/, sal_Int32 /*concurrency*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::ownUpdatesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::ownDeletesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::ownInsertsAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::othersUpdatesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::othersDeletesAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::othersInsertsAreVisible( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::updatesAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::deletesAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::insertsAreDetected( sal_Int32 /*setType*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDatabaseMetaData::supportsBatchUpdates( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -// here follow all methods which return a resultset -// the first methods is an example implementation how to use this resultset -// of course you could implement it on your and you should do this because -// the general way is more memory expensive -// ------------------------------------------------------------------------- -Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getTableTypes( ) throw(SQLException, RuntimeException) -{ - /* Dont need to change as evoab driver supports only table */ - - // there exists no possibility to get table types so we have to check - static ::rtl::OUString sTableTypes[] = - { - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TABLE")), - // Currently we only support a 'TABLE' nothing more complex - }; - ::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eTableTypes); - Reference< XResultSet > xRef = pResult; - - // here we fill the rows which should be visible when ask for data from the resultset returned here - sal_Int32 nSize = sizeof(sTableTypes) / sizeof(::rtl::OUString); - ODatabaseMetaDataResultSet::ORows aRows; - for(sal_Int32 i=0;i < nSize;++i) - { - ODatabaseMetaDataResultSet::ORow aRow; - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(new ORowSetValueDecorator(sTableTypes[i])); - - // bound row - aRows.push_back(aRow); - } - // here we set the rows at the resultset - pResult->setRows(aRows); - return xRef; -} -// ------------------------------------------------------------------------- -Reference< XResultSet > OEvoabDatabaseMetaData::impl_getTypeInfo_throw( ) -{ - /* - * Return the proper type information required by evo driver - */ - - ODatabaseMetaDataResultSet* pResultSet = new ODatabaseMetaDataResultSet(ODatabaseMetaDataResultSet::eTypeInfo); - - Reference< XResultSet > xResultSet = pResultSet; - static ODatabaseMetaDataResultSet::ORows aRows; - - if(aRows.empty()) - { - ODatabaseMetaDataResultSet::ORow aRow; - aRow.reserve(19); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VARCHAR")))); - aRow.push_back(new ORowSetValueDecorator(DataType::VARCHAR)); - aRow.push_back(new ORowSetValueDecorator((sal_Int32)s_nCHAR_OCTET_LENGTH)); - aRow.push_back(ODatabaseMetaDataResultSet::getQuoteValue()); - aRow.push_back(ODatabaseMetaDataResultSet::getQuoteValue()); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - // aRow.push_back(new ORowSetValueDecorator((sal_Int32)ColumnValue::NULLABLE)); - aRow.push_back(ODatabaseMetaDataResultSet::get1Value()); - aRow.push_back(ODatabaseMetaDataResultSet::get1Value()); - aRow.push_back(new ORowSetValueDecorator((sal_Int32)ColumnSearch::FULL)); - aRow.push_back(ODatabaseMetaDataResultSet::get1Value()); - aRow.push_back(ODatabaseMetaDataResultSet::get0Value()); - aRow.push_back(ODatabaseMetaDataResultSet::get0Value()); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(ODatabaseMetaDataResultSet::get0Value()); - aRow.push_back(ODatabaseMetaDataResultSet::get0Value()); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRow.push_back(new ORowSetValueDecorator((sal_Int32)10)); - - aRows.push_back(aRow); - - aRow[1] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("VARCHAR"))); - aRow[2] = new ORowSetValueDecorator(DataType::VARCHAR); - aRow[3] = new ORowSetValueDecorator((sal_Int32)65535); - aRows.push_back(aRow); - } - pResultSet->setRows(aRows); - return xResultSet; -} -// ------------------------------------------------------------------------- -Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getColumns( - const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& /*tableNamePattern*/, - const ::rtl::OUString& columnNamePattern ) throw(SQLException, RuntimeException) -{ - // this returns an empty resultset where the column-names are already set - // in special the metadata of the resultset already returns the right columns - ODatabaseMetaDataResultSet* pResultSet = new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eColumns ); - Reference< XResultSet > xResultSet = pResultSet; - pResultSet->setRows( getColumnRows( columnNamePattern ) ); - return xResultSet; -} -// ------------------------------------------------------------------------- -Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getTables( - const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, - const ::rtl::OUString& /*tableNamePattern*/, const Sequence< ::rtl::OUString >& types ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - - ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(ODatabaseMetaDataResultSet::eTableTypes); - Reference< XResultSet > xRef = pResult; - - // check if any type is given - // when no types are given then we have to return all tables e.g. TABLE - - const ::rtl::OUString aTable(RTL_CONSTASCII_USTRINGPARAM("TABLE")); - - sal_Bool bTableFound = sal_True; - sal_Int32 nLength = types.getLength(); - if(nLength) - { - bTableFound = sal_False; - - const ::rtl::OUString* pBegin = types.getConstArray(); - const ::rtl::OUString* pEnd = pBegin + nLength; - for(;pBegin != pEnd;++pBegin) - { - if(*pBegin == aTable) - { - bTableFound = sal_True; - break; - } - } - } - if(!bTableFound) - return xRef; - - ODatabaseMetaDataResultSet::ORows aRows; - - ESourceList *pSourceList; - if( !e_book_get_addressbooks (&pSourceList, NULL) ) - pSourceList = NULL; - - GSList *g; - for( g = e_source_list_peek_groups( pSourceList ); g; g = g->next) - { - GSList *s; - const char *p = e_source_group_peek_base_uri(E_SOURCE_GROUP(g->data)); - - switch (m_pConnection->getSDBCAddressType()) { - case SDBCAddress::EVO_GWISE: - if ( !strncmp( "groupwise://", p, 11 )) - break; - else - continue; - case SDBCAddress::EVO_LOCAL: - if ( !strncmp( "file://", p, 6 ) || - !strncmp( "local://", p, 6 ) ) - break; - else - continue; - case SDBCAddress::EVO_LDAP: - if ( !strncmp( "ldap://", p, 6 )) - break; - else - continue; - case SDBCAddress::Unknown: - break; - } - for (s = e_source_group_peek_sources (E_SOURCE_GROUP (g->data)); s; s = s->next) - { - ESource *pSource = E_SOURCE (s->data); - - rtl::OUString aName = rtl::OStringToOUString( e_source_peek_name( pSource ), - RTL_TEXTENCODING_UTF8 ); - - ODatabaseMetaDataResultSet::ORow aRow(3); - aRow.reserve(6); - aRow.push_back(new ORowSetValueDecorator(aName)); - aRow.push_back(new ORowSetValueDecorator(aTable)); - aRow.push_back(ODatabaseMetaDataResultSet::getEmptyValue()); - aRows.push_back(aRow); - } - } - - pResult->setRows(aRows); - - return xRef; -} -// ------------------------------------------------------------------------- -Reference< XResultSet > SAL_CALL OEvoabDatabaseMetaData::getUDTs( const Any& /*catalog*/, const ::rtl::OUString& /*schemaPattern*/, const ::rtl::OUString& /*typeNamePattern*/, const Sequence< sal_Int32 >& /*types*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFeatureNotImplementedException( "XDatabaseMetaDaza::getUDTs", *this ); - return NULL; -} -// ----------------------------------------------------------------------------- - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NDatabaseMetaData.hxx b/connectivity/source/drivers/evoab2/NDatabaseMetaData.hxx deleted file mode 100644 index a0fe1788e2..0000000000 --- a/connectivity/source/drivers/evoab2/NDatabaseMetaData.hxx +++ /dev/null @@ -1,237 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_DATABASEMETADATA_HXX_ -#define _CONNECTIVITY_EVOAB_DATABASEMETADATA_HXX_ - -#include "NDebug.hxx" -#include "NConnection.hxx" -#include "TDatabaseMetaDataBase.hxx" -#include "FDatabaseMetaDataResultSet.hxx" - - -namespace connectivity -{ - namespace evoab - { - class EvoContacts; - - - //************************************************************** - //************ Class: OEvoabDatabaseMetaData - //************************************************************** - typedef struct{ - gboolean bIsSplittedValue; - GParamSpec *pField; - }ColumnProperty; - - typedef enum { - DEFAULT_ADDR_LINE1=1,DEFAULT_ADDR_LINE2,DEFAULT_CITY,DEFAULT_STATE,DEFAULT_COUNTRY,DEFAULT_ZIP, - WORK_ADDR_LINE1,WORK_ADDR_LINE2,WORK_CITY,WORK_STATE,WORK_COUNTRY,WORK_ZIP, - HOME_ADDR_LINE1,HOME_ADDR_LINE2,HOME_CITY,HOME_STATE,HOME_COUNTRY,HOME_ZIP, - OTHER_ADDR_LINE1,OTHER_ADDR_LINE2,OTHER_CITY,OTHER_STATE,OTHER_COUNTRY,OTHER_ZIP - }ColumnNumber; - - typedef struct { - const gchar *pColumnName; - ColumnNumber value; - }SplitEvoColumns; - - const SplitEvoColumns* get_evo_addr(); - - const ColumnProperty *getField(guint n); - guint getFieldCount() ; - GType getGFieldType(guint nCol) ; - sal_Int32 getFieldType(guint nCol) ; - rtl::OUString getFieldTypeName(guint nCol) ; - rtl::OUString getFieldName(guint nCol) ; - guint findEvoabField(const rtl::OUString& aColName); - - void free_column_resources(); - - class OEvoabDatabaseMetaData : public ODatabaseMetaDataBase - { - OEvoabConnection* m_pConnection; - - ODatabaseMetaDataResultSet::ORows& getColumnRows( const ::rtl::OUString& columnNamePattern ); - - protected: - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > impl_getTypeInfo_throw(); - // cached database information - virtual ::rtl::OUString impl_getIdentifierQuoteString_throw( ); - virtual sal_Bool impl_isCatalogAtStart_throw( ); - virtual ::rtl::OUString impl_getCatalogSeparator_throw( ); - virtual sal_Bool impl_supportsCatalogsInTableDefinitions_throw( ); - virtual sal_Bool impl_supportsSchemasInTableDefinitions_throw( ) ; - virtual sal_Bool impl_supportsCatalogsInDataManipulation_throw( ); - virtual sal_Bool impl_supportsSchemasInDataManipulation_throw( ) ; - virtual sal_Bool impl_supportsMixedCaseQuotedIdentifiers_throw( ) ; - virtual sal_Bool impl_supportsAlterTableWithAddColumn_throw( ); - virtual sal_Bool impl_supportsAlterTableWithDropColumn_throw( ); - virtual sal_Int32 impl_getMaxStatements_throw( ); - virtual sal_Int32 impl_getMaxTablesInSelect_throw( ); - virtual sal_Bool impl_storesMixedCaseQuotedIdentifiers_throw( ); - - virtual ~OEvoabDatabaseMetaData(); - public: - inline OEvoabConnection* getOwnConnection() const { return m_pConnection; } - - OEvoabDatabaseMetaData(OEvoabConnection* _pCon); - - // as I mentioned before this interface is really BIG - // XDatabaseMetaData - virtual sal_Bool SAL_CALL allProceduresAreCallable( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL allTablesAreSelectable( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getURL( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getUserName( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isReadOnly( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullsAreSortedHigh( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullsAreSortedLow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullsAreSortedAtStart( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullsAreSortedAtEnd( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDatabaseProductName( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDatabaseProductVersion( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDriverName( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDriverVersion( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getDriverMajorVersion( ) throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getDriverMinorVersion( ) throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL usesLocalFiles( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL usesLocalFilePerTable( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMixedCaseIdentifiers( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesUpperCaseIdentifiers( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesLowerCaseIdentifiers( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesMixedCaseIdentifiers( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - - virtual sal_Bool SAL_CALL storesUpperCaseQuotedIdentifiers( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesLowerCaseQuotedIdentifiers( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - - virtual ::rtl::OUString SAL_CALL getSQLKeywords( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getNumericFunctions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getStringFunctions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSystemFunctions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getTimeDateFunctions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSearchStringEscape( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getExtraNameCharacters( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsColumnAliasing( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullPlusNonNullIsNull( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsTypeConversion( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsConvert( sal_Int32 fromType, sal_Int32 toType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsTableCorrelationNames( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsDifferentTableCorrelationNames( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsExpressionsInOrderBy( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOrderByUnrelated( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsGroupBy( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsGroupByUnrelated( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsGroupByBeyondSelect( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsLikeEscapeClause( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMultipleResultSets( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMultipleTransactions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsNonNullableColumns( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMinimumSQLGrammar( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCoreSQLGrammar( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsExtendedSQLGrammar( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsANSI92EntryLevelSQL( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsANSI92IntermediateSQL( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsANSI92FullSQL( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsIntegrityEnhancementFacility( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOuterJoins( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsFullOuterJoins( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsLimitedOuterJoins( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSchemaTerm( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getProcedureTerm( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getCatalogTerm( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSchemasInProcedureCalls( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSchemasInIndexDefinitions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSchemasInPrivilegeDefinitions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCatalogsInProcedureCalls( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCatalogsInIndexDefinitions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCatalogsInPrivilegeDefinitions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsPositionedDelete( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsPositionedUpdate( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSelectForUpdate( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsStoredProcedures( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSubqueriesInComparisons( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSubqueriesInExists( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSubqueriesInIns( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSubqueriesInQuantifieds( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCorrelatedSubqueries( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsUnion( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsUnionAll( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOpenCursorsAcrossCommit( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOpenCursorsAcrossRollback( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOpenStatementsAcrossCommit( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOpenStatementsAcrossRollback( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxBinaryLiteralLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxCharLiteralLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnNameLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInGroupBy( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInIndex( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInOrderBy( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInSelect( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInTable( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxConnections( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxCursorNameLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxIndexLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxSchemaNameLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxProcedureNameLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxCatalogNameLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxRowSize( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL doesMaxRowSizeIncludeBlobs( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxStatementLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxTableNameLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxUserNameLength( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getDefaultTransactionIsolation( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsTransactions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsTransactionIsolationLevel( sal_Int32 level ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsDataDefinitionAndDataManipulationTransactions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsDataManipulationTransactionsOnly( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL dataDefinitionCausesTransactionCommit( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL dataDefinitionIgnoredInTransactions( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getTables( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& types ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getTableTypes( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getColumns( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern, const ::rtl::OUString& columnNamePattern ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsResultSetType( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsResultSetConcurrency( sal_Int32 setType, sal_Int32 concurrency ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL ownUpdatesAreVisible( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL ownDeletesAreVisible( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL ownInsertsAreVisible( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL othersUpdatesAreVisible( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL othersDeletesAreVisible( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL othersInsertsAreVisible( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL updatesAreDetected( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL deletesAreDetected( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL insertsAreDetected( sal_Int32 setType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsBatchUpdates( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getUDTs( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& typeNamePattern, const ::com::sun::star::uno::Sequence< sal_Int32 >& types ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - }; - } -} - -#endif // _CONNECTIVITY_EVOAB_DATABASEMETADATA_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NDebug.cxx b/connectivity/source/drivers/evoab2/NDebug.cxx deleted file mode 100644 index 92e360425b..0000000000 --- a/connectivity/source/drivers/evoab2/NDebug.cxx +++ /dev/null @@ -1,43 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "NDebug.hxx" -#include <osl/diagnose.h> -#ifdef DEBUG -void evo_traceStringMessage( const sal_Char *pFormat, - const ::rtl::OUString& rString ) -{ - rtl::OString aStr; - aStr = ::rtl::OUStringToOString (rString, RTL_TEXTENCODING_UTF8); - OSL_TRACE(pFormat, (const sal_Char *) aStr ); -} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NDebug.hxx b/connectivity/source/drivers/evoab2/NDebug.hxx deleted file mode 100644 index 77f7269c82..0000000000 --- a/connectivity/source/drivers/evoab2/NDebug.hxx +++ /dev/null @@ -1,45 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef CONNECTIVITY_EVOAB_DEBUG_HELPER_HXX -#define CONNECTIVITY_EVOAB_DEBUG_HELPER_HXX - -#include <stdio.h> -#include <rtl/ustring.hxx> -#include <com/sun/star/beans/PropertyValue.hpp> - -#ifdef DEBUG - void evo_traceStringMessage( const sal_Char* pFormat, const ::rtl::OUString& rString ); -# define EVO_TRACE_STRING( pFormat, rString ) evo_traceStringMessage( pFormat, rString ) -#else -# define EVO_TRACE_STRING( pFormat, rString ) ((void)0) -#endif - -#endif // CONNECTIVITY_EVOAB_DEBUG_HELPER_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NDriver.cxx b/connectivity/source/drivers/evoab2/NDriver.cxx deleted file mode 100644 index ddb8d78b54..0000000000 --- a/connectivity/source/drivers/evoab2/NDriver.cxx +++ /dev/null @@ -1,192 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "NDriver.hxx" -#include "NConnection.hxx" -#include <com/sun/star/lang/DisposedException.hpp> -#include "connectivity/dbexception.hxx" -#include <osl/file.hxx> -#include "osl/security.hxx" -#include <comphelper/processfactory.hxx> -#include <com/sun/star/ucb/XContentAccess.hpp> -#include <com/sun/star/ucb/XCommandEnvironment.hpp> -#include <ucbhelper/content.hxx> -#include <tools/debug.hxx> -#include "NDebug.hxx" -#include <signal.h> -#include "resource/common_res.hrc" -#include "resource/sharedresources.hxx" - -using namespace osl; -using namespace connectivity::evoab; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::sdbcx; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::ucb; - -// -------------------------------------------------------------------------------- -OEvoabDriver::OEvoabDriver(const Reference< XMultiServiceFactory >& _rxFactory) : - ODriver_BASE( m_aMutex ), m_xFactory( _rxFactory ) -{ -} -// ----------------------------------------------------------------------------- -OEvoabDriver::~OEvoabDriver() -{ -} -// ----------------------------------------------------------------------------- -void OEvoabDriver::disposing() -{ - ::osl::MutexGuard aGuard(m_aMutex); - - // when driver will be destroied so all our connections have to be destroied as well - for (OWeakRefArray::iterator i = m_xConnections.begin(); m_xConnections.end() != i; ++i) - { - Reference< XComponent > xComp(i->get(), UNO_QUERY); - if (xComp.is()) - { - try - { - xComp->dispose(); - } - catch (const com::sun::star::lang::DisposedException&) - { - xComp.clear(); - } - } - } - m_xConnections.clear(); - connectivity::OWeakRefArray().swap(m_xConnections); // this really clears - - ODriver_BASE::disposing(); -} - -// static ServiceInfo -//------------------------------------------------------------------------------ -rtl::OUString OEvoabDriver::getImplementationName_Static( ) throw(RuntimeException) -{ - return rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(EVOAB_DRIVER_IMPL_NAME)); - // this name is referenced in the configuration and in the evoab.xml - // Please take care when changing it. -} - -//------------------------------------------------------------------ -Sequence< ::rtl::OUString > OEvoabDriver::getSupportedServiceNames_Static( ) throw (RuntimeException) -{ - // which service is supported - // for more information @see com.sun.star.sdbc.Driver - Sequence< ::rtl::OUString > aSNS( 1 ); - aSNS[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbc.Driver")); - return aSNS; -} -//------------------------------------------------------------------ -::rtl::OUString SAL_CALL OEvoabDriver::getImplementationName( ) throw(RuntimeException) -{ - return getImplementationName_Static(); -} -//------------------------------------------------------------------ -sal_Bool SAL_CALL OEvoabDriver::supportsService( const ::rtl::OUString& _rServiceName ) throw(RuntimeException) -{ - Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames()); - const ::rtl::OUString* pSupported = aSupported.getConstArray(); - const ::rtl::OUString* pEnd = pSupported + aSupported.getLength(); - for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported) - ; - - return pSupported != pEnd; -} -//------------------------------------------------------------------ -Sequence< ::rtl::OUString > SAL_CALL OEvoabDriver::getSupportedServiceNames( ) throw(RuntimeException) -{ - return getSupportedServiceNames_Static(); -} - -//------------------------------------------------------------------ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL connectivity::evoab::OEvoabDriver_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception ) -{ - return *(new OEvoabDriver(_rxFactory)); -} -// -------------------------------------------------------------------------------- -Reference< XConnection > SAL_CALL OEvoabDriver::connect( const ::rtl::OUString& url, const Sequence< PropertyValue >& info ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - if (ODriver_BASE::rBHelper.bDisposed) - throw DisposedException(); - - if ( ! acceptsURL(url) ) - return NULL; - - OEvoabConnection* pCon = new OEvoabConnection( *this ); - pCon->construct(url,info); - Reference< XConnection > xCon = pCon; - m_xConnections.push_back(WeakReferenceHelper(*pCon)); - - return xCon; -} -// -------------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabDriver::acceptsURL( const ::rtl::OUString& url ) - throw(SQLException, RuntimeException) -{ - return acceptsURL_Stat(url); -} - -// -------------------------------------------------------------------------------- -Sequence< DriverPropertyInfo > SAL_CALL OEvoabDriver::getPropertyInfo( const ::rtl::OUString& url, const Sequence< PropertyValue >& /*info*/ ) throw(SQLException, RuntimeException) -{ - if ( ! acceptsURL(url) ) - { - ::connectivity::SharedResources aResources; - const ::rtl::OUString sMessage = aResources.getResourceString(STR_URI_SYNTAX_ERROR); - ::dbtools::throwGenericSQLException(sMessage ,*this); - } // if ( ! acceptsURL(url) ) - - // if you have somthing special to say return it here :-) - return Sequence< DriverPropertyInfo >(); -} - -// -------------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDriver::getMajorVersion( ) throw(RuntimeException) -{ - return 1; -} -// -------------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabDriver::getMinorVersion( ) throw(RuntimeException) -{ - return 0; -} -// -------------------------------------------------------------------------------- -sal_Bool OEvoabDriver::acceptsURL_Stat( const ::rtl::OUString& url ) -{ - return (url.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("sdbc:address:evolution:local")) || url.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("sdbc:address:evolution:groupwise"))||url.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("sdbc:address:evolution:ldap")))&& EApiInit(); -} -// ----------------------------------------------------------------------------- - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NDriver.hxx b/connectivity/source/drivers/evoab2/NDriver.hxx deleted file mode 100644 index c8917bffa6..0000000000 --- a/connectivity/source/drivers/evoab2/NDriver.hxx +++ /dev/null @@ -1,101 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_DRIVER_HXX_ -#define _CONNECTIVITY_EVOAB_DRIVER_HXX_ - -#include <com/sun/star/sdbc/XDriver.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <cppuhelper/compbase2.hxx> -#include "connectivity/CommonTools.hxx" -#include <osl/module.h> - -#define EVOAB_EVOLUTION_SCHEMA "evolution" -/*In Future, when seperate schema is required for ldap, groupwise*/ -#define EVOAB_LDAP_SCHEMA "ldap" -#define EVOAB_GWISE_SCHEMA "groupwise" - -#define EVOAB_DRIVER_IMPL_NAME "com.sun.star.comp.sdbc.evoab.OEvoabDriver" - -namespace connectivity -{ - namespace evoab - { - - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL OEvoabDriver_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception ); - - - typedef ::cppu::WeakComponentImplHelper2< ::com::sun::star::sdbc::XDriver, - ::com::sun::star::lang::XServiceInfo > ODriver_BASE; - - - class OEvoabDriver : public ODriver_BASE - { - - protected: - ::osl::Mutex m_aMutex; - connectivity::OWeakRefArray m_xConnections; - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xFactory; - - public: - OEvoabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory); - virtual ~OEvoabDriver(); - - // OComponentHelper - virtual void SAL_CALL disposing(void); - - // XInterface - static ::rtl::OUString getImplementationName_Static( ) throw(::com::sun::star::uno::RuntimeException); - static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static( ) throw (::com::sun::star::uno::RuntimeException); - - // XServiceInfo - virtual ::rtl::OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const ::rtl::OUString& ServiceName ) throw(::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames( ) throw(::com::sun::star::uno::RuntimeException); - - - // XDriver - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > SAL_CALL connect( const ::rtl::OUString& url, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL acceptsURL( const ::rtl::OUString& url ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::sdbc::DriverPropertyInfo > SAL_CALL getPropertyInfo( const ::rtl::OUString& url, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMajorVersion( ) throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMinorVersion( ) throw(::com::sun::star::uno::RuntimeException); - - public: - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > - & getMSFactory(void) const { return m_xFactory; } - - // static methods - static sal_Bool acceptsURL_Stat( const ::rtl::OUString& url ); - }; - } - -} -#endif //_CONNECTIVITY_EVOAB_DRIVER_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NPreparedStatement.cxx b/connectivity/source/drivers/evoab2/NPreparedStatement.cxx deleted file mode 100644 index 1aadfbf031..0000000000 --- a/connectivity/source/drivers/evoab2/NPreparedStatement.cxx +++ /dev/null @@ -1,338 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" - -#include <stdio.h> -#include <osl/diagnose.h> -#include "NPreparedStatement.hxx" -#include <com/sun/star/sdbc/DataType.hpp> -#include <cppuhelper/typeprovider.hxx> -#include <com/sun/star/lang/DisposedException.hpp> -#include "propertyids.hxx" -#include <connectivity/dbexception.hxx> -#include <connectivity/dbtools.hxx> -#include <tools/diagnose_ex.h> - -#include "resource/common_res.hrc" - -using namespace connectivity::evoab; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; -using namespace com::sun::star::beans; -using namespace com::sun::star::sdbc; -using namespace com::sun::star::container; -using namespace com::sun::star::io; -using namespace com::sun::star::util; - -IMPLEMENT_SERVICE_INFO(OEvoabPreparedStatement,"com.sun.star.sdbcx.evoab.PreparedStatement","com.sun.star.sdbc.PreparedStatement"); - - -OEvoabPreparedStatement::OEvoabPreparedStatement( OEvoabConnection* _pConnection ) - :OCommonStatement(_pConnection) - ,m_sSqlStatement() - ,m_xMetaData() -{ -} - -// ----------------------------------------------------------------------------- -void OEvoabPreparedStatement::construct( const ::rtl::OUString& _sql ) -{ - m_sSqlStatement = _sql; - - m_aQueryData = impl_getEBookQuery_throw( m_sSqlStatement ); - ENSURE_OR_THROW( m_aQueryData.getQuery(), "no EBookQuery" ); - ENSURE_OR_THROW( m_aQueryData.xSelectColumns.is(), "no SelectColumn" ); - - // create our meta data - OEvoabResultSetMetaData* pMeta = new OEvoabResultSetMetaData( m_aQueryData.sTable ); - m_xMetaData = pMeta; - pMeta->setEvoabFields( m_aQueryData.xSelectColumns ); -} - -// ----------------------------------------------------------------------------- -OEvoabPreparedStatement::~OEvoabPreparedStatement() -{ -} - -// ----------------------------------------------------------------------------- -void SAL_CALL OEvoabPreparedStatement::acquire() throw() -{ - OCommonStatement::acquire(); -} - -// ----------------------------------------------------------------------------- -void SAL_CALL OEvoabPreparedStatement::release() throw() -{ - OCommonStatement::release(); -} - -// ----------------------------------------------------------------------------- -Any SAL_CALL OEvoabPreparedStatement::queryInterface( const Type & rType ) throw(RuntimeException) -{ - Any aRet = OCommonStatement::queryInterface(rType); - if(!aRet.hasValue()) - aRet = OPreparedStatement_BASE::queryInterface(rType); - return aRet; -} -// ------------------------------------------------------------------------- -Sequence< Type > SAL_CALL OEvoabPreparedStatement::getTypes( ) throw(RuntimeException) -{ - return ::comphelper::concatSequences(OPreparedStatement_BASE::getTypes(),OCommonStatement::getTypes()); -} -// ------------------------------------------------------------------------- - -Reference< XResultSetMetaData > SAL_CALL OEvoabPreparedStatement::getMetaData( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - // the meta data should have been created at construction time - ENSURE_OR_THROW( m_xMetaData.is(), "internal error: no meta data" ); - return m_xMetaData; -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::close( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - free_column_resources(); - // Reset last warning message - try { - clearWarnings (); - OCommonStatement::close(); - } - catch (SQLException &) { - // If we get an error, ignore - } - -} -// ------------------------------------------------------------------------- - -sal_Bool SAL_CALL OEvoabPreparedStatement::execute( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - Reference< XResultSet> xRS = impl_executeQuery_throw( m_aQueryData ); - return xRS.is(); -} -// ------------------------------------------------------------------------- - -sal_Int32 SAL_CALL OEvoabPreparedStatement::executeUpdate( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - ::dbtools::throwFeatureNotImplementedException( "XStatement::executeUpdate", *this ); - return 0; -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setString( sal_Int32 /*parameterIndex*/, const ::rtl::OUString& /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setString", *this ); -} -// ------------------------------------------------------------------------- - -Reference< XConnection > SAL_CALL OEvoabPreparedStatement::getConnection( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - return impl_getConnection(); -} -// ------------------------------------------------------------------------- - -Reference< XResultSet > SAL_CALL OEvoabPreparedStatement::executeQuery( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - return impl_executeQuery_throw( m_aQueryData ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setBoolean( sal_Int32 /*parameterIndex*/, sal_Bool /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setBoolean", *this ); - -} -// ------------------------------------------------------------------------- -void SAL_CALL OEvoabPreparedStatement::setByte( sal_Int32 /*parameterIndex*/, sal_Int8 /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setByte", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setDate( sal_Int32 /*parameterIndex*/, const Date& /*aData*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setDate", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setTime( sal_Int32 /*parameterIndex*/, const Time& /*aVal*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setTime", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setTimestamp( sal_Int32 /*parameterIndex*/, const DateTime& /*aVal*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setTimestamp", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setDouble( sal_Int32 /*parameterIndex*/, double /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setDouble", *this ); -} - -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setFloat( sal_Int32 /*parameterIndex*/, float /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setFloat", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setInt( sal_Int32 /*parameterIndex*/, sal_Int32 /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setInt", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setLong( sal_Int32 /*parameterIndex*/, sal_Int64 /*aVal*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setLong", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setNull( sal_Int32 /*parameterIndex*/, sal_Int32 /*sqlType*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setNull", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setClob( sal_Int32 /*parameterIndex*/, const Reference< XClob >& /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setClob", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setBlob( sal_Int32 /*parameterIndex*/, const Reference< XBlob >& /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setBlob", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setArray( sal_Int32 /*parameterIndex*/, const Reference< XArray >& /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setArray", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setRef( sal_Int32 /*parameterIndex*/, const Reference< XRef >& /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setRef", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setObjectWithInfo( sal_Int32 /*parameterIndex*/, const Any& /*x*/, sal_Int32 /*sqlType*/, sal_Int32 /*scale*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setObjectWithInfo", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setObjectNull( sal_Int32 /*parameterIndex*/, sal_Int32 /*sqlType*/, const ::rtl::OUString& /*typeName*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setObjectNull", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setObject( sal_Int32 parameterIndex, const Any& x ) throw(SQLException, RuntimeException) -{ - if(!::dbtools::implSetObject(this,parameterIndex,x)) - { - const ::rtl::OUString sError( getOwnConnection()->getResources().getResourceStringWithSubstitution( - STR_UNKNOWN_PARA_TYPE, - "$position$", ::rtl::OUString::valueOf(parameterIndex) - ) ); - ::dbtools::throwGenericSQLException(sError,*this); - } -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setShort( sal_Int32 /*parameterIndex*/, sal_Int16 /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setShort", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setBytes( sal_Int32 /*parameterIndex*/, const Sequence< sal_Int8 >& /*x*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setBytes", *this ); -} -// ------------------------------------------------------------------------- - - -void SAL_CALL OEvoabPreparedStatement::setCharacterStream( sal_Int32 /*parameterIndex*/, const Reference< XInputStream >& /*x*/, sal_Int32 /*length*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setCharacterStream", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::setBinaryStream( sal_Int32 /*parameterIndex*/, const Reference< XInputStream >& /*x*/, sal_Int32 /*length*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XParameters::setBinaryStream", *this ); -} -// ------------------------------------------------------------------------- - -void SAL_CALL OEvoabPreparedStatement::clearParameters( ) throw(SQLException, RuntimeException) -{ -} -// ----------------------------------------------------------------------------- -Reference< XResultSet > SAL_CALL OEvoabPreparedStatement::getResultSet( ) throw(SQLException, RuntimeException) -{ - return NULL; -} -// ----------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabPreparedStatement::getUpdateCount( ) throw(SQLException, RuntimeException) -{ - return 0; -} -// ----------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabPreparedStatement::getMoreResults( ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ----------------------------------------------------------------------------- - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NPreparedStatement.hxx b/connectivity/source/drivers/evoab2/NPreparedStatement.hxx deleted file mode 100644 index af0e56729f..0000000000 --- a/connectivity/source/drivers/evoab2/NPreparedStatement.hxx +++ /dev/null @@ -1,141 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_PREPAREDSTATEMENT_HXX_ -#define _CONNECTIVITY_EVOAB_PREPAREDSTATEMENT_HXX_ - -#include "NStatement.hxx" -#include "NConnection.hxx" -#include "NDatabaseMetaData.hxx" -#include "NResultSet.hxx" -#include <com/sun/star/sdbc/XPreparedStatement.hpp> -#include <com/sun/star/sdbc/XParameters.hpp> -#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp> -#include <com/sun/star/sdbc/XPreparedBatchExecution.hpp> -#include <com/sun/star/io/XInputStream.hpp> - -namespace connectivity -{ - namespace evoab - { - - class OBoundParam; - typedef ::cppu::ImplHelper5< ::com::sun::star::sdbc::XPreparedStatement, - ::com::sun::star::sdbc::XParameters, - ::com::sun::star::sdbc::XResultSetMetaDataSupplier, - ::com::sun::star::sdbc::XMultipleResults, - ::com::sun::star::lang::XServiceInfo> OPreparedStatement_BASE; - - class OEvoabPreparedStatement :public OCommonStatement - ,public OPreparedStatement_BASE - { - protected: - struct Parameter - { - ::com::sun::star::uno::Any aValue; - sal_Int32 nDataType; - - Parameter(const ::com::sun::star::uno::Any& rValue, - sal_Int32 rDataType) : aValue(rValue),nDataType(rDataType) - { - } - - }; - - ::std::vector< Parameter> m_aParameters; - //==================================================================== - // Data attributes - //==================================================================== - - // our SQL statement - ::rtl::OUString m_sSqlStatement; - // the EBookQuery we're working with - QueryData m_aQueryData; - // our meta data - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > m_xMetaData; - - protected: - virtual ~OEvoabPreparedStatement(); - - public: - OEvoabPreparedStatement( OEvoabConnection* _pConnection ); - - void construct( const ::rtl::OUString& _sql ); - - protected: - DECLARE_SERVICE_INFO(); - //XInterface - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - //XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException); - - // XPreparedStatement - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL executeQuery( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL executeUpdate( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL execute( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > SAL_CALL getConnection( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XParameters - virtual void SAL_CALL setNull( sal_Int32 parameterIndex, sal_Int32 sqlType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setObjectNull( sal_Int32 parameterIndex, sal_Int32 sqlType, const ::rtl::OUString& typeName ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setBoolean( sal_Int32 parameterIndex, sal_Bool x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setByte( sal_Int32 parameterIndex, sal_Int8 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setShort( sal_Int32 parameterIndex, sal_Int16 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setInt( sal_Int32 parameterIndex, sal_Int32 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setLong( sal_Int32 parameterIndex, sal_Int64 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setFloat( sal_Int32 parameterIndex, float x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setDouble( sal_Int32 parameterIndex, double x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setString( sal_Int32 parameterIndex, const ::rtl::OUString& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setBytes( sal_Int32 parameterIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setDate( sal_Int32 parameterIndex, const ::com::sun::star::util::Date& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTime( sal_Int32 parameterIndex, const ::com::sun::star::util::Time& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setTimestamp( sal_Int32 parameterIndex, const ::com::sun::star::util::DateTime& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setBinaryStream( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setCharacterStream( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream >& x, sal_Int32 length ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setObject( sal_Int32 parameterIndex, const ::com::sun::star::uno::Any& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setObjectWithInfo( sal_Int32 parameterIndex, const ::com::sun::star::uno::Any& x, sal_Int32 targetSqlType, sal_Int32 scale ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setRef( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setBlob( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setClob( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL setArray( sal_Int32 parameterIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clearParameters( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XCloseable - virtual void SAL_CALL close( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XResultSetMetaDataSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > SAL_CALL getMetaData( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XMultipleResults - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getResultSet( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getUpdateCount( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getMoreResults( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - }; - } -} -#endif // CONNECTIVITY_SPREPAREDSTATEMENT_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NResultSet.cxx b/connectivity/source/drivers/evoab2/NResultSet.cxx deleted file mode 100644 index ce0713537c..0000000000 --- a/connectivity/source/drivers/evoab2/NResultSet.cxx +++ /dev/null @@ -1,1024 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" - -#include "NDatabaseMetaData.hxx" -#include "NConnection.hxx" -#include "NResultSet.hxx" -#include "propertyids.hxx" -#include "resource/evoab2_res.hrc" -#include "TSortIndex.hxx" -#include <algorithm> - -#include <com/sun/star/beans/PropertyAttribute.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <com/sun/star/sdb/ErrorCondition.hpp> -#include <com/sun/star/sdbc/DataType.hpp> -#include <com/sun/star/sdbc/FetchDirection.hpp> -#include <com/sun/star/sdbc/ResultSetConcurrency.hpp> -#include <com/sun/star/sdbc/ResultSetType.hpp> - -#include <comphelper/componentcontext.hxx> -#include <comphelper/extract.hxx> -#include <comphelper/property.hxx> -#include <comphelper/sequence.hxx> -#include <comphelper/types.hxx> -#include <connectivity/dbexception.hxx> -#include <connectivity/sqlerror.hxx> -#include <cppuhelper/typeprovider.hxx> -#include <rtl/string.hxx> -#include <tools/diagnose_ex.h> -#include <unotools/syslocale.hxx> -#include <unotools/intlwrapper.hxx> - -#include <cstring> -#include <vector> - -namespace connectivity { namespace evoab { - -using namespace ::comphelper; -using namespace com::sun::star; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; -using namespace com::sun::star::beans; -using namespace com::sun::star::sdbc; -using namespace com::sun::star::sdbcx; -using namespace com::sun::star::container; -using namespace com::sun::star::io; -namespace ErrorCondition = ::com::sun::star::sdb::ErrorCondition; - -//------------------------------------------------------------------------------ -::rtl::OUString SAL_CALL OEvoabResultSet::getImplementationName( ) throw ( RuntimeException) \ -{ - return ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbcx.evoab.ResultSet")); -} -// ------------------------------------------------------------------------- - Sequence< ::rtl::OUString > SAL_CALL OEvoabResultSet::getSupportedServiceNames( ) throw( RuntimeException) -{ - Sequence< ::rtl::OUString > aSupported(1); - aSupported[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.sdbc.ResultSet")); - return aSupported; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::supportsService( const ::rtl::OUString& _rServiceName ) throw( RuntimeException) -{ - Sequence< ::rtl::OUString > aSupported(getSupportedServiceNames()); - const ::rtl::OUString* pSupported = aSupported.getConstArray(); - const ::rtl::OUString* pEnd = pSupported + aSupported.getLength(); - for (;pSupported != pEnd && !pSupported->equals(_rServiceName); ++pSupported) - ; - - return pSupported != pEnd; -} - -// ------------------------------------------------------------------------- -OEvoabResultSet::OEvoabResultSet( OCommonStatement* pStmt, OEvoabConnection *pConnection ) - :OResultSet_BASE(m_aMutex) - ,::comphelper::OPropertyContainer( OResultSet_BASE::rBHelper ) - ,m_pStatement(pStmt) - ,m_pConnection(pConnection) - ,m_xMetaData(NULL) - ,m_bWasNull(sal_True) - ,m_nFetchSize(0) - ,m_nResultSetType(ResultSetType::SCROLL_INSENSITIVE) - ,m_nFetchDirection(FetchDirection::FORWARD) - ,m_nResultSetConcurrency(ResultSetConcurrency::READ_ONLY) - ,m_pContacts(NULL) - ,m_nIndex(-1) - ,m_nLength(0) -{ - #define REGISTER_PROP( id, member ) \ - registerProperty( \ - OMetaConnection::getPropMap().getNameByIndex( id ), \ - id, \ - PropertyAttribute::READONLY, \ - &member, \ - ::getCppuType( &member ) \ - ); - - REGISTER_PROP( PROPERTY_ID_FETCHSIZE, m_nFetchSize ); - REGISTER_PROP( PROPERTY_ID_RESULTSETTYPE, m_nResultSetType ); - REGISTER_PROP( PROPERTY_ID_FETCHDIRECTION, m_nFetchDirection ); - REGISTER_PROP( PROPERTY_ID_RESULTSETCONCURRENCY, m_nResultSetConcurrency ); -} - -// ------------------------------------------------------------------------- -OEvoabResultSet::~OEvoabResultSet() -{ -} - -// ------------------------------------------------------------------------- - -static ESource * -findSource( const char *name ) -{ - ESourceList *pSourceList = NULL; - - g_return_val_if_fail (name != NULL, NULL); - - if (!e_book_get_addressbooks (&pSourceList, NULL)) - pSourceList = NULL; - - for ( GSList *g = e_source_list_peek_groups (pSourceList); g; g = g->next) - { - for (GSList *s = e_source_group_peek_sources (E_SOURCE_GROUP (g->data)); s; s = s->next) - { - ESource *pSource = E_SOURCE (s->data); - if (!strcmp (e_source_peek_name (pSource), name)) - return pSource; - } - } - return NULL; -} - -static EBook * -openBook( const char *abname ) -{ - ESource *pSource = findSource (abname); - EBook *pBook = NULL; - if (pSource) - pBook = e_book_new (pSource, NULL); - - if (pBook && !e_book_open (pBook, TRUE, NULL)) - { - g_object_unref (G_OBJECT (pBook)); - pBook = NULL; - } - - return pBook; -} - -static bool isLDAP( EBook *pBook ) -{ - return pBook && !strncmp( "ldap://", e_book_get_uri( pBook ), 6 ); -} - -static bool isLocal( EBook *pBook ) -{ - return pBook && ( !strncmp( "file://", e_book_get_uri( pBook ), 6 ) || - !strncmp( "local:", e_book_get_uri( pBook ), 6 ) ); -} - -static bool isAuthRequired( EBook *pBook ) -{ - return e_source_get_property( e_book_get_source( pBook ), - "auth" ) != NULL; -} - -static rtl::OString getUserName( EBook *pBook ) -{ - rtl::OString aName; - if( isLDAP( pBook ) ) - aName = e_source_get_property( e_book_get_source( pBook ), "binddn" ); - else - aName = e_source_get_property( e_book_get_source( pBook ), "user" ); - return aName; -} - -static ::rtl::OUString -valueToOUString( GValue& _rValue ) -{ - const char *pStr = g_value_get_string( &_rValue ); - rtl::OString aStr( pStr ? pStr : "" ); - ::rtl::OUString sResult( ::rtl::OStringToOUString( aStr, RTL_TEXTENCODING_UTF8 ) ); - g_value_unset( &_rValue ); - return sResult; -} - -static bool -valueToBool( GValue& _rValue ) -{ - bool bResult = g_value_get_boolean( &_rValue ); - g_value_unset( &_rValue ); - return bResult; -} - -static bool -executeQuery (EBook* pBook, EBookQuery* pQuery, GList **ppList, - rtl::OString &rPassword, GError **pError) -{ - ESource *pSource = e_book_get_source( pBook ); - bool bSuccess = false; - bool bAuthSuccess = true; - - *ppList = NULL; - - if( isAuthRequired( pBook ) ) - { - rtl::OString aUser( getUserName( pBook ) ); - const char *pAuth = e_source_get_property( pSource, "auth" ); - bAuthSuccess = e_book_authenticate_user( pBook, aUser.getStr(), rPassword.getStr(), pAuth, pError ); - } - - if (bAuthSuccess) - bSuccess = e_book_get_contacts( pBook, pQuery, ppList, pError ); - - return bSuccess; -} - -static int -whichAddress(int value) -{ - int fieldEnum; - switch (value) - { - case HOME_ADDR_LINE1: - case HOME_ADDR_LINE2: - case HOME_CITY: - case HOME_STATE: - case HOME_COUNTRY: - case HOME_ZIP: - fieldEnum = e_contact_field_id("address_home"); - break; - - case WORK_ADDR_LINE1: - case WORK_ADDR_LINE2: - case WORK_CITY: - case WORK_STATE: - case WORK_COUNTRY: - case WORK_ZIP: - fieldEnum = e_contact_field_id("address_work"); - break; - - case OTHER_ADDR_LINE1: - case OTHER_ADDR_LINE2: - case OTHER_CITY: - case OTHER_STATE: - case OTHER_COUNTRY: - case OTHER_ZIP: - fieldEnum = e_contact_field_id("address_other"); - break; - - default: fieldEnum = e_contact_field_id("address_home"); - } - return fieldEnum; -} - -/* -* This function decides the default column values based on the first field of EContactAddress. -* The search order is Work->Home->other(defaults). -*/ -static EContactAddress * -getDefaultContactAddress( EContact *pContact,int *value ) -{ - EContactAddress *ec = (EContactAddress *)e_contact_get(pContact,whichAddress(WORK_ADDR_LINE1)); - if ( ec && (strlen(ec->street)>0) ) - { - *value= *value +WORK_ADDR_LINE1 -1; - return ec; - } - else - { - ec = (EContactAddress *)e_contact_get(pContact,whichAddress(HOME_ADDR_LINE1)); - if ( ec && (strlen(ec->street)>0) ) - { - *value=*value+HOME_ADDR_LINE1-1; - return ec; - } - } - - *value=*value+OTHER_ADDR_LINE1-1; - return (EContactAddress *)e_contact_get(pContact,whichAddress(OTHER_ADDR_LINE1)); -} - -static EContactAddress* -getContactAddress( EContact *pContact, int * address_enum ) -{ - EContactAddress *ec = NULL; - switch (*address_enum) { - - case DEFAULT_ADDR_LINE1: - case DEFAULT_ADDR_LINE2: - case DEFAULT_CITY: - case DEFAULT_STATE: - case DEFAULT_COUNTRY: - case DEFAULT_ZIP: - ec = getDefaultContactAddress(pContact,address_enum);break; - default: - ec = (EContactAddress *)e_contact_get(pContact,whichAddress(*address_enum)); - } - return ec; -} - -static bool -handleSplitAddress( EContact *pContact,GValue *pStackValue, int value ) -{ - EContactAddress *ec = getContactAddress(pContact,&value) ; - - if (ec==NULL) - return true; - - switch (value) { - case WORK_ADDR_LINE1: - g_value_set_string(pStackValue,ec->street ); break; - case WORK_ADDR_LINE2: - g_value_set_string(pStackValue,ec->po ); break; - case WORK_CITY: - g_value_set_string(pStackValue,ec->locality ); break; - case WORK_STATE: - g_value_set_string(pStackValue,ec->region ); break; - case WORK_COUNTRY: - g_value_set_string(pStackValue,ec->country ); break; - case WORK_ZIP: - g_value_set_string(pStackValue,ec->code ); break; - - case HOME_ADDR_LINE1: - g_value_set_string(pStackValue,ec->street ); break; - case HOME_ADDR_LINE2: - g_value_set_string(pStackValue,ec->po ); break; - case HOME_CITY: - g_value_set_string(pStackValue,ec->locality ); break; - case HOME_STATE: - g_value_set_string(pStackValue,ec->region ); break; - case HOME_COUNTRY: - g_value_set_string(pStackValue,ec->country ); break; - case HOME_ZIP: - g_value_set_string(pStackValue,ec->code ); break; - - case OTHER_ADDR_LINE1: - g_value_set_string(pStackValue,ec->street ); break; - case OTHER_ADDR_LINE2: - g_value_set_string(pStackValue,ec->po ); break; - case OTHER_CITY: - g_value_set_string(pStackValue,ec->locality ); break; - case OTHER_STATE: - g_value_set_string(pStackValue,ec->region ); break; - case OTHER_COUNTRY: - g_value_set_string(pStackValue,ec->country ); break; - case OTHER_ZIP: - g_value_set_string(pStackValue,ec->code ); break; - - } - - return false; -} -static bool -getValue( EContact* pContact, sal_Int32 nColumnNum, GType nType, GValue* pStackValue, bool& _out_rWasNull ) -{ - const ColumnProperty * pSpecs = evoab::getField( nColumnNum ); - if ( !pSpecs ) - return false; - - GParamSpec* pSpec = pSpecs->pField; - gboolean bIsSplittedColumn = pSpecs->bIsSplittedValue; - - _out_rWasNull = true; - if ( !pSpec || !pContact) - return false; - - if ( G_PARAM_SPEC_VALUE_TYPE (pSpec) != nType ) - { - - OSL_TRACE( "Wrong type (0x%x) (0x%x) '%s'", - (int)G_PARAM_SPEC_VALUE_TYPE (pSpec), (int) nType, - pSpec->name ? pSpec->name : "<noname>"); - return false; - } - - g_value_init( pStackValue, nType ); - if ( bIsSplittedColumn ) - { - const SplitEvoColumns* evo_addr( get_evo_addr() ); - for (int i=0;i<OTHER_ZIP;i++) - { - if (0 == strcmp (g_param_spec_get_name ((GParamSpec *)pSpec), evo_addr[i].pColumnName)) - { - _out_rWasNull = handleSplitAddress( pContact, pStackValue, evo_addr[i].value ); - return true; - } - } - } - else - { - g_object_get_property( G_OBJECT (pContact), - g_param_spec_get_name ((GParamSpec *) pSpec), - pStackValue ); - if ( G_VALUE_TYPE( pStackValue ) != nType ) - { - OSL_TRACE( "Fetched type mismatch" ); - g_value_unset( pStackValue ); - return false; - } - } - _out_rWasNull = false; - return true; -} - -namespace -{ - struct ComparisonData - { - const SortDescriptor& rSortOrder; - IntlWrapper aIntlWrapper; - - ComparisonData( const SortDescriptor& _rSortOrder, const Reference< XMultiServiceFactory >& _rxFactory ) - :rSortOrder( _rSortOrder ) - ,aIntlWrapper( _rxFactory, SvtSysLocale().GetLocaleData().getLocale() ) - { - } - }; -} - -extern "C" -int CompareContacts( gconstpointer _lhs, gconstpointer _rhs, gpointer _userData ) -{ - EContact* lhs = static_cast< EContact* >( const_cast< gpointer >( _lhs ) ); - EContact* rhs = static_cast< EContact* >( const_cast< gpointer >( _rhs ) ); - - GValue aLhsValue = { 0, { { 0 } } }; - GValue aRhsValue = { 0, { { 0 } } }; - bool bLhsNull = true; - bool bRhsNull = true; - - ::rtl::OUString sLhs, sRhs; - bool bLhs(false), bRhs(false); - - const ComparisonData& rCompData = *static_cast< const ComparisonData* >( _userData ); - for ( SortDescriptor::const_iterator sortCol = rCompData.rSortOrder.begin(); - sortCol != rCompData.rSortOrder.end(); - ++sortCol - ) - { - sal_Int32 nField = sortCol->nField; - GType eFieldType = evoab::getGFieldType( nField ); - - bool success = getValue( lhs, nField, eFieldType, &aLhsValue, bLhsNull ) - && getValue( rhs, nField, eFieldType, &aRhsValue, bRhsNull ); - OSL_ENSURE( success, "CompareContacts: could not retrieve both values!" ); - if ( !success ) - return 0; - - if ( bLhsNull && !bRhsNull ) - return -1; - if ( !bLhsNull && bRhsNull ) - return 1; - if ( bLhsNull && bRhsNull ) - continue; - - if ( eFieldType == G_TYPE_STRING ) - { - sLhs = valueToOUString( aLhsValue ); - sRhs = valueToOUString( aRhsValue ); - sal_Int32 nCompResult = rCompData.aIntlWrapper.getCaseCollator()->compareString( sLhs, sRhs ); - if ( nCompResult != 0 ) - return nCompResult; - continue; - } - - bLhs = valueToBool( aLhsValue ); - bRhs = valueToBool( aRhsValue ); - if ( bLhs && !bRhs ) - return -1; - if ( !bLhs && bRhs ) - return 1; - continue; - } - - return 0; -} - -static GList* -sortContacts( GList* _pContactList, const ComparisonData& _rCompData ) -{ - OSL_ENSURE( !_rCompData.rSortOrder.empty(), "sortContacts: no need to call this without any sort order!" ); - ENSURE_OR_THROW( _rCompData.aIntlWrapper.getCaseCollator(), "no collator for comparing strings" ); - - return g_list_sort_with_data( _pContactList, &CompareContacts, const_cast< gpointer >( static_cast< gconstpointer >( &_rCompData ) ) ); -} - -// ------------------------------------------------------------------------- -void OEvoabResultSet::construct( const QueryData& _rData ) -{ - ENSURE_OR_THROW( _rData.getQuery(), "internal error: no EBookQuery" ); - - EBook *pBook = openBook(::rtl::OUStringToOString(_rData.sTable, RTL_TEXTENCODING_UTF8).getStr()); - if ( !pBook ) - m_pConnection->throwGenericSQLException( STR_CANNOT_OPEN_BOOK, *this ); - - g_list_free(m_pContacts); - m_pContacts = NULL; - bool bExecuteQuery = true; - switch ( _rData.eFilterType ) - { - case eFilterNone: - if ( !isLocal( pBook ) ) - { - SQLError aErrorFactory( m_pConnection->getDriver().getMSFactory() ); - SQLException aAsException = aErrorFactory.getSQLException( ErrorCondition::DATA_CANNOT_SELECT_UNFILTERED, *this ); - m_aWarnings.appendWarning( SQLWarning( - aAsException.Message, - aAsException.Context, - aAsException.SQLState, - aAsException.ErrorCode, - aAsException.NextException - ) ); - bExecuteQuery = false; - } - break; - case eFilterAlwaysFalse: - bExecuteQuery = false; - break; - case eFilterOther: - bExecuteQuery = true; - break; - } - if ( bExecuteQuery ) - { - rtl::OString aPassword = m_pConnection->getPassword(); - executeQuery( pBook, _rData.getQuery(), &m_pContacts, aPassword, NULL ); - m_pConnection->setPassword( aPassword ); - - if ( m_pContacts && !_rData.aSortOrder.empty() ) - { - ComparisonData aCompData( _rData.aSortOrder, getConnection()->getDriver().getMSFactory() ); - m_pContacts = sortContacts( m_pContacts, aCompData ); - } - } - m_nLength = g_list_length( m_pContacts ); - OSL_TRACE( "Query return %d records", m_nLength ); - m_nIndex = -1; - - // create our meta data (need the EBookQuery for this) - OEvoabResultSetMetaData* pMeta = new OEvoabResultSetMetaData( _rData.sTable ); - m_xMetaData = pMeta; - - pMeta->setEvoabFields( _rData.xSelectColumns ); -} - -// ------------------------------------------------------------------------- -void OEvoabResultSet::disposing(void) -{ - ::comphelper::OPropertyContainer::disposing(); - - ::osl::MutexGuard aGuard(m_aMutex); - g_list_free(m_pContacts); - m_pContacts = NULL; - m_pStatement = NULL; -m_xMetaData.clear(); -} -// ------------------------------------------------------------------------- -Any SAL_CALL OEvoabResultSet::queryInterface( const Type & rType ) throw(RuntimeException) -{ - Any aRet = ::comphelper::OPropertyContainer::queryInterface(rType); - if(!aRet.hasValue()) - aRet = OResultSet_BASE::queryInterface(rType); - return aRet; -} -// ------------------------------------------------------------------------- -Sequence< Type > SAL_CALL OEvoabResultSet::getTypes( ) throw( RuntimeException) -{ - return ::comphelper::concatSequences( - OResultSet_BASE::getTypes(), - ::comphelper::OPropertyContainer::getTypes() - ); -} - -// ------------------------------------------------------------------------- -// XRow Interface - -/** - * getString: - * @nColumnNum: The column index from the table. - * - * If the equivalent NResultSetMetaData.cxx marks the columntype of - * nColumnNum as DataType::VARCHAR this accessor is used. - */ -::rtl::OUString SAL_CALL OEvoabResultSet::getString( sal_Int32 nColumnNum ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - rtl::OUString aResult; - if ( m_xMetaData.is()) - { - OEvoabResultSetMetaData *pMeta = (OEvoabResultSetMetaData *) m_xMetaData.get(); - sal_Int32 nFieldNumber = pMeta->fieldAtColumn(nColumnNum); - GValue aValue = { 0, { { 0 } } }; - if ( getValue( getCur(), nFieldNumber, G_TYPE_STRING, &aValue, m_bWasNull ) ) - aResult = valueToOUString( aValue ); - } - return aResult; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::getBoolean( sal_Int32 nColumnNum ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - sal_Bool bResult = sal_False; - - if ( m_xMetaData.is()) - { - OEvoabResultSetMetaData *pMeta = (OEvoabResultSetMetaData *) m_xMetaData.get(); - sal_Int32 nFieldNumber = pMeta->fieldAtColumn(nColumnNum); - GValue aValue = { 0, { { 0 } } }; - if ( getValue( getCur(), nFieldNumber, G_TYPE_BOOLEAN, &aValue, m_bWasNull ) ) - bResult = valueToBool( aValue ); - } - return bResult ? sal_True : sal_False; -} -// ------------------------------------------------------------------------- -sal_Int64 SAL_CALL OEvoabResultSet::getLong( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getLong", *this ); - return sal_Int64(); -} -// ------------------------------------------------------------------------- -Reference< XArray > SAL_CALL OEvoabResultSet::getArray( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getArray", *this ); - return NULL; -} -// ------------------------------------------------------------------------- -Reference< XClob > SAL_CALL OEvoabResultSet::getClob( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getClob", *this ); - return NULL; -} -// ------------------------------------------------------------------------- -Reference< XBlob > SAL_CALL OEvoabResultSet::getBlob( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getBlob", *this ); - return NULL; -} -// ------------------------------------------------------------------------- -Reference< XRef > SAL_CALL OEvoabResultSet::getRef( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getRef", *this ); - return NULL; -} -// ------------------------------------------------------------------------- -Any SAL_CALL OEvoabResultSet::getObject( sal_Int32 /*nColumnNum*/, const Reference< ::com::sun::star::container::XNameAccess >& /*typeMap*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getObject", *this ); - return Any(); -} -// ------------------------------------------------------------------------- -sal_Int16 SAL_CALL OEvoabResultSet::getShort( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getShort", *this ); - return 0; -} -// ------------------------------------------------------------------------- -::com::sun::star::util::Time SAL_CALL OEvoabResultSet::getTime( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getTime", *this ); - return ::com::sun::star::util::Time(); -} -// ------------------------------------------------------------------------- -util::DateTime SAL_CALL OEvoabResultSet::getTimestamp( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getTimestamp", *this ); - return ::com::sun::star::util::DateTime(); -} -// ------------------------------------------------------------------------- -Reference< XInputStream > SAL_CALL OEvoabResultSet::getBinaryStream( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getBinaryStream", *this ); - return NULL; -} -// ------------------------------------------------------------------------- -Reference< XInputStream > SAL_CALL OEvoabResultSet::getCharacterStream( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getCharacterStream", *this ); - return NULL; -} -// ------------------------------------------------------------------------- -sal_Int8 SAL_CALL OEvoabResultSet::getByte( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getByte", *this ); - return 0; -} -// ------------------------------------------------------------------------- -Sequence< sal_Int8 > SAL_CALL OEvoabResultSet::getBytes( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getBytes", *this ); - return Sequence< sal_Int8 >(); -} -// ------------------------------------------------------------------------- -::com::sun::star::util::Date SAL_CALL OEvoabResultSet::getDate( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getDate", *this ); - return ::com::sun::star::util::Date(); -} -// ------------------------------------------------------------------------- -double SAL_CALL OEvoabResultSet::getDouble( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getDouble", *this ); - return 0; -} -// ------------------------------------------------------------------------- -float SAL_CALL OEvoabResultSet::getFloat( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getFloat", *this ); - return 0; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabResultSet::getInt( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - ::dbtools::throwFunctionNotSupportedException( "XRow::getInt", *this ); - return 0; -} -// XRow Interface Ends -// ------------------------------------------------------------------------- - -// XResultSetMetaDataSupplier Interface -Reference< XResultSetMetaData > SAL_CALL OEvoabResultSet::getMetaData( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - // the meta data should have been created at construction time - ENSURE_OR_THROW( m_xMetaData.is(), "internal error: no meta data" ); - return m_xMetaData; -} -// XResultSetMetaDataSupplier Interface Ends -// ------------------------------------------------------------------------- - -// XResultSet Interface -sal_Bool SAL_CALL OEvoabResultSet::next( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - if (m_nIndex+1 < m_nLength) { - ++m_nIndex ; - return true; - } - else - return false; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::wasNull( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return m_bWasNull; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::isBeforeFirst( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return m_nIndex < 0; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabResultSet::getRow( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return m_nIndex; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::isAfterLast( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return m_nIndex >= m_nLength; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::isFirst( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return m_nIndex == 0; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::isLast( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return m_nIndex == m_nLength - 1; -} -// ------------------------------------------------------------------------- -void SAL_CALL OEvoabResultSet::beforeFirst( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - m_nIndex = -1; -} -// ------------------------------------------------------------------------- -void SAL_CALL OEvoabResultSet::afterLast( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - m_nIndex = m_nLength; -} -// ------------------------------------------------------------------------- - -sal_Bool SAL_CALL OEvoabResultSet::first( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - m_nIndex = 0; - return true; -} -// ------------------------------------------------------------------------- - -sal_Bool SAL_CALL OEvoabResultSet::last( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - m_nIndex = m_nLength - 1; - return true; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::absolute( sal_Int32 row ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - if (row < m_nLength) { - m_nIndex = row; - return true; - } - else - return false; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::relative( sal_Int32 row ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - if ((m_nIndex+row) < m_nLength) { - m_nIndex += row; - return true; - } - else - return false; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::previous( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - if(m_nIndex > 0) { - m_nIndex--; - return true; - } - else - return false; -} -// ------------------------------------------------------------------------- -Reference< XInterface > SAL_CALL OEvoabResultSet::getStatement( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); -::com::sun::star::uno::WeakReferenceHelper aStatement((OWeakObject*)m_pStatement); - return aStatement.get(); -} -// ------------------------------------------------------------------------- - -sal_Bool SAL_CALL OEvoabResultSet::rowDeleted( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::rowInserted( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSet::rowUpdated( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - return sal_False; -} -// ------------------------------------------------------------------------- -void SAL_CALL OEvoabResultSet::refreshRow( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); -} -//XResult Interface ends -// ------------------------------------------------------------------------- -// XCancellable - -void SAL_CALL OEvoabResultSet::cancel( ) throw(RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - OSL_TRACE("In/Out: OEvoabResultSet::cancel" ); - -} - -//XCloseable -void SAL_CALL OEvoabResultSet::close( ) throw(SQLException, RuntimeException) -{ - { - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - } - OSL_TRACE("In/Out: OEvoabResultSet::close" ); - dispose(); -} - -// XWarningsSupplier -// ------------------------------------------------------------------------- -void SAL_CALL OEvoabResultSet::clearWarnings( ) throw(SQLException, RuntimeException) -{ - OSL_TRACE("In/Out: OEvoabResultSet::clearWarnings" ); - m_aWarnings.clearWarnings(); -} -// ------------------------------------------------------------------------- -Any SAL_CALL OEvoabResultSet::getWarnings( ) throw(SQLException, RuntimeException) -{ - OSL_TRACE("In/Out: OEvoabResultSet::getWarnings" ); - return m_aWarnings.getWarnings(); -} -// ------------------------------------------------------------------------- -//XColumnLocate Interface -sal_Int32 SAL_CALL OEvoabResultSet::findColumn( const ::rtl::OUString& columnName ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OResultSet_BASE::rBHelper.bDisposed); - - // find the first column with the name columnName - Reference< XResultSetMetaData > xMeta = getMetaData(); - sal_Int32 nLen = xMeta->getColumnCount(); - sal_Int32 i = 1; - for(;i<=nLen;++i) - if(xMeta->isCaseSensitive(i) ? columnName == xMeta->getColumnName(i) : - columnName.equalsIgnoreAsciiCase(xMeta->getColumnName(i))) - break; - return i; -} -// ------------------------------------------------------------------------- -//XColumnLocate interface ends - -// ------------------------------------------------------------------------- -::cppu::IPropertyArrayHelper* OEvoabResultSet::createArrayHelper( ) const -{ - Sequence< Property > aProps; - describeProperties( aProps ); - return new ::cppu::OPropertyArrayHelper( aProps ); -} -// ------------------------------------------------------------------------- -::cppu::IPropertyArrayHelper & OEvoabResultSet::getInfoHelper() -{ - return *const_cast<OEvoabResultSet*>(this)->getArrayHelper(); -} -// ----------------------------------------------------------------------------- -void SAL_CALL OEvoabResultSet::acquire() throw() -{ - OResultSet_BASE::acquire(); -} -// ----------------------------------------------------------------------------- -void SAL_CALL OEvoabResultSet::release() throw() -{ - OResultSet_BASE::release(); -} -// ----------------------------------------------------------------------------- -::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL -OEvoabResultSet::getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException) -{ - return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper()); -} -// ----------------------------------------------------------------------------- - -} } // connectivity::evoab - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NResultSet.hxx b/connectivity/source/drivers/evoab2/NResultSet.hxx deleted file mode 100644 index 0ffe5a7e5b..0000000000 --- a/connectivity/source/drivers/evoab2/NResultSet.hxx +++ /dev/null @@ -1,186 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_RESULTSET_HXX_ -#define _CONNECTIVITY_EVOAB_RESULTSET_HXX_ - -#include <com/sun/star/sdbc/XResultSet.hpp> -#include <com/sun/star/sdbc/XRow.hpp> -#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp> -#include <com/sun/star/sdbc/XCloseable.hpp> -#include <com/sun/star/sdbc/XColumnLocate.hpp> -#include <com/sun/star/util/XCancellable.hpp> -#include <com/sun/star/sdbc/XWarningsSupplier.hpp> -#include <com/sun/star/sdbc/XResultSetUpdate.hpp> -#include <com/sun/star/sdbc/XRowUpdate.hpp> -#include <com/sun/star/sdbcx/XRowLocate.hpp> -#include <com/sun/star/sdbcx/XDeleteRows.hpp> -#include <cppuhelper/compbase8.hxx> -#include <comphelper/proparrhlp.hxx> -#include <comphelper/propertycontainer.hxx> -#include "connectivity/CommonTools.hxx" -#include "connectivity/FValue.hxx" -#include "connectivity/warningscontainer.hxx" -#include "NStatement.hxx" -#include "OSubComponent.hxx" -#include "NResultSetMetaData.hxx" - -namespace connectivity -{ - namespace evoab - { - typedef ::cppu::WeakComponentImplHelper8 < ::com::sun::star::sdbc::XResultSet - , ::com::sun::star::sdbc::XRow - , ::com::sun::star::sdbc::XResultSetMetaDataSupplier - , ::com::sun::star::util::XCancellable - , ::com::sun::star::sdbc::XWarningsSupplier - , ::com::sun::star::sdbc::XCloseable - , ::com::sun::star::sdbc::XColumnLocate - , ::com::sun::star::lang::XServiceInfo - > OResultSet_BASE; - - - class OEvoabResultSet :public comphelper::OBaseMutex - ,public OResultSet_BASE - ,public ::comphelper::OPropertyContainer - ,public ::comphelper::OPropertyArrayUsageHelper<OEvoabResultSet> - { - - protected: - - OCommonStatement* m_pStatement; - OEvoabConnection* m_pConnection; - ::com::sun::star::uno::WeakReferenceHelper m_aStatement; - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > m_xMetaData; - ::dbtools::WarningsContainer m_aWarnings; - - bool m_bWasNull; - // <properties> - sal_Int32 m_nFetchSize; - sal_Int32 m_nResultSetType; - sal_Int32 m_nFetchDirection; - sal_Int32 m_nResultSetConcurrency; - // </properties> - - // Data & iteration - GList *m_pContacts; - sal_Int32 m_nIndex; - sal_Int32 m_nLength; - EContact *getCur() - { - gpointer pData = g_list_nth_data (m_pContacts, m_nIndex); - return pData ? E_CONTACT (pData) : NULL; - } - - // OPropertyArrayUsageHelper - virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const; - // OPropertySetHelper - virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper(); - - // you can't delete objects of this type - virtual ~OEvoabResultSet(); - public: - DECLARE_SERVICE_INFO(); - - OEvoabResultSet( OCommonStatement *pStmt, OEvoabConnection *pConnection ); - void construct( const QueryData& _rData ); - - OEvoabConnection * getConnection() { return m_pConnection; } - - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > operator *() - { - return ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >(*(OResultSet_BASE*)this); - } - - // ::cppu::OComponentHelper - virtual void SAL_CALL disposing(void); - // XInterface - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - //XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException); - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); - // XResultSet - virtual sal_Bool SAL_CALL next( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isBeforeFirst( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isAfterLast( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isFirst( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isLast( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL beforeFirst( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL afterLast( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL first( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL last( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL absolute( sal_Int32 row ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL relative( sal_Int32 rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL previous( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL refreshRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL rowUpdated( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL rowInserted( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL rowDeleted( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getStatement( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XRow - virtual sal_Bool SAL_CALL wasNull( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getString( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL getBoolean( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int8 SAL_CALL getByte( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int16 SAL_CALL getShort( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getInt( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int64 SAL_CALL getLong( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual float SAL_CALL getFloat( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual double SAL_CALL getDouble( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getBytes( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::util::Date SAL_CALL getDate( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::util::Time SAL_CALL getTime( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::util::DateTime SAL_CALL getTimestamp( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getBinaryStream( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream > SAL_CALL getCharacterStream( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL getObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& typeMap ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef > SAL_CALL getRef( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob > SAL_CALL getBlob( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob > SAL_CALL getClob( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray > SAL_CALL getArray( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XCancellable - virtual void SAL_CALL cancel( ) throw(::com::sun::star::uno::RuntimeException); - // XCloseable - virtual void SAL_CALL close( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XResultSetMetaDataSupplier - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > SAL_CALL getMetaData( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XWarningsSupplier - virtual ::com::sun::star::uno::Any SAL_CALL getWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clearWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XColumnLocate - virtual sal_Int32 SAL_CALL findColumn( const ::rtl::OUString& columnName ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - }; - } -} -#endif // CONNECTIVITY_SRESULTSET_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx b/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx deleted file mode 100644 index 335b44418c..0000000000 --- a/connectivity/source/drivers/evoab2/NResultSetMetaData.cxx +++ /dev/null @@ -1,197 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "NResultSetMetaData.hxx" -#include "NDatabaseMetaData.hxx" -#include "connectivity/dbexception.hxx" -#include <com/sun/star/sdbc/DataType.hpp> -#include "NDebug.hxx" -#include "resource/evoab2_res.hrc" - -using namespace connectivity::evoab; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; -using namespace com::sun::star::sdbc; - -OEvoabResultSetMetaData::OEvoabResultSetMetaData(const ::rtl::OUString& _aTableName) - : m_aTableName(_aTableName), - m_aEvoabFields() -{ - -} -// ------------------------------------------------------------------------- -OEvoabResultSetMetaData::~OEvoabResultSetMetaData() -{ -} -// ------------------------------------------------------------------------- -void OEvoabResultSetMetaData::setEvoabFields(const ::rtl::Reference<connectivity::OSQLColumns> &xColumns) throw(SQLException) -{ - OSQLColumns::Vector::const_iterator aIter; - static const ::rtl::OUString aName(RTL_CONSTASCII_USTRINGPARAM("Name")); - - for (aIter = xColumns->get().begin(); aIter != xColumns->get().end(); ++aIter) - { - ::rtl::OUString aFieldName; - - (*aIter)->getPropertyValue(aName) >>= aFieldName; - guint nFieldNumber = findEvoabField(aFieldName); - if (nFieldNumber == (guint)-1) - { - connectivity::SharedResources aResource; - const ::rtl::OUString sError( aResource.getResourceStringWithSubstitution( - STR_INVALID_COLUMNNAME, - "$columnname$", aFieldName - ) ); - ::dbtools::throwGenericSQLException( sError, *this ); - } - m_aEvoabFields.push_back(nFieldNumber); - } -} - -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabResultSetMetaData::getColumnDisplaySize( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return 50; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabResultSetMetaData::getColumnType( sal_Int32 nColumnNum ) throw(SQLException, RuntimeException) -{ - sal_uInt32 nField = m_aEvoabFields[nColumnNum - 1]; - return evoab::getFieldType (nField); -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabResultSetMetaData::getColumnCount( ) throw(SQLException, RuntimeException) -{ - return m_aEvoabFields.size(); -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSetMetaData::isCaseSensitive( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabResultSetMetaData::getSchemaName( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return ::rtl::OUString(); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabResultSetMetaData::getColumnName( sal_Int32 nColumnNum ) throw(SQLException, RuntimeException) -{ - sal_uInt32 nField = m_aEvoabFields[nColumnNum - 1]; - return evoab::getFieldName( nField ); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabResultSetMetaData::getColumnTypeName( sal_Int32 nColumnNum ) throw(SQLException, RuntimeException) -{ - sal_uInt32 nField = m_aEvoabFields[nColumnNum - 1]; - return evoab::getFieldTypeName( nField ); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabResultSetMetaData::getColumnLabel( sal_Int32 nColumnNum ) throw(SQLException, RuntimeException) -{ - sal_uInt32 nField = m_aEvoabFields[nColumnNum - 1]; - const ColumnProperty *pSpecs = getField(nField); - GParamSpec *pSpec = pSpecs->pField; - rtl::OUString aLabel; - - if( pSpec ) - aLabel = rtl::OStringToOUString( g_param_spec_get_nick( (GParamSpec *) pSpec ), - RTL_TEXTENCODING_UTF8 ); - return aLabel; -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabResultSetMetaData::getColumnServiceName( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return ::rtl::OUString(); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabResultSetMetaData::getTableName( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return m_aTableName;//::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TABLE")); -} -// ------------------------------------------------------------------------- -::rtl::OUString SAL_CALL OEvoabResultSetMetaData::getCatalogName( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return ::rtl::OUString(); -} -// ------------------------------------------------------------------------- - -sal_Bool SAL_CALL OEvoabResultSetMetaData::isCurrency( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSetMetaData::isAutoIncrement( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSetMetaData::isSigned( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabResultSetMetaData::getPrecision( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return 0; -} -// ----------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabResultSetMetaData::getScale( sal_Int32 /*nColumnNum*/ ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException) -{ - return 0; -} -// ------------------------------------------------------------------------- -sal_Int32 SAL_CALL OEvoabResultSetMetaData::isNullable( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return 0; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSetMetaData::isSearchable( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSetMetaData::isReadOnly( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return sal_True; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSetMetaData::isDefinitelyWritable( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OEvoabResultSetMetaData::isWritable( sal_Int32 /*nColumnNum*/ ) throw(SQLException, RuntimeException) -{ - return sal_False; -} -// ------------------------------------------------------------------------- - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NResultSetMetaData.hxx b/connectivity/source/drivers/evoab2/NResultSetMetaData.hxx deleted file mode 100644 index 6906549dec..0000000000 --- a/connectivity/source/drivers/evoab2/NResultSetMetaData.hxx +++ /dev/null @@ -1,91 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_RESULTSETMETADATA_HXX_ -#define _CONNECTIVITY_EVOAB_RESULTSETMETADATA_HXX_ - -#include <com/sun/star/sdbc/XResultSetMetaData.hpp> -#include <cppuhelper/implbase1.hxx> -#include "NConnection.hxx" -#include <rtl/ref.hxx> -#include <com/sun/star/connection/XConnection.hpp> -namespace connectivity -{ - namespace evoab - { - //************************************************************** - //************ Class: ResultSetMetaData - //************************************************************** - typedef ::cppu::WeakImplHelper1< ::com::sun::star::sdbc::XResultSetMetaData> OResultSetMetaData_BASE; - - class OEvoabResultSetMetaData : public OResultSetMetaData_BASE - { - ::rtl::OUString m_aTableName; - ::std::vector<sal_Int32> m_aEvoabFields; - - protected: - virtual ~OEvoabResultSetMetaData(); - public: - OEvoabResultSetMetaData(const ::rtl::OUString& _aTableName); - void setEvoabFields(const ::rtl::Reference<connectivity::OSQLColumns> &xColumns) throw(::com::sun::star::sdbc::SQLException); - inline sal_uInt32 fieldAtColumn(sal_Int32 columnIndex) const - { return m_aEvoabFields[columnIndex - 1]; } - inline sal_Int32 getFieldSize() const - {return m_aEvoabFields.size();} - /// Avoid ambigous cast error from the compiler. - inline operator ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > () throw() - { return this; } - - virtual sal_Int32 SAL_CALL getColumnCount( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isAutoIncrement( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isCaseSensitive( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isSearchable( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isCurrency( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL isNullable( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isSigned( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getColumnDisplaySize( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getColumnLabel( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getColumnName( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSchemaName( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getPrecision( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getScale( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getTableName( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getCatalogName( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getColumnType( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getColumnTypeName( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isReadOnly( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isWritable( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isDefinitelyWritable( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getColumnServiceName( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - }; - } -} - -#endif // CONNECTIVITY_SRESULSETMETADATA_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NServices.cxx b/connectivity/source/drivers/evoab2/NServices.cxx deleted file mode 100644 index 9dda360afc..0000000000 --- a/connectivity/source/drivers/evoab2/NServices.cxx +++ /dev/null @@ -1,116 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "NDriver.hxx" -#include <cppuhelper/factory.hxx> -#include <osl/diagnose.h> - -using namespace connectivity::evoab; -using ::rtl::OUString; -using ::com::sun::star::uno::Reference; -using ::com::sun::star::uno::Sequence; -using ::com::sun::star::lang::XSingleServiceFactory; -using ::com::sun::star::lang::XMultiServiceFactory; - -typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc) - ( - const Reference< XMultiServiceFactory > & rServiceManager, - const OUString & rComponentName, - ::cppu::ComponentInstantiation pCreateFunction, - const Sequence< OUString > & rServiceNames, - rtl_ModuleCount* _pT - ); - -//--------------------------------------------------------------------------------------- -struct ProviderRequest -{ - Reference< XSingleServiceFactory > xRet; - Reference< XMultiServiceFactory > const xServiceManager; - OUString const sImplementationName; - - ProviderRequest( - void* pServiceManager, - sal_Char const* pImplementationName - ) - : xServiceManager(reinterpret_cast<XMultiServiceFactory*>(pServiceManager)) - , sImplementationName(OUString::createFromAscii(pImplementationName)) - { - } - - inline - sal_Bool CREATE_PROVIDER( - const OUString& Implname, - const Sequence< OUString > & Services, - ::cppu::ComponentInstantiation Factory, - createFactoryFunc creator - ) - { - if (!xRet.is() && (Implname == sImplementationName)) - try - { - xRet = creator( xServiceManager, sImplementationName,Factory, Services,0); - } - catch(const ::com::sun::star::uno::Exception&) - { - OSL_FAIL("Service Creation Exception"); - } - return xRet.is(); - } - - void* getProvider() const { return xRet.get(); } -}; - -//--------------------------------------------------------------------------------------- -extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory( - const sal_Char* pImplementationName, - void* pServiceManager, - void* /*pRegistryKey*/) -{ - void* pRet = 0; - if (pServiceManager) - { - ProviderRequest aReq(pServiceManager,pImplementationName); - - aReq.CREATE_PROVIDER( - OEvoabDriver::getImplementationName_Static(), - OEvoabDriver::getSupportedServiceNames_Static(), - OEvoabDriver_CreateInstance, ::cppu::createSingleFactory) - ; - - if(aReq.xRet.is()) - aReq.xRet->acquire(); - - pRet = aReq.getProvider(); - } - - return pRet; -}; - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NStatement.cxx b/connectivity/source/drivers/evoab2/NStatement.cxx deleted file mode 100644 index 30cec213e0..0000000000 --- a/connectivity/source/drivers/evoab2/NStatement.cxx +++ /dev/null @@ -1,685 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" - -#include <stdio.h> -#include <osl/diagnose.h> -#include <osl/thread.h> -#include <com/sun/star/sdbc/ResultSetConcurrency.hpp> -#include <com/sun/star/sdbc/ResultSetType.hpp> -#include <com/sun/star/sdbc/FetchDirection.hpp> -#include <com/sun/star/lang/DisposedException.hpp> -#include <cppuhelper/typeprovider.hxx> -#include "propertyids.hxx" -#include "NStatement.hxx" -#include "NConnection.hxx" -#include "NDatabaseMetaData.hxx" -#include "NResultSet.hxx" -#include "NDebug.hxx" -#include "resource/evoab2_res.hrc" -#include <resource/common_res.hrc> -#include <connectivity/dbexception.hxx> -#include <tools/diagnose_ex.h> - -namespace connectivity { namespace evoab { - -//------------------------------------------------------------------------------ -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; -using namespace com::sun::star::beans; -using namespace com::sun::star::sdbc; -using namespace com::sun::star::sdbcx; -using namespace com::sun::star::container; -using namespace com::sun::star::io; -using namespace com::sun::star::util; -//------------------------------------------------------------------------------ -OCommonStatement::OCommonStatement(OEvoabConnection* _pConnection) - : OCommonStatement_IBase(m_aMutex) - , ::comphelper::OPropertyContainer(OCommonStatement_IBase::rBHelper) - , OStatement_CBase( (::cppu::OWeakObject*)_pConnection, this ) - , m_xResultSet(NULL) - , m_pResultSet(NULL) - , m_pConnection(_pConnection) - , m_aParser(_pConnection->getDriver().getMSFactory()) - , m_aSQLIterator( _pConnection, _pConnection->createCatalog()->getTables(), m_aParser, NULL ) - , m_pParseTree(NULL) - , m_nMaxFieldSize(0) - , m_nMaxRows(0) - , m_nQueryTimeOut(0) - , m_nFetchSize(0) - , m_nResultSetType(ResultSetType::FORWARD_ONLY) - , m_nFetchDirection(FetchDirection::FORWARD) - , m_nResultSetConcurrency(ResultSetConcurrency::UPDATABLE) - , m_bEscapeProcessing(sal_True) - , rBHelper(OCommonStatement_IBase::rBHelper) -{ - m_pConnection->acquire(); - -#define REGISTER_PROP( id, member ) \ - registerProperty( \ - OMetaConnection::getPropMap().getNameByIndex( id ), \ - id, \ - 0, \ - &member, \ - ::getCppuType( &member ) \ - ); - - REGISTER_PROP( PROPERTY_ID_CURSORNAME, m_aCursorName ); - REGISTER_PROP( PROPERTY_ID_MAXFIELDSIZE, m_nMaxFieldSize ); - REGISTER_PROP( PROPERTY_ID_MAXROWS, m_nMaxRows ); - REGISTER_PROP( PROPERTY_ID_QUERYTIMEOUT, m_nQueryTimeOut ); - REGISTER_PROP( PROPERTY_ID_FETCHSIZE, m_nFetchSize ); - REGISTER_PROP( PROPERTY_ID_RESULTSETTYPE, m_nResultSetType ); - REGISTER_PROP( PROPERTY_ID_FETCHDIRECTION, m_nFetchDirection ); - REGISTER_PROP( PROPERTY_ID_ESCAPEPROCESSING, m_bEscapeProcessing ); - REGISTER_PROP( PROPERTY_ID_RESULTSETCONCURRENCY, m_nResultSetConcurrency ); -} -// ----------------------------------------------------------------------------- -OCommonStatement::~OCommonStatement() -{ -} -//------------------------------------------------------------------------------ -void OCommonStatement::disposeResultSet() -{ - // free the cursor if alive - Reference< XComponent > xComp(m_xResultSet.get(), UNO_QUERY); - if (xComp.is()) - xComp->dispose(); - m_xResultSet = Reference< XResultSet>(); -} -//------------------------------------------------------------------------------ -void OCommonStatement::disposing() -{ - ::osl::MutexGuard aGuard(m_aMutex); - - disposeResultSet(); - - if (m_pConnection) - m_pConnection->release(); - m_pConnection = NULL; - - dispose_ChildImpl(); - OCommonStatement_IBase::disposing(); -} -//----------------------------------------------------------------------------- -Any SAL_CALL OCommonStatement::queryInterface( const Type & rType ) throw(RuntimeException) -{ - Any aRet = OCommonStatement_IBase::queryInterface(rType); - if(!aRet.hasValue()) - aRet = ::comphelper::OPropertyContainer::queryInterface(rType); - return aRet; -} -// ------------------------------------------------------------------------- -Sequence< Type > SAL_CALL OCommonStatement::getTypes( ) throw(RuntimeException) -{ - ::cppu::OTypeCollection aTypes( ::getCppuType( (const Reference< XMultiPropertySet > *)0 ), - ::getCppuType( (const Reference< XFastPropertySet > *)0 ), - ::getCppuType( (const Reference< XPropertySet > *)0 )); - - return ::comphelper::concatSequences(aTypes.getTypes(),OCommonStatement_IBase::getTypes()); -} -// ------------------------------------------------------------------------- - -//void SAL_CALL OCommonStatement::cancel( ) throw(RuntimeException) -//{ -//::osl::MutexGuard aGuard( m_aMutex ); -//checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); -//// cancel the current sql statement -//} - -// ------------------------------------------------------------------------- -void SAL_CALL OCommonStatement::close( ) throw(SQLException, RuntimeException) -{ - { - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - } - dispose(); -} -// ------------------------------------------------------------------------- - -void OCommonStatement::reset() throw (SQLException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - - clearWarnings (); - - if (m_xResultSet.get().is()) - clearMyResultSet(); -} - -void OCommonStatement::clearMyResultSet () throw (SQLException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - try - { - Reference<XCloseable> xCloseable; - if ( ::comphelper::query_interface( m_xResultSet.get(), xCloseable ) ) - xCloseable->close(); - } - catch( const DisposedException& ) { } - - m_xResultSet = Reference< XResultSet >(); -} - -EBookQuery * -OCommonStatement::createTrue() -{ // Not the world's most efficient unconditional true but ... - return e_book_query_from_string("(exists \"full_name\")"); -} - -EBookQuery * -OCommonStatement::createTest( const ::rtl::OUString &aColumnName, - EBookQueryTest eTest, - const ::rtl::OUString &aMatch ) -{ - ::rtl::OString sMatch = rtl::OUStringToOString( aMatch, RTL_TEXTENCODING_UTF8 ); - ::rtl::OString sColumnName = rtl::OUStringToOString( aColumnName, RTL_TEXTENCODING_UTF8 ); - - return e_book_query_field_test( e_contact_field_id( sColumnName.getStr() ), - eTest, sMatch.getStr() ); -} - -// ------------------------------------------------------------------------- - -::rtl::OUString OCommonStatement::impl_getColumnRefColumnName_throw( const OSQLParseNode& _rColumnRef ) -{ - ENSURE_OR_THROW( SQL_ISRULE( &_rColumnRef, column_ref ), "internal error: only column_refs supported as LHS" ); - - ::rtl::OUString sColumnName; - switch ( _rColumnRef.count() ) - { - case 3: // SQL_TOKEN_NAME '.' column_val - { - const OSQLParseNode* pPunct = _rColumnRef.getChild( 1 ); - const OSQLParseNode* pColVal = _rColumnRef.getChild( 2 ); - if ( SQL_ISPUNCTUATION( pPunct, "." ) - && ( pColVal->count() == 1 ) - ) - { - sColumnName = pColVal->getChild( 0 )->getTokenValue(); - } - } - break; - - case 1: // column - { - sColumnName = _rColumnRef.getChild( 0 )->getTokenValue(); - } - break; - } - - if ( !sColumnName.getLength() ) - m_pConnection->throwGenericSQLException( STR_QUERY_TOO_COMPLEX, *this ); - - return sColumnName; -} - -// ------------------------------------------------------------------------- -void OCommonStatement::orderByAnalysis( const OSQLParseNode* _pOrderByClause, SortDescriptor& _out_rSort ) -{ - ENSURE_OR_THROW( _pOrderByClause, "NULL node" ); - ENSURE_OR_THROW( SQL_ISRULE( _pOrderByClause, opt_order_by_clause ), "wrong node type" ); - - _out_rSort.clear(); - - const OSQLParseNode* pOrderList = _pOrderByClause->getByRule( OSQLParseNode::ordering_spec_commalist ); - ENSURE_OR_THROW( pOrderList, "unexpected parse tree structure" ); - - for ( sal_uInt32 i=0; i<pOrderList->count(); ++i ) - { - const OSQLParseNode* pOrderBy = pOrderList->getChild(i); - if ( !pOrderBy || !SQL_ISRULE( pOrderBy, ordering_spec ) ) - continue; - const OSQLParseNode* pColumnRef = pOrderBy->count() == 2 ? pOrderBy->getChild(0) : NULL; - const OSQLParseNode* pAscDesc = pOrderBy->count() == 2 ? pOrderBy->getChild(1) : NULL; - ENSURE_OR_THROW( - ( pColumnRef != NULL ) - && ( pAscDesc != NULL ) - && SQL_ISRULE( pAscDesc, opt_asc_desc ) - && ( pAscDesc->count() < 2 ), - "ordering_spec structure error" ); - - // column name -> column field - if ( !SQL_ISRULE( pColumnRef, column_ref ) ) - m_pConnection->throwGenericSQLException( STR_SORT_BY_COL_ONLY, *this ); - const ::rtl::OUString sColumnName( impl_getColumnRefColumnName_throw( *pColumnRef ) ); - guint nField = evoab::findEvoabField( sColumnName ); - // ascending/descending? - bool bAscending = true; - if ( ( pAscDesc->count() == 1 ) - && SQL_ISTOKEN( pAscDesc->getChild( 0 ), DESC ) - ) - bAscending = false; - - _out_rSort.push_back( FieldSort( nField, bAscending ) ); - } -} - -// ------------------------------------------------------------------------- -EBookQuery *OCommonStatement::whereAnalysis( const OSQLParseNode* parseTree ) -{ - EBookQuery *pResult = NULL; - - ENSURE_OR_THROW( parseTree, "invalid parse tree" ); - - // Nested brackets - if( parseTree->count() == 3 && - SQL_ISPUNCTUATION( parseTree->getChild( 0 ), "(" ) && - SQL_ISPUNCTUATION( parseTree->getChild( 2 ), ")" ) ) - { - pResult = whereAnalysis( parseTree->getChild( 1 ) ); - } - - // SQL AND, OR - else if( ( SQL_ISRULE( parseTree, search_condition ) || - SQL_ISRULE( parseTree, boolean_term ) ) && - parseTree->count() == 3 ) - { - ENSURE_OR_THROW( SQL_ISTOKEN( parseTree->getChild( 1 ), OR ) - || SQL_ISTOKEN( parseTree->getChild( 1 ), AND ), - "unexpected search_condition structure" ); - - EBookQuery *pArgs[2]; - pArgs[0] = whereAnalysis( parseTree->getChild( 0 ) ); - pArgs[1] = whereAnalysis( parseTree->getChild( 2 ) ); - - if( SQL_ISTOKEN( parseTree->getChild( 1 ), OR ) ) - pResult = e_book_query_or( 2, pArgs, TRUE ); - else - pResult = e_book_query_and( 2, pArgs, TRUE ); - } - // SQL =, != - else if( SQL_ISRULE( parseTree, comparison_predicate ) ) - { - OSQLParseNode *pPrec = parseTree->getChild( 1 ); - - ENSURE_OR_THROW( parseTree->count() == 3, "unexpected comparison_predicate structure" ); - - OSQLParseNode* pLHS = parseTree->getChild( 0 ); - OSQLParseNode* pRHS = parseTree->getChild( 2 ); - - if ( ( !( SQL_ISRULE( pLHS, column_ref ) ) // on the LHS, we accept a column or a constant int value - && ( pLHS->getNodeType() != SQL_NODE_INTNUM ) - ) - || ( ( pRHS->getNodeType() != SQL_NODE_STRING ) // on the RHS, certain literals are acceptable - && ( pRHS->getNodeType() != SQL_NODE_INTNUM ) - && ( pRHS->getNodeType() != SQL_NODE_APPROXNUM ) - && !( SQL_ISTOKEN( pRHS, TRUE ) ) - && !( SQL_ISTOKEN( pRHS, FALSE ) ) - ) - || ( ( pLHS->getNodeType() == SQL_NODE_INTNUM ) // an int on LHS requires an int on RHS - && ( pRHS->getNodeType() != SQL_NODE_INTNUM ) - ) - ) - { - m_pConnection->throwGenericSQLException( STR_QUERY_TOO_COMPLEX, *this ); - } - - if ( ( pPrec->getNodeType() != SQL_NODE_EQUAL ) - && ( pPrec->getNodeType() != SQL_NODE_NOTEQUAL ) - ) - { - m_pConnection->throwGenericSQLException( STR_OPERATOR_TOO_COMPLEX, *this ); - } - - // recognize the special "0 = 1" condition - if ( ( pLHS->getNodeType() == SQL_NODE_INTNUM ) - && ( pRHS->getNodeType() == SQL_NODE_INTNUM ) - && ( pPrec->getNodeType() == SQL_NODE_EQUAL ) - ) - { - const sal_Int32 nLHS = pLHS->getTokenValue().toInt64(); - const sal_Int32 nRHS = pRHS->getTokenValue().toInt64(); - return ( nLHS == nRHS ) ? createTrue() : NULL; - } - - ::rtl::OUString aColumnName( impl_getColumnRefColumnName_throw( *pLHS ) ); - - ::rtl::OUString aMatchString; - if ( pRHS->isToken() ) - aMatchString = pRHS->getTokenValue(); - else - aMatchString = pRHS->getChild( 0 )->getTokenValue(); - - pResult = createTest( aColumnName, E_BOOK_QUERY_IS, aMatchString ); - - if ( pResult && ( pPrec->getNodeType() == SQL_NODE_NOTEQUAL ) ) - pResult = e_book_query_not( pResult, TRUE ); - } - // SQL like - else if( SQL_ISRULE( parseTree, like_predicate ) ) - { - ENSURE_OR_THROW( parseTree->count() == 2, "unexpected like_predicate structure" ); - const OSQLParseNode* pPart2 = parseTree->getChild(1); - - if( ! SQL_ISRULE( parseTree->getChild( 0 ), column_ref) ) - m_pConnection->throwGenericSQLException(STR_QUERY_INVALID_LIKE_COLUMN,*this); - - ::rtl::OUString aColumnName( impl_getColumnRefColumnName_throw( *parseTree->getChild( 0 ) ) ); - - OSQLParseNode *pAtom = pPart2->getChild( pPart2->count() - 2 ); // Match String - bool bNotLike = pPart2->getChild(0)->isToken(); - - if( !( pAtom->getNodeType() == SQL_NODE_STRING || - pAtom->getNodeType() == SQL_NODE_NAME || - SQL_ISRULE( pAtom,parameter ) || - ( pAtom->getChild( 0 ) && pAtom->getChild( 0 )->getNodeType() == SQL_NODE_NAME ) || - ( pAtom->getChild( 0 ) && pAtom->getChild( 0 )->getNodeType() == SQL_NODE_STRING ) ) ) - { - OSL_TRACE( "analyseSQL : pAtom->count() = %d\n", pAtom->count() ); - m_pConnection->throwGenericSQLException(STR_QUERY_INVALID_LIKE_STRING,*this); - } - - const sal_Unicode WILDCARD = '%'; - - rtl::OUString aMatchString; - aMatchString = pAtom->getTokenValue(); - - // Determine where '%' character is... - if( aMatchString.equals( ::rtl::OUString::valueOf( WILDCARD ) ) ) - { - // String containing only a '%' and nothing else matches everything - pResult = createTest( aColumnName, E_BOOK_QUERY_CONTAINS, - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")) ); - } - else if( aMatchString.indexOf( WILDCARD ) == -1 ) - { // Simple string , eg. "to match" "contains in evo" - EVO_TRACE_STRING( "Plain contains '%s'", aMatchString ); - pResult = createTest( aColumnName, E_BOOK_QUERY_CONTAINS, aMatchString ); - if( pResult && bNotLike ) - pResult = e_book_query_not( pResult, TRUE ); - } - else if( bNotLike ) - { - // We currently can't handle a 'NOT LIKE' when there are '%' - m_pConnection->throwGenericSQLException(STR_QUERY_NOT_LIKE_TOO_COMPLEX,*this); - } - else if( (aMatchString.indexOf ( WILDCARD ) == aMatchString.lastIndexOf ( WILDCARD ) ) ) - { // One occurrence of '%' matches... - if ( aMatchString.indexOf ( WILDCARD ) == 0 ) - pResult = createTest( aColumnName, E_BOOK_QUERY_ENDS_WITH, aMatchString.copy( 1 ) ); - else if ( aMatchString.indexOf ( WILDCARD ) == aMatchString.getLength() - 1 ) - pResult = createTest( aColumnName, E_BOOK_QUERY_BEGINS_WITH, aMatchString.copy( 0, aMatchString.getLength() - 1 ) ); - else - m_pConnection->throwGenericSQLException(STR_QUERY_LIKE_WILDCARD,*this); - - if( pResult && bNotLike ) - pResult = e_book_query_not( pResult, TRUE ); - } - else if( aMatchString.getLength() >= 3 && - aMatchString.indexOf ( WILDCARD ) == 0 && - aMatchString.indexOf ( WILDCARD, 1) == aMatchString.getLength() - 1 ) { - // one '%' at the start and another at the end - pResult = createTest( aColumnName, E_BOOK_QUERY_CONTAINS, aMatchString.copy (1, aMatchString.getLength() - 2) ); - } - else - m_pConnection->throwGenericSQLException(STR_QUERY_LIKE_WILDCARD_MANY,*this); - } - - return pResult; -} - -rtl::OUString OCommonStatement::getTableName() -{ - ::rtl::OUString aTableName; - - if( m_pParseTree && m_aSQLIterator.getStatementType() == SQL_STATEMENT_SELECT ) - { - Any aCatalog; - ::rtl::OUString aSchema, aComposedName; - const OSQLParseNode *pSelectStmnt = m_aSQLIterator.getParseTree(); - const OSQLParseNode *pAllTableNames = pSelectStmnt->getChild( 3 )->getChild( 0 )->getChild( 1 ); - - if( m_aSQLIterator.isTableNode( pAllTableNames->getChild( 0 ) ) ) - OSQLParseNode::getTableComponents( pAllTableNames->getChild( 0 ), - aCatalog,aSchema, aTableName,NULL ); - - else if( SQL_ISRULE( pAllTableNames->getChild( 0 ), table_ref ) ) - { - OSQLParseNode *pNodeForTableName = pAllTableNames->getChild( 0 )->getChild( 0 ); - if( m_aSQLIterator.isTableNode( pNodeForTableName ) ) - { - aTableName = OSQLParseNode::getTableRange(pAllTableNames->getChild( 0 )); - if( !aTableName.getLength() ) - OSQLParseNode::getTableComponents( pNodeForTableName, aCatalog, aSchema, aTableName,NULL); - } - else - OSL_FAIL( "odd table layout" ); - } - else - OSL_FAIL( "unusual table layout" ); - } - return aTableName; -} - -void OCommonStatement::parseSql( const rtl::OUString& sql, QueryData& _out_rQueryData ) -{ - EVO_TRACE_STRING( "parsing %s", sql ); - - _out_rQueryData.eFilterType = eFilterOther; - - ::rtl::OUString aErr; - m_pParseTree = m_aParser.parseTree( aErr, sql ); - m_aSQLIterator.setParseTree( m_pParseTree ); - m_aSQLIterator.traverseAll(); - - _out_rQueryData.sTable = getTableName(); - - // to be sorted? - const OSQLParseNode* pOrderByClause = m_aSQLIterator.getOrderTree(); - if ( pOrderByClause ) - { - #if OSL_DEBUG_LEVEL > 0 - ::rtl::OUString sTreeDebug; - pOrderByClause->showParseTree( sTreeDebug ); - EVO_TRACE_STRING( "found order-by tree:\n%s", sTreeDebug ); - #endif - orderByAnalysis( pOrderByClause, _out_rQueryData.aSortOrder ); - } - - const OSQLParseNode* pWhereClause = m_aSQLIterator.getWhereTree(); - if ( pWhereClause && SQL_ISRULE( pWhereClause, where_clause ) ) - { - #if OSL_DEBUG_LEVEL > 0 - ::rtl::OUString sTreeDebug; - pWhereClause->showParseTree( sTreeDebug ); - EVO_TRACE_STRING( "found where tree:\n%s", sTreeDebug ); - #endif - EBookQuery* pQuery = whereAnalysis( pWhereClause->getChild( 1 ) ); - if ( !pQuery ) - { - _out_rQueryData.eFilterType = eFilterAlwaysFalse; - pQuery = createTrue(); - } - _out_rQueryData.setQuery( pQuery ); - } - else - { - _out_rQueryData.eFilterType = eFilterNone; - _out_rQueryData.setQuery( createTrue() ); - } -} - -// ------------------------------------------------------------------------- - -Reference< XConnection > SAL_CALL OStatement::getConnection( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - // just return our connection here - return impl_getConnection(); -} - -// ------------------------------------------------------------------------- -Any SAL_CALL OCommonStatement::getWarnings( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - - return makeAny(SQLWarning()); -} - -// ------------------------------------------------------------------------- -void SAL_CALL OCommonStatement::clearWarnings( ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - -} -// ------------------------------------------------------------------------- -::cppu::IPropertyArrayHelper* OCommonStatement::createArrayHelper( ) const -{ - Sequence< Property > aProps; - describeProperties( aProps ); - return new ::cppu::OPropertyArrayHelper( aProps ); -} -// ------------------------------------------------------------------------- -::cppu::IPropertyArrayHelper & OCommonStatement::getInfoHelper() -{ - return *const_cast< OCommonStatement* >( this )->getArrayHelper(); -} - -// ----------------------------------------------------------------------------- -void SAL_CALL OCommonStatement::acquire() throw() -{ - OCommonStatement_IBase::acquire(); -} -// ----------------------------------------------------------------------------- -void SAL_CALL OCommonStatement::release() throw() -{ - relase_ChildImpl(); -} - -// ------------------------------------------------------------------------- -QueryData OCommonStatement::impl_getEBookQuery_throw( const ::rtl::OUString& _rSql ) -{ - QueryData aData; - parseSql( _rSql, aData ); - -#ifdef DEBUG - char *pSexpr = aData.getQuery() ? e_book_query_to_string( aData.getQuery() ) : g_strdup( "<map failed>" ); - g_message( "Parsed SQL to sexpr '%s'\n", pSexpr ); - g_free( pSexpr ); -#endif - - if ( !aData.getQuery() ) - m_pConnection->throwGenericSQLException( STR_QUERY_TOO_COMPLEX, *this ); - - // a postcondition of this method is that we properly determined the SELECT columns - aData.xSelectColumns = m_aSQLIterator.getSelectColumns(); - if ( !aData.xSelectColumns.is() ) - m_pConnection->throwGenericSQLException( STR_QUERY_TOO_COMPLEX, *this ); - - return aData; -} - -// ------------------------------------------------------------------------- -Reference< XResultSet > OCommonStatement::impl_executeQuery_throw( const QueryData& _rQueryData ) -{ - // create result set - OEvoabResultSet* pResult = new OEvoabResultSet( this, m_pConnection ); - Reference< XResultSet > xRS = pResult; - pResult->construct( _rQueryData ); - - // done - m_xResultSet = xRS; - return xRS; -} - -// ------------------------------------------------------------------------- -Reference< XResultSet > OCommonStatement::impl_executeQuery_throw( const ::rtl::OUString& _rSql ) -{ - EVO_TRACE_STRING( "OCommonStatement::impl_executeQuery_throw(%s)\n", _rSql ); - -#ifdef DEBUG - g_message( "Parse SQL '%s'\n", - (const sal_Char *)OUStringToOString( _rSql, RTL_TEXTENCODING_UTF8 ) ); -#endif - - return impl_executeQuery_throw( impl_getEBookQuery_throw( _rSql ) ); -} - -// ----------------------------------------------------------------------------- -Reference< XPropertySetInfo > SAL_CALL OCommonStatement::getPropertySetInfo( ) throw(RuntimeException) -{ - return ::cppu::OPropertySetHelper::createPropertySetInfo( getInfoHelper() ); -} - -// ============================================================================= -// = OStatement -// ============================================================================= -// ----------------------------------------------------------------------------- -IMPLEMENT_SERVICE_INFO( OStatement, "com.sun.star.comp.sdbcx.evoab.OStatement", "com.sun.star.sdbc.Statement" ); - -// ----------------------------------------------------------------------------- -IMPLEMENT_FORWARD_XINTERFACE2( OStatement, OCommonStatement, OStatement_IBase ) - -// ----------------------------------------------------------------------------- -IMPLEMENT_FORWARD_XTYPEPROVIDER2( OStatement, OCommonStatement, OStatement_IBase ) - -// ------------------------------------------------------------------------- -sal_Bool SAL_CALL OStatement::execute( const ::rtl::OUString& _sql ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - Reference< XResultSet > xRS = impl_executeQuery_throw( _sql ); - return xRS.is(); -} - -// ------------------------------------------------------------------------- -Reference< XResultSet > SAL_CALL OStatement::executeQuery( const ::rtl::OUString& _sql ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - - return impl_executeQuery_throw( _sql ); -} - -// ----------------------------------------------------------------------------- -sal_Int32 SAL_CALL OStatement::executeUpdate( const ::rtl::OUString& /*sql*/ ) throw(SQLException, RuntimeException) -{ - ::osl::MutexGuard aGuard( m_aMutex ); - checkDisposed(OCommonStatement_IBase::rBHelper.bDisposed); - ::dbtools::throwFeatureNotImplementedException( "XStatement::executeUpdate", *this ); - return 0; -} - -} } // namespace ::connectivity::evoab - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NStatement.hxx b/connectivity/source/drivers/evoab2/NStatement.hxx deleted file mode 100644 index b5adfeb0a7..0000000000 --- a/connectivity/source/drivers/evoab2/NStatement.hxx +++ /dev/null @@ -1,291 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_STATEMENT_HXX_ -#define _CONNECTIVITY_EVOAB_STATEMENT_HXX_ - -#include <com/sun/star/sdbc/XStatement.hpp> -#include <com/sun/star/sdbc/XWarningsSupplier.hpp> -#include <com/sun/star/sdbc/XMultipleResults.hpp> -#include <com/sun/star/sdbc/XCloseable.hpp> -#include <com/sun/star/sdbc/SQLWarning.hpp> -#include <comphelper/proparrhlp.hxx> -#include <cppuhelper/compbase2.hxx> -#include <comphelper/uno3.hxx> -#include "connectivity/CommonTools.hxx" -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <comphelper/broadcasthelper.hxx> -#include "connectivity/sqliterator.hxx" -#include "connectivity/sqlparse.hxx" -#include <connectivity/FValue.hxx> -#include "OSubComponent.hxx" -#include <com/sun/star/util/XCancellable.hpp> -#include <cppuhelper/compbase5.hxx> -#include <comphelper/propertycontainer.hxx> -#include <com/sun/star/lang/XServiceInfo.hpp> - -#include "EApi.h" - -#include <list> - -namespace connectivity -{ - namespace evoab - { - class OEvoabResultSet; - class OEvoabConnection; - typedef ::cppu::WeakComponentImplHelper2 < ::com::sun::star::sdbc::XWarningsSupplier - , ::com::sun::star::sdbc::XCloseable - > OCommonStatement_IBase; - - struct FieldSort - { - sal_Int32 nField; - bool bAscending; - - FieldSort() : nField(0), bAscending( true ) { } - FieldSort( const sal_Int32 _nField, const bool _bAscending ) : nField( _nField ), bAscending( _bAscending ) { } - }; - typedef ::std::vector< FieldSort > SortDescriptor; - - enum QueryFilterType - { - eFilterAlwaysFalse, - eFilterNone, - eFilterOther - }; - - struct QueryData - { - private: - EBookQuery* pQuery; - - public: - ::rtl::OUString sTable; - QueryFilterType eFilterType; - ::rtl::Reference< ::connectivity::OSQLColumns > xSelectColumns; - SortDescriptor aSortOrder; - - QueryData() - :pQuery( NULL ) - ,sTable() - ,eFilterType( eFilterOther ) - ,xSelectColumns() - ,aSortOrder() - { - } - - QueryData( const QueryData& _rhs ) - :pQuery( NULL ) - ,sTable() - ,eFilterType( eFilterType ) - ,xSelectColumns() - ,aSortOrder() - { - *this = _rhs; - } - - QueryData& operator=( const QueryData& _rhs ) - { - if ( this == &_rhs ) - return *this; - - setQuery( _rhs.pQuery ); - sTable = _rhs.sTable; - eFilterType = _rhs.eFilterType; - xSelectColumns = _rhs.xSelectColumns; - aSortOrder = _rhs.aSortOrder; - - return *this; - } - - ~QueryData() - { - setQuery( NULL ); - } - - EBookQuery* getQuery() const { return pQuery; } - - void setQuery( EBookQuery* _pQuery ) - { - if ( pQuery ) - e_book_query_unref( pQuery ); - pQuery = _pQuery; - if ( pQuery ) - e_book_query_ref( pQuery ); - } - }; - - //************************************************************** - //************ Class: OCommonStatement - // is a base class for the normal statement and for the prepared statement - //************************************************************** - class OCommonStatement; - typedef OSubComponent< OCommonStatement, OCommonStatement_IBase > OStatement_CBase; - - class OCommonStatement :public comphelper::OBaseMutex - ,public OCommonStatement_IBase - ,public ::comphelper::OPropertyContainer - ,public ::comphelper::OPropertyArrayUsageHelper< OCommonStatement > - ,public OStatement_CBase - { - friend class OSubComponent< OCommonStatement, OCommonStatement_IBase >; - - private: - ::com::sun::star::uno::WeakReference< ::com::sun::star::sdbc::XResultSet> m_xResultSet; // The last ResultSet created - OEvoabResultSet *m_pResultSet; - OEvoabConnection *m_pConnection; - connectivity::OSQLParser m_aParser; - connectivity::OSQLParseTreeIterator m_aSQLIterator; - connectivity::OSQLParseNode *m_pParseTree; - - // <properties> - ::rtl::OUString m_aCursorName; - sal_Int32 m_nMaxFieldSize; - sal_Int32 m_nMaxRows; - sal_Int32 m_nQueryTimeOut; - sal_Int32 m_nFetchSize; - sal_Int32 m_nResultSetType; - sal_Int32 m_nFetchDirection; - sal_Int32 m_nResultSetConcurrency; - sal_Bool m_bEscapeProcessing; - // </properties> - - ::cppu::OBroadcastHelper& rBHelper; - - protected: - - void disposeResultSet(); - - // OPropertyArrayUsageHelper - virtual ::cppu::IPropertyArrayHelper* createArrayHelper() const; - // OPropertySetHelper - virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper(); - - virtual ~OCommonStatement(); - - protected: - void reset () throw( ::com::sun::star::sdbc::SQLException); - void clearMyResultSet () throw( ::com::sun::star::sdbc::SQLException); - void parseSql( const ::rtl::OUString& sql, QueryData& _out_rQueryData ); - EBookQuery *whereAnalysis( const OSQLParseNode* parseTree ); - void orderByAnalysis( const OSQLParseNode* _pOrderByClause, SortDescriptor& _out_rSort ); - rtl::OUString getTableName(); - EBookQuery *createTrue(); - EBookQuery *createTest( const ::rtl::OUString &aColumnName, - EBookQueryTest eTest, - const ::rtl::OUString &aMatch ); - - public: - - // other methods - OEvoabConnection* getOwnConnection() const { return m_pConnection;} - - using OCommonStatement_IBase::operator ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >; - - protected: - OCommonStatement( OEvoabConnection* _pConnection ); - - // OComponentHelper - virtual void SAL_CALL disposing(void); - // XInterface - virtual void SAL_CALL release() throw(); - virtual void SAL_CALL acquire() throw(); - // XInterface - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); - //XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException); - - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); - - // XWarningsSupplier - virtual ::com::sun::star::uno::Any SAL_CALL getWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL clearWarnings( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - - // XCloseable - virtual void SAL_CALL close( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - - protected: - /** will return the EBookQuery representing the stamement's WHERE condition, or throw - - Also, all statement dependent members (such as the parser/iterator) will be inited afterwards. - */ - QueryData - impl_getEBookQuery_throw( const ::rtl::OUString& _rSql ); - - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > - impl_executeQuery_throw( const ::rtl::OUString& _rSql ); - - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > - impl_executeQuery_throw( const QueryData& _rData ); - - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > - impl_getConnection() { return ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >( (::com::sun::star::sdbc::XConnection*)m_pConnection ); } - - ::rtl::OUString - impl_getColumnRefColumnName_throw( const ::connectivity::OSQLParseNode& _rColumnRef ); - }; - - typedef ::cppu::ImplHelper2 < ::com::sun::star::lang::XServiceInfo - , ::com::sun::star::sdbc::XStatement - > OStatement_IBase; - class OStatement :public OCommonStatement - ,public OStatement_IBase - { - protected: - virtual ~OStatement(){} - - public: - OStatement( OEvoabConnection* _pConnection) - :OCommonStatement( _pConnection) - { - } - - // XInterface - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - // XTypeProvider - DECLARE_XTYPEPROVIDER() - - // XServiceInfo - DECLARE_SERVICE_INFO(); - - // XStatement - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL executeQuery( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException) ; - virtual sal_Int32 SAL_CALL executeUpdate( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException) ; - virtual sal_Bool SAL_CALL execute( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException) ; - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > SAL_CALL getConnection( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException) ; - }; - } -} -#endif // CONNECTIVITY_SSTATEMENT_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NTable.cxx b/connectivity/source/drivers/evoab2/NTable.cxx deleted file mode 100644 index 30807ab4f5..0000000000 --- a/connectivity/source/drivers/evoab2/NTable.cxx +++ /dev/null @@ -1,90 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" - -#include "NTable.hxx" -#include "NTables.hxx" -#include "NColumns.hxx" -#include "NCatalog.hxx" - -using namespace connectivity; -using namespace ::comphelper; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::sdbcx; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::container; -using namespace ::com::sun::star::lang; -using namespace connectivity::evoab; -// ------------------------------------------------------------------------- -OEvoabTable::OEvoabTable( sdbcx::OCollection* _pTables, - OEvoabConnection* _pConnection, - const ::rtl::OUString& _Name, - const ::rtl::OUString& _Type, - const ::rtl::OUString& _Description , - const ::rtl::OUString& _SchemaName, - const ::rtl::OUString& _CatalogName - ) : OEvoabTable_TYPEDEF(_pTables,sal_True, - _Name, - _Type, - _Description, - _SchemaName, - _CatalogName), - m_pConnection(_pConnection) -{ - construct(); -} -// ------------------------------------------------------------------------- -void OEvoabTable::refreshColumns() -{ - TStringVector aVector; - - if (!isNew()) - { - Reference< XResultSet > xResult = m_pConnection->getMetaData()->getColumns( - Any(), - m_SchemaName, - m_Name, - ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("%"))); - - if (xResult.is()) - { - Reference< XRow > xRow(xResult, UNO_QUERY); - while (xResult->next()) - aVector.push_back(xRow->getString(4)); - } - } - if (m_pColumns) - m_pColumns->reFill(aVector); - else - m_pColumns = new OEvoabColumns(this,m_aMutex,aVector); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NTable.hxx b/connectivity/source/drivers/evoab2/NTable.hxx deleted file mode 100644 index 169191d630..0000000000 --- a/connectivity/source/drivers/evoab2/NTable.hxx +++ /dev/null @@ -1,70 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ - /************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -#ifndef _CONNECTIVITY_EVOAB_TABLE_HXX_ -#define _CONNECTIVITY_EVOAB_TABLE_HXX_ - -#include "NConnection.hxx" -#include "connectivity/sdbcx/VTable.hxx" - -namespace connectivity -{ - namespace evoab - { - typedef connectivity::sdbcx::OTable OEvoabTable_TYPEDEF; - - ::rtl::OUString getTypeString(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xColProp); - - class OEvoabTable : public OEvoabTable_TYPEDEF - { - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData; - OEvoabConnection* m_pConnection; - - public: - OEvoabTable( sdbcx::OCollection* _pTables, - OEvoabConnection* _pConnection, - const ::rtl::OUString& _Name, - const ::rtl::OUString& _Type, - const ::rtl::OUString& _Description = ::rtl::OUString(), - const ::rtl::OUString& _SchemaName = ::rtl::OUString(), - const ::rtl::OUString& _CatalogName = ::rtl::OUString() - ); - - OEvoabConnection* getConnection() { return m_pConnection;} - - virtual void refreshColumns(); - - ::rtl::OUString getTableName() const { return m_Name; } - ::rtl::OUString getSchema() const { return m_SchemaName; } - }; - } -} - -#endif // _CONNECTIVITY_EVOAB_TABLE_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NTables.cxx b/connectivity/source/drivers/evoab2/NTables.cxx deleted file mode 100644 index a883d823a8..0000000000 --- a/connectivity/source/drivers/evoab2/NTables.cxx +++ /dev/null @@ -1,105 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_connectivity.hxx" -#include "NTables.hxx" -#include <com/sun/star/sdbc/XRow.hpp> -#include <com/sun/star/sdbc/XResultSet.hpp> -#include <com/sun/star/sdbc/ColumnValue.hpp> -#include <com/sun/star/sdbc/KeyRule.hpp> -#include <com/sun/star/sdbcx/KeyType.hpp> -#include <connectivity/sdbcx/VTable.hxx> -#include "NCatalog.hxx" -#include "NConnection.hxx" -#include <comphelper/extract.hxx> -#include "connectivity/dbtools.hxx" -#include "connectivity/dbexception.hxx" -#include <cppuhelper/interfacecontainer.h> -#include <comphelper/types.hxx> -#include "NDebug.hxx" -#include "NTable.hxx" -using namespace ::comphelper; - -using namespace ::cppu; -using namespace connectivity::evoab; -using namespace connectivity::sdbcx; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::sdbcx; -using namespace ::com::sun::star::sdbc; -using namespace ::com::sun::star::container; -using namespace ::com::sun::star::lang; -using namespace dbtools; -typedef connectivity::sdbcx::OCollection OCollection_TYPE; - -ObjectType OEvoabTables::createObject(const ::rtl::OUString& aName) -{ - ::rtl::OUString aSchema( RTL_CONSTASCII_USTRINGPARAM( "%" )); - - Sequence< ::rtl::OUString > aTypes(1); - aTypes[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TABLE")); - ::rtl::OUString sEmpty; - - Reference< XResultSet > xResult = m_xMetaData->getTables(Any(),aSchema,aName,aTypes); - - ObjectType xRet = NULL; - if(xResult.is()) - { - Reference< XRow > xRow(xResult,UNO_QUERY); - if(xResult->next()) // there can be only one table with this name - { - OEvoabTable* pRet = new OEvoabTable( - this, - (OEvoabConnection *)static_cast<OEvoabCatalog&>(m_rParent).getConnection(), - aName, - xRow->getString(4), - xRow->getString(5), - sEmpty); - xRet = pRet; - } - } - - ::comphelper::disposeComponent(xResult); - - return xRet; -} -// ------------------------------------------------------------------------- -void OEvoabTables::impl_refresh( ) throw(RuntimeException) -{ - static_cast<OEvoabCatalog&>(m_rParent).refreshTables(); -} -// ------------------------------------------------------------------------- -void OEvoabTables::disposing(void) -{ -m_xMetaData.clear(); - OCollection::disposing(); -} -// ----------------------------------------------------------------------------- - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/NTables.hxx b/connectivity/source/drivers/evoab2/NTables.hxx deleted file mode 100644 index 001454a18d..0000000000 --- a/connectivity/source/drivers/evoab2/NTables.hxx +++ /dev/null @@ -1,56 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************/ -#ifndef _CONNECTIVITY_EVOAB_TABLES_HXX_ -#define _CONNECTIVITY_EVOAB_TABLES_HXX_ - -#include "connectivity/sdbcx/VCollection.hxx" -#include <com/sun/star/sdbc/XDatabaseMetaData.hpp> -namespace connectivity -{ - namespace evoab - { - class OEvoabTables : public sdbcx::OCollection - { - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData; - protected: - virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName); - virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException); - public: - OEvoabTables(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData >& _rMetaData, - ::cppu::OWeakObject& _rParent, ::osl::Mutex& _rMutex, - const TStringVector &_rVector) : - sdbcx::OCollection(_rParent,sal_True,_rMutex,_rVector), - m_xMetaData(_rMetaData) - {} - virtual void SAL_CALL disposing(void); - }; - } -} -#endif // _CONNECTIVITY_EVOAB_TABLES_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/evoab2/evoab.component b/connectivity/source/drivers/evoab2/evoab.component deleted file mode 100755 index a99719388d..0000000000 --- a/connectivity/source/drivers/evoab2/evoab.component +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!--********************************************************************** -* -* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -* -* Copyright 2000, 2010 Oracle and/or its affiliates. -* -* OpenOffice.org - a multi-platform office productivity suite -* -* This file is part of OpenOffice.org. -* -* 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. -* -* 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). -* -* 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. -* -**********************************************************************--> - -<component loader="com.sun.star.loader.SharedLibrary" - xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="com.sun.star.comp.sdbc.evoab.OEvoabDriver"> - <service name="com.sun.star.sdbc.Driver"/> - </implementation> -</component> diff --git a/connectivity/source/drivers/evoab2/evoab.xml b/connectivity/source/drivers/evoab2/evoab.xml deleted file mode 100755 index fbf309cbf0..0000000000 --- a/connectivity/source/drivers/evoab2/evoab.xml +++ /dev/null @@ -1,28 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE module-description PUBLIC "-//W3C//DTD HTML 3.2//EN" "module-description.dtd"> -<module-description> - <module-name>evoab</module-name> - <component-description> - <author>Jayant Madavi</author> - <name>com.sun.star.comp.sdbc.evoab.OEvoabDriver</name> - <description>This library implements the database driver for evolution address book formats. -</description> - <loader-name>com.sun.star.loader.SharedLibrary</loader-name> - <language>c++</language> - <status value="final"/> - <supported-service>com.sun.star.sdbc.Driver</supported-service> - <service-dependency> ... </service-dependency> - </component-description> - <project-build-dependency>cppuhelper</project-build-dependency> - <project-build-dependency>cppu</project-build-dependency> - <project-build-dependency>sal</project-build-dependency> - <runtime-module-dependency>cppuhelper</runtime-module-dependency> - <runtime-module-dependency>cppu</runtime-module-dependency> - <runtime-module-dependency>sal</runtime-module-dependency> - <runtime-module-dependency>osl</runtime-module-dependency> - <runtime-module-dependency>svtools-light1</runtime-module-dependency> - <runtime-module-dependency>svtools</runtime-module-dependency> - <runtime-module-dependency>ucbhelper</runtime-module-dependency> - <runtime-module-dependency>unotools</runtime-module-dependency> - <runtime-module-dependency>comphelper</runtime-module-dependency> -</module-description> diff --git a/connectivity/source/drivers/evoab2/evoab2.xcu b/connectivity/source/drivers/evoab2/evoab2.xcu deleted file mode 100644 index bda1fb8648..0000000000 --- a/connectivity/source/drivers/evoab2/evoab2.xcu +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!--*********************************************************************** - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * 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. - * - * 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). - * - * 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. - * - ************************************************************************ --> -<oor:component-data oor:name="Drivers" oor:package="org.openoffice.Office.DataAccess" xmlns:oor="http://openoffice.org/2001/registry" xmlns:xs="http://www.w3.org/2001/XMLSchema"> - <node oor:name="Installed"> - <node oor:name="sdbc:address:evolution:local" oor:op="replace"> - <prop oor:name="Driver"> - <value>com.sun.star.comp.sdbc.evoab.OEvoabDriver</value> - </prop> - <prop oor:name="DriverTypeDisplayName" oor:type="xs:string"> - <value xml:lang="en-US">Evolution Local</value> - </prop> - <node oor:name="Features"> - <node oor:name="EscapeDateTime" oor:op="replace"> - <prop oor:name="Value" oor:type="xs:boolean"> - <value>true</value> - </prop> - </node> - </node> - </node> - <node oor:name="sdbc:address:evolution:ldap" oor:op="replace"> - <prop oor:name="Driver"> - <value>com.sun.star.comp.sdbc.evoab.OEvoabDriver</value> - </prop> - <prop oor:name="DriverTypeDisplayName" oor:type="xs:string"> - <value xml:lang="en-US">Evolution LDAP</value> - </prop> - <node oor:name="Features"> - <node oor:name="EscapeDateTime" oor:op="replace"> - <prop oor:name="Value" oor:type="xs:boolean"> - <value>true</value> - </prop> - </node> - </node> - </node> - <node oor:name="sdbc:address:evolution:groupwise" oor:op="replace"> - <prop oor:name="Driver"> - <value>com.sun.star.comp.sdbc.evoab.OEvoabDriver</value> - </prop> - <prop oor:name="DriverTypeDisplayName" oor:type="xs:string"> - <value xml:lang="en-US">Groupwise</value> - </prop> - <node oor:name="Features"> - <node oor:name="EscapeDateTime" oor:op="replace"> - <prop oor:name="Value" oor:type="xs:boolean"> - <value>true</value> - </prop> - </node> - </node> - </node> - </node> -</oor:component-data> diff --git a/connectivity/source/drivers/evoab2/makefile.mk b/connectivity/source/drivers/evoab2/makefile.mk deleted file mode 100755 index 6f61762a0c..0000000000 --- a/connectivity/source/drivers/evoab2/makefile.mk +++ /dev/null @@ -1,121 +0,0 @@ -#************************************************************************* -# -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. -# -# Copyright 2000, 2010 Oracle and/or its affiliates. -# -# OpenOffice.org - a multi-platform office productivity suite -# -# This file is part of OpenOffice.org. -# -# 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. -# -# 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). -# -# 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. -# -#************************************************************************* - -PRJ=..$/..$/.. -PRJINC=..$/.. -PRJNAME=connectivity -TARGET=evoab2 -ENABLE_EXCEPTIONS=TRUE -VISIBILITY_HIDDEN=TRUE - -.IF "$(ENABLE_EVOAB2)"!="TRUE" -dummy: - @echo "Evolution 2.x Addressbook build disabled" -.ELSE - -# --- Settings ---------------------------------- - -.INCLUDE : $(PRJ)$/makefile.pmk -.INCLUDE : $(PRJ)$/version.mk - -PKGCONFIG_MODULES=gtk+-2.0 -.INCLUDE : pkg_config.mk - -CFLAGS+=$(GOBJECT_CFLAGS) - -# --- Files ------------------------------------- - -SLOFILES=\ - $(SLO)$/NDriver.obj \ - $(SLO)$/NTable.obj \ - $(SLO)$/NColumns.obj \ - $(SLO)$/NTables.obj \ - $(SLO)$/NCatalog.obj \ - $(SLO)$/NConnection.obj \ - $(SLO)$/NDatabaseMetaData.obj \ - $(SLO)$/NStatement.obj \ - $(SLO)$/NPreparedStatement.obj \ - $(SLO)$/NServices.obj \ - $(SLO)$/NResultSet.obj \ - $(SLO)$/NResultSetMetaData.obj \ - $(SLO)$/EApi.obj \ - $(SLO)$/NDebug.obj - -SHL1VERSIONMAP=$(SOLARENV)/src/component.map - - -# --- Library ----------------------------------- - -SHL1TARGET= $(EVOAB_TARGET)$(DLLPOSTFIX) -SHL1OBJS=$(SLOFILES) -SHL1STDLIBS=\ - $(CPPULIB) \ - $(CPPUHELPERLIB) \ - $(SVLLIB) \ - $(TOOLSLIB) \ - $(UNOTOOLSLIB) \ - $(UCBHELPERLIB) \ - $(SALLIB) \ - $(SALHELPERLIB) \ - $(DBTOOLSLIB) \ - $(DBFILELIB) \ - $(COMPHELPERLIB) - -.IF "$(DBFILELIB)" == "" -SHL1STDLIBS+= ifile.lib -.ENDIF -SHL1STDLIBS+=$(GOBJECT_LIBS) - - -SHL1STDLIBS+=$(PKGCONFIG_LIBS:s/ -lpangoxft-1.0//) -# hack for faked SO environment -.IF "$(PKGCONFIG_ROOT)"!="" -SHL1SONAME+=-z nodefs -SHL1NOCHECK=TRUE -.ENDIF # "$(PKGCONFIG_ROOT)"!="" - - -SHL1DEPN= -SHL1IMPLIB= i$(TARGET) - -SHL1DEF= $(MISC)$/$(SHL1TARGET).def - -DEF1NAME= $(SHL1TARGET) - -.ENDIF - -# --- Targets ---------------------------------- - -.INCLUDE : $(PRJ)$/target.pmk - -ALLTAR : $(MISC)/evoab.component - -$(MISC)/evoab.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \ - evoab.component - $(XSLTPROC) --nonet --stringparam uri \ - '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \ - $(SOLARENV)/bin/createcomponent.xslt evoab.component |