summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/evoab2
diff options
context:
space:
mode:
authorMichael Stahl <mstahl@redhat.com>2012-01-28 20:55:39 +0100
committerMichael Stahl <mstahl@redhat.com>2012-01-28 20:55:39 +0100
commit371976860088a3c5c3df9840dcdfd632d9d6f1f5 (patch)
tree9e9f67205cd5b72f1031721273e1534a3a1e5b0f /connectivity/source/drivers/evoab2
parent651568afad1a585c485384ab6d7b65780fb02256 (diff)
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'connectivity/source/drivers/evoab2')
-rw-r--r--connectivity/source/drivers/evoab2/EApi.cxx138
-rwxr-xr-xconnectivity/source/drivers/evoab2/EApi.h145
-rw-r--r--connectivity/source/drivers/evoab2/NCatalog.cxx102
-rw-r--r--connectivity/source/drivers/evoab2/NCatalog.hxx58
-rw-r--r--connectivity/source/drivers/evoab2/NColumns.cxx93
-rw-r--r--connectivity/source/drivers/evoab2/NColumns.hxx60
-rw-r--r--connectivity/source/drivers/evoab2/NConnection.cxx293
-rw-r--r--connectivity/source/drivers/evoab2/NConnection.hxx126
-rw-r--r--connectivity/source/drivers/evoab2/NDatabaseMetaData.cxx1196
-rw-r--r--connectivity/source/drivers/evoab2/NDatabaseMetaData.hxx237
-rw-r--r--connectivity/source/drivers/evoab2/NDebug.cxx43
-rw-r--r--connectivity/source/drivers/evoab2/NDebug.hxx45
-rw-r--r--connectivity/source/drivers/evoab2/NDriver.cxx192
-rw-r--r--connectivity/source/drivers/evoab2/NDriver.hxx101
-rw-r--r--connectivity/source/drivers/evoab2/NPreparedStatement.cxx338
-rw-r--r--connectivity/source/drivers/evoab2/NPreparedStatement.hxx141
-rw-r--r--connectivity/source/drivers/evoab2/NResultSet.cxx1024
-rw-r--r--connectivity/source/drivers/evoab2/NResultSet.hxx186
-rw-r--r--connectivity/source/drivers/evoab2/NResultSetMetaData.cxx197
-rw-r--r--connectivity/source/drivers/evoab2/NResultSetMetaData.hxx91
-rw-r--r--connectivity/source/drivers/evoab2/NServices.cxx116
-rw-r--r--connectivity/source/drivers/evoab2/NStatement.cxx685
-rw-r--r--connectivity/source/drivers/evoab2/NStatement.hxx291
-rw-r--r--connectivity/source/drivers/evoab2/NTable.cxx90
-rw-r--r--connectivity/source/drivers/evoab2/NTable.hxx70
-rw-r--r--connectivity/source/drivers/evoab2/NTables.cxx105
-rw-r--r--connectivity/source/drivers/evoab2/NTables.hxx56
-rwxr-xr-xconnectivity/source/drivers/evoab2/evoab.component34
-rwxr-xr-xconnectivity/source/drivers/evoab2/evoab.xml28
-rw-r--r--connectivity/source/drivers/evoab2/evoab2.xcu76
-rwxr-xr-xconnectivity/source/drivers/evoab2/makefile.mk121
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