summaryrefslogtreecommitdiff
path: root/connectivity/source/drivers/macab
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/drivers/macab')
-rw-r--r--connectivity/source/drivers/macab/MacabAddressBook.cxx258
-rw-r--r--connectivity/source/drivers/macab/MacabAddressBook.hxx75
-rw-r--r--connectivity/source/drivers/macab/MacabCatalog.cxx127
-rw-r--r--connectivity/source/drivers/macab/MacabCatalog.hxx67
-rw-r--r--connectivity/source/drivers/macab/MacabColumns.cxx101
-rw-r--r--connectivity/source/drivers/macab/MacabColumns.hxx57
-rw-r--r--connectivity/source/drivers/macab/MacabConnection.cxx326
-rw-r--r--connectivity/source/drivers/macab/MacabConnection.hxx134
-rw-r--r--connectivity/source/drivers/macab/MacabDatabaseMetaData.cxx1127
-rw-r--r--connectivity/source/drivers/macab/MacabDatabaseMetaData.hxx215
-rw-r--r--connectivity/source/drivers/macab/MacabDriver.cxx350
-rw-r--r--connectivity/source/drivers/macab/MacabDriver.hxx199
-rw-r--r--connectivity/source/drivers/macab/MacabGroup.cxx104
-rw-r--r--connectivity/source/drivers/macab/MacabGroup.hxx53
-rw-r--r--connectivity/source/drivers/macab/MacabHeader.cxx346
-rw-r--r--connectivity/source/drivers/macab/MacabHeader.hxx74
-rw-r--r--connectivity/source/drivers/macab/MacabPreparedStatement.cxx410
-rw-r--r--connectivity/source/drivers/macab/MacabPreparedStatement.hxx122
-rw-r--r--connectivity/source/drivers/macab/MacabRecord.cxx350
-rw-r--r--connectivity/source/drivers/macab/MacabRecord.hxx80
-rw-r--r--connectivity/source/drivers/macab/MacabRecords.cxx1215
-rw-r--r--connectivity/source/drivers/macab/MacabRecords.hxx139
-rw-r--r--connectivity/source/drivers/macab/MacabResultSet.cxx1076
-rw-r--r--connectivity/source/drivers/macab/MacabResultSet.hxx229
-rw-r--r--connectivity/source/drivers/macab/MacabResultSetMetaData.cxx227
-rw-r--r--connectivity/source/drivers/macab/MacabResultSetMetaData.hxx97
-rw-r--r--connectivity/source/drivers/macab/MacabServices.cxx117
-rw-r--r--connectivity/source/drivers/macab/MacabStatement.cxx614
-rw-r--r--connectivity/source/drivers/macab/MacabStatement.hxx177
-rw-r--r--connectivity/source/drivers/macab/MacabTable.cxx99
-rw-r--r--connectivity/source/drivers/macab/MacabTable.hxx71
-rw-r--r--connectivity/source/drivers/macab/MacabTables.cxx93
-rw-r--r--connectivity/source/drivers/macab/MacabTables.hxx64
-rwxr-xr-xconnectivity/source/drivers/macab/exports.dxp1
-rw-r--r--connectivity/source/drivers/macab/macab.xcu46
-rwxr-xr-xconnectivity/source/drivers/macab/macab.xml77
-rwxr-xr-xconnectivity/source/drivers/macab/macab1.component34
-rw-r--r--connectivity/source/drivers/macab/macabcondition.cxx253
-rw-r--r--connectivity/source/drivers/macab/macabcondition.hxx170
-rw-r--r--connectivity/source/drivers/macab/macaborder.cxx89
-rw-r--r--connectivity/source/drivers/macab/macaborder.hxx77
-rw-r--r--connectivity/source/drivers/macab/macabutilities.hxx152
-rwxr-xr-xconnectivity/source/drivers/macab/makefile.mk138
43 files changed, 0 insertions, 9830 deletions
diff --git a/connectivity/source/drivers/macab/MacabAddressBook.cxx b/connectivity/source/drivers/macab/MacabAddressBook.cxx
deleted file mode 100644
index 1f7d0a6b18..0000000000
--- a/connectivity/source/drivers/macab/MacabAddressBook.cxx
+++ /dev/null
@@ -1,258 +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 "MacabAddressBook.hxx"
-#include "MacabRecords.hxx"
-#include "MacabGroup.hxx"
-
-#include <vector>
-
-#include <premac.h>
-#include <Carbon/Carbon.h>
-#include <AddressBook/ABAddressBookC.h>
-#include <postmac.h>
-#include "connectivity/CommonTools.hxx"
-
-using namespace connectivity::macab;
-using namespace ::com::sun::star::uno;
-
-// -----------------------------------------------------------------------------
-MacabAddressBook::MacabAddressBook( )
-{
- m_aAddressBook = ABGetSharedAddressBook();
- m_xMacabRecords = NULL;
- m_bRetrievedGroups = sal_False;
-}
-
-// -----------------------------------------------------------------------------
-MacabAddressBook::~MacabAddressBook()
-{
- if(m_xMacabRecords != NULL)
- {
- delete m_xMacabRecords;
- m_xMacabRecords = NULL;
- }
-
- if(!m_xMacabGroups.empty())
- {
- ::std::vector<MacabGroup *>::iterator iter, end;
- iter = m_xMacabGroups.begin();
- end = m_xMacabGroups.end();
- for( ; iter != end; ++iter)
- delete (*iter);
- }
-
- m_bRetrievedGroups = sal_False;
-}
-
-// -----------------------------------------------------------------------------
-/* Get the address book's default table name. This is the table name that
- * refers to the table containing _all_ records in the address book.
- */
-const ::rtl::OUString & MacabAddressBook::getDefaultTableName()
-{
- /* This string probably needs to be localized. */
- static const ::rtl::OUString aDefaultTableName
- (::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Address Book")));
-
- return aDefaultTableName;
-}
-
-// -----------------------------------------------------------------------------
-MacabRecords *MacabAddressBook::getMacabRecords()
-{
- /* If the MacabRecords don't exist, create them. */
- if(m_xMacabRecords == NULL)
- {
- m_xMacabRecords = new MacabRecords(m_aAddressBook);
- m_xMacabRecords->setName(getDefaultTableName());
- m_xMacabRecords->initialize();
- }
-
- return m_xMacabRecords;
-}
-
-// -----------------------------------------------------------------------------
-/* Get the MacabRecords for a given name: either a group name or the
- * default table name.
- */
-MacabRecords *MacabAddressBook::getMacabRecords(const ::rtl::OUString _tableName)
-{
- if(_tableName == getDefaultTableName())
- {
- return getMacabRecords();
- }
- else
- {
- return getMacabGroup(_tableName);
- }
-}
-
-// -----------------------------------------------------------------------------
-MacabRecords *MacabAddressBook::getMacabRecordsMatch(const ::rtl::OUString _tableName)
-{
- if(match(_tableName, getDefaultTableName(), '\0'))
- {
- return getMacabRecords();
- }
-
- return getMacabGroupMatch(_tableName);
-}
-
-// -----------------------------------------------------------------------------
-::std::vector<MacabGroup *> MacabAddressBook::getMacabGroups()
-{
- /* If the MacabGroups haven't been created yet, create them. */
- if(m_bRetrievedGroups == sal_False)
- {
- /* If the MacabRecords haven't been created yet, create them. */
- if(m_xMacabRecords == NULL)
- {
- m_xMacabRecords = new MacabRecords(m_aAddressBook);
- m_xMacabRecords->setName(getDefaultTableName());
- m_xMacabRecords->initialize();
- }
-
- CFArrayRef allGroups = ABCopyArrayOfAllGroups(m_aAddressBook);
- sal_Int32 nGroups = CFArrayGetCount(allGroups);
- m_xMacabGroups = ::std::vector<MacabGroup *>(nGroups);
-
- sal_Int32 i;
- ABGroupRef xGroup;
-
- /* Go through each group and create a MacabGroup out of it. */
- for(i = 0; i < nGroups; i++)
- {
- xGroup = (ABGroupRef) CFArrayGetValueAtIndex(allGroups, i);
- m_xMacabGroups[i] = new MacabGroup(m_aAddressBook, m_xMacabRecords, xGroup);
- }
-
- CFRelease(allGroups);
-
- /* Manage duplicates. */
- manageDuplicateGroups(m_xMacabGroups);
- m_bRetrievedGroups = sal_True;
- }
-
- return m_xMacabGroups;
-}
-
-// -----------------------------------------------------------------------------
-MacabGroup *MacabAddressBook::getMacabGroup(::rtl::OUString _groupName)
-{
- // initialize groups if not already initialized
- if(m_bRetrievedGroups == sal_False)
- getMacabGroups();
-
- sal_Int32 nGroups = m_xMacabGroups.size();
- sal_Int32 i;
-
- for(i = 0; i < nGroups; i++)
- {
- if(m_xMacabGroups[i] != NULL)
- {
- if(m_xMacabGroups[i]->getName() == _groupName)
- {
- return m_xMacabGroups[i];
- }
- }
- }
-
- return NULL;
-}
-
-// -----------------------------------------------------------------------------
-MacabGroup *MacabAddressBook::getMacabGroupMatch(::rtl::OUString _groupName)
-{
- // initialize groups if not already initialized
- if(m_bRetrievedGroups == sal_False)
- getMacabGroups();
-
- sal_Int32 nGroups = m_xMacabGroups.size();
- sal_Int32 i;
-
- for(i = 0; i < nGroups; i++)
- {
- if(m_xMacabGroups[i] != NULL)
- {
- if(match(m_xMacabGroups[i]->getName(), _groupName, '\0'))
- {
- return m_xMacabGroups[i];
- }
- }
- }
-
- return NULL;
-}
-
-// -------------------------------------------------------------------------
-void MacabAddressBook::manageDuplicateGroups(::std::vector<MacabGroup *> _xGroups) const
-{
- /* If we have two cases of groups, say, family, this makes it:
- * family
- * family (2)
- */
- ::std::vector<MacabGroup *>::reverse_iterator iter1, iter2;
- sal_Int32 count;
-
- for(iter1 = _xGroups.rbegin(); iter1 != _xGroups.rend(); ++iter1)
- {
- /* If the name matches the default table name, there is already
- * (obviously) a conflict. So, start the count of groups with this
- * name at 2 instead of 1.
- */
- if( (*iter1)->getName() == getDefaultTableName() )
- count = 2;
- else
- count = 1;
-
- iter2 = iter1;
- for( ++iter2; iter2 != _xGroups.rend(); ++iter2)
- {
- if( (*iter1)->getName() == (*iter2)->getName() )
- {
- count++;
- }
- }
-
- // duplicate!
- if(count != 1)
- {
- ::rtl::OUString sName = (*iter1)->getName();
- sName += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" (")) +
- ::rtl::OUString::valueOf(count) +
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(")"));
- (*iter1)->setName(sName);
- }
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabAddressBook.hxx b/connectivity/source/drivers/macab/MacabAddressBook.hxx
deleted file mode 100644
index 2aefbd8d9e..0000000000
--- a/connectivity/source/drivers/macab/MacabAddressBook.hxx
+++ /dev/null
@@ -1,75 +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_MACAB_ADDRESSBOOK_HXX_
-#define _CONNECTIVITY_MACAB_ADDRESSBOOK_HXX_
-
-#include "MacabRecords.hxx"
-#include "MacabGroup.hxx"
-
-#include <vector>
-
-#include <premac.h>
-#include <Carbon/Carbon.h>
-#include <AddressBook/ABAddressBookC.h>
-#include <postmac.h>
-
-namespace connectivity
-{
- namespace macab
- {
- class MacabAddressBook
- {
- protected:
- ABAddressBookRef m_aAddressBook;
- MacabRecords *m_xMacabRecords;
- ::std::vector<MacabGroup *> m_xMacabGroups;
- sal_Bool m_bRetrievedGroups;
- private:
- void manageDuplicateGroups(::std::vector<MacabGroup *> _xGroups) const;
- public:
- MacabAddressBook();
- ~MacabAddressBook();
- static const ::rtl::OUString & getDefaultTableName();
-
- MacabRecords *getMacabRecords();
- ::std::vector<MacabGroup *> getMacabGroups();
-
- MacabGroup *getMacabGroup(::rtl::OUString _groupName);
- MacabRecords *getMacabRecords(const ::rtl::OUString _tableName);
-
- MacabGroup *getMacabGroupMatch(::rtl::OUString _groupName);
- MacabRecords *getMacabRecordsMatch(const ::rtl::OUString _tableName);
- };
-
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_ADDRESSBOOK_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabCatalog.cxx b/connectivity/source/drivers/macab/MacabCatalog.cxx
deleted file mode 100644
index bd9342b4bd..0000000000
--- a/connectivity/source/drivers/macab/MacabCatalog.cxx
+++ /dev/null
@@ -1,127 +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 "MacabCatalog.hxx"
-#include "MacabConnection.hxx"
-#include "MacabTables.hxx"
-
-using namespace connectivity::macab;
-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 ::cppu;
-
-// -------------------------------------------------------------------------
-MacabCatalog::MacabCatalog(MacabConnection* _pCon)
- : connectivity::sdbcx::OCatalog(_pCon),
- m_pConnection(_pCon),
- m_xMetaData(m_pConnection->getMetaData())
-{
-}
-// -------------------------------------------------------------------------
-void MacabCatalog::refreshTables()
-{
- TStringVector aVector;
- Sequence< ::rtl::OUString > aTypes(1);
- aTypes[0] = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("%"));
- 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;
- // const ::rtl::OUString& sDot = MacabCatalog::getDot();
-
- while (xResult->next())
- {
- // aName = xRow->getString(2);
- // aName += sDot;
- aName = xRow->getString(3);
- aVector.push_back(aName);
- }
- }
- if (m_pTables)
- m_pTables->reFill(aVector);
- else
- m_pTables = new MacabTables(m_xMetaData,*this,m_aMutex,aVector);
-}
-// -------------------------------------------------------------------------
-void MacabCatalog::refreshViews()
-{
-}
-// -------------------------------------------------------------------------
-void MacabCatalog::refreshGroups()
-{
-}
-// -------------------------------------------------------------------------
-void MacabCatalog::refreshUsers()
-{
-}
-// -------------------------------------------------------------------------
-const ::rtl::OUString& MacabCatalog::getDot()
-{
- static const ::rtl::OUString sDot = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("."));
- return sDot;
-}
-// -----------------------------------------------------------------------------
-
-// XTablesSupplier
-Reference< XNameAccess > SAL_CALL MacabCatalog::getTables( ) throw(RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
- checkDisposed(rBHelper.bDisposed);
-
- 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/macab/MacabCatalog.hxx b/connectivity/source/drivers/macab/MacabCatalog.hxx
deleted file mode 100644
index 52e4e7782f..0000000000
--- a/connectivity/source/drivers/macab/MacabCatalog.hxx
+++ /dev/null
@@ -1,67 +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_MACAB_CATALOG_HXX_
-#define _CONNECTIVITY_MACAB_CATALOG_HXX_
-
-#include "connectivity/sdbcx/VCatalog.hxx"
-
-namespace connectivity
-{
- namespace macab
- {
- class MacabConnection;
-
- class MacabCatalog : public connectivity::sdbcx::OCatalog
- {
- MacabConnection* m_pConnection; // used to get the metadata
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData; // just to make things easier
-
- public:
- MacabCatalog(MacabConnection* _pCon);
-
- inline MacabConnection* getConnection() const { return m_pConnection; }
-
- static const ::rtl::OUString& getDot();
-
- // implementation of the pure virtual methods
- 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_MACAB_CATALOG_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabColumns.cxx b/connectivity/source/drivers/macab/MacabColumns.cxx
deleted file mode 100644
index 0d78b45969..0000000000
--- a/connectivity/source/drivers/macab/MacabColumns.cxx
+++ /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.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_connectivity.hxx"
-
-#include "MacabColumns.hxx"
-#include "MacabTable.hxx"
-#include "MacabTables.hxx"
-#include "MacabCatalog.hxx"
-#include "connectivity/sdbcx/VColumn.hxx"
-
-using namespace connectivity::macab;
-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;
-
-// -------------------------------------------------------------------------
-sdbcx::ObjectType MacabColumns::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 MacabColumns::impl_refresh() throw(RuntimeException)
-{
- m_pTable->refreshColumns();
-}
-// -------------------------------------------------------------------------
-MacabColumns::MacabColumns( MacabTable* _pTable,
- ::osl::Mutex& _rMutex,
- const TStringVector &_rVector)
- : sdbcx::OCollection(*_pTable, sal_True, _rMutex, _rVector),
- m_pTable(_pTable)
-{
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabColumns.hxx b/connectivity/source/drivers/macab/MacabColumns.hxx
deleted file mode 100644
index 1d75c8b585..0000000000
--- a/connectivity/source/drivers/macab/MacabColumns.hxx
+++ /dev/null
@@ -1,57 +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_MACAB_COLUMNS_HXX_
-#define _CONNECTIVITY_MACAB_COLUMNS_HXX_
-
-#include "MacabTable.hxx"
-#include "connectivity/sdbcx/VCollection.hxx"
-
-namespace connectivity
-{
- namespace macab
- {
- class MacabColumns : public sdbcx::OCollection
- {
- protected:
- MacabTable* m_pTable;
-
- virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName);
- virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException);
-
- public:
- MacabColumns( MacabTable* _pTable,
- ::osl::Mutex& _rMutex,
- const TStringVector &_rVector);
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_COLUMNS_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabConnection.cxx b/connectivity/source/drivers/macab/MacabConnection.cxx
deleted file mode 100644
index 4841430a07..0000000000
--- a/connectivity/source/drivers/macab/MacabConnection.cxx
+++ /dev/null
@@ -1,326 +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 "MacabConnection.hxx"
-#include "MacabAddressBook.hxx"
-#include "MacabDatabaseMetaData.hxx"
-#include "MacabStatement.hxx"
-#include "MacabPreparedStatement.hxx"
-#include "MacabDriver.hxx"
-#include "MacabCatalog.hxx"
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <com/sun/star/sdbc/TransactionIsolation.hpp>
-
-using namespace connectivity::macab;
-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;
-
-IMPLEMENT_SERVICE_INFO(MacabConnection, "com.sun.star.sdbc.drivers.MacabConnection", "com.sun.star.sdbc.Connection")
-//-----------------------------------------------------------------------------
-MacabConnection::MacabConnection(MacabDriver* _pDriver)
- : OSubComponent<MacabConnection, MacabConnection_BASE>((::cppu::OWeakObject*)_pDriver, this),
- m_pAddressBook(NULL),
- m_pDriver(_pDriver)
-{
- m_pDriver->acquire();
-}
-//-----------------------------------------------------------------------------
-MacabConnection::~MacabConnection()
-{
- if (!isClosed())
- close();
-
- m_pDriver->release();
- m_pDriver = NULL;
-}
-//-----------------------------------------------------------------------------
-void SAL_CALL MacabConnection::release() throw()
-{
- relase_ChildImpl();
-}
-// -----------------------------------------------------------------------------
-void MacabConnection::construct(const ::rtl::OUString&, const Sequence< PropertyValue >&) throw(SQLException)
-{
- osl_incrementInterlockedCount( &m_refCount );
-
- // get the Mac OS X shared address book
- m_pAddressBook = new MacabAddressBook();
-
- osl_decrementInterlockedCount( &m_refCount );
-}
-// XServiceInfo
-// --------------------------------------------------------------------------------
-Reference< XStatement > SAL_CALL MacabConnection::createStatement( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // create a statement
- // the statement can only be executed once
- Reference< XStatement > xReturn = new MacabStatement(this);
- m_aStatements.push_back(WeakReferenceHelper(xReturn));
- return xReturn;
-}
-// --------------------------------------------------------------------------------
-Reference< XPreparedStatement > SAL_CALL MacabConnection::prepareStatement( const ::rtl::OUString& _sSql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // create a statement
- // the statement can only be executed more than once
- Reference< XPreparedStatement > xReturn = new MacabPreparedStatement(this, _sSql);
- m_aStatements.push_back(WeakReferenceHelper(xReturn));
- return xReturn;
-}
-// --------------------------------------------------------------------------------
-Reference< XPreparedStatement > SAL_CALL MacabConnection::prepareCall( const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // not implemented yet :-) a task to do
- return NULL;
-}
-// --------------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabConnection::nativeSQL( const ::rtl::OUString& _sSql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- // when you need to transform SQL92 to you driver specific you can do it here
-
- return _sSql;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabConnection::setAutoCommit( sal_Bool ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
- // here you have to set your commit mode please have a look at the jdbc documentation to get a clear explanation
-}
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabConnection::getAutoCommit( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
- // you have to distinguish which if you are in autocommit mode or not
- // at normal case true should be fine here
-
- return sal_True;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabConnection::commit( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // when you database does support transactions you should commit here
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabConnection::rollback( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // same as commit but for the other case
-}
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabConnection::isClosed( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- // just simple -> we are closed when we are disposed, that means someone called dispose(); (XComponent)
- return MacabConnection_BASE::rBHelper.bDisposed;
-}
-// --------------------------------------------------------------------------------
-Reference< XDatabaseMetaData > SAL_CALL MacabConnection::getMetaData( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // here we have to create the class with biggest interface
- // The answer is 42 :-)
- Reference< XDatabaseMetaData > xMetaData = m_xMetaData;
- if (!xMetaData.is())
- {
- xMetaData = new MacabDatabaseMetaData(this); // need the connection because it can return it
- m_xMetaData = xMetaData;
- }
-
- return xMetaData;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabConnection::setReadOnly( sal_Bool ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // set you connection to readonly
-}
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabConnection::isReadOnly( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // return if your connection to readonly
- return sal_False;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabConnection::setCatalog( const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // if your database doesn't work with catalogs you go to next method otherwise you kjnow what to do
-}
-// --------------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabConnection::getCatalog( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
-
- // return your current catalog
- return ::rtl::OUString();
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabConnection::setTransactionIsolation( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // set your isolation level
- // please have a look at @see com.sun.star.sdbc.TransactionIsolation
-}
-// --------------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabConnection::getTransactionIsolation( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
-
- // please have a look at @see com.sun.star.sdbc.TransactionIsolation
- return TransactionIsolation::NONE;
-}
-// --------------------------------------------------------------------------------
-Reference< ::com::sun::star::container::XNameAccess > SAL_CALL MacabConnection::getTypeMap( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
-
- // if your driver has special database types you can return it here
-
- return NULL;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabConnection::setTypeMap( const Reference< ::com::sun::star::container::XNameAccess >& ) throw(SQLException, RuntimeException)
-{
- // the other way around
-}
-// --------------------------------------------------------------------------------
-// XCloseable
-void SAL_CALL MacabConnection::close( ) throw(SQLException, RuntimeException)
-{
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabConnection_BASE::rBHelper.bDisposed);
- }
- dispose();
-}
-// --------------------------------------------------------------------------------
-// XWarningsSupplier
-Any SAL_CALL MacabConnection::getWarnings( ) throw(SQLException, RuntimeException)
-{
- // when you collected some warnings -> return it
- return Any();
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabConnection::clearWarnings( ) throw(SQLException, RuntimeException)
-{
- // you should clear your collected warnings here
-}
-//------------------------------------------------------------------------------
-void MacabConnection::disposing()
-{
- // we noticed that we should be destroied in near future so we have to dispose our statements
- ::osl::MutexGuard aGuard(m_aMutex);
-
- for (OWeakRefArray::iterator i = m_aStatements.begin(); m_aStatements.end() != i; ++i)
- {
- Reference< XComponent > xComp(i->get(), UNO_QUERY);
- if (xComp.is())
- xComp->dispose();
- }
- m_aStatements.clear();
-
- if (m_pAddressBook != NULL)
- {
- delete m_pAddressBook;
- m_pAddressBook = NULL;
- }
-
- m_xMetaData = ::com::sun::star::uno::WeakReference< ::com::sun::star::sdbc::XDatabaseMetaData>();
-
- dispose_ChildImpl();
- MacabConnection_BASE::disposing();
-}
-// -----------------------------------------------------------------------------
-Reference< XTablesSupplier > SAL_CALL MacabConnection::createCatalog()
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- Reference< XTablesSupplier > xTab = m_xCatalog;
- if (!m_xCatalog.is())
- {
- MacabCatalog *pCat = new MacabCatalog(this);
- xTab = pCat;
- m_xCatalog = xTab;
- }
- return xTab;
-}
-// -----------------------------------------------------------------------------
-MacabAddressBook* MacabConnection::getAddressBook() const
-{
- return m_pAddressBook;
-}
-// -----------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL createMacabConnection( void* _pDriver )
-{
- MacabConnection* pConnection = new MacabConnection( static_cast< MacabDriver* >( _pDriver ) );
- // by definition, the pointer crossing library boundaries as void ptr is acquired once
- pConnection->acquire();
- return pConnection;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabConnection.hxx b/connectivity/source/drivers/macab/MacabConnection.hxx
deleted file mode 100644
index 65ece28448..0000000000
--- a/connectivity/source/drivers/macab/MacabConnection.hxx
+++ /dev/null
@@ -1,134 +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_MACAB_CONNECTION_HXX_
-#define _CONNECTIVITY_MACAB_CONNECTION_HXX_
-
-#include <map>
-#include "OSubComponent.hxx"
-#include "connectivity/CommonTools.hxx"
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/sdbc/SQLWarning.hpp>
-#include <com/sun/star/sdbc/XWarningsSupplier.hpp>
-#include <com/sun/star/sdbc/XConnection.hpp>
-#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
-#include <comphelper/broadcasthelper.hxx>
-#include <cppuhelper/compbase3.hxx>
-#include "TConnection.hxx"
-
-namespace connectivity
-{
- namespace macab
- {
-
- typedef ::cppu::WeakComponentImplHelper3< ::com::sun::star::sdbc::XConnection,
- ::com::sun::star::sdbc::XWarningsSupplier,
- ::com::sun::star::lang::XServiceInfo
- > OMetaConnection_BASE;
-
- class MacabStatement_Base;
- class MacabDriver;
- class MacabDatabaseMetaData;
- class MacabAddressBook;
-
- //typedef OMetaConnection_BASE MacabConnection_BASE; // implements basics and text encoding
- typedef std::vector< ::com::sun::star::uno::WeakReferenceHelper > OWeakRefArray;
-
- typedef connectivity::OMetaConnection MacabConnection_BASE;
-
- class MacabConnection : public MacabConnection_BASE,
- public OSubComponent<MacabConnection, MacabConnection_BASE>
- {
- friend class OSubComponent<MacabConnection, MacabConnection_BASE>;
-
- protected:
- //====================================================================
- // Data attributes
- //====================================================================
- MacabAddressBook* m_pAddressBook; // the address book
- MacabDriver* m_pDriver; // pointer to the owning driver object
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier>
- m_xCatalog; // needed for the SQL interpreter
-
- public:
- virtual void construct( const ::rtl::OUString& url,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info) throw(::com::sun::star::sdbc::SQLException);
-
- MacabConnection(MacabDriver* _pDriver);
- virtual ~MacabConnection();
-
- void closeAllStatements () throw( ::com::sun::star::sdbc::SQLException);
-
- // 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::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);
-
- // needed for the SQL interpreter
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > SAL_CALL createCatalog();
-
- // accessors
- inline MacabDriver* getDriver() const { return m_pDriver;}
- MacabAddressBook* getAddressBook() const;
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_CONNECTION_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabDatabaseMetaData.cxx b/connectivity/source/drivers/macab/MacabDatabaseMetaData.cxx
deleted file mode 100644
index 7a8687eb13..0000000000
--- a/connectivity/source/drivers/macab/MacabDatabaseMetaData.cxx
+++ /dev/null
@@ -1,1127 +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 "MacabDatabaseMetaData.hxx"
-#include "MacabAddressBook.hxx"
-#include "MacabHeader.hxx"
-#include "MacabGroup.hxx"
-#include "macabutilities.hxx"
-
-#include "MacabDriver.hxx"
-#include "FDatabaseMetaDataResultSet.hxx"
-#include "OTypeInfo.hxx"
-#include <com/sun/star/sdbc/ColumnValue.hpp>
-#include <com/sun/star/sdbc/ResultSetType.hpp>
-#include <com/sun/star/sdbc/TransactionIsolation.hpp>
-
-#include <vector>
-
-using namespace connectivity::macab;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::beans;
-using namespace com::sun::star::sdbc;
-
-MacabDatabaseMetaData::MacabDatabaseMetaData(MacabConnection* _pCon)
- : m_xConnection(_pCon),
- m_bUseCatalog(sal_True)
-{
- OSL_ENSURE(_pCon,"MacabDatabaseMetaData::MacabDatabaseMetaData: No connection set!");
-
- osl_incrementInterlockedCount( &m_refCount );
- m_bUseCatalog = !(usesLocalFiles() || usesLocalFilePerTable());
- osl_decrementInterlockedCount( &m_refCount );
-}
-// -------------------------------------------------------------------------
-MacabDatabaseMetaData::~MacabDatabaseMetaData()
-{
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getCatalogSeparator( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aVal;
- if (m_bUseCatalog)
- { // do some special here for you database
- }
-
- return aVal;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxBinaryLiteralLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxRowSize( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxCatalogNameLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxCharLiteralLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxColumnNameLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxColumnsInIndex( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxCursorNameLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxConnections( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxColumnsInTable( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxStatementLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxTableNameLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxTablesInSelect( ) throw(SQLException, RuntimeException)
-{
- // MaxTablesInSelect describes how many tables can participate in the FROM part of a given SELECT statement,
- // currently, the resultset/statement implementations can cope with one table only
- sal_Int32 nValue = 1;
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::doesMaxRowSizeIncludeBlobs( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::storesLowerCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::storesLowerCaseIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::storesMixedCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::storesMixedCaseIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::storesUpperCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::storesUpperCaseIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsAlterTableWithAddColumn( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsAlterTableWithDropColumn( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxIndexLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsNonNullableColumns( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getCatalogTerm( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aVal;
- if (m_bUseCatalog)
- {
- }
- return aVal;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getIdentifierQuoteString( ) throw(SQLException, RuntimeException)
-{
- // normally this is "
- ::rtl::OUString aVal(RTL_CONSTASCII_USTRINGPARAM("\""));
- return aVal;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getExtraNameCharacters( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aVal;
- return aVal;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsDifferentTableCorrelationNames( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::isCatalogAtStart( ) throw(SQLException, RuntimeException)
-{
- sal_Bool bValue = sal_False;
- if (m_bUseCatalog)
- {
- }
- return bValue;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::dataDefinitionIgnoredInTransactions( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::dataDefinitionCausesTransactionCommit( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsDataManipulationTransactionsOnly( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsDataDefinitionAndDataManipulationTransactions( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsPositionedDelete( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsPositionedUpdate( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsOpenStatementsAcrossRollback( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsOpenStatementsAcrossCommit( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsOpenCursorsAcrossCommit( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsOpenCursorsAcrossRollback( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsTransactionIsolationLevel( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSchemasInDataManipulation( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsANSI92FullSQL( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsANSI92EntryLevelSQL( ) throw(SQLException, RuntimeException)
-{
- return sal_True; // should be supported at least
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsIntegrityEnhancementFacility( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSchemasInIndexDefinitions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSchemasInTableDefinitions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsCatalogsInTableDefinitions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsCatalogsInIndexDefinitions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsCatalogsInDataManipulation( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsOuterJoins( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxStatements( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxProcedureNameLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxSchemaNameLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsTransactions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::allProceduresAreCallable( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsStoredProcedures( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSelectForUpdate( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::allTablesAreSelectable( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::isReadOnly( ) throw(SQLException, RuntimeException)
-{
- // for the moment, we have read-only addresses, but this might change in the future
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::usesLocalFiles( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::usesLocalFilePerTable( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsTypeConversion( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::nullPlusNonNullIsNull( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsColumnAliasing( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsTableCorrelationNames( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsConvert( sal_Int32, sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsExpressionsInOrderBy( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsGroupBy( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsGroupByBeyondSelect( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsGroupByUnrelated( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsMultipleTransactions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsMultipleResultSets( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsLikeEscapeClause( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsOrderByUnrelated( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsUnion( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsUnionAll( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsMixedCaseIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsMixedCaseQuotedIdentifiers( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::nullsAreSortedAtEnd( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::nullsAreSortedAtStart( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::nullsAreSortedHigh( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::nullsAreSortedLow( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSchemasInProcedureCalls( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSchemasInPrivilegeDefinitions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsCatalogsInProcedureCalls( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsCatalogsInPrivilegeDefinitions( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsCorrelatedSubqueries( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSubqueriesInComparisons( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSubqueriesInExists( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSubqueriesInIns( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsSubqueriesInQuantifieds( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsANSI92IntermediateSQL( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getURL( ) throw(SQLException, RuntimeException)
-{
- // if someday we support more than the default address book,
- // this method should return the URL which was used to create it
- ::rtl::OUString aValue( RTL_CONSTASCII_USTRINGPARAM( "sdbc:address:macab:" ));
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getUserName( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getDriverName( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue( RTL_CONSTASCII_USTRINGPARAM( "macab" ));
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getDriverVersion() throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue(RTL_CONSTASCII_USTRINGPARAM(MACAB_DRIVER_VERSION));
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getDatabaseProductVersion( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getDatabaseProductName( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getProcedureTerm( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getSchemaTerm( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getDriverMajorVersion( ) throw(RuntimeException)
-{
- return MACAB_DRIVER_VERSION_MAJOR;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getDefaultTransactionIsolation( ) throw(SQLException, RuntimeException)
-{
- return TransactionIsolation::NONE;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getDriverMinorVersion( ) throw(RuntimeException)
-{
- return MACAB_DRIVER_VERSION_MINOR;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getSQLKeywords( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getSearchStringEscape( ) throw(SQLException, RuntimeException)
-{
- ::rtl::OUString aValue;
- return aValue;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getStringFunctions( ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getTimeDateFunctions( ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getSystemFunctions( ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabDatabaseMetaData::getNumericFunctions( ) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsExtendedSQLGrammar( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsCoreSQLGrammar( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsMinimumSQLGrammar( ) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsFullOuterJoins( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsLimitedOuterJoins( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxColumnsInGroupBy( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxColumnsInOrderBy( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxColumnsInSelect( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDatabaseMetaData::getMaxUserNameLength( ) throw(SQLException, RuntimeException)
-{
- sal_Int32 nValue = 0; // 0 means no limit
- return nValue;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsResultSetType( sal_Int32 setType ) throw(SQLException, RuntimeException)
-{
- switch (setType)
- {
- case ResultSetType::FORWARD_ONLY:
- case ResultSetType::SCROLL_INSENSITIVE:
- return sal_True;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsResultSetConcurrency( sal_Int32 setType, sal_Int32 ) throw(SQLException, RuntimeException)
-{
- switch (setType)
- {
- case ResultSetType::FORWARD_ONLY:
- case ResultSetType::SCROLL_INSENSITIVE:
- return sal_True;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::ownUpdatesAreVisible( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::ownDeletesAreVisible( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::ownInsertsAreVisible( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::othersUpdatesAreVisible( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::othersDeletesAreVisible( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::othersInsertsAreVisible( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::updatesAreDetected( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::deletesAreDetected( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::insertsAreDetected( sal_Int32 ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDatabaseMetaData::supportsBatchUpdates( ) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-Reference< XConnection > SAL_CALL MacabDatabaseMetaData::getConnection( ) throw(SQLException, RuntimeException)
-{
- return (Reference< XConnection >) m_xConnection.get();
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getTableTypes( ) throw(SQLException, RuntimeException)
-{
- ::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(ODatabaseMetaDataResultSet::eTableTypes);
- Reference< XResultSet > xRef = pResult;
-
- static ODatabaseMetaDataResultSet::ORows aRows;
- static const ::rtl::OUString aTable(RTL_CONSTASCII_USTRINGPARAM("TABLE"));
-
- if (aRows.empty())
- {
- ODatabaseMetaDataResultSet::ORow aRow(2);
- aRow[0] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[1] = new ORowSetValueDecorator(aTable);
- aRows.push_back(aRow);
- }
- pResult->setRows(aRows);
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getTypeInfo( ) throw(SQLException, RuntimeException)
-{
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(ODatabaseMetaDataResultSet::eTypeInfo);
- Reference< XResultSet > xRef = pResult;
-
- static ODatabaseMetaDataResultSet::ORows aRows;
- if (aRows.empty())
- {
- ODatabaseMetaDataResultSet::ORow aRow(19);
-
- // We support four types: char, timestamp, integer, float
- aRow[0] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[1] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CHAR")));
- aRow[2] = new ORowSetValueDecorator(DataType::CHAR);
- aRow[3] = new ORowSetValueDecorator((sal_Int32) 254);
- aRow[4] = ODatabaseMetaDataResultSet::getQuoteValue();
- aRow[5] = ODatabaseMetaDataResultSet::getQuoteValue();
- aRow[6] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[7] = new ORowSetValueDecorator((sal_Int32) ColumnValue::NULLABLE);
- aRow[8] = ODatabaseMetaDataResultSet::get1Value();
- aRow[9] = new ORowSetValueDecorator((sal_Int32) ColumnSearch::CHAR);
- aRow[10] = ODatabaseMetaDataResultSet::get1Value();
- aRow[11] = ODatabaseMetaDataResultSet::get0Value();
- aRow[12] = ODatabaseMetaDataResultSet::get0Value();
- aRow[13] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[14] = ODatabaseMetaDataResultSet::get0Value();
- aRow[15] = ODatabaseMetaDataResultSet::get0Value();
- aRow[16] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[17] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[18] = new ORowSetValueDecorator((sal_Int32) 10);
-
- aRows.push_back(aRow);
-
- aRow[1] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TIMESTAMP")));
- aRow[2] = new ORowSetValueDecorator(DataType::TIMESTAMP);
- aRow[3] = new ORowSetValueDecorator((sal_Int32)19);
- aRow[4] = ODatabaseMetaDataResultSet::getQuoteValue();
- aRow[5] = ODatabaseMetaDataResultSet::getQuoteValue();
- aRows.push_back(aRow);
-
- aRow[1] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("INTEGER")));
- aRow[2] = new ORowSetValueDecorator(DataType::INTEGER);
- aRow[3] = new ORowSetValueDecorator((sal_Int32)20);
- aRow[15] = new ORowSetValueDecorator((sal_Int32)20);
- aRows.push_back(aRow);
-
- aRow[1] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FLOAT")));
- aRow[2] = new ORowSetValueDecorator(DataType::FLOAT);
- aRow[3] = new ORowSetValueDecorator((sal_Int32)20);
- aRow[15] = new ORowSetValueDecorator((sal_Int32)15);
- aRows.push_back(aRow);
- }
- pResult->setRows(aRows);
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getCatalogs( ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eCatalogs );
-}
-// -----------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getSchemas( ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eSchemas );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getColumnPrivileges(
- const Any&, const ::rtl::OUString&, const ::rtl::OUString&,
- const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eColumnPrivileges );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getColumns(
- const Any&,
- const ::rtl::OUString&,
- const ::rtl::OUString& tableNamePattern,
- const ::rtl::OUString& columnNamePattern) throw(SQLException, RuntimeException)
-{
- ::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eColumns);
- Reference< XResultSet > xRef = pResult;
- MacabRecords *aRecords;
- ::rtl::OUString sTableName;
-
- aRecords = m_xConnection->getAddressBook()->getMacabRecordsMatch(tableNamePattern);
-
- ODatabaseMetaDataResultSet::ORows aRows;
- if(aRecords != NULL)
- {
- MacabHeader *aHeader = aRecords->getHeader();
- sTableName = aRecords->getName();
-
- ODatabaseMetaDataResultSet::ORow aRow(19);
-
- aRow[0] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[1] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[2] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[3] = new ORowSetValueDecorator(sTableName);
- aRow[8] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[9] = ODatabaseMetaDataResultSet::get0Value();
- aRow[10] = new ORowSetValueDecorator((sal_Int32) 10);
- aRow[11] = ODatabaseMetaDataResultSet::get1Value();
- aRow[12] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[13] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[14] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[15] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[16] = new ORowSetValueDecorator((sal_Int32) 254);
- aRow[18] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("YES")));
-
- sal_Int32 nPosition = 1;
- ::rtl::OUString sName;
-
- MacabHeader::iterator aField;
-
- for ( aField = aHeader->begin();
- aField != aHeader->end();
- ++aField, ++nPosition)
- {
-
- sName = CFStringToOUString((CFStringRef) (*aField)->value);
- if (match(columnNamePattern, sName, '\0'))
- {
- aRow[4] = new ORowSetValueDecorator(sName);
- aRow[17] = new ORowSetValueDecorator(nPosition);
- switch((*aField)->type)
- {
- case kABStringProperty:
- aRow[5] = new ORowSetValueDecorator(DataType::CHAR);
- aRow[6] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("CHAR")));
- aRow[7] = new ORowSetValueDecorator((sal_Int32) 256);
- aRows.push_back(aRow);
- break;
- case kABDateProperty:
- aRow[5] = new ORowSetValueDecorator(DataType::TIMESTAMP);
- aRow[6] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TIMESTAMP")));
- aRows.push_back(aRow);
- break;
- case kABIntegerProperty:
- aRow[5] = new ORowSetValueDecorator(DataType::INTEGER);
- aRow[6] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("INTEGER")));
- aRow[7] = new ORowSetValueDecorator((sal_Int32) 20);
- aRows.push_back(aRow);
- break;
- case kABRealProperty:
- aRow[5] = new ORowSetValueDecorator(DataType::FLOAT);
- aRow[6] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FLOAT")));
- aRow[7] = new ORowSetValueDecorator((sal_Int32) 15);
- aRows.push_back(aRow);
- break;
- default:
- ;
- // shouldn't happen -- throw an error...?
- }
- }
- }
- }
- pResult->setRows(aRows);
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getTables(
- const Any&,
- const ::rtl::OUString&,
- const ::rtl::OUString&,
- const Sequence< ::rtl::OUString >& types) throw(SQLException, RuntimeException)
-{
- ODatabaseMetaDataResultSet* pResult = new ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eTables);
- Reference< XResultSet > xRef = pResult;
-
- // check whether we have tables in the requested types
- // for the moment, we answer only the "TABLE" table type
- // when no types are given at all, we return all the tables
- static const ::rtl::OUString aTable(RTL_CONSTASCII_USTRINGPARAM("TABLE"));
- sal_Bool bTableFound = sal_False;
- const ::rtl::OUString* p = types.getConstArray(),
- * pEnd = p + types.getLength();
-
- if (p == pEnd)
- {
- bTableFound = sal_True;
- }
- else while (p < pEnd)
- {
- if (match(*p, aTable, '\0'))
- {
- bTableFound = sal_True;
- break;
- }
- p++;
- }
- if (!bTableFound)
- return xRef;
-
- static ODatabaseMetaDataResultSet::ORows aRows;
-
- if (aRows.empty())
- {
- ODatabaseMetaDataResultSet::ORow aRow(6);
-
- MacabRecords *xRecords = m_xConnection->getAddressBook()->getMacabRecords();
- ::std::vector<MacabGroup *> xGroups = m_xConnection->getAddressBook()->getMacabGroups();
- sal_Int32 i, nGroups;
- nGroups = xGroups.size();
-
- aRow[0] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[1] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[2] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[3] = new ORowSetValueDecorator(xRecords->getName());
- aRow[4] = new ORowSetValueDecorator(aTable);
- aRow[5] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRows.push_back(aRow);
-
- for(i = 0; i < nGroups; i++)
- {
- aRow[3] = new ORowSetValueDecorator(xGroups[i]->getName());
- aRows.push_back(aRow);
- }
- }
- pResult->setRows(aRows);
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getProcedureColumns(
- const Any&, const ::rtl::OUString&,
- const ::rtl::OUString&, const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eProcedureColumns );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getProcedures(
- const Any&, const ::rtl::OUString&,
- const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eProcedures );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getVersionColumns(
- const Any&, const ::rtl::OUString&, const ::rtl::OUString& table ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eVersionColumns );
-
- ::connectivity::ODatabaseMetaDataResultSet* pResult = new ::connectivity::ODatabaseMetaDataResultSet(::connectivity::ODatabaseMetaDataResultSet::eVersionColumns);
- Reference< XResultSet > xRef = pResult;
-
- ODatabaseMetaDataResultSet::ORows aRows;
-
- if (m_xConnection->getAddressBook()->getMacabRecords(table) != NULL)
- {
- ODatabaseMetaDataResultSet::ORow aRow( 9 );
-
- ::rtl::OUString sName = CFStringToOUString(kABModificationDateProperty);
-
- aRow[0] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[1] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[2] = new ORowSetValueDecorator(sName);
- aRow[3] = new ORowSetValueDecorator(DataType::TIMESTAMP);
- aRow[4] = new ORowSetValueDecorator(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TIMESTAMP")));
-
- aRow[5] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[6] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[7] = ODatabaseMetaDataResultSet::getEmptyValue();
- aRow[8] = ODatabaseMetaDataResultSet::getEmptyValue();
-
- aRows.push_back(aRow);
- }
- pResult->setRows(aRows);
- return xRef;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getExportedKeys(
- const Any&, const ::rtl::OUString&, const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eExportedKeys );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getImportedKeys(
- const Any&, const ::rtl::OUString&, const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eImportedKeys );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getPrimaryKeys(
- const Any&, const ::rtl::OUString&, const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::ePrimaryKeys );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getIndexInfo(
- const Any&, const ::rtl::OUString&, const ::rtl::OUString&,
- sal_Bool, sal_Bool ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eIndexInfo );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getBestRowIdentifier(
- const Any&, const ::rtl::OUString&, const ::rtl::OUString&, sal_Int32,
- sal_Bool ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eBestRowIdentifier );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getTablePrivileges(
- const Any&, const ::rtl::OUString&, const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eTablePrivileges );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getCrossReference(
- const Any&, const ::rtl::OUString&,
- const ::rtl::OUString&, const Any&,
- const ::rtl::OUString&, const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- return new ODatabaseMetaDataResultSet( ODatabaseMetaDataResultSet::eCrossReference );
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabDatabaseMetaData::getUDTs( const Any&, const ::rtl::OUString&, const ::rtl::OUString&, const Sequence< sal_Int32 >& ) throw(SQLException, RuntimeException)
-{
- OSL_FAIL("Not implemented yet!");
- throw SQLException();
-}
-// -----------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabDatabaseMetaData.hxx b/connectivity/source/drivers/macab/MacabDatabaseMetaData.hxx
deleted file mode 100644
index 852cd32c7d..0000000000
--- a/connectivity/source/drivers/macab/MacabDatabaseMetaData.hxx
+++ /dev/null
@@ -1,215 +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_MACAB_DATABASEMETADATA_HXX_
-#define _CONNECTIVITY_MACAB_DATABASEMETADATA_HXX_
-
-#include "MacabConnection.hxx"
-#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
-#include <cppuhelper/implbase1.hxx>
-
-namespace connectivity
-{
- namespace macab
- {
- //**************************************************************
- //************ Class: MacabDatabaseMetaData
- //**************************************************************
-
- typedef ::cppu::WeakImplHelper1< ::com::sun::star::sdbc::XDatabaseMetaData> MacabDatabaseMetaData_BASE;
-
- class MacabDatabaseMetaData : public MacabDatabaseMetaData_BASE
- {
- ::com::sun::star::uno::Reference< MacabConnection > m_xConnection;
- sal_Bool m_bUseCatalog;
-
- public:
-
- inline MacabConnection* getOwnConnection() const { return m_xConnection.get(); }
-
- MacabDatabaseMetaData(MacabConnection* _pCon);
- virtual ~MacabDatabaseMetaData();
-
- // 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 supportsMixedCaseQuotedIdentifiers( ) 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 sal_Bool SAL_CALL storesMixedCaseQuotedIdentifiers( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getIdentifierQuoteString( ) 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 supportsAlterTableWithAddColumn( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL supportsAlterTableWithDropColumn( ) 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 isCatalogAtStart( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::rtl::OUString SAL_CALL getCatalogSeparator( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL supportsSchemasInDataManipulation( ) 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 supportsSchemasInTableDefinitions( ) 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 supportsCatalogsInDataManipulation( ) 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 supportsCatalogsInTableDefinitions( ) 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 getMaxStatements( ) 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 getMaxTablesInSelect( ) 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 getProcedures( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& procedureNamePattern ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getProcedureColumns( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& procedureNamePattern, const ::rtl::OUString& columnNamePattern ) 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 getSchemas( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getCatalogs( ) 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 ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getColumnPrivileges( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table, const ::rtl::OUString& columnNamePattern ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getTablePrivileges( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getBestRowIdentifier( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table, sal_Int32 scope, sal_Bool nullable ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getVersionColumns( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getPrimaryKeys( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getImportedKeys( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getExportedKeys( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getCrossReference( const ::com::sun::star::uno::Any& primaryCatalog, const ::rtl::OUString& primarySchema, const ::rtl::OUString& primaryTable, const ::com::sun::star::uno::Any& foreignCatalog, const ::rtl::OUString& foreignSchema, const ::rtl::OUString& foreignTable ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getTypeInfo( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getIndexInfo( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schema, const ::rtl::OUString& table, sal_Bool unique, sal_Bool approximate ) 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);
- 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_MACAB_DATABASEMETADATA_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabDriver.cxx b/connectivity/source/drivers/macab/MacabDriver.cxx
deleted file mode 100644
index 3751b24ddc..0000000000
--- a/connectivity/source/drivers/macab/MacabDriver.cxx
+++ /dev/null
@@ -1,350 +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 "MacabDriver.hxx"
-#include "MacabConnection.hxx"
-
-/** === begin UNO includes === **/
-#include <com/sun/star/sdb/SQLContext.hpp>
-#include <com/sun/star/lang/NullPointerException.hpp>
-#include <com/sun/star/frame/XDesktop.hpp>
-/** === end UNO includes === **/
-#include <rtl/ustrbuf.hxx>
-#include <tools/diagnose_ex.h>
-#include "resource/macab_res.hrc"
-
-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::sdb;
-using namespace com::sun::star::frame;
-using namespace connectivity::macab;
-
-// =======================================================================
-// = MacabImplModule
-// =======================================================================
-// --------------------------------------------------------------------------------
-MacabImplModule::MacabImplModule( const Reference< XMultiServiceFactory >& _rxFactory )
- :m_xORB(_rxFactory)
- ,m_bAttemptedLoadModule(false)
- ,m_hConnectorModule(NULL)
- ,m_pConnectionFactoryFunc(NULL)
-{
- if ( !m_xORB.is() )
- throw NullPointerException();
-}
-
-// --------------------------------------------------------------------------------
-bool MacabImplModule::isMacOSPresent()
-{
- return impl_loadModule();
-}
-
-// --------------------------------------------------------------------------------
-namespace
-{
- template< typename FUNCTION >
- void lcl_getFunctionFromModuleOrUnload( oslModule& _rModule, const sal_Char* _pAsciiSymbolName, FUNCTION& _rFunction )
- {
- _rFunction = NULL;
- if ( _rModule )
- {
- //
- const ::rtl::OUString sSymbolName = ::rtl::OUString::createFromAscii( _pAsciiSymbolName );
- _rFunction = (FUNCTION)( osl_getSymbol( _rModule, sSymbolName.pData ) );
-
- if ( !_rFunction )
- { // did not find the symbol
- OSL_FAIL( ::rtl::OString( "lcl_getFunctionFromModuleOrUnload: could not find the symbol " ) + ::rtl::OString( _pAsciiSymbolName ) );
- osl_unloadModule( _rModule );
- _rModule = NULL;
- }
- }
- }
-}
-
-// --------------------------------------------------------------------------------
-extern "C" { static void SAL_CALL thisModule() {} }
-
-bool MacabImplModule::impl_loadModule()
-{
- if ( m_bAttemptedLoadModule )
- return ( m_hConnectorModule != NULL );
- m_bAttemptedLoadModule = true;
-
- OSL_ENSURE( !m_hConnectorModule && !m_pConnectionFactoryFunc,
- "MacabImplModule::impl_loadModule: inconsistence: inconsistency (never attempted load before, but some values already set)!");
-
- const ::rtl::OUString sModuleName(RTL_CONSTASCII_USTRINGPARAM( SAL_MODULENAME( "macabdrv1" )) );
- m_hConnectorModule = osl_loadModuleRelative( &thisModule, sModuleName.pData, SAL_LOADMODULE_NOW ); // LAZY! #i61335#
- OSL_ENSURE( m_hConnectorModule, "MacabImplModule::impl_loadModule: could not load the implementation library!" );
- if ( !m_hConnectorModule )
- return false;
-
- lcl_getFunctionFromModuleOrUnload( m_hConnectorModule, "createMacabConnection", m_pConnectionFactoryFunc );
-
- if ( !m_hConnectorModule )
- // one of the symbols did not exist
- throw RuntimeException();
-
- return true;
-}
-
-// --------------------------------------------------------------------------------
-void MacabImplModule::impl_unloadModule()
-{
- OSL_PRECOND( m_hConnectorModule != NULL, "MacabImplModule::impl_unloadModule: no module!" );
-
- osl_unloadModule( m_hConnectorModule );
- m_hConnectorModule = NULL;
-
- m_pConnectionFactoryFunc = NULL;
-
- m_bAttemptedLoadModule = false;
-}
-
-// --------------------------------------------------------------------------------
-void MacabImplModule::init()
-{
- if ( !impl_loadModule() )
- impl_throwNoMacOSException();
-
-}
-
-// --------------------------------------------------------------------------------
-void MacabImplModule::impl_throwNoMacOSException()
-{
- ::connectivity::SharedResources aResources;
- const ::rtl::OUString sError( aResources.getResourceString(
- STR_NO_MAC_OS_FOUND
- ) );
- impl_throwGenericSQLException( sError );
-}
-
-// --------------------------------------------------------------------------------
-void MacabImplModule::impl_throwGenericSQLException( const ::rtl::OUString& _rMessage )
-{
- SQLException aError;
- aError.Message = _rMessage;
- aError.SQLState = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "S1000" ) );
- aError.ErrorCode = 0;
- throw aError;
-}
-
-// --------------------------------------------------------------------------------
-MacabConnection* MacabImplModule::createConnection( MacabDriver* _pDriver ) const
-{
- OSL_PRECOND( m_hConnectorModule, "MacabImplModule::createConnection: not initialized!" );
-
- void* pUntypedConnection = (*m_pConnectionFactoryFunc)( _pDriver );
- if ( !pUntypedConnection )
- throw RuntimeException();
-
- return static_cast< MacabConnection* >( pUntypedConnection );
-}
-
-// --------------------------------------------------------------------------------
-void MacabImplModule::shutdown()
-{
- if ( !m_hConnectorModule )
- return;
-
- impl_unloadModule();
-}
-
-// =======================================================================
-// = MacabDriver
-// =======================================================================
-MacabDriver::MacabDriver(
- const Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory)
- : MacabDriver_BASE(m_aMutex),
- m_xMSFactory(_rxFactory),
- m_aImplModule(_rxFactory)
-{
- if ( !m_xMSFactory.is() )
- throw NullPointerException();
-
- osl_incrementInterlockedCount( &m_refCount );
- try
- {
- Reference< XDesktop > xDesktop(
- m_xMSFactory->createInstance( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.frame.Desktop" ) ) ),
- UNO_QUERY_THROW );
- xDesktop->addTerminateListener( this );
- }
- catch( const Exception& )
- {
- DBG_UNHANDLED_EXCEPTION();
- }
- osl_decrementInterlockedCount( &m_refCount );
-}
-// --------------------------------------------------------------------------------
-void MacabDriver::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())
- xComp->dispose();
- }
- m_xConnections.clear();
-
- WeakComponentImplHelperBase::disposing();
-}
-// static ServiceInfo
-//------------------------------------------------------------------------------
-rtl::OUString MacabDriver::getImplementationName_Static( ) throw(RuntimeException)
-{
- return rtl::OUString::createFromAscii( impl_getAsciiImplementationName() );
-}
-//------------------------------------------------------------------------------
-Sequence< ::rtl::OUString > MacabDriver::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 MacabDriver::getImplementationName( ) throw(RuntimeException)
-{
- return getImplementationName_Static();
-}
-//------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDriver::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();
-
- while (pSupported != pEnd && !pSupported->equals(_rServiceName))
- ++pSupported;
- return pSupported != pEnd;
-}
-//------------------------------------------------------------------
-Sequence< ::rtl::OUString > SAL_CALL MacabDriver::getSupportedServiceNames( ) throw(RuntimeException)
-{
- return getSupportedServiceNames_Static();
-}
-// --------------------------------------------------------------------------------
-Reference< XConnection > SAL_CALL MacabDriver::connect( const ::rtl::OUString& url, const Sequence< PropertyValue >& info ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
-
- m_aImplModule.init();
-
- // create a new connection with the given properties and append it to our vector
- MacabConnection* pConnection = m_aImplModule.createConnection( this );
- OSL_POSTCOND( pConnection, "MacabDriver::connect: no connection has been created by the factory!" );
-
- // by definition, the factory function returned an object which was acquired once
- Reference< XConnection > xConnection = pConnection;
- pConnection->release();
-
- // late constructor call which can throw exception and allows a correct dtor call when so
- pConnection->construct( url, info );
-
- // remember it
- m_xConnections.push_back( WeakReferenceHelper( *pConnection ) );
-
- return xConnection;
-}
-// --------------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabDriver::acceptsURL( const ::rtl::OUString& url )
- throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard(m_aMutex);
-
- if ( !m_aImplModule.isMacOSPresent() )
- return sal_False;
-
- // here we have to look whether we support this URL format
- return (!url.compareTo(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("sdbc:address:macab:")), 18));
-}
-// --------------------------------------------------------------------------------
-Sequence< DriverPropertyInfo > SAL_CALL MacabDriver::getPropertyInfo( const ::rtl::OUString&, const Sequence< PropertyValue >& ) throw(SQLException, RuntimeException)
-{
- // if you have something special to say, return it here :-)
- return Sequence< DriverPropertyInfo >();
-}
-// --------------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDriver::getMajorVersion( ) throw(RuntimeException)
-{
- return MACAB_DRIVER_VERSION_MAJOR;
-}
-// --------------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabDriver::getMinorVersion( ) throw(RuntimeException)
-{
- return MACAB_DRIVER_VERSION_MINOR;
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabDriver::queryTermination( const EventObject& ) throw (TerminationVetoException, RuntimeException)
-{
- // nothing to do, nothing to veto
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabDriver::notifyTermination( const EventObject& ) throw (RuntimeException)
-{
- m_aImplModule.shutdown();
-}
-// --------------------------------------------------------------------------------
-void SAL_CALL MacabDriver::disposing( const EventObject& ) throw (RuntimeException)
-{
- // not interested in (this is the disposing of the desktop, if any)
-}
-// --------------------------------------------------------------------------------
-const sal_Char* MacabDriver::impl_getAsciiImplementationName()
-{
- return "com.sun.star.comp.sdbc.macab.Driver";
- // this name is referenced in the configuration and in the macab.xml
- // Please be careful when changing it.
-}
-// --------------------------------------------------------------------------------
-::rtl::OUString MacabDriver::impl_getConfigurationSettingsPath()
-{
- ::rtl::OUStringBuffer aPath;
- aPath.appendAscii( "/org.openoffice.Office.DataAccess/DriverSettings/" );
- aPath.appendAscii( "com.sun.star.comp.sdbc.macab.Driver" );
- return aPath.makeStringAndClear();
-}
-// --------------------------------------------------------------------------------
-Reference< XInterface > SAL_CALL MacabDriver::Create( const Reference< XMultiServiceFactory >& _rxFactory ) throw( Exception )
-{
- return *(new MacabDriver(_rxFactory));
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabDriver.hxx b/connectivity/source/drivers/macab/MacabDriver.hxx
deleted file mode 100644
index c21715ec09..0000000000
--- a/connectivity/source/drivers/macab/MacabDriver.hxx
+++ /dev/null
@@ -1,199 +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_MACAB_DRIVER_HXX_
-#define _CONNECTIVITY_MACAB_DRIVER_HXX_
-
-/** === begin UNO includes === **/
-#include <com/sun/star/sdbc/XDriver.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/frame/XTerminateListener.hpp>
-/** === end UNO includes === **/
-#include <cppuhelper/compbase3.hxx>
-#include <osl/module.h>
-
-// the address book driver's version
-#define MACAB_DRIVER_VERSION "0.1"
-#define MACAB_DRIVER_VERSION_MAJOR 0
-#define MACAB_DRIVER_VERSION_MINOR 1
-
-namespace connectivity
-{
- namespace macab
- {
- class MacabConnection;
- class MacabDriver;
-
- typedef void* (SAL_CALL * ConnectionFactoryFunction)( void* _pDriver );
-
- typedef std::vector< ::com::sun::star::uno::WeakReferenceHelper > OWeakRefArray;
-
- // ===============================================================
- // = MacabImplModule
- // ===============================================================
- class MacabImplModule
- {
- private:
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- m_xORB;
-
- /// Did we already attempt to load the module and to retrieve the symbols?
- bool m_bAttemptedLoadModule;
- oslModule m_hConnectorModule;
- ConnectionFactoryFunction m_pConnectionFactoryFunc;
-
- public:
- MacabImplModule( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory );
-
- /** determines whether there is a mac OS present in the environment
- */
- bool isMacOSPresent();
-
- /** initializes the implementation module.
-
- @raises ::com::sun::star::uno::RuntimeException
- if the module could be loaded, but required symbols are missing
- @raises ::com::sun::star::sdbc::SQLException
- if no Mac OS was found at all
- */
- void init();
-
- /** shuts down the impl module
- */
- void shutdown();
-
- /** creates a new connection
- @precond
- <member>init</member> has been called before
- @raises ::com::sun::star::uno::RuntimeException
- if no connection object could be created (which is a severe error, normally impossible)
- */
- MacabConnection* createConnection( MacabDriver* _pDriver ) const;
-
- private:
- /** loads the implementation module and retrieves the needed symbols
-
- Save against being called multiple times.
-
- @return <TRUE/> if the module could be loaded successfully.
-
- @raises ::com::sun::star::uno::RuntimeException
- if the module could be loaded, but required symbols are missing
- */
- bool impl_loadModule();
-
- /** unloads the implementation module, and resets all function pointers to <NULL/>
- @precond m_hConnectorModule is not <NULL/>
- */
- void impl_unloadModule();
-
- /** throws an SQLException saying than no Mac OS installation was found
- */
- void impl_throwNoMacOSException();
-
- /** throws a generic SQL exception with SQLState S1000 and error code 0
- */
- void impl_throwGenericSQLException( const ::rtl::OUString& _rMessage );
-
- };
-
- // ===============================================================
- // = MacabDriver
- // ===============================================================
- typedef ::cppu::WeakComponentImplHelper3< ::com::sun::star::sdbc::XDriver,
- ::com::sun::star::lang::XServiceInfo,
- ::com::sun::star::frame::XTerminateListener > MacabDriver_BASE;
- class MacabDriver : public MacabDriver_BASE
- {
- protected:
- ::osl::Mutex m_aMutex; // mutex is need to control member access
- OWeakRefArray m_xConnections; // vector containing a list of all the
- // MacabConnection objects for this Driver
- ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >
- m_xMSFactory; // the multi-service factory
- MacabImplModule m_aImplModule;
-
- public:
- static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception );
-
- // XServiceInfo - static versions
- 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);
-
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&
- getMSFactory() const { return m_xMSFactory; }
-
- /** returns the driver's implementation name (being pure ASCII) for reference in various places
- */
- static const sal_Char* impl_getAsciiImplementationName();
-
- /** returns the path of our configuration settings
- */
- static ::rtl::OUString impl_getConfigurationSettingsPath();
-
- protected:
- MacabDriver(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
-
- // OComponentHelper
- virtual void SAL_CALL disposing(void);
-
- // 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);
-
- // XTerminateListener
- virtual void SAL_CALL queryTermination( const ::com::sun::star::lang::EventObject& Event ) throw (::com::sun::star::frame::TerminationVetoException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL notifyTermination( const ::com::sun::star::lang::EventObject& Event ) throw (::com::sun::star::uno::RuntimeException);
-
- // XEventListener
- virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw (::com::sun::star::uno::RuntimeException);
-
- private:
- /** shuts down the library which contains the real implementations
-
- This method is safe against being called multiple times
-
- @precond our mutex is locked
- */
- void impl_shutdownImplementationModule();
- };
- }
-
-}
-
-#endif // _CONNECTIVITY_MACAB_DRIVER_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabGroup.cxx b/connectivity/source/drivers/macab/MacabGroup.cxx
deleted file mode 100644
index 6f0dabf45b..0000000000
--- a/connectivity/source/drivers/macab/MacabGroup.cxx
+++ /dev/null
@@ -1,104 +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 "MacabGroup.hxx"
-#include "MacabRecords.hxx"
-#include "macabutilities.hxx"
-
-using namespace connectivity::macab;
-
-// -------------------------------------------------------------------------
-/* A MacabGroup is basically a MacabRecords with a different constructor.
- * It only exists as a different entity for clarification purposes (a group
- * is its own entity in the Mac OS X Address Book) and because its
- * construction is so unique (it is based on an already existent
- * MacabRecords of the entire address book).
- */
-MacabGroup::MacabGroup(const ABAddressBookRef _addressBook, const MacabRecords *_allRecords, const ABGroupRef _xGroup)
- : MacabRecords(_addressBook)
-{
- sal_Int32 i, j, nAllRecordsSize;
- CFArrayRef xGroupMembers = ABGroupCopyArrayOfAllMembers(_xGroup);
- ABPersonRef xPerson;
- CFStringRef sGroupMemberUID;
- sal_Bool bFound;
- macabfield *xRecordField;
-
- // Set the group's name (stored in MacabRecords as m_sName)
- CFStringRef sGroupName;
- sGroupName = (CFStringRef) ABRecordCopyValue(_xGroup, kABGroupNameProperty);
- m_sName = CFStringToOUString(sGroupName);
- CFRelease(sGroupName);
-
- // The _group's_ records (remember MacabGroup inherits from MacabRecords)
- recordsSize = (sal_Int32) CFArrayGetCount(xGroupMembers);
- records = new MacabRecord *[recordsSize];
- setHeader(_allRecords->getHeader());
-
- /* Go through each record in the group and try to find that record's UID
- * in the MacabRecords that was passed in. If it is found, add that
- * record to the group. Otherwise, report an error. (All records should
- * exist in the MacabRecords that was passed in.)
- */
- nAllRecordsSize = _allRecords->size();
- for(i = 0; i < recordsSize; i++)
- {
- xPerson = (ABPersonRef) CFArrayGetValueAtIndex(xGroupMembers,i);
- if(xPerson != NULL)
- {
- sGroupMemberUID = (CFStringRef) ABRecordCopyValue(xPerson, kABUIDProperty);
- if(sGroupMemberUID != NULL)
- {
- bFound = sal_False;
- for(j = 0; j < nAllRecordsSize; j++)
- {
- xRecordField = _allRecords->getField(j,CFStringToOUString(kABUIDProperty));
- if(xRecordField != NULL && xRecordField->value != NULL)
- {
- if(CFEqual(xRecordField->value, sGroupMemberUID))
- {
- /* Found the matching UID! Insert into the group... */
- insertRecord(_allRecords->getRecord(j));
- bFound = sal_True;
- break;
- }
- }
- }
- OSL_ENSURE(bFound, "MacabGroup::MacabGroup : Could not find group member based on UID!\n");
- CFRelease(sGroupMemberUID);
- }
- }
- }
-
- CFRelease(xGroupMembers);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabGroup.hxx b/connectivity/source/drivers/macab/MacabGroup.hxx
deleted file mode 100644
index 1f09ac0d09..0000000000
--- a/connectivity/source/drivers/macab/MacabGroup.hxx
+++ /dev/null
@@ -1,53 +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_MACAB_GROUP_HXX_
-#define _CONNECTIVITY_MACAB_GROUP_HXX_
-
-#include "MacabRecords.hxx"
-
-#include <premac.h>
-#include <Carbon/Carbon.h>
-#include <AddressBook/ABAddressBookC.h>
-#include <postmac.h>
-
-
-namespace connectivity
-{
- namespace macab
- {
- class MacabGroup: public MacabRecords {
- public:
- MacabGroup(const ABAddressBookRef _addressBook, const MacabRecords *_allRecords, const ABGroupRef _xGroup);
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_GROUP_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabHeader.cxx b/connectivity/source/drivers/macab/MacabHeader.cxx
deleted file mode 100644
index 39fb28c62c..0000000000
--- a/connectivity/source/drivers/macab/MacabHeader.cxx
+++ /dev/null
@@ -1,346 +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 "MacabHeader.hxx"
-#include "MacabRecord.hxx"
-#include "macabutilities.hxx"
-
-#include <math.h>
-#include <com/sun/star/sdbc/DataType.hpp>
-#include <connectivity/dbconversion.hxx>
-
-using namespace connectivity::macab;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::util;
-using namespace ::dbtools;
-
-// -------------------------------------------------------------------------
-MacabHeader::MacabHeader(const sal_Int32 _size, macabfield **_fields)
-{
- sal_Int32 i;
- size = _size;
- fields = new macabfield *[size];
- for(i = 0; i < size; i++)
- {
- if(_fields[i] == NULL)
- {
- fields[i] = NULL;
- }
- else
- {
- /* The constructor duplicates the macabfields it gets because they
- * are either deleted later or used for other purposes.
- */
- fields[i] = new macabfield;
- fields[i]->type = _fields[i]->type;
- fields[i]->value = _fields[i]->value;
- if (fields[i]->value)
- CFRetain(fields[i]->value);
- }
- }
-
-}
-
-// -------------------------------------------------------------------------
-MacabHeader::MacabHeader()
-{
- size = 0;
- fields = NULL;
-}
-
-// -------------------------------------------------------------------------
-MacabHeader::~MacabHeader()
-{
-}
-
-// -------------------------------------------------------------------------
-void MacabHeader::operator+= (const MacabHeader *r)
-{
- /* Add one MacabHeader to another. Anything not already in the header is
- * added to the end of it.
- */
- sal_Int32 rSize = r->getSize();
- if(rSize != 0) // If the new header does actually have fields
- {
- /* If our header is currently empty, just copy all of the fields from
- * the new header to this one.
- */
- if(size == 0)
- {
- sal_Int32 i;
- size = rSize;
- fields = new macabfield *[size];
- for(i = 0; i < size; i++)
- {
- fields[i] = r->copy(i);
- }
- }
-
- /* Otherwise, only add the duplicates. We do this with a two-pass
- * approach. First, find out how many fields to add, then reallocate
- * the size of the fields array and add the old ones at the end.
- * (More precisely, we create a _new_ fields array with the new length
- * allocated to it, then get all of the fields from the current
- * fields array to it, then copy the non-duplicates from the new
- * header to the end.)
- */
- else
- {
- sal_Int32 i;
- sal_Int32 numToAdd = 0, numAdded = 0;
- macabfield **newFields;
- for( i = 0; i < rSize; i++)
- {
- if(!contains(r->get(i)))
- {
- numToAdd++;
- }
- }
-
- newFields = new macabfield *[size+numToAdd];
- for(i = 0; i < size; i++)
- {
- newFields[i] = copy(i);
- }
-
- for( i = 0; i < rSize; i++)
- {
- if(!contains(r->get(i)))
- {
- newFields[size+numAdded] = r->copy(i);
- numAdded++;
- if(numAdded == numToAdd)
- break;
- }
- }
-
- releaseFields();
- delete [] fields;
- size += numAdded;
- fields = newFields;
- }
- }
-}
-
-// -------------------------------------------------------------------------
-::rtl::OUString MacabHeader::getString(const sal_Int32 i) const
-{
- ::rtl::OUString nRet;
-
- if(i < size)
- {
- if(fields[i] == NULL || fields[i]->value == NULL || CFGetTypeID(fields[i]->value) != CFStringGetTypeID())
- return ::rtl::OUString();
- try
- {
- nRet = CFStringToOUString( (CFStringRef) fields[i]->value);
- }
- catch(...){ }
- }
-
- return nRet;
-}
-
-// -------------------------------------------------------------------------
-void MacabHeader::sortRecord()
-{
- sortRecord(0,size);
-}
-
-// -------------------------------------------------------------------------
-macabfield **MacabHeader::sortRecord(const sal_Int32 _start, const sal_Int32 _length)
-{
- /* Sort using mergesort. Because it uses mergesort, it is recursive and
- * not in place (so it creates a new array at every step of the
- * recursion), so if you prefer to use a different sort, please feel
- * free to implement it.
- */
- macabfield** sorted = new macabfield *[_length];
- if(_length <= 2)
- {
- if(_length == 2)
- {
- if(compareFields(fields[_start], fields[_start+1]) > 0)
- {
- sorted[0] = get(_start+1);
- sorted[1] = get(_start);
- }
- else
- {
- sorted[0] = get(_start);
- sorted[1] = get(_start+1);
- }
- }
- else if(_length == 1)
- {
- sorted[0] = get(_start);
- }
- }
- else
- {
- sal_Int32 halfLength = floor(_length/2);
- sal_Int32 fp = 0, lp = 0;
- sal_Int32 i;
- macabfield **firstHalf = new macabfield *[halfLength];
- macabfield **lastHalf = new macabfield *[_length - halfLength];
-
- firstHalf = sortRecord(_start, halfLength);
- lastHalf = sortRecord(_start+halfLength, _length-halfLength);
- for(i = 0; i < _length; i++)
- {
- if(compareFields(firstHalf[fp],lastHalf[lp]) < 0)
- {
- sorted[i] = firstHalf[fp++];
- if(fp == halfLength)
- {
- for( i++; i < _length; i++)
- {
- sorted[i] = lastHalf[lp++];
- }
- break;
- }
- }
- else
- {
- sorted[i] = lastHalf[lp++];
- if(lp == _length - halfLength)
- {
- for( i++; i < _length; i++)
- {
- sorted[i] = firstHalf[fp++];
- }
- break;
- }
- }
- }
- if(_length == size)
- {
- fields = sorted;
- }
- }
- return sorted;
-}
-
-sal_Int32 MacabHeader::compareFields(const macabfield *_field1, const macabfield *_field2)
-{
- /* Comparing two fields in a MacabHeader is different than comparing two
- * fields in a MacabRecord. It starts in the same way (if one of the two
- * fields is NULL, it belongs after the other, so it is considered
- * "greater"). But, then, all headers are CFStrings, no matter what
- * type they claim to be (since they actually hold the expected type for
- * the records with that header). That being said, all we have to do is
- * the built-in CFStringCompare.
- */
- if(_field1 == _field2)
- return 0;
- if(_field1 == NULL)
- return 1;
- if(_field2 == NULL)
- return -1;
-
- CFComparisonResult result = CFStringCompare(
- (CFStringRef) _field1->value,
- (CFStringRef) _field2->value,
- 0); // 0 = no options (like ignore case)
-
- return (sal_Int32) result;
-}
-
-// -------------------------------------------------------------------------
-sal_Int32 MacabHeader::getColumnNumber(const ::rtl::OUString s) const
-{
- sal_Int32 i;
- for(i = 0; i < size; i++)
- {
- if(getString(i) == s)
- break;
- }
-
- if(i == size)
- i = -1;
-
- return i;
-}
-
-// -------------------------------------------------------------------------
-MacabHeader *MacabHeader::begin()
-{
- return this;
-}
-
-// -------------------------------------------------------------------------
-MacabHeader::iterator::iterator ()
-{
-}
-
-// -------------------------------------------------------------------------
-MacabHeader::iterator::~iterator ()
-{
-}
-
-MacabHeader::iterator& MacabHeader::iterator::operator= (MacabHeader *_record)
-{
- id = 0;
- record = _record;
- return *this;
-}
-
-// -------------------------------------------------------------------------
-void MacabHeader::iterator::operator++ ()
-{
- id++;
-}
-
-// -------------------------------------------------------------------------
-sal_Bool MacabHeader::iterator::operator!= (const sal_Int32 i) const
-{
- return(id != i);
-}
-
-// -------------------------------------------------------------------------
-sal_Bool MacabHeader::iterator::operator== (const sal_Int32 i) const
-{
- return(id == i);
-}
-
-// -------------------------------------------------------------------------
-macabfield *MacabHeader::iterator::operator* () const
-{
- return record->get(id);
-}
-
-// -------------------------------------------------------------------------
-sal_Int32 MacabHeader::end() const
-{
- return size;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabHeader.hxx b/connectivity/source/drivers/macab/MacabHeader.hxx
deleted file mode 100644
index f24b593a9b..0000000000
--- a/connectivity/source/drivers/macab/MacabHeader.hxx
+++ /dev/null
@@ -1,74 +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_MACAB_HEADER_HXX_
-#define _CONNECTIVITY_MACAB_HEADER_HXX_
-
-#include "MacabRecord.hxx"
-#include <cppuhelper/compbase3.hxx>
-
-namespace connectivity
-{
- namespace macab
- {
- class MacabHeader: public MacabRecord{
- protected:
- macabfield **sortRecord(sal_Int32 _start, sal_Int32 _length);
- public:
- MacabHeader();
- MacabHeader(const sal_Int32 _size, macabfield **_fields);
- virtual ~MacabHeader();
- void operator+= (const MacabHeader *r);
- ::rtl::OUString getString(const sal_Int32 i) const;
- void sortRecord();
- sal_Int32 getColumnNumber(const ::rtl::OUString s) const;
-
- static sal_Int32 compareFields(const macabfield *_field1, const macabfield *_field2);
-
- MacabHeader *begin();
- sal_Int32 end() const;
- class iterator{
- protected:
- sal_Int32 id;
- MacabHeader *record;
- public:
- iterator& operator= (MacabHeader *_record);
- iterator();
- ~iterator();
- void operator++ ();
- sal_Bool operator!= (const sal_Int32 i) const;
- sal_Bool operator== (const sal_Int32 i) const;
- macabfield *operator* () const;
- };
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_HEADER_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabPreparedStatement.cxx b/connectivity/source/drivers/macab/MacabPreparedStatement.cxx
deleted file mode 100644
index 19d9c5f9de..0000000000
--- a/connectivity/source/drivers/macab/MacabPreparedStatement.cxx
+++ /dev/null
@@ -1,410 +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 "MacabPreparedStatement.hxx"
-#include "MacabAddressBook.hxx"
-#include "propertyids.hxx"
-#include <connectivity/dbexception.hxx>
-#include "connectivity/dbtools.hxx"
-#include "resource/macab_res.hrc"
-#include "resource/sharedresources.hxx"
-
-using namespace connectivity::macab;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::sdbc;
-using namespace com::sun::star::util;
-
-IMPLEMENT_SERVICE_INFO(MacabPreparedStatement, "com.sun.star.sdbc.drivers.MacabPreparedStatement", "com.sun.star.sdbc.PreparedStatement");
-// -------------------------------------------------------------------------
-void MacabPreparedStatement::checkAndResizeParameters(sal_Int32 nParams) throw(SQLException)
-{
- if ( !m_aParameterRow.is() )
- m_aParameterRow = new OValueVector();
-
- if (nParams < 1)
- ::dbtools::throwInvalidIndexException(*(MacabPreparedStatement *) this,Any());
-
- if (nParams >= (sal_Int32) (m_aParameterRow->get()).size())
- (m_aParameterRow->get()).resize(nParams);
-}
-// -------------------------------------------------------------------------
-void MacabPreparedStatement::setMacabFields() const throw(SQLException)
-{
- ::rtl::Reference<connectivity::OSQLColumns> xColumns; // selected columns
-
- xColumns = m_aSQLIterator.getSelectColumns();
- if (!xColumns.is())
- {
- ::connectivity::SharedResources aResources;
- const ::rtl::OUString sError( aResources.getResourceString(
- STR_INVALID_COLUMN_SELECTION
- ) );
- ::dbtools::throwGenericSQLException(sError,NULL);
- }
- m_xMetaData->setMacabFields(xColumns);
-}
-// -------------------------------------------------------------------------
-void MacabPreparedStatement::resetParameters() const throw(SQLException)
-{
- m_nParameterIndex = 0;
-}
-// -------------------------------------------------------------------------
-void MacabPreparedStatement::getNextParameter(::rtl::OUString &rParameter) const throw(SQLException)
-{
- if (m_nParameterIndex >= (sal_Int32) (m_aParameterRow->get()).size())
- {
- ::connectivity::SharedResources aResources;
- const ::rtl::OUString sError( aResources.getResourceString(
- STR_INVALID_PARA_COUNT
- ) );
- ::dbtools::throwGenericSQLException(sError,*(MacabPreparedStatement *) this);
- }
-
- rParameter = (m_aParameterRow->get())[m_nParameterIndex];
-
- m_nParameterIndex++;
-}
-// -------------------------------------------------------------------------
-MacabPreparedStatement::MacabPreparedStatement(
- MacabConnection* _pConnection,
- const ::rtl::OUString& sql)
- : MacabPreparedStatement_BASE(_pConnection),
- m_sSqlStatement(sql),
- m_bPrepared(sal_False),
- m_nParameterIndex(0),
- m_aParameterRow()
-{
-
-}
-// -------------------------------------------------------------------------
-MacabPreparedStatement::~MacabPreparedStatement()
-{
-}
-// -------------------------------------------------------------------------
-void MacabPreparedStatement::disposing()
-{
- MacabPreparedStatement_BASE::disposing();
-
- if (m_aParameterRow.is())
- {
- m_aParameterRow->get().clear();
- m_aParameterRow = NULL;
- }
-}
-// -------------------------------------------------------------------------
-Reference< XResultSetMetaData > SAL_CALL MacabPreparedStatement::getMetaData() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- if (!m_xMetaData.is())
- {
- const OSQLTables& xTabs = m_aSQLIterator.getTables();
- ::rtl::OUString sTableName = MacabAddressBook::getDefaultTableName();
-
- if(! xTabs.empty() )
- {
-
- // can only deal with one table at a time
- if(xTabs.size() == 1 && !m_aSQLIterator.hasErrors() )
- sTableName = xTabs.begin()->first;
-
- }
- m_xMetaData = new MacabResultSetMetaData(getOwnConnection(),sTableName);
- setMacabFields();
- }
- Reference< XResultSetMetaData > xMetaData = m_xMetaData.get();
- return xMetaData;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::close() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- // Reset last warning message
- try {
- clearWarnings ();
- MacabCommonStatement::close();
- }
- catch (SQLException &) {
- // If we get an error, ignore
- }
-
- // Remove this Statement object from the Connection object's
- // list
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabPreparedStatement::execute() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- Reference< XResultSet> xRS = MacabCommonStatement::executeQuery(m_sSqlStatement);
-
- return xRS.is();
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabPreparedStatement::executeUpdate() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- // same as in statement with the difference that this statement also can contain parameter
- return 0;
-}
-// -------------------------------------------------------------------------
-Reference< XConnection > SAL_CALL MacabPreparedStatement::getConnection() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- return (Reference< XConnection >) m_pConnection;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabPreparedStatement::executeQuery() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- Reference< XResultSet > rs = MacabCommonStatement::executeQuery(m_sSqlStatement);
-
- return rs;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setNull(sal_Int32 parameterIndex, sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- checkAndResizeParameters(parameterIndex);
-
- (m_aParameterRow->get())[parameterIndex - 1].setNull();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setObjectNull(sal_Int32, sal_Int32, const ::rtl::OUString&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setObjectNull", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setBoolean(sal_Int32, sal_Bool) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setBoolean", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setByte(sal_Int32, sal_Int8) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setByte", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setShort(sal_Int32, sal_Int16) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setShort", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setInt(sal_Int32, sal_Int32) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setInt", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setLong(sal_Int32, sal_Int64) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setLong", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setFloat(sal_Int32, float) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setFloat", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setDouble(sal_Int32, double) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setDouble", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setString(sal_Int32 parameterIndex, const ::rtl::OUString &x) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- checkAndResizeParameters(parameterIndex);
-
- (m_aParameterRow->get())[parameterIndex - 1] = x;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setBytes(sal_Int32, const Sequence< sal_Int8 >&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setBytes", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setDate(sal_Int32, const Date&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setDate", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setTime(sal_Int32, const Time&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setTime", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setTimestamp(sal_Int32, const DateTime&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setTimestamp", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setBinaryStream(sal_Int32, const Reference< ::com::sun::star::io::XInputStream >&, sal_Int32) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setBinaryStream", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setCharacterStream(sal_Int32, const Reference< ::com::sun::star::io::XInputStream >&, sal_Int32) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setCharacterStream", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setObject(sal_Int32 parameterIndex, const Any& x) throw(SQLException, RuntimeException)
-{
- if(!::dbtools::implSetObject(this,parameterIndex,x))
- {
- const ::rtl::OUString sError( m_pConnection->getResources().getResourceStringWithSubstitution(
- STR_UNKNOWN_PARA_TYPE,
- "$position$", ::rtl::OUString::valueOf(parameterIndex)
- ) );
- ::dbtools::throwGenericSQLException(sError,*this);
- }
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setObjectWithInfo(sal_Int32, const Any&, sal_Int32, sal_Int32) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setObjectWithInfo", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setRef(sal_Int32, const Reference< XRef >&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setRef", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setBlob(sal_Int32, const Reference< XBlob >&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setBlob", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setClob(sal_Int32, const Reference< XClob >&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setClob", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::setArray(sal_Int32, const Reference< XArray >&) throw(SQLException, RuntimeException)
-{
-
-
-
-::dbtools::throwFunctionNotSupportedException("setArray", NULL);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabPreparedStatement::clearParameters() throw(SQLException, RuntimeException)
-{
-::dbtools::throwFunctionNotSupportedException("clearParameters", NULL);
-}
-// -------------------------------------------------------------------------
-void MacabPreparedStatement::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any& rValue) throw (Exception)
-{
- switch (nHandle)
- {
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- break;
- case PROPERTY_ID_RESULTSETTYPE:
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- break;
- case PROPERTY_ID_USEBOOKMARKS:
- break;
- default:
- MacabCommonStatement::setFastPropertyValue_NoBroadcast(nHandle,rValue);
- }
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabPreparedStatement.hxx b/connectivity/source/drivers/macab/MacabPreparedStatement.hxx
deleted file mode 100644
index 0fb1b6e92d..0000000000
--- a/connectivity/source/drivers/macab/MacabPreparedStatement.hxx
+++ /dev/null
@@ -1,122 +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_MACAB_PREPAREDSTATEMENT_HXX_
-#define _CONNECTIVITY_MACAB_PREPAREDSTATEMENT_HXX_
-
-#include "MacabStatement.hxx"
-#include "MacabResultSetMetaData.hxx"
-#include <connectivity/FValue.hxx>
-#include <com/sun/star/sdbc/XParameters.hpp>
-#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
-#include <cppuhelper/implbase4.hxx>
-
-namespace connectivity
-{
- namespace macab
- {
-
- class OBoundParam;
- typedef ::cppu::ImplInheritanceHelper4< MacabCommonStatement,
- ::com::sun::star::sdbc::XPreparedStatement,
- ::com::sun::star::sdbc::XParameters,
- ::com::sun::star::sdbc::XResultSetMetaDataSupplier,
- ::com::sun::star::lang::XServiceInfo> MacabPreparedStatement_BASE;
-
- class MacabPreparedStatement : public MacabPreparedStatement_BASE
- {
- protected:
- ::rtl::OUString m_sSqlStatement;
- ::rtl::Reference< MacabResultSetMetaData >
- m_xMetaData;
- sal_Bool m_bPrepared;
- mutable sal_Int32 m_nParameterIndex;
- OValueRow m_aParameterRow;
-
- void checkAndResizeParameters(sal_Int32 nParams) throw(::com::sun::star::sdbc::SQLException);
- void setMacabFields() const throw(::com::sun::star::sdbc::SQLException);
-
- protected:
- virtual void SAL_CALL setFastPropertyValue_NoBroadcast(
- sal_Int32 nHandle,
- const ::com::sun::star::uno::Any& rValue) throw (::com::sun::star::uno::Exception);
-
- virtual void resetParameters() const throw(::com::sun::star::sdbc::SQLException);
- virtual void getNextParameter(::rtl::OUString &rParameter) const throw(::com::sun::star::sdbc::SQLException);
- virtual ~MacabPreparedStatement();
-
- public:
- DECLARE_SERVICE_INFO();
- MacabPreparedStatement(MacabConnection* _pConnection, const ::rtl::OUString& sql);
-
- // OComponentHelper
- virtual void SAL_CALL disposing();
-
- // 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);
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_PREPAREDSTATEMENT_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabRecord.cxx b/connectivity/source/drivers/macab/MacabRecord.cxx
deleted file mode 100644
index 3bf9cac179..0000000000
--- a/connectivity/source/drivers/macab/MacabRecord.cxx
+++ /dev/null
@@ -1,350 +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 "MacabRecord.hxx"
-#include "macabutilities.hxx"
-#include <com/sun/star/util/DateTime.hpp>
-
-#include <premac.h>
-#include <Carbon/Carbon.h>
-#include <AddressBook/ABAddressBookC.h>
-#include <postmac.h>
-#include <connectivity/dbconversion.hxx>
-
-using namespace connectivity::macab;
-using namespace com::sun::star::util;
-using namespace ::dbtools;
-
-// -------------------------------------------------------------------------
-MacabRecord::MacabRecord()
-{
- size = 0;
- fields = NULL;
-}
-
-// -------------------------------------------------------------------------
-MacabRecord::MacabRecord(const sal_Int32 _size)
-{
- size = _size;
- fields = new macabfield *[size];
- sal_Int32 i;
- for(i = 0; i < size; i++)
- fields[i] = NULL;
-}
-
-// -------------------------------------------------------------------------
-MacabRecord::~MacabRecord()
-{
- if(size > 0)
- {
- int i;
- for(i = 0; i < size; i++)
- {
- delete fields[i];
- fields[i] = NULL;
- }
- }
- delete [] fields;
- fields = NULL;
-}
-
-// -------------------------------------------------------------------------
-void MacabRecord::insertAtColumn (CFTypeRef _value, ABPropertyType _type, const sal_Int32 _column)
-{
- if(_column < size)
- {
- if(fields[_column] == NULL)
- fields[_column] = new macabfield;
-
- fields[_column]->value = _value;
- if (fields[_column]->value)
- CFRetain(fields[_column]->value);
- fields[_column]->type = _type;
- }
-}
-
-// -------------------------------------------------------------------------
-sal_Bool MacabRecord::contains (const macabfield *_field) const
-{
- if(_field == NULL)
- return sal_False;
- else
- return contains(_field->value);
-}
-
-// -------------------------------------------------------------------------
-sal_Bool MacabRecord::contains (const CFTypeRef _value) const
-{
- sal_Int32 i;
- for(i = 0; i < size; i++)
- {
- if(fields[i] != NULL)
- {
- if(CFEqual(fields[i]->value, _value))
- {
- return sal_True;
- }
- }
- }
-
- return sal_False;
-}
-
-// -------------------------------------------------------------------------
-sal_Int32 MacabRecord::getSize() const
-{
- return size;
-}
-
-// -------------------------------------------------------------------------
-macabfield *MacabRecord::copy(const sal_Int32 i) const
-{
- /* Note: copy(i) creates a new macabfield identical to that at
- * location i, whereas get(i) returns a pointer to the macabfield
- * at location i.
- */
- if(i < size)
- {
- macabfield *_copy = new macabfield;
- _copy->type = fields[i]->type;
- _copy->value = fields[i]->value;
- if (_copy->value)
- CFRetain(_copy->value);
- return _copy;
- }
-
- return NULL;
-}
-
-// -------------------------------------------------------------------------
-macabfield *MacabRecord::get(const sal_Int32 i) const
-{
- /* Note: copy(i) creates a new macabfield identical to that at
- * location i, whereas get(i) returns a pointer to the macabfield
- * at location i.
- */
- if(i < size)
- {
- return fields[i];
- }
-
- return NULL;
-}
-
-// -------------------------------------------------------------------------
-void MacabRecord::releaseFields()
-{
- /* This method is, at the moment, only used in MacabHeader.cxx, but
- * the idea is simple: if you are not destroying this object but want
- * to clear it of its macabfields, you should release each field's
- * value.
- */
- sal_Int32 i;
- for(i = 0; i < size; i++)
- CFRelease(fields[i]->value);
-}
-
-// -------------------------------------------------------------------------
-sal_Int32 MacabRecord::compareFields(const macabfield *_field1, const macabfield *_field2)
-{
-
- /* When comparing records, if either field is NULL (and the other is
- * not), that field is considered "greater than" the other, so that it
- * shows up later in the list when fields are ordered.
- */
- if(_field1 == _field2)
- return 0;
- if(_field1 == NULL)
- return 1;
- if(_field2 == NULL)
- return -1;
-
- /* If they aren't the same type, for now, return the one with
- * the smaller type ID... I don't know of a better way to compare
- * two different data types.
- */
- if(_field1->type != _field2->type)
- return(_field1->type - _field2->type);
-
- CFComparisonResult result;
-
- /* Carbon has a unique compare function for each data type: */
- switch(_field1->type)
- {
- case kABStringProperty:
- result = CFStringCompare(
- (CFStringRef) _field1->value,
- (CFStringRef) _field2->value,
- kCFCompareLocalized); // Specifies that the comparison should take into account differences related to locale, such as the thousands separator character.
- break;
-
- case kABDateProperty:
- result = CFDateCompare(
- (CFDateRef) _field1->value,
- (CFDateRef) _field2->value,
- NULL); // NULL = unused variable
- break;
-
- case kABIntegerProperty:
- case kABRealProperty:
- result = CFNumberCompare(
- (CFNumberRef) _field1->value,
- (CFNumberRef) _field2->value,
- NULL); // NULL = unused variable
- break;
-
- default:
- result = kCFCompareEqualTo; // can't compare
- }
-
- return (sal_Int32) result;
-}
-
-// -------------------------------------------------------------------------
-/* Create a macabfield out of an OUString and type. Together with the
- * method fieldToString() (below), it is possible to switch conveniently
- * between an OUString and a macabfield (for use when creating and handling
- * SQL statement).
- */
-macabfield *MacabRecord::createMacabField(const ::rtl::OUString _newFieldString, const ABPropertyType _abType)
-{
- macabfield *newField = NULL;
- switch(_abType)
- {
- case kABStringProperty:
- newField = new macabfield;
- newField->value = OUStringToCFString(_newFieldString);
- newField->type = _abType;
- break;
- case kABDateProperty:
- {
- DateTime aDateTime = DBTypeConversion::toDateTime(_newFieldString);
-
- // bad format...
- if(aDateTime.Year == 0 && aDateTime.Month == 0 && aDateTime.Day == 0)
- {
- }
- else
- {
- double nTime = DBTypeConversion::toDouble(aDateTime, DBTypeConversion::getStandardDate());
- nTime -= kCFAbsoluteTimeIntervalSince1970;
- newField = new macabfield;
- newField->value = CFDateCreate(NULL, (CFAbsoluteTime) nTime);
- newField->type = _abType;
- }
- }
- break;
- case kABIntegerProperty:
- try
- {
- sal_Int64 nVal = _newFieldString.toInt64();
-
- newField = new macabfield;
- newField->value = CFNumberCreate(NULL,kCFNumberLongType, &nVal);
- newField->type = _abType;
- }
- // bad format...
- catch(...)
- {
- }
- break;
- case kABRealProperty:
- try
- {
- double nVal = _newFieldString.toDouble();
-
- newField = new macabfield;
- newField->value = CFNumberCreate(NULL,kCFNumberDoubleType, &nVal);
- newField->type = _abType;
- }
- // bad format...
- catch(...)
- {
- }
- break;
- default:
- ;
- }
- return newField;
-}
-
-// -------------------------------------------------------------------------
-/* Create an OUString out of a macabfield. Together with the method
- * createMacabField() (above), it is possible to switch conveniently
- * between an OUString and a macabfield (for use when creating and handling
- * SQL statement).
- */
-::rtl::OUString MacabRecord::fieldToString(const macabfield *_aField)
-{
- if(_aField == NULL)
- return ::rtl::OUString();
-
- ::rtl::OUString fieldString;
-
- switch(_aField->type)
- {
- case kABStringProperty:
- fieldString = CFStringToOUString((CFStringRef) _aField->value);
- break;
- case kABDateProperty:
- {
- DateTime aTime = CFDateToDateTime((CFDateRef) _aField->value);
- fieldString = DBTypeConversion::toDateTimeString(aTime);
- }
- break;
- case kABIntegerProperty:
- {
- CFNumberType numberType = CFNumberGetType( (CFNumberRef) _aField->value );
- sal_Int64 nVal;
- // Should we check for the wrong type here, e.g., a float?
- sal_Bool m_bSuccess = !CFNumberGetValue((CFNumberRef) _aField->value, numberType, &nVal);
- if(m_bSuccess != sal_False)
- fieldString = ::rtl::OUString::valueOf(nVal);
- }
- break;
- case kABRealProperty:
- {
- CFNumberType numberType = CFNumberGetType( (CFNumberRef) _aField->value );
- double nVal;
- // Should we check for the wrong type here, e.g., an int?
- sal_Bool m_bSuccess = !CFNumberGetValue((CFNumberRef) _aField->value, numberType, &nVal);
- if(m_bSuccess != sal_False)
- fieldString = ::rtl::OUString::valueOf(nVal);
- }
- break;
- default:
- ;
- }
- return fieldString;
-
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabRecord.hxx b/connectivity/source/drivers/macab/MacabRecord.hxx
deleted file mode 100644
index aa47f8377b..0000000000
--- a/connectivity/source/drivers/macab/MacabRecord.hxx
+++ /dev/null
@@ -1,80 +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_MACAB_RECORD_HXX_
-#define _CONNECTIVITY_MACAB_RECORD_HXX_
-
-#include <cppuhelper/compbase3.hxx>
-
-#include <premac.h>
-#include <Carbon/Carbon.h>
-#include <AddressBook/ABAddressBookC.h>
-#include <postmac.h>
-
-namespace connectivity
-{
- namespace macab
- {
- /* a MacabRecord is at root a list of macabfields (which is just
- * something to hold both a CFTypeRef (a CoreFoundation object) and
- * its Address Book type.
- */
- struct macabfield
- {
- CFTypeRef value;
- ABPropertyType type;
- };
-
- class MacabRecord{
- protected:
- sal_Int32 size;
- macabfield **fields;
- protected:
- void releaseFields();
- public:
- MacabRecord();
- MacabRecord(const sal_Int32 _size);
- virtual ~MacabRecord();
- void insertAtColumn (CFTypeRef _value, ABPropertyType _type, const sal_Int32 _column);
- sal_Bool contains(const macabfield *_field) const;
- sal_Bool contains(const CFTypeRef _value) const;
- sal_Int32 getSize() const;
- macabfield *copy(const sal_Int32 i) const;
- macabfield *get(const sal_Int32 i) const;
-
- static sal_Int32 compareFields(const macabfield *_field1, const macabfield *_field2);
- static macabfield *createMacabField(const ::rtl::OUString _newFieldString, const ABPropertyType _abtype);
- static ::rtl::OUString fieldToString(const macabfield *_aField);
-
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_RECORD_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabRecords.cxx b/connectivity/source/drivers/macab/MacabRecords.cxx
deleted file mode 100644
index a92e2313e9..0000000000
--- a/connectivity/source/drivers/macab/MacabRecords.cxx
+++ /dev/null
@@ -1,1215 +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 "MacabRecords.hxx"
-#include "MacabRecord.hxx"
-#include "MacabHeader.hxx"
-#include "macabutilities.hxx"
-
-#include <premac.h>
-#include <Carbon/Carbon.h>
-#include <AddressBook/ABAddressBookC.h>
-#include <postmac.h>
-#include <com/sun/star/util/DateTime.hpp>
-
-using namespace connectivity::macab;
-using namespace com::sun::star::util;
-
-// -------------------------------------------------------------------------
-MacabRecords::MacabRecords(const ABAddressBookRef _addressBook, MacabHeader *_header, MacabRecord **_records, sal_Int32 _numRecords)
-{
- /* Variables passed in... */
- header = _header;
- recordsSize = _numRecords;
- currentRecord = _numRecords;
- records = _records;
- addressBook = _addressBook;
-
- /* Default variables... */
- recordType = kABPersonRecordType;
-
- /* Variables constructed... */
- bootstrap_CF_types();
- bootstrap_requiredProperties();
-}
-
-// -------------------------------------------------------------------------
-/* Creates a MacabRecords from another: copies the length, name, and
- * address book of the original, but the header or the records themselves.
- * The idea is that the only reason to copy a MacabRecords is to create
- * a filtered version of it, which can have the same length (to avoid
- * resizing) and will work from the same base addressbook, but might have
- * entirey different values and even (possibly in the future) a different
- * header.
- */
-MacabRecords::MacabRecords(const MacabRecords *_copy)
-{
- /* Variables passed in... */
- recordsSize = _copy->recordsSize;
- addressBook = _copy->addressBook;
- m_sName = _copy->m_sName;
-
- /* Default variables... */
- currentRecord = 0;
- header = NULL;
- records = new MacabRecord *[recordsSize];
- recordType = kABPersonRecordType;
-
- /* Variables constructed... */
- bootstrap_CF_types();
- bootstrap_requiredProperties();
-}
-
-// -------------------------------------------------------------------------
-MacabRecords::MacabRecords(const ABAddressBookRef _addressBook)
-{
- /* Variables passed in... */
- addressBook = _addressBook;
-
- /* Default variables... */
- recordsSize = 0;
- currentRecord = 0;
- records = NULL;
- header = NULL;
- recordType = kABPersonRecordType;
-
- /* Variables constructed... */
- bootstrap_CF_types();
- bootstrap_requiredProperties();
-}
-
-// -------------------------------------------------------------------------
-void MacabRecords::initialize()
-{
-
- /* Make sure everything is NULL before initializing. (We usually just
- * initialize after we use the constructor that takes only a
- * MacabAddressBook, so these variables will most likely already be
- * NULL.
- */
- if(records != NULL)
- {
- sal_Int32 i;
-
- for(i = 0; i < recordsSize; i++)
- delete records[i];
-
- delete [] records;
- }
-
- if(header != NULL)
- delete header;
-
- /* We can handle both default record Address Book record types in
- * this method, though only kABPersonRecordType is ever used.
- */
- CFArrayRef allRecords;
- if(CFStringCompare(recordType, kABPersonRecordType, 0) == kCFCompareEqualTo)
- allRecords = ABCopyArrayOfAllPeople(addressBook);
- else
- allRecords = ABCopyArrayOfAllGroups(addressBook);
-
- ABRecordRef record;
- sal_Int32 i;
- recordsSize = (sal_Int32) CFArrayGetCount(allRecords);
- records = new MacabRecord *[recordsSize];
-
- /* First, we create the header... */
- header = createHeaderForRecordType(allRecords, recordType);
-
- /* Then, we create each of the records... */
- for(i = 0; i < recordsSize; i++)
- {
- record = (ABRecordRef) CFArrayGetValueAtIndex(allRecords, i);
- records[i] = createMacabRecord(record, header, recordType);
- }
- currentRecord = recordsSize;
-
- CFRelease(allRecords);
-}
-
-// -------------------------------------------------------------------------
-MacabRecords::~MacabRecords()
-{
-}
-
-// -------------------------------------------------------------------------
-void MacabRecords::setHeader(MacabHeader *_header)
-{
- if(header != NULL)
- delete header;
- header = _header;
-}
-
-// -------------------------------------------------------------------------
-MacabHeader *MacabRecords::getHeader() const
-{
- return header;
-}
-
-// -------------------------------------------------------------------------
-/* Inserts a MacabRecord at a given location. If there is already a
- * MacabRecord at that location, return it.
- */
-MacabRecord *MacabRecords::insertRecord(MacabRecord *_newRecord, const sal_Int32 _location)
-{
- MacabRecord *oldRecord;
-
- /* If the location is greater than the current allocated size of this
- * MacabRecords, allocate more space.
- */
- if(_location >= recordsSize)
- {
- sal_Int32 i;
- MacabRecord **newRecordsArray = new MacabRecord *[_location+1];
- for(i = 0; i < recordsSize; i++)
- {
- newRecordsArray[i] = records[i];
- }
- delete [] records;
- records = newRecordsArray;
- }
-
- /* Remember: currentRecord refers to one above the highest existing
- * record (i.e., it refers to where to place the next record if a
- * location is not given).
- */
- if(_location >= currentRecord)
- currentRecord = _location+1;
-
- oldRecord = records[_location];
- records[_location] = _newRecord;
- return oldRecord;
-}
-
-// -------------------------------------------------------------------------
-/* Insert a record at the next available place. */
-void MacabRecords::insertRecord(MacabRecord *_newRecord)
-{
- insertRecord(_newRecord, currentRecord);
-}
-
-// -------------------------------------------------------------------------
-MacabRecord *MacabRecords::getRecord(const sal_Int32 _location) const
-{
- if(_location >= recordsSize)
- return NULL;
- return records[_location];
-}
-
-// -------------------------------------------------------------------------
-macabfield *MacabRecords::getField(const sal_Int32 _recordNumber, const sal_Int32 _columnNumber) const
-{
- if(_recordNumber >= recordsSize)
- return NULL;
-
- MacabRecord *record = records[_recordNumber];
-
- if(_columnNumber < 0 || _columnNumber >= record->getSize())
- return NULL;
-
- return record->get(_columnNumber);
-}
-
-// -------------------------------------------------------------------------
-macabfield *MacabRecords::getField(const sal_Int32 _recordNumber, const ::rtl::OUString _columnName) const
-{
- if(header != NULL)
- {
- sal_Int32 columnNumber = header->getColumnNumber(_columnName);
- if(columnNumber == -1)
- return NULL;
-
- return getField(_recordNumber, columnNumber);
- }
- else
- {
- // error: shouldn't access field with null header!
- return NULL;
- }
-}
-
-// -------------------------------------------------------------------------
-sal_Int32 MacabRecords::getFieldNumber(const ::rtl::OUString _columnName) const
-{
- if(header != NULL)
- return header->getColumnNumber(_columnName);
- else
- // error: shouldn't access field with null header!
- return -1;
-}
-
-// -------------------------------------------------------------------------
-/* Create the lcl_CFTypes array -- we need this because there is no
- * way to get the ABType of an object from the object itself, and the
- * function ABTypeOfProperty can't handle multiple levels of data
- * (e.g., it can tell us that "address" is of type
- * kABDictionaryProperty, but it cannot tell us that all of the keys
- * and values in the dictionary have type kABStringProperty. On the
- * other hand, we _can_ get the CFType out of any object.
- * Unfortunately, all information about CFTypeIDs comes with the
- * warning that they change between releases, so we build them
- * ourselves here. (The one that we can't build is for multivalues,
- * e.g., kABMultiStringProperty. All of these appear to have the
- * same type: 1, but there is no function that I've found to give
- * us that dynamically in case that number ever changes.
- */
-void MacabRecords::bootstrap_CF_types()
-{
- lcl_CFTypesLength = 6;
- lcl_CFTypes = new lcl_CFType[lcl_CFTypesLength];
-
- lcl_CFTypes[0].cf = CFNumberGetTypeID();
- lcl_CFTypes[0].ab = kABIntegerProperty;
-
- lcl_CFTypes[1].cf = CFStringGetTypeID();
- lcl_CFTypes[1].ab = kABStringProperty;
-
- lcl_CFTypes[2].cf = CFDateGetTypeID();
- lcl_CFTypes[2].ab = kABDateProperty;
-
- lcl_CFTypes[3].cf = CFArrayGetTypeID();
- lcl_CFTypes[3].ab = kABArrayProperty;
-
- lcl_CFTypes[4].cf = CFDictionaryGetTypeID();
- lcl_CFTypes[4].ab = kABDictionaryProperty;
-
- lcl_CFTypes[5].cf = CFDataGetTypeID();
- lcl_CFTypes[5].ab = kABDataProperty;
-}
-
-// -------------------------------------------------------------------------
-/* This is based on the possible fields required in the mail merge template
- * in sw. If the fields possible there change, it would be optimal to
- * change these fields as well.
- */
-void MacabRecords::bootstrap_requiredProperties()
-{
- numRequiredProperties = 7;
- requiredProperties = new CFStringRef[numRequiredProperties];
- requiredProperties[0] = kABTitleProperty;
- requiredProperties[1] = kABFirstNameProperty;
- requiredProperties[2] = kABLastNameProperty;
- requiredProperties[3] = kABOrganizationProperty;
- requiredProperties[4] = kABAddressProperty;
- requiredProperties[5] = kABPhoneProperty;
- requiredProperties[6] = kABEmailProperty;
-}
-
-// -------------------------------------------------------------------------
-/* Create the header for a given record type and a given array of records.
- * Because the array of records and the record type are given, if you want
- * to, you can run this method on the members of a group, or on any other
- * filtered list of people and get a header relevant to them (e.g., if
- * they only have home addresses, the work address fields won't show up).
- */
-MacabHeader *MacabRecords::createHeaderForRecordType(const CFArrayRef _records, const CFStringRef _recordType) const
-{
- /* We have two types of properties for a given record type, nonrequired
- * and required. Required properties are ones that will show up whether
- * or not they are empty. Nonrequired properties will only show up if
- * at least one record in the set has that property filled. The reason
- * is that some properties, like the kABTitleProperty are required by
- * the mail merge wizard (in module sw) but are by default not shown in
- * the Mac OS X address book, so they would be weeded out at this stage
- * and not shown if they were not required.
- *
- * Note: with the addition of required properties, I am not sure that
- * this method still works for kABGroupRecordType (since the required
- * properites are all for kABPersonRecordType).
- *
- * Note: required properties are constructed in the method
- * bootstrap_requiredProperties() (above).
- */
- CFArrayRef allProperties = ABCopyArrayOfPropertiesForRecordType(addressBook, _recordType);
- CFStringRef *nonRequiredProperties;
- sal_Int32 numRecords = (sal_Int32) CFArrayGetCount(_records);
- sal_Int32 numProperties = (sal_Int32) CFArrayGetCount(allProperties);
- sal_Int32 numNonRequiredProperties = numProperties - numRequiredProperties;
-
- /* While searching through the properties for required properties, these
- * sal_Bools will keep track of what we have found.
- */
- sal_Bool bFoundProperty;
- sal_Bool bFoundRequiredProperties[numRequiredProperties];
-
-
- /* We have three MacabHeaders: headerDataForProperty is where we
- * store the result of createHeaderForProperty(), which return a
- * MacabHeader for a single property. lcl_header is where we store
- * the MacabHeader that we are constructing. And, nonRequiredHeader
- * is where we construct the MacabHeader for non-required properties,
- * so that we can sort them before adding them to lcl_header.
- */
- MacabHeader *headerDataForProperty;
- MacabHeader *lcl_header = new MacabHeader();
- MacabHeader *nonRequiredHeader = new MacabHeader();
-
- /* Other variables... */
- sal_Int32 i, j, k;
- ABRecordRef record;
- CFStringRef property;
-
-
- /* Allocate and initialize... */
- nonRequiredProperties = new CFStringRef[numNonRequiredProperties];
- k = 0;
- for(i = 0; i < numRequiredProperties; i++)
- bFoundRequiredProperties[i] = sal_False;
-
- /* Determine the non-required properties... */
- for(i = 0; i < numProperties; i++)
- {
- property = (CFStringRef) CFArrayGetValueAtIndex(allProperties, i);
- bFoundProperty = sal_False;
- for(j = 0; j < numRequiredProperties; j++)
- {
- if(CFEqual(property, requiredProperties[j]))
- {
- bFoundProperty = sal_True;
- bFoundRequiredProperties[j] = sal_True;
- break;
- }
- }
-
- if(bFoundProperty == sal_False)
- {
- /* If we have found too many non-required properties */
- if(k == numNonRequiredProperties)
- {
- k++; // so that the OSL_ENSURE below fails
- break;
- }
- nonRequiredProperties[k] = property;
- k++;
- }
- }
-
- // Somehow, we got too many or too few non-requird properties...
- // Most likely, one of the required properties no longer exists, which
- // we also test later.
- OSL_ENSURE(k == numNonRequiredProperties, "MacabRecords::createHeaderForRecordType: Found an unexpected number of non-required properties");
-
- /* Fill the header with required properties first... */
- for(i = 0; i < numRequiredProperties; i++)
- {
- if(bFoundRequiredProperties[i] == sal_True)
- {
- /* The order of these matters (we want all address properties
- * before any phone properties, or else things will look weird),
- * so we get all possibilitities for each property, going through
- * each record, and then go onto the next property.
- * (Note: the reason that we have to go through all records
- * in the first place is that properties like address, phone, and
- * e-mail are multi-value properties with an unknown number of
- * values. A user could specify thirteen different kinds of
- * e-mail addresses for one of her or his contacts, and we need to
- * get all of them.
- */
- for(j = 0; j < numRecords; j++)
- {
- record = (ABRecordRef) CFArrayGetValueAtIndex(_records, j);
- headerDataForProperty = createHeaderForProperty(record,requiredProperties[i],_recordType,sal_True);
- if(headerDataForProperty != NULL)
- {
- (*lcl_header) += headerDataForProperty;
- delete headerDataForProperty;
- }
- }
- }
- else
- {
- // Couldn't find a required property...
- OSL_FAIL(::rtl::OString("MacabRecords::createHeaderForRecordType: could not find required property: ") +
- ::rtl::OUStringToOString(CFStringToOUString(requiredProperties[i]), RTL_TEXTENCODING_ASCII_US));
- }
- }
-
- /* And now, non-required properties... */
- for(i = 0; i < numRecords; i++)
- {
- record = (ABRecordRef) CFArrayGetValueAtIndex(_records, i);
-
- for(j = 0; j < numNonRequiredProperties; j++)
- {
- property = nonRequiredProperties[j];
- headerDataForProperty = createHeaderForProperty(record,property,_recordType,sal_False);
- if(headerDataForProperty != NULL)
- {
- (*nonRequiredHeader) += headerDataForProperty;
- delete headerDataForProperty;
- }
- }
-
- }
- nonRequiredHeader->sortRecord();
-
- (*lcl_header) += nonRequiredHeader;
- delete nonRequiredHeader;
-
- CFRelease(allProperties);
- delete [] nonRequiredProperties;
-
- return lcl_header;
-}
-
-// -------------------------------------------------------------------------
-/* Create a header for a single property. Basically, this method gets
- * the property's value and type and then calls another method of
- * the same name to do the dirty work.
- */
-MacabHeader *MacabRecords::createHeaderForProperty(const ABRecordRef _record, const CFStringRef _propertyName, const CFStringRef _recordType, const sal_Bool _isPropertyRequired) const
-{
- // local variables
- CFStringRef localizedPropertyName;
- CFTypeRef propertyValue;
- ABPropertyType propertyType;
- MacabHeader *result;
-
- /* Get the property's value */
- propertyValue = ABRecordCopyValue(_record,_propertyName);
- if(propertyValue == NULL && _isPropertyRequired == sal_False)
- return NULL;
-
- propertyType = ABTypeOfProperty(addressBook, _recordType, _propertyName);
- localizedPropertyName = ABCopyLocalizedPropertyOrLabel(_propertyName);
-
- result = createHeaderForProperty(propertyType, propertyValue, localizedPropertyName);
-
- if(propertyValue != NULL)
- CFRelease(propertyValue);
-
- return result;
-}
-
-// -------------------------------------------------------------------------
-/* Create a header for a single property. This method is recursive
- * because a single property might contain several sub-properties that
- * we also want to treat singly.
- */
-MacabHeader *MacabRecords::createHeaderForProperty(const ABPropertyType _propertyType, const CFTypeRef _propertyValue, const CFStringRef _propertyName) const
-{
- macabfield **headerNames = NULL;
- sal_Int32 length = 0;
-
- switch(_propertyType)
- {
- /* Scalars */
- case kABStringProperty:
- case kABRealProperty:
- case kABIntegerProperty:
- case kABDateProperty:
- length = 1;
- headerNames = new macabfield *[1];
- headerNames[0] = new macabfield;
- headerNames[0]->value = _propertyName;
- headerNames[0]->type = _propertyType;
- break;
-
- /* Multi-scalars */
- case kABMultiIntegerProperty:
- case kABMultiDateProperty:
- case kABMultiStringProperty:
- case kABMultiRealProperty:
- case kABMultiDataProperty:
- /* For non-scalars, we can only get more information if the property
- * actually exists.
- */
- if(_propertyValue != NULL)
- {
- sal_Int32 i;
-
- sal_Int32 multiLength = ABMultiValueCount((ABMutableMultiValueRef) _propertyValue);
- CFStringRef multiLabel, localizedMultiLabel;
- ::rtl::OUString multiLabelString;
- ::rtl::OUString multiPropertyString;
- ::rtl::OUString headerNameString;
- ABPropertyType multiType = (ABPropertyType) (ABMultiValuePropertyType((ABMutableMultiValueRef) _propertyValue) - 0x100);
-
- length = multiLength;
- headerNames = new macabfield *[multiLength];
- multiPropertyString = CFStringToOUString(_propertyName);
-
- /* Go through each element, and - since each element is a scalar -
- * just create a new macabfield for it.
- */
- for(i = 0; i < multiLength; i++)
- {
- multiLabel = ABMultiValueCopyLabelAtIndex((ABMutableMultiValueRef) _propertyValue, i);
- localizedMultiLabel = ABCopyLocalizedPropertyOrLabel(multiLabel);
- multiLabelString = CFStringToOUString(localizedMultiLabel);
- CFRelease(multiLabel);
- CFRelease(localizedMultiLabel);
- headerNameString = multiPropertyString + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(": ")) + fixLabel(multiLabelString);
- headerNames[i] = new macabfield;
- headerNames[i]->value = OUStringToCFString(headerNameString);
- headerNames[i]->type = multiType;
- }
- }
- break;
-
- /* Multi-array or dictionary */
- case kABMultiArrayProperty:
- case kABMultiDictionaryProperty:
- /* For non-scalars, we can only get more information if the property
- * actually exists.
- */
- if(_propertyValue != NULL)
- {
- sal_Int32 i,j,k;
-
- // Total number of multi-array or multi-dictionary elements.
- sal_Int32 multiLengthFirstLevel = ABMultiValueCount((ABMutableMultiValueRef) _propertyValue);
-
- /* Total length, including the length of each element (e.g., if
- * this multi-dictionary contains three dictionaries, and each
- * dictionary has four elements, this variable will be twelve,
- * whereas multiLengthFirstLevel will be three.
- */
- sal_Int32 multiLengthSecondLevel = 0;
-
- CFStringRef multiLabel, localizedMultiLabel;
- CFTypeRef multiValue;
- ::rtl::OUString multiLabelString;
- ::rtl::OUString multiPropertyString;
- MacabHeader **multiHeaders = new MacabHeader *[multiLengthFirstLevel];
- ABPropertyType multiType = (ABPropertyType) (ABMultiValuePropertyType((ABMutableMultiValueRef) _propertyValue) - 0x100);
-
- multiPropertyString = CFStringToOUString(_propertyName);
-
- /* Go through each element - since each element can really
- * contain anything, we run this method again on each element
- * and store the resulting MacabHeader (in the multiHeaders
- * array). Then, all we'll have to do is combine the MacabHeaders
- * into a single one.
- */
- for(i = 0; i < multiLengthFirstLevel; i++)
- {
- /* label */
- multiLabel = ABMultiValueCopyLabelAtIndex((ABMutableMultiValueRef) _propertyValue, i);
- multiValue = ABMultiValueCopyValueAtIndex((ABMutableMultiValueRef) _propertyValue, i);
- if(multiValue && multiLabel)
- {
- localizedMultiLabel = ABCopyLocalizedPropertyOrLabel(multiLabel);
- multiLabelString = multiPropertyString + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(": ")) + fixLabel(CFStringToOUString(localizedMultiLabel));
- CFRelease(multiLabel);
- CFRelease(localizedMultiLabel);
- multiLabel = OUStringToCFString(multiLabelString);
- multiHeaders[i] = createHeaderForProperty(multiType, multiValue, multiLabel);
- if (!multiHeaders[i])
- multiHeaders[i] = new MacabHeader();
- multiLengthSecondLevel += multiHeaders[i]->getSize();
- }
- else
- {
- multiHeaders[i] = new MacabHeader();
- }
- if(multiValue)
- CFRelease(multiValue);
- }
-
- /* We now have enough information to create our final MacabHeader.
- * We go through each field of each header and add it to the
- * headerNames array (which is what is used below to construct
- * the MacabHeader we return).
- */
- length = multiLengthSecondLevel;
- headerNames = new macabfield *[multiLengthSecondLevel];
-
- for(i = 0, j = 0, k = 0; i < multiLengthSecondLevel; i++,k++)
- {
- while(multiHeaders[j]->getSize() == k)
- {
- j++;
- k = 0;
- }
-
- headerNames[i] = multiHeaders[j]->copy(k);
- }
- for(i = 0; i < multiLengthFirstLevel; i++)
- delete multiHeaders[i];
-
- delete [] multiHeaders;
- }
- break;
-
- /* Dictionary */
- case kABDictionaryProperty:
- /* For non-scalars, we can only get more information if the property
- * actually exists.
- */
- if(_propertyValue != NULL)
- {
- /* Assume all keys are strings */
- sal_Int32 numRecords = (sal_Int32) CFDictionaryGetCount((CFDictionaryRef) _propertyValue);
-
- /* The only method for getting info out of a CFDictionary, of both
- * keys and values, is to all of them all at once, so these
- * variables will hold them.
- */
- CFStringRef *dictKeys;
- CFTypeRef *dictValues;
-
- sal_Int32 i,j,k;
- ::rtl::OUString dictKeyString, propertyNameString;
- ABPropertyType dictType;
- MacabHeader **dictHeaders = new MacabHeader *[numRecords];
- ::rtl::OUString dictLabelString;
- CFStringRef dictLabel, localizedDictKey;
-
- /* Get the keys and values */
- dictKeys = (CFStringRef *) malloc(sizeof(CFStringRef)*numRecords);
- dictValues = (CFTypeRef *) malloc(sizeof(CFTypeRef)*numRecords);
- CFDictionaryGetKeysAndValues((CFDictionaryRef) _propertyValue, (const void **) dictKeys, (const void **) dictValues);
-
- propertyNameString = CFStringToOUString(_propertyName);
-
- length = 0;
- /* Go through each element - assuming that the key is a string but
- * that the value could be anything. Since the value could be
- * anything, we can't assume that it is scalar (it could even be
- * another dictionary), so we attempt to get its type using
- * the method getABTypeFromCFType and then run this method
- * recursively on that element, storing the MacabHeader that
- * results. Then, we just combine all of the MacabHeaders into
- * one.
- */
- for(i = 0; i < numRecords; i++)
- {
- dictType = (ABPropertyType) getABTypeFromCFType( CFGetTypeID(dictValues[i]) );
- localizedDictKey = ABCopyLocalizedPropertyOrLabel(dictKeys[i]);
- dictKeyString = CFStringToOUString(localizedDictKey);
- dictLabelString = propertyNameString + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(": ")) + fixLabel(dictKeyString);
- dictLabel = OUStringToCFString(dictLabelString);
- dictHeaders[i] = createHeaderForProperty(dictType, dictValues[i], dictLabel);
- if (!dictHeaders[i])
- dictHeaders[i] = new MacabHeader();
- length += dictHeaders[i]->getSize();
- CFRelease(dictLabel);
- CFRelease(localizedDictKey);
- }
-
- /* Combine all of the macabfields in each MacabHeader into the
- * headerNames array, which (at the end of this method) is used
- * to create the MacabHeader that is returned.
- */
- headerNames = new macabfield *[length];
- for(i = 0, j = 0, k = 0; i < length; i++,k++)
- {
- while(dictHeaders[j]->getSize() == k)
- {
- j++;
- k = 0;
- }
-
- headerNames[i] = dictHeaders[j]->copy(k);
- }
-
- for(i = 0; i < numRecords; i++)
- delete dictHeaders[i];
-
- delete [] dictHeaders;
- free(dictKeys);
- free(dictValues);
- }
- break;
-
- /* Array */
- case kABArrayProperty:
- /* For non-scalars, we can only get more information if the property
- * actually exists.
- */
- if(_propertyValue != NULL)
- {
- sal_Int32 arrLength = (sal_Int32) CFArrayGetCount( (CFArrayRef) _propertyValue);
- sal_Int32 i,j,k;
- CFTypeRef arrValue;
- ABPropertyType arrType;
- MacabHeader **arrHeaders = new MacabHeader *[arrLength];
- ::rtl::OUString propertyNameString = CFStringToOUString(_propertyName);
- ::rtl::OUString arrLabelString;
- CFStringRef arrLabel;
-
- length = 0;
- /* Go through each element - since the elements here do not have
- * unique keys like the ones in dictionaries, we create a unique
- * key out of the id of the element in the array (the first
- * element gets a 0 plopped onto the end of it, the second a 1...
- * As with dictionaries, the elements could be anything, including
- * another array, so we have to run this method recursively on
- * each element, storing the resulting MacabHeader into an array,
- * which we then combine into one MacabHeader that is returned.
- */
- for(i = 0; i < arrLength; i++)
- {
- arrValue = (CFTypeRef) CFArrayGetValueAtIndex( (CFArrayRef) _propertyValue, i);
- arrType = (ABPropertyType) getABTypeFromCFType( CFGetTypeID(arrValue) );
- arrLabelString = propertyNameString + ::rtl::OUString::valueOf(i);
- arrLabel = OUStringToCFString(arrLabelString);
- arrHeaders[i] = createHeaderForProperty(arrType, arrValue, arrLabel);
- if (!arrHeaders[i])
- arrHeaders[i] = new MacabHeader();
- length += arrHeaders[i]->getSize();
- CFRelease(arrLabel);
- }
-
- headerNames = new macabfield *[length];
- for(i = 0, j = 0, k = 0; i < length; i++,k++)
- {
- while(arrHeaders[j]->getSize() == k)
- {
- j++;
- k = 0;
- }
-
- headerNames[i] = arrHeaders[j]->copy(k);
- }
- for(i = 0; i < arrLength; i++)
- delete arrHeaders[i];
-
- delete [] arrHeaders;
- }
- break;
-
- default:
- break;
-
- }
-
- /* If we succeeded at adding elements to the headerNames array, then
- * length will no longer be 0. If it is, create a new MacabHeader
- * out of the headerNames (after weeding out duplicate headers), and
- * then return the result. If the length is still 0, return NULL: we
- * failed to create a MacabHeader out of this property.
- */
- if(length != 0)
- {
- manageDuplicateHeaders(headerNames, length);
- MacabHeader *headerResult = new MacabHeader(length, headerNames);
- delete [] headerNames;
- return headerResult;
- }
- else
- return NULL;
-}
-
-// -------------------------------------------------------------------------
-void MacabRecords::manageDuplicateHeaders(macabfield **_headerNames, const sal_Int32 _length) const
-{
- /* If we have two cases of, say, phone: home, this makes it:
- * phone: home (1)
- * phone: home (2)
- */
- sal_Int32 i, j;
- sal_Int32 count;
- for(i = _length-1; i >= 0; i--)
- {
- count = 1;
- for( j = i-1; j >= 0; j--)
- {
- if(CFEqual(_headerNames[i]->value, _headerNames[j]->value))
- {
- count++;
- }
- }
-
- // duplicate!
- if(count != 1)
- {
- // There is probably a better way to do this...
- ::rtl::OUString newName = CFStringToOUString((CFStringRef) _headerNames[i]->value);
- CFRelease(_headerNames[i]->value);
- newName += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" (")) + ::rtl::OUString::valueOf(count) + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(")"));
- _headerNames[i]->value = OUStringToCFString(newName);
- }
- }
-}
-
-// -------------------------------------------------------------------------
-/* Create a MacabRecord out of an ABRecord, using a given MacabHeader and
- * the record's type. We go through each property for this record type
- * then process it much like we processed the header (above), with two
- * exceptions: if we come upon something not in the header, we ignore it
- * (it's something we don't want to add), and once we find a corresponding
- * location in the header, we store the property and the property type in
- * a macabfield. (For the header, we stored the property type and the name
- * of the property as a CFString.)
- */
-MacabRecord *MacabRecords::createMacabRecord(const ABRecordRef _abrecord, const MacabHeader *_header, const CFStringRef _recordType) const
-{
- /* The new record that we will create... */
- MacabRecord *macabRecord = new MacabRecord(_header->getSize());
-
- CFArrayRef recordProperties = ABCopyArrayOfPropertiesForRecordType(addressBook, _recordType);
- sal_Int32 numProperties = (sal_Int32) CFArrayGetCount(recordProperties);
-
- sal_Int32 i;
-
- CFTypeRef propertyValue;
- ABPropertyType propertyType;
-
- CFStringRef propertyName, localizedPropertyName;
- ::rtl::OUString propertyNameString;
- for(i = 0; i < numProperties; i++)
- {
- propertyName = (CFStringRef) CFArrayGetValueAtIndex(recordProperties, i);
- localizedPropertyName = ABCopyLocalizedPropertyOrLabel(propertyName);
- propertyNameString = CFStringToOUString(localizedPropertyName);
- CFRelease(localizedPropertyName);
-
- /* Get the property's value */
- propertyValue = ABRecordCopyValue(_abrecord,propertyName);
- if(propertyValue != NULL)
- {
- propertyType = ABTypeOfProperty(addressBook, _recordType, propertyName);
- if(propertyType != kABErrorInProperty)
- insertPropertyIntoMacabRecord(propertyType, macabRecord, _header, propertyNameString, propertyValue);
-
- CFRelease(propertyValue);
- }
- }
- CFRelease(recordProperties);
- return macabRecord;
-}
-
-// -------------------------------------------------------------------------
-/* Inserts a given property into a MacabRecord. This method calls another
- * method by the same name after getting the property type (it only
- * receives the property value). It is called when we aren't given the
- * property's type already.
- */
-void MacabRecords::insertPropertyIntoMacabRecord(MacabRecord *_abrecord, const MacabHeader *_header, const ::rtl::OUString _propertyName, const CFTypeRef _propertyValue) const
-{
- CFTypeID cf_type = CFGetTypeID(_propertyValue);
- ABPropertyType ab_type = getABTypeFromCFType( cf_type );
-
- if(ab_type != kABErrorInProperty)
- insertPropertyIntoMacabRecord(ab_type, _abrecord, _header, _propertyName, _propertyValue);
-}
-
-// -------------------------------------------------------------------------
-/* Inserts a given property into a MacabRecord. This method is recursive
- * because properties can contain many sub-properties.
- */
-void MacabRecords::insertPropertyIntoMacabRecord(const ABPropertyType _propertyType, MacabRecord *_abrecord, const MacabHeader *_header, const ::rtl::OUString _propertyName, const CFTypeRef _propertyValue) const
-{
- /* If there is no value, return */
- if(_propertyValue == NULL)
- return;
-
- /* The main switch statement */
- switch(_propertyType)
- {
- /* Scalars */
- case kABStringProperty:
- case kABRealProperty:
- case kABIntegerProperty:
- case kABDateProperty:
- {
- /* Only scalars actually insert a property into the MacabRecord.
- * In all other cases, this method is called recursively until a
- * scalar type, an error, or an unknown type are found.
- * Because of that, the following checks only occur for this type.
- * We store whether we have successfully placed this property
- * into the MacabRecord (or whether an unrecoverable error occurred).
- * Then, we try over and over again to place the property into the
- * record. There are three possible results:
- * 1) Success!
- * 2) There is already a property stored at the column of this name,
- * in which case we have a duplicate header (see the method
- * manageDuplicateHeaders()). If that is the case, we add an ID
- * to the end of the column name in the same format as we do in
- * manageDuplicateHeaders() and try again.
- * 3) No column of this name exists in the header. In this case,
- * there is nothing we can do: we have failed to place this
- * property into the record.
- */
- sal_Bool bPlaced = sal_False;
- ::rtl::OUString columnName = ::rtl::OUString(_propertyName);
- sal_Int32 i = 1;
-
- // A big safeguard to prevent two fields from having the same name.
- while(bPlaced != sal_True)
- {
- sal_Int32 columnNumber = _header->getColumnNumber(columnName);
- bPlaced = sal_True;
- if(columnNumber != -1)
- {
- // collision! A property already exists here!
- if(_abrecord->get(columnNumber) != NULL)
- {
- bPlaced = sal_False;
- i++;
- columnName = ::rtl::OUString(_propertyName) + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(" (")) + ::rtl::OUString::valueOf(i) + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(")"));
- }
-
- // success!
- else
- {
- _abrecord->insertAtColumn(_propertyValue, _propertyType, columnNumber);
- }
- }
- }
- }
- break;
-
- /* Array */
- case kABArrayProperty:
- {
- /* An array is basically just a list of anything, so all we do
- * is go through the array, and rerun this method recursively
- * on each element.
- */
- sal_Int32 arrLength = (sal_Int32) CFArrayGetCount( (CFArrayRef) _propertyValue);
- sal_Int32 i;
- const void *arrValue;
- ::rtl::OUString newPropertyName;
-
- /* Going through each element... */
- for(i = 0; i < arrLength; i++)
- {
- arrValue = CFArrayGetValueAtIndex( (CFArrayRef) _propertyValue, i);
- newPropertyName = _propertyName + ::rtl::OUString::valueOf(i);
- insertPropertyIntoMacabRecord(_abrecord, _header, newPropertyName, arrValue);
- CFRelease(arrValue);
- }
-
- }
- break;
-
- /* Dictionary */
- case kABDictionaryProperty:
- {
- /* A dictionary is basically a hashmap. Technically, it can
- * hold any object as a key and any object as a value.
- * For our case, we assume that the key is a string (so that
- * we can use the key to get the column name and match it against
- * the header), but we don't assume anything about the value, so
- * we run this method recursively (or, rather, we run the version
- * of this method for when we don't know the object's type) until
- * we hit a scalar value.
- */
-
- sal_Int32 numRecords = (sal_Int32) CFDictionaryGetCount((CFDictionaryRef) _propertyValue);
- ::rtl::OUString dictKeyString;
- sal_Int32 i;
- ::rtl::OUString newPropertyName;
-
- /* Unfortunately, the only way to get both keys and values out
- * of a dictionary in Carbon is to get them all at once, so we
- * do that.
- */
- CFStringRef *dictKeys;
- CFStringRef localizedDictKey;
- CFTypeRef *dictValues;
- dictKeys = (CFStringRef *) malloc(sizeof(CFStringRef)*numRecords);
- dictValues = (CFTypeRef *) malloc(sizeof(CFTypeRef)*numRecords);
- CFDictionaryGetKeysAndValues((CFDictionaryRef) _propertyValue, (const void **) dictKeys, (const void **) dictValues);
-
- /* Going through each element... */
- for(i = 0; i < numRecords; i++)
- {
- localizedDictKey = ABCopyLocalizedPropertyOrLabel(dictKeys[i]);
- dictKeyString = CFStringToOUString(localizedDictKey);
- CFRelease(localizedDictKey);
- newPropertyName = _propertyName + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(": ")) + fixLabel(dictKeyString);
- insertPropertyIntoMacabRecord(_abrecord, _header, newPropertyName, dictValues[i]);
- }
-
- free(dictKeys);
- free(dictValues);
- }
- break;
-
- /* Multivalue */
- case kABMultiIntegerProperty:
- case kABMultiDateProperty:
- case kABMultiStringProperty:
- case kABMultiRealProperty:
- case kABMultiDataProperty:
- case kABMultiDictionaryProperty:
- case kABMultiArrayProperty:
- {
- /* All scalar multivalues are handled in the same way. Each element
- * is a label and a value. All labels are strings
- * (kABStringProperty), and all values have the same type
- * (which is the type of the multivalue minus 255, or as
- * Carbon's list of property types has it, minus 0x100.
- * We just get the correct type, then go through each element
- * and get the label and value and print them in a list.
- */
-
- sal_Int32 i;
- sal_Int32 multiLength = ABMultiValueCount((ABMutableMultiValueRef) _propertyValue);
- CFStringRef multiLabel, localizedMultiLabel;
- CFTypeRef multiValue;
- ::rtl::OUString multiLabelString, newPropertyName;
- ABPropertyType multiType = (ABPropertyType) (ABMultiValuePropertyType((ABMutableMultiValueRef) _propertyValue) - 0x100);
-
- /* Go through each element... */
- for(i = 0; i < multiLength; i++)
- {
- /* Label and value */
- multiLabel = ABMultiValueCopyLabelAtIndex((ABMutableMultiValueRef) _propertyValue, i);
- multiValue = ABMultiValueCopyValueAtIndex((ABMutableMultiValueRef) _propertyValue, i);
-
- localizedMultiLabel = ABCopyLocalizedPropertyOrLabel(multiLabel);
- multiLabelString = CFStringToOUString(localizedMultiLabel);
- newPropertyName = _propertyName + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(": ")) + fixLabel(multiLabelString);
- insertPropertyIntoMacabRecord(multiType, _abrecord, _header, newPropertyName, multiValue);
-
- /* free our variables */
- CFRelease(multiLabel);
- CFRelease(localizedMultiLabel);
- CFRelease(multiValue);
- }
- }
- break;
-
- /* Unhandled types */
- case kABErrorInProperty:
- case kABDataProperty:
- default:
- /* An error, as far as I have seen, only shows up as a type
- * returned by a function for dictionaries when the dictionary
- * holds many types of values. Since we do not use that function,
- * it shouldn't come up. I have yet to see the kABDataProperty,
- * and I am not sure how to represent it as a string anyway,
- * since it appears to just be a bunch of bytes. Assumably, if
- * these bytes made up a string, the type would be
- * kABStringProperty. I think that this is used when we are not
- * sure what the type is (e.g., it could be a string or a number).
- * That being the case, I still don't know how to represent it.
- * And, default should never come up, since we've exhausted all
- * of the possible types for ABPropertyType, but... just in case.
- */
- break;
- }
-
-}
-
-// -------------------------------------------------------------------------
-ABPropertyType MacabRecords::getABTypeFromCFType(const CFTypeID cf_type ) const
-{
- sal_Int32 i;
- for(i = 0; i < lcl_CFTypesLength; i++)
- {
- /* A match! */
- if(lcl_CFTypes[i].cf == (sal_Int32) cf_type)
- {
- return (ABPropertyType) lcl_CFTypes[i].ab;
- }
- }
- return kABErrorInProperty;
-}
-
-// -------------------------------------------------------------------------
-sal_Int32 MacabRecords::size() const
-{
- return currentRecord;
-}
-
-// -------------------------------------------------------------------------
-MacabRecords *MacabRecords::begin()
-{
- return this;
-}
-
-// -------------------------------------------------------------------------
-MacabRecords::iterator::iterator ()
-{
-}
-
-// -------------------------------------------------------------------------
-MacabRecords::iterator::~iterator ()
-{
-}
-
-// -------------------------------------------------------------------------
-MacabRecords::iterator& MacabRecords::iterator::operator= (MacabRecords *_records)
-{
- id = 0;
- records = _records;
- return *this;
-}
-
-// -------------------------------------------------------------------------
-void MacabRecords::iterator::operator++ ()
-{
- id++;
-}
-
-// -------------------------------------------------------------------------
-sal_Bool MacabRecords::iterator::operator!= (const sal_Int32 i) const
-{
- return(id != i);
-}
-
-// -------------------------------------------------------------------------
-sal_Bool MacabRecords::iterator::operator== (const sal_Int32 i) const
-{
- return(id == i);
-}
-
-// -------------------------------------------------------------------------
-MacabRecord *MacabRecords::iterator::operator* () const
-{
- return records->getRecord(id);
-}
-
-// -------------------------------------------------------------------------
-sal_Int32 MacabRecords::end() const
-{
- return currentRecord;
-}
-
-// -------------------------------------------------------------------------
-void MacabRecords::swap(const sal_Int32 _id1, const sal_Int32 _id2)
-{
- MacabRecord *swapRecord = records[_id1];
-
- records[_id1] = records[_id2];
- records[_id2] = swapRecord;
-}
-
-// -------------------------------------------------------------------------
-void MacabRecords::setName(const ::rtl::OUString _sName)
-{
- m_sName = _sName;
-}
-
-// -------------------------------------------------------------------------
-::rtl::OUString MacabRecords::getName() const
-{
- return m_sName;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabRecords.hxx b/connectivity/source/drivers/macab/MacabRecords.hxx
deleted file mode 100644
index 0ac946b5c0..0000000000
--- a/connectivity/source/drivers/macab/MacabRecords.hxx
+++ /dev/null
@@ -1,139 +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_MACAB_RECORDS_HXX_
-#define _CONNECTIVITY_MACAB_RECORDS_HXX_
-
-#include "MacabRecord.hxx"
-#include "MacabHeader.hxx"
-
-#include <premac.h>
-#include <Carbon/Carbon.h>
-#include <AddressBook/ABAddressBookC.h>
-#include <postmac.h>
-#include <com/sun/star/util/DateTime.hpp>
-
-namespace connectivity
-{
- namespace macab
- {
- /* This struct is for converting CF types to AB types (Core Foundation
- * types to Address Book types).
- */
- struct lcl_CFType {
- sal_Int32 cf;
- sal_Int32 ab;
- };
-
- class MacabRecords{
- protected:
- /* MacabRecords is, at its core, a table of macabfields, in the
- * form of a header and a list of objects of type MacabRecord.
- * It also has a unique name that refers to the name of the table.
- */
- sal_Int32 recordsSize;
- sal_Int32 currentRecord;
- CFStringRef recordType;
- MacabHeader *header;
- MacabRecord **records;
- ABAddressBookRef addressBook;
- ::rtl::OUString m_sName;
-
- /* For converting CF types to AB types */
- sal_Int32 lcl_CFTypesLength;
- lcl_CFType *lcl_CFTypes;
-
- /* For required properties */
- CFStringRef *requiredProperties;
- sal_Int32 numRequiredProperties;
-
- private:
- /* All of the private methods are for creating a MacabHeader or a
- * MacabRecord. They are used by the initialize method that goes
- * about filling a MacabRecords using all of the records in the
- * Mac OS X Address Book.
- */
- void bootstrap_CF_types();
- void bootstrap_requiredProperties();
- MacabHeader *createHeaderForProperty(const ABRecordRef _record, const CFStringRef _propertyName, const CFStringRef _recordType, const sal_Bool _isPropertyRequired) const;
- MacabHeader *createHeaderForProperty(const ABPropertyType _propertyType, const CFTypeRef _propertyValue, const CFStringRef _propertyName) const;
- void manageDuplicateHeaders(macabfield **_headerNames, const sal_Int32 _length) const;
- ABPropertyType getABTypeFromCFType(const CFTypeID cf_type ) const;
- void insertPropertyIntoMacabRecord(MacabRecord *_abrecord, const MacabHeader *_header, const ::rtl::OUString _propertyName, const CFTypeRef _propertyValue) const;
- void insertPropertyIntoMacabRecord(const ABPropertyType _propertyType, MacabRecord *_abrecord, const MacabHeader *_header, const ::rtl::OUString _propertyName, const CFTypeRef _propertyValue) const;
- public:
- MacabRecords(const ABAddressBookRef _addressBook, MacabHeader *_header, MacabRecord **_records, sal_Int32 _numRecords);
- MacabRecords(const MacabRecords *_copy);
- MacabRecords(const ABAddressBookRef _addressBook);
- ~MacabRecords();
-
- void initialize();
-
- void setHeader(MacabHeader *_header);
- MacabHeader *getHeader() const;
-
- void setName(const ::rtl::OUString _sName);
- ::rtl::OUString getName() const;
-
- MacabRecord *insertRecord(MacabRecord *_newRecord, const sal_Int32 _location);
- void insertRecord(MacabRecord *_newRecord);
- MacabRecord *getRecord(const sal_Int32 _location) const;
- void swap(const sal_Int32 _id1, const sal_Int32 _id2);
-
- macabfield *getField(const sal_Int32 _recordNumber, const sal_Int32 _columnNumber) const;
- macabfield *getField(const sal_Int32 _recordNumber, const ::rtl::OUString _columnName) const;
- sal_Int32 getFieldNumber(const ::rtl::OUString _columnName) const;
-
- sal_Int32 size() const;
-
- MacabHeader *createHeaderForRecordType(const CFArrayRef _records, const CFStringRef _recordType) const;
- MacabRecord *createMacabRecord(const ABRecordRef _abrecord, const MacabHeader *_header, const CFStringRef _recordType) const;
-
- MacabRecords *begin();
- sal_Int32 end() const;
- class iterator{
- protected:
- MacabRecords *records;
- public:
- sal_Int32 id;
- iterator& operator= (MacabRecords *_records);
- iterator();
- ~iterator();
- void operator++ ();
- sal_Bool operator!= (const sal_Int32 i) const;
- sal_Bool operator== (const sal_Int32 i) const;
- MacabRecord *operator* () const;
- };
-
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_RECORDS_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabResultSet.cxx b/connectivity/source/drivers/macab/MacabResultSet.cxx
deleted file mode 100644
index 851052aa59..0000000000
--- a/connectivity/source/drivers/macab/MacabResultSet.cxx
+++ /dev/null
@@ -1,1076 +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 "MacabResultSet.hxx"
-#include "MacabAddressBook.hxx"
-#include "MacabRecords.hxx"
-#include "macabutilities.hxx"
-#include "MacabResultSetMetaData.hxx"
-#include "MacabConnection.hxx"
-#include "macabcondition.hxx"
-#include "macaborder.hxx"
-#include <com/sun/star/beans/PropertyAttribute.hpp>
-#include <com/sun/star/sdbcx/CompareBookmark.hpp>
-#include "TConnection.hxx"
-#include <connectivity/dbexception.hxx>
-#include "resource/sharedresources.hxx"
-#include "resource/macab_res.hrc"
-
-using namespace connectivity::macab;
-using namespace cppu;
-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::io;
-using namespace com::sun::star::util;
-
-IMPLEMENT_SERVICE_INFO(MacabResultSet, "com.sun.star.sdbc.drivers.MacabResultSet", "com.sun.star.sdbc.ResultSet");
-// -------------------------------------------------------------------------
-MacabResultSet::MacabResultSet(MacabCommonStatement* pStmt)
- : MacabResultSet_BASE(m_aMutex),
- OPropertySetHelper(MacabResultSet_BASE::rBHelper),
- m_xStatement(pStmt),
- m_xMetaData(NULL),
- m_aMacabRecords(),
- m_nRowPos(-1),
- m_bWasNull(sal_True)
-{
- m_sTableName = MacabAddressBook::getDefaultTableName();
-}
-// -------------------------------------------------------------------------
-MacabResultSet::~MacabResultSet()
-{
-}
-// -------------------------------------------------------------------------
-void MacabResultSet::allMacabRecords()
-{
- MacabConnection* pConnection = static_cast< MacabConnection *>(m_xStatement->getConnection().get());
-
- m_aMacabRecords = pConnection->getAddressBook()->getMacabRecords(m_sTableName);
-}
-// -------------------------------------------------------------------------
-void MacabResultSet::someMacabRecords(const MacabCondition *pCondition)
-{
- MacabConnection* pConnection = static_cast< MacabConnection *>(m_xStatement->getConnection().get());
- MacabRecords* allRecords;
-
- allRecords = pConnection->getAddressBook()->getMacabRecords(m_sTableName);
-
- // Bad table!! Throw exception?
- if(allRecords == NULL)
- return;
-
- if(m_aMacabRecords != NULL && m_aMacabRecords != allRecords)
- delete m_aMacabRecords;
-
- // The copy constructor copies everything but records (including the
- // maximum alloted size, which means that we'll never have to resize)
- m_aMacabRecords = new MacabRecords(allRecords);
-
- MacabRecords::iterator iterator;
-
- for (iterator = allRecords->begin();
- iterator != allRecords->end();
- ++iterator)
- {
- if (pCondition->eval(*iterator))
- m_aMacabRecords->insertRecord(*iterator);
- }
-}
-// -------------------------------------------------------------------------
-void MacabResultSet::sortMacabRecords(const MacabOrder *pOrder)
-{
- // I do this with ints rather than an iterator because the ids will
- // be changing when we change the order and ints are easier to deal
- // with (for me).
- sal_Int32 i, j, size, smallest;
- size = m_aMacabRecords->size();
-
- for(i = 0; i < size; i++)
- {
- smallest = i;
- for( j = i + 1; j < size; j++)
- {
- // if smallest > j
- if(pOrder->compare(m_aMacabRecords->getRecord(smallest),
- m_aMacabRecords->getRecord(j) ) > 0)
- {
- smallest = j;
- }
-
- }
-
- if(smallest != i)
- {
- m_aMacabRecords->swap(i,smallest);
- }
- }
-
-}
-// -------------------------------------------------------------------------
-void MacabResultSet::setTableName(::rtl::OUString _sTableName)
-{
- m_sTableName = _sTableName;
-}
-// -------------------------------------------------------------------------
-void MacabResultSet::disposing()
-{
- OPropertySetHelper::disposing();
-
- ::osl::MutexGuard aGuard(m_aMutex);
-
-m_xStatement.clear();
-m_xMetaData.clear();
-}
-// -------------------------------------------------------------------------
-Any SAL_CALL MacabResultSet::queryInterface(const Type & rType) throw(RuntimeException)
-{
- Any aRet = OPropertySetHelper::queryInterface(rType);
- if (!aRet.hasValue())
- aRet = MacabResultSet_BASE::queryInterface(rType);
- return aRet;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::acquire() throw()
-{
- MacabResultSet_BASE::acquire();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::release() throw()
-{
- MacabResultSet_BASE::release();
-}
-// -------------------------------------------------------------------------
-Sequence< Type > SAL_CALL MacabResultSet::getTypes() throw(RuntimeException)
-{
- OTypeCollection aTypes(
- ::getCppuType( (const Reference< ::com::sun::star::beans::XMultiPropertySet >*) 0),
- ::getCppuType( (const Reference< ::com::sun::star::beans::XFastPropertySet >*) 0),
- ::getCppuType( (const Reference< ::com::sun::star::beans::XPropertySet >*) 0));
-
- return comphelper::concatSequences(aTypes.getTypes(), MacabResultSet_BASE::getTypes());
-}
-// -------------------------------------------------------------------------
-::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL MacabResultSet::getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException)
-{
- return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSet::findColumn(const ::rtl::OUString& columnName) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- // find the first column with the name columnName
- Reference< XResultSetMetaData > xMeta = getMetaData();
- sal_Int32 nLen = xMeta->getColumnCount();
-
- for (sal_Int32 i = 1; i <= nLen; ++i)
- if (xMeta->isCaseSensitive(i) ?
- columnName == xMeta->getColumnName(i) :
- columnName.equalsIgnoreAsciiCase(xMeta->getColumnName(i)))
- return i;
-
- ::connectivity::SharedResources aResources;
- const ::rtl::OUString sError( aResources.getResourceStringWithSubstitution(
- STR_NO_ELEMENT_NAME,
- "$name$", columnName
- ) );
- ::dbtools::throwGenericSQLException(sError , *this);
- // Unreachable:
- OSL_ASSERT(false);
- return 0;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabResultSet::getString(sal_Int32 columnIndex) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- ::rtl::OUString aRet;
- sal_Int32 nRecords = m_aMacabRecords->size();
- m_bWasNull = true;
-
- if (m_nRowPos != -1 && m_nRowPos != nRecords && m_xMetaData.is())
- {
- sal_Int32 nFieldNumber = m_xMetaData->fieldAtColumn(columnIndex);
- macabfield *aField = m_aMacabRecords->getField(m_nRowPos,nFieldNumber);
- if(aField != NULL)
- {
- if(aField->type == kABStringProperty)
- {
- aRet = CFStringToOUString( (CFStringRef) aField->value);
- m_bWasNull = false;
- }
- }
- }
-
-// Trigger an exception if m_bWasNull is true?
- return aRet;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::getBoolean(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getBoolean", NULL);
-
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int8 SAL_CALL MacabResultSet::getByte(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getByte", NULL);
-
- sal_Int8 nRet = 0;
- return nRet;
-}
-// -------------------------------------------------------------------------
-sal_Int16 SAL_CALL MacabResultSet::getShort(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getShort", NULL);
-
- sal_Int16 nRet = 0;
- return nRet;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSet::getInt(sal_Int32 columnIndex) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nRet = 0;
- sal_Int32 nRecords = m_aMacabRecords->size();
- m_bWasNull = true;
-
- if (m_nRowPos != -1 && m_nRowPos != nRecords && m_xMetaData.is())
- {
- sal_Int32 nFieldNumber = m_xMetaData->fieldAtColumn(columnIndex);
- macabfield *aField = m_aMacabRecords->getField(m_nRowPos,nFieldNumber);
- if(aField != NULL)
- {
- if(aField->type == kABIntegerProperty)
- {
- CFNumberType numberType = CFNumberGetType( (CFNumberRef) aField->value );
- // m_bWasNull now becomes whether getting the value was successful
- // Should we check for the wrong type here, e.g., a float or a 64 bit int?
- m_bWasNull = !CFNumberGetValue((CFNumberRef) aField->value, numberType, &nRet);
- }
- }
- }
-
-// Trigger an exception if m_bWasNull is true?
- return nRet;
-}
-// -------------------------------------------------------------------------
-sal_Int64 SAL_CALL MacabResultSet::getLong(sal_Int32 columnIndex) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int64 nRet = 0;
- sal_Int32 nRecords = m_aMacabRecords->size();
- m_bWasNull = true;
-
- if (m_nRowPos != -1 && m_nRowPos != nRecords && m_xMetaData.is())
- {
- sal_Int32 nFieldNumber = m_xMetaData->fieldAtColumn(columnIndex);
- macabfield *aField = m_aMacabRecords->getField(m_nRowPos,nFieldNumber);
- if(aField != NULL)
- {
- if(aField->type == kABIntegerProperty)
- {
- CFNumberType numberType = CFNumberGetType( (CFNumberRef) aField->value );
- // m_bWasNull now becomes whether getting the value was successful
- // Should we check for the wrong type here, e.g., a float or a 32 bit int?
- m_bWasNull = !CFNumberGetValue((CFNumberRef) aField->value, numberType, &nRet);
- }
- }
- }
-
-// Trigger an exception if m_bWasNull is true?
- return nRet;
-}
-// -------------------------------------------------------------------------
-float SAL_CALL MacabResultSet::getFloat(sal_Int32 columnIndex) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- float nVal = 0;
- sal_Int32 nRecords = m_aMacabRecords->size();
- m_bWasNull = true;
-
- if (m_nRowPos != -1 && m_nRowPos != nRecords && m_xMetaData.is())
- {
- sal_Int32 nFieldNumber = m_xMetaData->fieldAtColumn(columnIndex);
- macabfield *aField = m_aMacabRecords->getField(m_nRowPos,nFieldNumber);
- if(aField != NULL)
- {
- if(aField->type == kABRealProperty)
- {
- CFNumberType numberType = CFNumberGetType( (CFNumberRef) aField->value );
- // m_bWasNull now becomes whether getting the value was successful
- // Should we check for the wrong type here, e.g., an int or a double?
- m_bWasNull = !CFNumberGetValue((CFNumberRef) aField->value, numberType, &nVal);
- }
- }
- }
-
-// Trigger an exception if m_bWasNull is true?
- return nVal;
-}
-// -------------------------------------------------------------------------
-double SAL_CALL MacabResultSet::getDouble(sal_Int32 columnIndex) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- double nVal = 0;
- sal_Int32 nRecords = m_aMacabRecords->size();
- m_bWasNull = true;
-
- if (m_nRowPos != -1 && m_nRowPos != nRecords && m_xMetaData.is())
- {
- sal_Int32 nFieldNumber = m_xMetaData->fieldAtColumn(columnIndex);
- macabfield *aField = m_aMacabRecords->getField(m_nRowPos,nFieldNumber);
- if(aField != NULL)
- {
- if(aField->type == kABRealProperty)
- {
- CFNumberType numberType = CFNumberGetType( (CFNumberRef) aField->value );
- // m_bWasNull now becomes whether getting the value was successful
- // Should we check for the wrong type here, e.g., an int or a float?
- m_bWasNull = !CFNumberGetValue((CFNumberRef) aField->value, numberType, &nVal);
- }
- }
- }
-
-// Trigger an exception if m_bWasNull is true?
- return nVal;
-}
-// -------------------------------------------------------------------------
-Sequence< sal_Int8 > SAL_CALL MacabResultSet::getBytes(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getBytes", NULL);
-
- return Sequence< sal_Int8 >();
-}
-// -------------------------------------------------------------------------
-Date SAL_CALL MacabResultSet::getDate(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getDate", NULL);
-
- Date aRet;
- return aRet;
-}
-// -------------------------------------------------------------------------
-Time SAL_CALL MacabResultSet::getTime(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getTime", NULL);
-
- Time nRet;
- return nRet;
-}
-// -------------------------------------------------------------------------
-DateTime SAL_CALL MacabResultSet::getTimestamp(sal_Int32 columnIndex) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- DateTime nRet;
- sal_Int32 nRecords = m_aMacabRecords->size();
- m_bWasNull = true;
-
- if (m_nRowPos != -1 && m_nRowPos != nRecords && m_xMetaData.is())
- {
- sal_Int32 nFieldNumber = m_xMetaData->fieldAtColumn(columnIndex);
- macabfield *aField = m_aMacabRecords->getField(m_nRowPos,nFieldNumber);
- if(aField != NULL)
- {
- if(aField->type == kABDateProperty)
- {
- nRet = CFDateToDateTime((CFDateRef) aField->value);
- m_bWasNull = false;
- }
- }
- }
-
-// Trigger an exception if m_bWasNull is true?
- return nRet;
-}
-// -------------------------------------------------------------------------
-Reference< XInputStream > SAL_CALL MacabResultSet::getBinaryStream(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getBinaryStream", NULL);
-
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< XInputStream > SAL_CALL MacabResultSet::getCharacterStream(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getCharacterStream", NULL);
-
- return NULL;
-}
-// -------------------------------------------------------------------------
-Any SAL_CALL MacabResultSet::getObject(sal_Int32, const Reference< ::com::sun::star::container::XNameAccess >&) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getObject", NULL);
-
- return Any();
-}
-// -------------------------------------------------------------------------
-Reference< XRef > SAL_CALL MacabResultSet::getRef(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getRef", NULL);
-
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< XBlob > SAL_CALL MacabResultSet::getBlob(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getBlob", NULL);
-
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< XClob > SAL_CALL MacabResultSet::getClob(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getClob", NULL);
-
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< XArray > SAL_CALL MacabResultSet::getArray(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
-::dbtools::throwFunctionNotSupportedException("getArray", NULL);
-
- return NULL;
-}
-// -------------------------------------------------------------------------
-Reference< XResultSetMetaData > SAL_CALL MacabResultSet::getMetaData() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- if (!m_xMetaData.is())
- m_xMetaData = new MacabResultSetMetaData(m_xStatement->getOwnConnection(), m_sTableName);
-
- Reference< XResultSetMetaData > xMetaData = m_xMetaData.get();
- return xMetaData;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::isBeforeFirst() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- if (m_nRowPos == -1)
- return sal_True;
-
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::isAfterLast() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nRecords = m_aMacabRecords->size();
- if (m_nRowPos == nRecords)
- return sal_True;
-
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::isFirst() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- if (m_nRowPos == 0)
- return sal_True;
-
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::isLast() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nRecords = m_aMacabRecords->size();
- if (m_nRowPos == nRecords - 1)
- return sal_True;
-
- return sal_False;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::beforeFirst() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- // move before the first row
- m_nRowPos = -1;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::afterLast() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- // move after the last row
- sal_Int32 nRecords = m_aMacabRecords->size();
- m_nRowPos = nRecords;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::close() throw(SQLException, RuntimeException)
-{
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
- }
- dispose();
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::first() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nRecords = m_aMacabRecords->size();
- if (nRecords == 0)
- return sal_False;
-
- m_nRowPos = 0;
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::last() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nRecords = m_aMacabRecords->size();
- if (nRecords == 0)
- return sal_False;
-
- m_nRowPos = nRecords - 1;
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSet::getRow() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return m_nRowPos;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::absolute(sal_Int32 row) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nRecords = m_aMacabRecords->size();
- if (row <= -1 ||
- row >= nRecords)
- return sal_False;
-
- m_nRowPos = row;
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::relative(sal_Int32 row) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return absolute(m_nRowPos + row);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::next() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return absolute(m_nRowPos + 1);
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::previous() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return absolute(m_nRowPos - 1);
-}
-// -------------------------------------------------------------------------
-Reference< XInterface > SAL_CALL MacabResultSet::getStatement() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- Reference< XStatement > xStatement = m_xStatement.get();
- return xStatement;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::rowDeleted() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::rowInserted() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::rowUpdated() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::wasNull() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return m_bWasNull;
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::cancel() throw(RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::clearWarnings() throw(SQLException, RuntimeException)
-{
-}
-// -------------------------------------------------------------------------
-Any SAL_CALL MacabResultSet::getWarnings() throw(SQLException, RuntimeException)
-{
- return Any();
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::insertRow() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- // you only have to implement this if you want to insert new rows
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateRow() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- // only when you allow updates
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::deleteRow() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::cancelRowUpdates() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::moveToInsertRow() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- // only when you allow inserts
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::moveToCurrentRow() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateNull(sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateBoolean(sal_Int32, sal_Bool) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateByte(sal_Int32, sal_Int8) throw(SQLException, RuntimeException)
-{
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
- ::osl::MutexGuard aGuard( m_aMutex );
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateShort(sal_Int32, sal_Int16) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateInt(sal_Int32, sal_Int32) throw(SQLException, RuntimeException)
-{
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
- ::osl::MutexGuard aGuard( m_aMutex );
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateLong(sal_Int32, sal_Int64) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -----------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateFloat(sal_Int32, float) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateDouble(sal_Int32, double) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateString(sal_Int32, const ::rtl::OUString&) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateBytes(sal_Int32, const Sequence< sal_Int8 >&) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateDate(sal_Int32, const Date&) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateTime(sal_Int32, const Time&) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateTimestamp(sal_Int32, const DateTime&) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateBinaryStream(sal_Int32, const Reference< XInputStream >&, sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateCharacterStream(sal_Int32, const Reference< XInputStream >&, sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::refreshRow() throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateObject(sal_Int32, const Any&) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabResultSet::updateNumericObject(sal_Int32, const Any&, sal_Int32) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-}
-// -------------------------------------------------------------------------
-// XRowLocate
-Any SAL_CALL MacabResultSet::getBookmark() throw( SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nRecords = m_aMacabRecords->size();
-
- if (m_nRowPos != -1 && m_nRowPos != nRecords)
- {
- macabfield *uidField = m_aMacabRecords->getField(m_nRowPos,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UID")));
- if(uidField != NULL)
- {
- if(uidField->type == kABStringProperty)
- {
- return makeAny(CFStringToOUString( (CFStringRef) uidField->value ));
- }
- }
- }
- return Any();
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::moveToBookmark(const Any& bookmark) throw( SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- ::rtl::OUString sBookmark = comphelper::getString(bookmark);
- sal_Int32 nRecords = m_aMacabRecords->size();
-
- for (sal_Int32 nRow = 0; nRow < nRecords; nRow++)
- {
- macabfield *uidField = m_aMacabRecords->getField(m_nRowPos,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("UID")));
- if(uidField != NULL)
- {
- if(uidField->type == kABStringProperty)
- {
- ::rtl::OUString sUniqueIdentifier = CFStringToOUString( (CFStringRef) uidField->value );
- if (sUniqueIdentifier == sBookmark)
- {
- m_nRowPos = nRow;
- return sal_True;
- }
- }
- }
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::moveRelativeToBookmark(const Any& bookmark, sal_Int32 rows) throw( SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- sal_Int32 nRowSave = m_nRowPos;
-
- if (moveToBookmark(bookmark))
- {
- sal_Int32 nRecords = m_aMacabRecords->size();
-
- m_nRowPos += rows;
-
- if (-1 < m_nRowPos && m_nRowPos < nRecords)
- return sal_True;
- }
-
- m_nRowPos = nRowSave;
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSet::compareBookmarks(const Any& firstItem, const Any& secondItem) throw( SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- ::rtl::OUString sFirst = comphelper::getString(firstItem);
- ::rtl::OUString sSecond = comphelper::getString(secondItem);
-
- if (sFirst < sSecond)
- return CompareBookmark::LESS;
- if (sFirst > sSecond)
- return CompareBookmark::GREATER;
- return CompareBookmark::EQUAL;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSet::hasOrderedBookmarks() throw( SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSet::hashBookmark(const Any& bookmark) throw( SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- ::rtl::OUString sBookmark = comphelper::getString(bookmark);
-
- return sBookmark.hashCode();
-}
-// -------------------------------------------------------------------------
-// XDeleteRows
-Sequence< sal_Int32 > SAL_CALL MacabResultSet::deleteRows(const Sequence< Any >&) throw( SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabResultSet_BASE::rBHelper.bDisposed);
-
- return Sequence< sal_Int32 >();
-}
-// -------------------------------------------------------------------------
-IPropertyArrayHelper* MacabResultSet::createArrayHelper() const
-{
- Sequence< Property > aProps(6);
- Property* pProperties = aProps.getArray();
- sal_Int32 nPos = 0;
- DECL_PROP1IMPL(CURSORNAME, ::rtl::OUString) PropertyAttribute::READONLY);
- DECL_PROP0(FETCHDIRECTION, sal_Int32);
- DECL_PROP0(FETCHSIZE, sal_Int32);
- DECL_BOOL_PROP1IMPL(ISBOOKMARKABLE) PropertyAttribute::READONLY);
- DECL_PROP1IMPL(RESULTSETCONCURRENCY,sal_Int32) PropertyAttribute::READONLY);
- DECL_PROP1IMPL(RESULTSETTYPE, sal_Int32) PropertyAttribute::READONLY);
-
- return new OPropertyArrayHelper(aProps);
-}
-// -------------------------------------------------------------------------
-IPropertyArrayHelper & MacabResultSet::getInfoHelper()
-{
- return *static_cast<MacabResultSet*>(this)->getArrayHelper();
-}
-// -------------------------------------------------------------------------
-sal_Bool MacabResultSet::convertFastPropertyValue(
- Any &,
- Any &,
- sal_Int32 nHandle,
- const Any& )
- throw (::com::sun::star::lang::IllegalArgumentException)
-{
- switch (nHandle)
- {
- case PROPERTY_ID_ISBOOKMARKABLE:
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- throw ::com::sun::star::lang::IllegalArgumentException();
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- case PROPERTY_ID_FETCHSIZE:
- default:
- ;
- }
- return sal_False;
-}
-// -------------------------------------------------------------------------
-void MacabResultSet::setFastPropertyValue_NoBroadcast(
- sal_Int32 nHandle,
- const Any& )
- throw (Exception)
-{
- switch (nHandle)
- {
- case PROPERTY_ID_ISBOOKMARKABLE:
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- throw Exception();
- break;
- case PROPERTY_ID_FETCHDIRECTION:
- break;
- case PROPERTY_ID_FETCHSIZE:
- break;
- default:
- ;
- }
-}
-// -------------------------------------------------------------------------
-void MacabResultSet::getFastPropertyValue(
- Any& _rValue,
- sal_Int32 nHandle) const
-{
- switch (nHandle)
- {
- case PROPERTY_ID_ISBOOKMARKABLE:
- _rValue <<= (sal_Bool)sal_False;
- break;
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- case PROPERTY_ID_FETCHDIRECTION:
- case PROPERTY_ID_FETCHSIZE:
- ;
- }
-}
-// -----------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabResultSet.hxx b/connectivity/source/drivers/macab/MacabResultSet.hxx
deleted file mode 100644
index 029aa6c13a..0000000000
--- a/connectivity/source/drivers/macab/MacabResultSet.hxx
+++ /dev/null
@@ -1,229 +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_MACAB_RESULTSET_HXX_
-#define _CONNECTIVITY_MACAB_RESULTSET_HXX_
-
-#include "MacabStatement.hxx"
-#include "MacabResultSetMetaData.hxx"
-#include <com/sun/star/sdbc/XRow.hpp>
-#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp>
-#include <com/sun/star/sdbc/XColumnLocate.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/compbase12.hxx>
-
-namespace connectivity
-{
- namespace macab
- {
- /*
- ** MacabResultSet
- */
- typedef ::cppu::WeakComponentImplHelper12< ::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::XResultSetUpdate,
- ::com::sun::star::sdbc::XRowUpdate,
- ::com::sun::star::sdbcx::XRowLocate,
- ::com::sun::star::sdbcx::XDeleteRows,
- ::com::sun::star::sdbc::XCloseable,
- ::com::sun::star::sdbc::XColumnLocate,
- ::com::sun::star::lang::XServiceInfo> MacabResultSet_BASE;
- class MacabRecords;
-
- class MacabResultSet : public comphelper::OBaseMutex,
- public MacabResultSet_BASE,
- public ::cppu::OPropertySetHelper,
- public comphelper::OPropertyArrayUsageHelper<MacabResultSet>
- {
- protected:
- ::rtl::Reference< MacabCommonStatement > m_xStatement; // the statement that has created this result set
- ::rtl::Reference< MacabResultSetMetaData > m_xMetaData; // the description of the columns in this result set
- MacabRecords * m_aMacabRecords; // address book entries matching the query
- sal_Int32 m_nRowPos; // the current row within the result set
- sal_Bool m_bWasNull; // last entry retrieved from this result set was NULL
- ::rtl::OUString m_sTableName;
-
- // OPropertyArrayUsageHelper
- virtual ::cppu::IPropertyArrayHelper* createArrayHelper( ) const;
-
- // OPropertySetHelper
- virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper();
-
- virtual sal_Bool SAL_CALL convertFastPropertyValue(
- ::com::sun::star::uno::Any & rConvertedValue,
- ::com::sun::star::uno::Any & rOldValue,
- sal_Int32 nHandle,
- const ::com::sun::star::uno::Any& rValue)
- throw (::com::sun::star::lang::IllegalArgumentException);
- virtual void SAL_CALL setFastPropertyValue_NoBroadcast(
- sal_Int32 nHandle,
- const ::com::sun::star::uno::Any& rValue)
- throw (::com::sun::star::uno::Exception);
- virtual void SAL_CALL getFastPropertyValue(
- ::com::sun::star::uno::Any& rValue,
- sal_Int32 nHandle) const;
-
- // you can't delete objects of this type
- virtual ~MacabResultSet();
-
- public:
- DECLARE_SERVICE_INFO();
-
- MacabResultSet(MacabCommonStatement *pStmt);
-
- ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > operator *()
- {
- return ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >(*(MacabResultSet_BASE*) this);
- }
-
- void allMacabRecords();
- void someMacabRecords(const class MacabCondition *pCondition);
- void sortMacabRecords(const class MacabOrder *pOrder);
- void setTableName(const ::rtl::OUString _sTableName);
-
- // ::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 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 next( ) 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);
-
- // 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);
-
- // 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);
-
- // 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);
-
- // XResultSetUpdate
- virtual void SAL_CALL insertRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL deleteRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL cancelRowUpdates( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL moveToInsertRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL moveToCurrentRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- // XRowUpdate
- virtual void SAL_CALL updateNull( sal_Int32 columnIndex ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateBoolean( sal_Int32 columnIndex, sal_Bool x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateByte( sal_Int32 columnIndex, sal_Int8 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateShort( sal_Int32 columnIndex, sal_Int16 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateInt( sal_Int32 columnIndex, sal_Int32 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateLong( sal_Int32 columnIndex, sal_Int64 x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateFloat( sal_Int32 columnIndex, float x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateDouble( sal_Int32 columnIndex, double x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateString( sal_Int32 columnIndex, const ::rtl::OUString& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateBytes( sal_Int32 columnIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateDate( sal_Int32 columnIndex, const ::com::sun::star::util::Date& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateTime( sal_Int32 columnIndex, const ::com::sun::star::util::Time& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateTimestamp( sal_Int32 columnIndex, const ::com::sun::star::util::DateTime& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateBinaryStream( sal_Int32 columnIndex, 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 updateCharacterStream( sal_Int32 columnIndex, 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 updateObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL updateNumericObject( sal_Int32 columnIndex, const ::com::sun::star::uno::Any& x, sal_Int32 scale ) 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);
-
- // XRowLocate
- virtual ::com::sun::star::uno::Any SAL_CALL getBookmark( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL moveToBookmark( const ::com::sun::star::uno::Any& bookmark ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL moveRelativeToBookmark( const ::com::sun::star::uno::Any& bookmark, sal_Int32 rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual sal_Int32 SAL_CALL compareBookmarks( const ::com::sun::star::uno::Any& firstItem, const ::com::sun::star::uno::Any& secondItem ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual sal_Bool SAL_CALL hasOrderedBookmarks( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- virtual sal_Int32 SAL_CALL hashBookmark( const ::com::sun::star::uno::Any& bookmark ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
-
- // XDeleteRows
- virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL deleteRows( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_RESULTSET_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabResultSetMetaData.cxx b/connectivity/source/drivers/macab/MacabResultSetMetaData.cxx
deleted file mode 100644
index 064065213c..0000000000
--- a/connectivity/source/drivers/macab/MacabResultSetMetaData.cxx
+++ /dev/null
@@ -1,227 +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 "MacabResultSetMetaData.hxx"
-#include "MacabHeader.hxx"
-#include "MacabRecords.hxx"
-#include "MacabAddressBook.hxx"
-#include "macabutilities.hxx"
-#include "resource/macab_res.hrc"
-
-using namespace connectivity::macab;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::sdbc;
-
-MacabResultSetMetaData::MacabResultSetMetaData(MacabConnection* _pConnection, ::rtl::OUString _sTableName)
- : m_pConnection(_pConnection),
- m_sTableName(_sTableName),
- m_aMacabFields()
-{
-}
-// -------------------------------------------------------------------------
-MacabResultSetMetaData::~MacabResultSetMetaData()
-{
-}
-// -------------------------------------------------------------------------
-void MacabResultSetMetaData::setMacabFields(const ::rtl::Reference<connectivity::OSQLColumns> &xColumns) throw(SQLException)
-{
- OSQLColumns::Vector::const_iterator aIter;
- static const ::rtl::OUString aName(RTL_CONSTASCII_USTRINGPARAM("Name"));
- MacabRecords *aRecords;
- MacabHeader *aHeader;
-
- aRecords = m_pConnection->getAddressBook()->getMacabRecords(m_sTableName);
-
- // In case, somehow, we don't have anything with the name m_sTableName
- if(aRecords == NULL)
- {
- impl_throwError(STR_NO_TABLE);
- }
-
- aHeader = aRecords->getHeader();
-
- for (aIter = xColumns->get().begin(); aIter != xColumns->get().end(); ++aIter)
- {
- ::rtl::OUString aFieldName;
- sal_uInt32 nFieldNumber;
-
- (*aIter)->getPropertyValue(aName) >>= aFieldName;
- nFieldNumber = aHeader->getColumnNumber(aFieldName);
- m_aMacabFields.push_back(nFieldNumber);
- }
-
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSetMetaData::getColumnDisplaySize(sal_Int32 column) throw(SQLException, RuntimeException)
-{
- // For now, all columns are the same size.
- return 50;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSetMetaData::getColumnType(sal_Int32 column) throw(SQLException, RuntimeException)
-{
- MacabRecords *aRecords;
- MacabHeader *aHeader;
- macabfield *aField;
-
- aRecords = m_pConnection->getAddressBook()->getMacabRecords(m_sTableName);
-
- // In case, somehow, we don't have anything with the name m_sTableName
- if(aRecords == NULL)
- {
- impl_throwError(STR_NO_TABLE);
- }
-
- aHeader = aRecords->getHeader();
- aField = aHeader->get(column-1);
-
- if(aField == NULL)
- {
- ::dbtools::throwInvalidIndexException(*this,Any());
- return -1;
- }
-
- return ABTypeToDataType(aField->type);
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSetMetaData::getColumnCount() throw(SQLException, RuntimeException)
-{
- return m_aMacabFields.size();
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSetMetaData::isCaseSensitive(sal_Int32) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabResultSetMetaData::getSchemaName(sal_Int32) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabResultSetMetaData::getColumnName(sal_Int32 column) throw(SQLException, RuntimeException)
-{
- sal_uInt32 nFieldNumber = m_aMacabFields[column - 1];
- MacabRecords *aRecords;
- MacabHeader *aHeader;
-
- aRecords = m_pConnection->getAddressBook()->getMacabRecords(m_sTableName);
-
- // In case, somehow, we don't have anything with the name m_sTableName
- if(aRecords == NULL)
- {
- impl_throwError(STR_NO_TABLE);
- }
-
- aHeader = aRecords->getHeader();
- ::rtl::OUString aName = aHeader->getString(nFieldNumber);
-
- return aName;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabResultSetMetaData::getTableName(sal_Int32) throw(SQLException, RuntimeException)
-{
- return m_sTableName;
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabResultSetMetaData::getCatalogName(sal_Int32) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabResultSetMetaData::getColumnTypeName(sal_Int32) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabResultSetMetaData::getColumnLabel(sal_Int32) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-::rtl::OUString SAL_CALL MacabResultSetMetaData::getColumnServiceName(sal_Int32) throw(SQLException, RuntimeException)
-{
- return ::rtl::OUString();
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSetMetaData::isCurrency(sal_Int32) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSetMetaData::isAutoIncrement(sal_Int32) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSetMetaData::isSigned(sal_Int32) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSetMetaData::getPrecision(sal_Int32) throw(SQLException, RuntimeException)
-{
- return 0;
-}
-// -----------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSetMetaData::getScale(sal_Int32) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException)
-{
- return 0;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabResultSetMetaData::isNullable(sal_Int32) throw(SQLException, RuntimeException)
-{
- return (sal_Int32) sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSetMetaData::isSearchable(sal_Int32) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSetMetaData::isReadOnly(sal_Int32) throw(SQLException, RuntimeException)
-{
- return sal_True;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSetMetaData::isDefinitelyWritable(sal_Int32) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabResultSetMetaData::isWritable(sal_Int32) throw(SQLException, RuntimeException)
-{
- return sal_False;
-}
-// -------------------------------------------------------------------------
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabResultSetMetaData.hxx b/connectivity/source/drivers/macab/MacabResultSetMetaData.hxx
deleted file mode 100644
index 2140a03b30..0000000000
--- a/connectivity/source/drivers/macab/MacabResultSetMetaData.hxx
+++ /dev/null
@@ -1,97 +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_MACAB_RESULTSETMETADATA_HXX_
-#define _CONNECTIVITY_MACAB_RESULTSETMETADATA_HXX_
-
-#include "MacabConnection.hxx"
-#include <connectivity/CommonTools.hxx>
-#include <com/sun/star/sdbc/XResultSetMetaData.hpp>
-#include <cppuhelper/implbase1.hxx>
-#include <connectivity/dbexception.hxx>
-#include <rtl/ref.hxx>
-
-namespace connectivity
-{
- namespace macab
- {
- /*
- ** MacabResultSetMetaData
- */
- typedef ::cppu::WeakImplHelper1< ::com::sun::star::sdbc::XResultSetMetaData> MacabResultSetMetaData_BASE;
-
- class MacabResultSetMetaData : public MacabResultSetMetaData_BASE
- {
- MacabConnection* m_pConnection;
- ::rtl::OUString m_sTableName;
- ::std::vector<sal_Int32> m_aMacabFields; // for each selected column, contains the number
- // of the corresponding AddressBook field
-
- protected:
- virtual ~MacabResultSetMetaData();
-
- public:
- MacabResultSetMetaData(MacabConnection* _pConnection, ::rtl::OUString _sTableName);
-
- // avoid ambigous cast error from the compiler
- inline operator ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSetMetaData > () throw()
- { return this; }
-
- void setMacabFields(
- const ::rtl::Reference<connectivity::OSQLColumns> &xColumns) throw(::com::sun::star::sdbc::SQLException);
- inline sal_uInt32 fieldAtColumn(sal_Int32 columnIndex) const
- { return m_aMacabFields[columnIndex - 1]; }
-
- 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_MACAB_RESULTSETMETADATA_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabServices.cxx b/connectivity/source/drivers/macab/MacabServices.cxx
deleted file mode 100644
index 3319c19cdc..0000000000
--- a/connectivity/source/drivers/macab/MacabServices.cxx
+++ /dev/null
@@ -1,117 +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 "MacabDriver.hxx"
-#include <cppuhelper/factory.hxx>
-
-using namespace connectivity::macab;
-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* _pTemp
- );
-
-//---------------------------------------------------------------------------------------
-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(...)
- {
- }
- 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*)
-{
- void* pRet = 0;
- if (pServiceManager)
- {
- ProviderRequest aReq(pServiceManager,pImplementationName);
-
- aReq.CREATE_PROVIDER(
- MacabDriver::getImplementationName_Static(),
- MacabDriver::getSupportedServiceNames_Static(),
- &MacabDriver::Create,
- ::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/macab/MacabStatement.cxx b/connectivity/source/drivers/macab/MacabStatement.cxx
deleted file mode 100644
index fa2654131f..0000000000
--- a/connectivity/source/drivers/macab/MacabStatement.cxx
+++ /dev/null
@@ -1,614 +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 "MacabStatement.hxx"
-#include "MacabConnection.hxx"
-#include "MacabAddressBook.hxx"
-#include "MacabDriver.hxx"
-#include "MacabResultSet.hxx"
-#include "MacabResultSetMetaData.hxx"
-#include "macabcondition.hxx"
-#include "macaborder.hxx"
-#include "TConnection.hxx"
-#include <connectivity/dbexception.hxx>
-#include "resource/sharedresources.hxx"
-#include "resource/macab_res.hrc"
-
-#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::macab;
-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;
-
-namespace connectivity
-{
- namespace macab
- {
- void impl_throwError(sal_uInt16 _nErrorId)
- {
- ::connectivity::SharedResources aResources;
- const ::rtl::OUString sError( aResources.getResourceString(_nErrorId) );
- ::dbtools::throwGenericSQLException(sError,NULL);
- }
- }
-}
-
-IMPLEMENT_SERVICE_INFO(MacabStatement, "com.sun.star.sdbc.drivers.MacabStatement", "com.sun.star.sdbc.Statement");
-//------------------------------------------------------------------------------
-MacabCommonStatement::MacabCommonStatement(MacabConnection* _pConnection )
- : MacabCommonStatement_BASE(m_aMutex),
- OPropertySetHelper(MacabCommonStatement_BASE::rBHelper),
- m_aParser(_pConnection->getDriver()->getMSFactory()),
- m_aSQLIterator(_pConnection, _pConnection->createCatalog()->getTables(), m_aParser, NULL ),
- m_pParseTree(NULL),
- m_pConnection(_pConnection),
- rBHelper(MacabCommonStatement_BASE::rBHelper)
-{
- m_pConnection->acquire();
-}
-// -----------------------------------------------------------------------------
-MacabCommonStatement::~MacabCommonStatement()
-{
-}
-// -----------------------------------------------------------------------------
-void MacabCommonStatement::disposing()
-{
- MacabCommonStatement_BASE::disposing();
-}
-// -----------------------------------------------------------------------------
-void MacabCommonStatement::resetParameters() const throw(::com::sun::star::sdbc::SQLException)
-{
- impl_throwError(STR_PARA_ONLY_PREPARED);
-}
-// -----------------------------------------------------------------------------
-void MacabCommonStatement::getNextParameter(::rtl::OUString &) const throw(::com::sun::star::sdbc::SQLException)
-{
- impl_throwError(STR_PARA_ONLY_PREPARED);
-}
-// -----------------------------------------------------------------------------
-MacabCondition *MacabCommonStatement::analyseWhereClause(const OSQLParseNode *pParseNode) const throw(SQLException)
-{
- if (pParseNode->count() == 3)
- {
- const OSQLParseNode *pLeft = pParseNode->getChild(0),
- *pMiddle = pParseNode->getChild(1),
- *pRight = pParseNode->getChild(2);
-
- // WHERE ( ... ) ?
- if (SQL_ISPUNCTUATION(pLeft, "(") && SQL_ISPUNCTUATION(pRight, ")"))
- {
- return analyseWhereClause(pMiddle);
- }
- else if (SQL_ISRULE(pParseNode, comparison_predicate))
- {
- if (pLeft->isToken() && pRight->isToken())
- {
- switch (pMiddle->getNodeType())
- {
- case SQL_NODE_EQUAL:
- // WHERE 0 = 1
- return new MacabConditionConstant(pLeft->getTokenValue() == pRight->getTokenValue());
-
- case SQL_NODE_NOTEQUAL:
- // WHERE 0 <> 1
- // (might not be correct SQL... don't care, handling anyway)
- return new MacabConditionConstant(pLeft->getTokenValue() != pRight->getTokenValue());
-
- default:
- break;
- }
- }
- else if (SQL_ISRULE(pLeft, column_ref))
- {
- ::rtl::OUString sColumnName,
- sTableRange;
-
- m_aSQLIterator.getColumnRange(pLeft, sColumnName, sTableRange);
-
- if (pRight->isToken() || SQL_ISRULE(pRight, parameter))
- {
- ::rtl::OUString sMatchString;
-
- if (pRight->isToken()) // WHERE Name = 'Doe'
- sMatchString = pRight->getTokenValue();
- else if (SQL_ISRULE(pRight, parameter)) // WHERE Name = ?
- getNextParameter(sMatchString);
-
- switch (pMiddle->getNodeType())
- {
- case SQL_NODE_EQUAL:
- // WHERE Name = 'Smith'
- return new MacabConditionEqual(m_pHeader, sColumnName, sMatchString);
-
- case SQL_NODE_NOTEQUAL:
- // WHERE Name <> 'Jones'
- return new MacabConditionDifferent(m_pHeader, sColumnName, sMatchString);
-
- default:
- break;
- }
- }
- }
- }
- else if (SQL_ISRULE(pParseNode, search_condition))
- {
- if (SQL_ISTOKEN(pMiddle, OR))
- {
- // WHERE Name = 'Smith' OR Name = 'Jones'
- return new MacabConditionOr(
- analyseWhereClause(pLeft),
- analyseWhereClause(pRight));
- }
- }
- else if (SQL_ISRULE(pParseNode, boolean_term))
- {
- if (SQL_ISTOKEN(pMiddle, AND))
- {
- // WHERE Name = 'Smith' AND "Given Name" = 'Peter'
- return new MacabConditionAnd(
- analyseWhereClause(pLeft),
- analyseWhereClause(pRight));
- }
- }
- }
- else if (SQL_ISRULE(pParseNode, test_for_null) || SQL_ISRULE(pParseNode, like_predicate))
- {
- const OSQLParseNode *pLeft = pParseNode->getChild(0);
- const OSQLParseNode* pPart2 = pParseNode->getChild(1);
- const OSQLParseNode *pMiddleLeft = pPart2->getChild(0),
- *pMiddleRight = pPart2->getChild(1),
- *pRight = pPart2->getChild(2);
-
- if (SQL_ISRULE(pParseNode, test_for_null))
- {
- if (SQL_ISRULE(pLeft, column_ref) &&
- SQL_ISTOKEN(pMiddleLeft, IS) &&
- SQL_ISTOKEN(pRight, NULL))
- {
- ::rtl::OUString sColumnName,
- sTableRange;
-
- m_aSQLIterator.getColumnRange(pLeft, sColumnName, sTableRange);
-
- if (SQL_ISTOKEN(pMiddleRight, NOT))
- {
- // WHERE "Mobile Phone" IS NOT NULL
- return new MacabConditionNotNull(m_pHeader, sColumnName);
- }
- else
- {
- // WHERE "Mobile Phone" IS NULL
- return new MacabConditionNull(m_pHeader, sColumnName);
- }
- }
- }
- else if (SQL_ISRULE(pParseNode, like_predicate))
- {
- if (SQL_ISRULE(pLeft, column_ref))
- {
- ::rtl::OUString sColumnName,
- sTableRange;
-
- m_aSQLIterator.getColumnRange(pLeft, sColumnName, sTableRange);
-
- if (pMiddleRight->isToken() || SQL_ISRULE(pMiddleRight, parameter))
- {
- ::rtl::OUString sMatchString;
-
- if (pMiddleRight->isToken()) // WHERE Name LIKE 'Sm%'
- sMatchString = pMiddleRight->getTokenValue();
- else if (SQL_ISRULE(pMiddleRight, parameter)) // WHERE Name LIKE ?
- getNextParameter(sMatchString);
-
- return new MacabConditionSimilar(m_pHeader, sColumnName, sMatchString);
- }
- }
- }
- }
- impl_throwError(STR_QUERY_TOO_COMPLEX);
- // Unreachable:
- OSL_ASSERT(false);
- return 0;
-}
-// -----------------------------------------------------------------------------
-MacabOrder *MacabCommonStatement::analyseOrderByClause(const OSQLParseNode *pParseNode) const throw(SQLException)
-{
- if (SQL_ISRULE(pParseNode, ordering_spec_commalist))
- {
- MacabComplexOrder *list = new MacabComplexOrder();
- sal_uInt32 n = pParseNode->count();
-
- // Iterate through the ordering columns
- for (sal_uInt32 i = 0; i < n; i++)
- {
- list->addOrder
- (analyseOrderByClause(pParseNode->getChild(i)));
- }
-
- return list;
- }
- else if (SQL_ISRULE(pParseNode, ordering_spec))
- {
- if (pParseNode->count() == 2)
- {
- OSQLParseNode* pColumnRef = pParseNode->getChild(0);
- OSQLParseNode* pAscendingDescending = pParseNode->getChild(1);
-
- if (SQL_ISRULE(pColumnRef, column_ref))
- {
- if (pColumnRef->count() == 3)
- pColumnRef = pColumnRef->getChild(2);
-
- if (pColumnRef->count() == 1)
- {
- ::rtl::OUString sColumnName =
- pColumnRef->getChild(0)->getTokenValue();
- sal_Bool bAscending =
- SQL_ISTOKEN(pAscendingDescending, DESC)?
- sal_False:
- sal_True;
-
- return new MacabSimpleOrder(m_pHeader, sColumnName, bAscending);
- }
- }
- }
- }
- impl_throwError(STR_QUERY_TOO_COMPLEX);
- // Unreachable:
- OSL_ASSERT(false);
- return 0;
-}
-//------------------------------------------------------------------------------
-::rtl::OUString MacabCommonStatement::getTableName() const
-{
- const OSQLTables& xTabs = m_aSQLIterator.getTables();
-
- if( xTabs.empty() )
- return ::rtl::OUString();
-
- // can only deal with one table at a time
- if(xTabs.size() > 1 || m_aSQLIterator.hasErrors() )
- return ::rtl::OUString();
-
- return xTabs.begin()->first;
-}
-//------------------------------------------------------------------------------
-void MacabCommonStatement::setMacabFields(MacabResultSet *pResult) const throw(SQLException)
-{
- ::rtl::Reference<connectivity::OSQLColumns> xColumns; // selected columns
- MacabResultSetMetaData *pMeta; // meta information - holds the list of AddressBook fields
-
- xColumns = m_aSQLIterator.getSelectColumns();
- if (!xColumns.is())
- {
- ::connectivity::SharedResources aResources;
- const ::rtl::OUString sError( aResources.getResourceString(
- STR_INVALID_COLUMN_SELECTION
- ) );
- ::dbtools::throwGenericSQLException(sError,NULL);
- }
- pMeta = static_cast<MacabResultSetMetaData *>(pResult->getMetaData().get());
- pMeta->setMacabFields(xColumns);
-}
-// -------------------------------------------------------------------------
-void MacabCommonStatement::selectRecords(MacabResultSet *pResult) const throw(SQLException)
-{
- const OSQLParseNode *pParseNode;
- MacabCondition *pCondition;
-
- pParseNode = m_aSQLIterator.getWhereTree();
- if (pParseNode != NULL)
- {
- if (SQL_ISRULE(pParseNode, where_clause))
- {
- // Since we don't support parameters, don't reset them. If we ever
- // support them, uncomment this line and fix resetParameters.
- //resetParameters();
- pParseNode = pParseNode->getChild(1);
- pCondition = analyseWhereClause(pParseNode);
- if (pCondition->isAlwaysTrue())
- pResult->allMacabRecords();
- else if (!pCondition->isAlwaysFalse())
- pResult->someMacabRecords(pCondition);
- delete pCondition;
- return;
- }
- }
-
- // no WHERE clause: get all rows
- pResult->allMacabRecords();
-}
-// -------------------------------------------------------------------------
-void MacabCommonStatement::sortRecords(MacabResultSet *pResult) const throw(SQLException)
-{
- const OSQLParseNode *pParseNode;
- MacabOrder *pOrder;
-
- pParseNode = m_aSQLIterator.getOrderTree();
- if (pParseNode != NULL)
- {
- if (SQL_ISRULE(pParseNode, opt_order_by_clause))
- {
- pParseNode = pParseNode->getChild(2);
- pOrder = analyseOrderByClause(pParseNode);
- pResult->sortMacabRecords(pOrder);
- delete pOrder;
- }
- }
-}
-//-----------------------------------------------------------------------------
-Any SAL_CALL MacabCommonStatement::queryInterface( const Type & rType ) throw(RuntimeException)
-{
- Any aRet = MacabCommonStatement_BASE::queryInterface(rType);
- if (!aRet.hasValue())
- aRet = OPropertySetHelper::queryInterface(rType);
- return aRet;
-}
-// -------------------------------------------------------------------------
-Sequence< Type > SAL_CALL MacabCommonStatement::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(),MacabCommonStatement_BASE::getTypes());
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabCommonStatement::cancel( ) throw(RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
-
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
- // cancel the current sql statement
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabCommonStatement::close( ) throw(SQLException, RuntimeException)
-{
- {
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- }
- dispose();
-}
-// -------------------------------------------------------------------------
-sal_Bool SAL_CALL MacabCommonStatement::execute(
- const ::rtl::OUString& sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- Reference< XResultSet > xRS = executeQuery(sql);
-
- return xRS.is();
-}
-// -------------------------------------------------------------------------
-Reference< XResultSet > SAL_CALL MacabCommonStatement::executeQuery(
- const ::rtl::OUString& sql ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
-OSL_TRACE("Mac OS Address book - SQL Request: %s", OUtoCStr(sql));
-
- MacabResultSet* pResult = new MacabResultSet(this);
- Reference< XResultSet > xRS = pResult;
- ::rtl::OUString aErr;
-
- m_pParseTree = m_aParser.parseTree(aErr, sql);
- if (m_pParseTree == NULL)
- throw SQLException(aErr, *this, aErr, 0, Any());
-
- m_aSQLIterator.setParseTree(m_pParseTree);
- m_aSQLIterator.traverseAll();
- switch (m_aSQLIterator.getStatementType())
- {
- case SQL_STATEMENT_SELECT:
- {
- ::rtl::OUString sTableName = getTableName(); // FROM which table ?
- if (sTableName.getLength() != 0) // a match
- {
- MacabRecords *aRecords;
- aRecords = m_pConnection->getAddressBook()->getMacabRecords(sTableName);
-
- // In case, somehow, we don't have anything with the name m_sTableName
- if(aRecords == NULL)
- {
- impl_throwError(STR_NO_TABLE);
- }
- else
- {
- m_pHeader = aRecords->getHeader();
-
- pResult->setTableName(sTableName);
-
- setMacabFields(pResult); // SELECT which columns ?
- selectRecords(pResult); // WHERE which condition ?
- sortRecords(pResult); // ORDER BY which columns ?
- }
-// To be continued: DISTINCT
-// etc...
- }
- }
- break;
-
- default:
-// To be continued: UPDATE
-// DELETE
-// etc...
- impl_throwError(STR_QUERY_TOO_COMPLEX);
- }
-
- m_xResultSet = Reference<XResultSet>(pResult);
- return xRS;
-}
-// -------------------------------------------------------------------------
-Reference< XConnection > SAL_CALL MacabCommonStatement::getConnection( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- // just return our connection here
- return (Reference< XConnection >) m_pConnection;
-}
-// -------------------------------------------------------------------------
-sal_Int32 SAL_CALL MacabCommonStatement::executeUpdate( const ::rtl::OUString& ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- // the return values gives information about how many rows are affected by executing the sql statement
- return 0;
-}
-// -------------------------------------------------------------------------
-Any SAL_CALL MacabCommonStatement::getWarnings( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- return makeAny(m_aLastWarning);
-}
-// -------------------------------------------------------------------------
-void SAL_CALL MacabCommonStatement::clearWarnings( ) throw(SQLException, RuntimeException)
-{
- ::osl::MutexGuard aGuard( m_aMutex );
- checkDisposed(MacabCommonStatement_BASE::rBHelper.bDisposed);
-
- m_aLastWarning = SQLWarning();
-}
-// -------------------------------------------------------------------------
-::cppu::IPropertyArrayHelper* MacabCommonStatement::createArrayHelper( ) const
-{
- // this properties are defined by the service statement
- // they must be in alphabetic order
- Sequence< Property > aProps(10);
- Property* pProperties = aProps.getArray();
- sal_Int32 nPos = 0;
- DECL_PROP0(CURSORNAME, ::rtl::OUString);
- DECL_BOOL_PROP0(ESCAPEPROCESSING);
- DECL_PROP0(FETCHDIRECTION,sal_Int32);
- DECL_PROP0(FETCHSIZE, sal_Int32);
- DECL_PROP0(MAXFIELDSIZE,sal_Int32);
- DECL_PROP0(MAXROWS, sal_Int32);
- DECL_PROP0(QUERYTIMEOUT,sal_Int32);
- DECL_PROP0(RESULTSETCONCURRENCY,sal_Int32);
- DECL_PROP0(RESULTSETTYPE,sal_Int32);
- DECL_BOOL_PROP0(USEBOOKMARKS);
-
- return new ::cppu::OPropertyArrayHelper(aProps);
-}
-// -------------------------------------------------------------------------
-::cppu::IPropertyArrayHelper & MacabCommonStatement::getInfoHelper()
-{
- return *const_cast<MacabCommonStatement*>(this)->getArrayHelper();
-}
-// -------------------------------------------------------------------------
-sal_Bool MacabCommonStatement::convertFastPropertyValue(
- Any &,
- Any &,
- sal_Int32,
- const Any&) throw (::com::sun::star::lang::IllegalArgumentException)
-{
- sal_Bool bConverted = sal_False;
- // here we have to try to convert
- return bConverted;
-}
-// -------------------------------------------------------------------------
-void MacabCommonStatement::setFastPropertyValue_NoBroadcast(sal_Int32 nHandle,const Any&) throw (Exception)
-{
- // set the value to whatever is nescessary
- switch (nHandle)
- {
- case PROPERTY_ID_QUERYTIMEOUT:
- case PROPERTY_ID_MAXFIELDSIZE:
- case PROPERTY_ID_MAXROWS:
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- case PROPERTY_ID_FETCHDIRECTION:
- case PROPERTY_ID_FETCHSIZE:
- case PROPERTY_ID_ESCAPEPROCESSING:
- case PROPERTY_ID_USEBOOKMARKS:
- default:
- ;
- }
-}
-// -------------------------------------------------------------------------
-void MacabCommonStatement::getFastPropertyValue(Any&,sal_Int32 nHandle) const
-{
- switch (nHandle)
- {
- case PROPERTY_ID_QUERYTIMEOUT:
- case PROPERTY_ID_MAXFIELDSIZE:
- case PROPERTY_ID_MAXROWS:
- case PROPERTY_ID_CURSORNAME:
- case PROPERTY_ID_RESULTSETCONCURRENCY:
- case PROPERTY_ID_RESULTSETTYPE:
- case PROPERTY_ID_FETCHDIRECTION:
- case PROPERTY_ID_FETCHSIZE:
- case PROPERTY_ID_ESCAPEPROCESSING:
- case PROPERTY_ID_USEBOOKMARKS:
- default:
- ;
- }
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL MacabCommonStatement::acquire() throw()
-{
- MacabCommonStatement_BASE::acquire();
-}
-// -----------------------------------------------------------------------------
-void SAL_CALL MacabCommonStatement::release() throw()
-{
- MacabCommonStatement_BASE::release();
-}
-// -----------------------------------------------------------------------------
-Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL MacabCommonStatement::getPropertySetInfo( ) throw(RuntimeException)
-{
- return ::cppu::OPropertySetHelper::createPropertySetInfo(getInfoHelper());
-}
-// -----------------------------------------------------------------------------
-MacabStatement::MacabStatement(MacabConnection* _pConnection)
- : MacabStatement_BASE(_pConnection)
-{
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabStatement.hxx b/connectivity/source/drivers/macab/MacabStatement.hxx
deleted file mode 100644
index 0eda7b05f5..0000000000
--- a/connectivity/source/drivers/macab/MacabStatement.hxx
+++ /dev/null
@@ -1,177 +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_MACAB_STATEMENT_HXX_
-#define _CONNECTIVITY_MACAB_STATEMENT_HXX_
-
-#include "MacabConnection.hxx"
-#include "MacabHeader.hxx"
-#include <list>
-#include "connectivity/sqliterator.hxx"
-#include "connectivity/sqlparse.hxx"
-#include <com/sun/star/sdbc/XStatement.hpp>
-#include <com/sun/star/util/XCancellable.hpp>
-#include <cppuhelper/compbase4.hxx>
-#include <cppuhelper/implbase1.hxx>
-#include <comphelper/proparrhlp.hxx>
-
-namespace connectivity
-{
- namespace macab
- {
- typedef ::cppu::WeakComponentImplHelper4< ::com::sun::star::sdbc::XStatement,
- ::com::sun::star::sdbc::XWarningsSupplier,
- ::com::sun::star::util::XCancellable,
- ::com::sun::star::sdbc::XCloseable> MacabCommonStatement_BASE;
-
- //**************************************************************
- // Class MacabCommonStatement
- // is a base class for the normal statement and for the prepared statement
- //**************************************************************
- class MacabCommonStatement : public comphelper::OBaseMutex,
- public MacabCommonStatement_BASE,
- public ::cppu::OPropertySetHelper,
- public comphelper::OPropertyArrayUsageHelper<MacabCommonStatement>
-
- {
- ::com::sun::star::sdbc::SQLWarning m_aLastWarning;
-
- protected:
- ::std::list< ::rtl::OUString> m_aBatchList;
- connectivity::OSQLParser m_aParser;
- connectivity::OSQLParseTreeIterator m_aSQLIterator;
- connectivity::OSQLParseNode* m_pParseTree;
- MacabConnection* m_pConnection; // The owning Connection object
- MacabHeader* m_pHeader; // The header of the address book on which to run queries (provided by m_pConnection)
- ::com::sun::star::uno::WeakReference< ::com::sun::star::sdbc::XResultSet> m_xResultSet; // The last ResultSet created
-
-
- protected:
- class MacabCondition *analyseWhereClause(
- const OSQLParseNode *pParseNode) const throw(::com::sun::star::sdbc::SQLException);
- class MacabOrder *analyseOrderByClause(
- const OSQLParseNode *pParseNode) const throw(::com::sun::star::sdbc::SQLException);
- ::rtl::OUString getTableName( ) const;
- void setMacabFields(class MacabResultSet *pResult) const throw(::com::sun::star::sdbc::SQLException);
- void selectRecords(MacabResultSet *pResult) const throw(::com::sun::star::sdbc::SQLException);
- void sortRecords(MacabResultSet *pResult) const throw(::com::sun::star::sdbc::SQLException);
-
- // OPropertyArrayUsageHelper
- virtual ::cppu::IPropertyArrayHelper* createArrayHelper() const;
-
- // OPropertySetHelper
- virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper();
- virtual sal_Bool SAL_CALL convertFastPropertyValue(
- ::com::sun::star::uno::Any & rConvertedValue,
- ::com::sun::star::uno::Any & rOldValue,
- sal_Int32 nHandle,
- const ::com::sun::star::uno::Any& rValue) throw (::com::sun::star::lang::IllegalArgumentException);
- virtual void SAL_CALL setFastPropertyValue_NoBroadcast(
- sal_Int32 nHandle,
- const ::com::sun::star::uno::Any& rValue) throw (::com::sun::star::uno::Exception);
- virtual void SAL_CALL getFastPropertyValue(
- ::com::sun::star::uno::Any& rValue,
- sal_Int32 nHandle) const;
-
- virtual void resetParameters() const throw(::com::sun::star::sdbc::SQLException);
- virtual void getNextParameter(::rtl::OUString &rParameter) const throw(::com::sun::star::sdbc::SQLException);
- virtual ~MacabCommonStatement();
-
- public:
- ::cppu::OBroadcastHelper& rBHelper;
-
- MacabCommonStatement(MacabConnection *_pConnection);
- using MacabCommonStatement_BASE::operator ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >;
-
- // OComponentHelper
- virtual void SAL_CALL disposing();
-
- // XInterface
- virtual void SAL_CALL release() throw();
- virtual void SAL_CALL acquire() throw();
- 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);
-
- // 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);
-
- // 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);
-
- // 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);
-
- // other methods
- inline MacabConnection* getOwnConnection() const { return m_pConnection; }
- };
-
- //**************************************************************
- // Class MacabStatement
- //**************************************************************
- typedef ::cppu::ImplInheritanceHelper1<
- MacabCommonStatement, ::com::sun::star::lang::XServiceInfo > MacabStatement_BASE;
-
- class MacabStatement : public MacabStatement_BASE
- {
- protected:
- virtual ~MacabStatement() { }
-
- public:
- MacabStatement(MacabConnection* _pConnection);
- DECLARE_SERVICE_INFO();
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_STATEMENT_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabTable.cxx b/connectivity/source/drivers/macab/MacabTable.cxx
deleted file mode 100644
index ab4ff29d65..0000000000
--- a/connectivity/source/drivers/macab/MacabTable.cxx
+++ /dev/null
@@ -1,99 +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 "MacabTable.hxx"
-#include "MacabTables.hxx"
-#include "MacabColumns.hxx"
-#include "MacabCatalog.hxx"
-
-using namespace connectivity::macab;
-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;
-
-// -------------------------------------------------------------------------
-MacabTable::MacabTable( sdbcx::OCollection* _pTables, MacabConnection* _pConnection)
- : MacabTable_TYPEDEF(_pTables, sal_True),
- m_pConnection(_pConnection)
-{
- construct();
-}
-// -------------------------------------------------------------------------
-MacabTable::MacabTable( sdbcx::OCollection* _pTables,
- MacabConnection* _pConnection,
- const ::rtl::OUString& _Name,
- const ::rtl::OUString& _Type,
- const ::rtl::OUString& _Description ,
- const ::rtl::OUString& _SchemaName,
- const ::rtl::OUString& _CatalogName
- ) : MacabTable_TYPEDEF(_pTables,sal_True,
- _Name,
- _Type,
- _Description,
- _SchemaName,
- _CatalogName),
- m_pConnection(_pConnection)
-{
- construct();
-}
-// -------------------------------------------------------------------------
-void MacabTable::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 MacabColumns(this,m_aMutex,aVector);
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabTable.hxx b/connectivity/source/drivers/macab/MacabTable.hxx
deleted file mode 100644
index 39f113368e..0000000000
--- a/connectivity/source/drivers/macab/MacabTable.hxx
+++ /dev/null
@@ -1,71 +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_MACAB_TABLE_HXX_
-#define _CONNECTIVITY_MACAB_TABLE_HXX_
-
-#include "MacabConnection.hxx"
-#include "connectivity/sdbcx/VTable.hxx"
-
-namespace connectivity
-{
- namespace macab
- {
- typedef connectivity::sdbcx::OTable MacabTable_TYPEDEF;
-
- ::rtl::OUString getTypeString(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xColProp);
-
- class MacabTable : public MacabTable_TYPEDEF
- {
- ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData;
- MacabConnection* m_pConnection;
-
- public:
- MacabTable( sdbcx::OCollection* _pTables, MacabConnection* _pConnection);
- MacabTable( sdbcx::OCollection* _pTables,
- MacabConnection* _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()
- );
-
- MacabConnection* getConnection() { return m_pConnection;}
-
- virtual void refreshColumns();
-
- ::rtl::OUString getTableName() const { return m_Name; }
- ::rtl::OUString getSchema() const { return m_SchemaName; }
- };
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_TABLE_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabTables.cxx b/connectivity/source/drivers/macab/MacabTables.cxx
deleted file mode 100644
index 1d839f40f9..0000000000
--- a/connectivity/source/drivers/macab/MacabTables.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 "MacabTables.hxx"
-#include "MacabTable.hxx"
-#include "MacabCatalog.hxx"
-#include "MacabConnection.hxx"
-#include <comphelper/types.hxx>
-
-using namespace connectivity::macab;
-using namespace connectivity;
-using namespace ::comphelper;
-using namespace ::cppu;
-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;
-
-sdbcx::ObjectType MacabTables::createObject(const ::rtl::OUString& _rName)
-{
- ::rtl::OUString aName,aSchema;
- aSchema = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("%"));
- aName = _rName;
-
- Sequence< ::rtl::OUString > aTypes(1);
- aTypes[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("%"));
- ::rtl::OUString sEmpty;
-
- Reference< XResultSet > xResult = m_xMetaData->getTables(Any(), aSchema, aName, aTypes);
-
- sdbcx::ObjectType xRet = NULL;
- if (xResult.is())
- {
- Reference< XRow > xRow(xResult, UNO_QUERY);
- if (xResult->next()) // there can be only one table with this name
- {
- MacabTable* pRet = new MacabTable(
- this,
- static_cast<MacabCatalog&>(m_rParent).getConnection(),
- aName,
- xRow->getString(4),
- xRow->getString(5),
- sEmpty);
- xRet = pRet;
- }
- }
- ::comphelper::disposeComponent(xResult);
-
- return xRet;
-}
-// -------------------------------------------------------------------------
-void MacabTables::impl_refresh( ) throw(RuntimeException)
-{
- static_cast<MacabCatalog&>(m_rParent).refreshTables();
-}
-// -------------------------------------------------------------------------
-void MacabTables::disposing(void)
-{
-m_xMetaData.clear();
- OCollection::disposing();
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/MacabTables.hxx b/connectivity/source/drivers/macab/MacabTables.hxx
deleted file mode 100644
index 17422ce862..0000000000
--- a/connectivity/source/drivers/macab/MacabTables.hxx
+++ /dev/null
@@ -1,64 +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_MACAB_TABLES_HXX_
-#define _CONNECTIVITY_MACAB_TABLES_HXX_
-
-#include "connectivity/sdbcx/VCollection.hxx"
-#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
-
-namespace connectivity
-{
- namespace macab
- {
- class MacabTables : 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:
- MacabTables(
- 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_MACAB_TABLES_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/exports.dxp b/connectivity/source/drivers/macab/exports.dxp
deleted file mode 100755
index 7003307892..0000000000
--- a/connectivity/source/drivers/macab/exports.dxp
+++ /dev/null
@@ -1 +0,0 @@
-component_getFactory
diff --git a/connectivity/source/drivers/macab/macab.xcu b/connectivity/source/drivers/macab/macab.xcu
deleted file mode 100644
index cbb9d0b6b0..0000000000
--- a/connectivity/source/drivers/macab/macab.xcu
+++ /dev/null
@@ -1,46 +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:macab" oor:op="replace">
- <prop oor:name="Driver">
- <value>com.sun.star.comp.sdbc.macab.Driver</value>
- </prop>
- <prop oor:name="DriverTypeDisplayName" oor:type="xs:string">
- <value xml:lang="en-US">Mac OS X Address Book</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/macab/macab.xml b/connectivity/source/drivers/macab/macab.xml
deleted file mode 100755
index e1c4b57c37..0000000000
--- a/connectivity/source/drivers/macab/macab.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-<?xml version='1.0' encoding="UTF-8"?>
-<!DOCTYPE COMPONENTDESCRIPTION PUBLIC "-//W3C//DTD HTML 3.2//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name> macab1 </module-name>
- <component-description>
- <Author>Omer bar-or</Author>
- <Name>com.sun.star.comp.sdbc.macab.Driver</Name>
- <description>This library implements the database driver for Mac OS address book formats.</description>
- <loader-name>com.sun.star.loader.SharedLibrary</loader-name>
- <language>c++</language>
- <status value="alpha"/>
- <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> cppu1 </runtime-module-dependency>
- <runtime-module-dependency> sal1 </runtime-module-dependency>
-
- <type> com.sun.star.registry.XRegistryKey </type>
- <type> com.sun.star.util.XCancellable </type>
- <type> com.sun.star.util.XNumberFormatter </type>
- <type> com.sun.star.uno.TypeClass </type>
- <type> com.sun.star.uno.XWeak </type>
- <type> com.sun.star.uno.XAggregation </type>
- <type> com.sun.star.uno.XComponentContext </type>
- <type> com.sun.star.beans.PropertyAttribute </type>
- <type> com.sun.star.beans.XPropertyState </type>
- <type> com.sun.star.beans.XPropertySet </type>
- <type> com.sun.star.beans.PropertyValue </type>
- <type> com.sun.star.beans.XMultiPropertySet </type>
- <type> com.sun.star.beans.XFastPropertySet </type>
- <type> com.sun.star.lang.XSingleServiceFactory </type>
- <type> com.sun.star.lang.XTypeProvider </type>
- <type> com.sun.star.lang.XSingleComponentFactory </type>
- <type> com.sun.star.lang.EventObject </type>
- <type> com.sun.star.lang.XComponent </type>
- <type> com.sun.star.lang.IllegalArgumentException </type>
- <type> com.sun.star.lang.DisposedException </type>
- <type> com.sun.star.lang.XMultiServiceFactory </type>
- <type> com.sun.star.lang.XServiceInfo </type>
- <type> com.sun.star.lang.XUnoTunnel </type>
- <type> com.sun.star.java.XJavaThreadRegister_11 </type>
- <type> com.sun.star.java.XJavaVM </type>
- <type> com.sun.star.sdbc.FetchDirection </type>
- <type> com.sun.star.sdbc.XConnection </type>
- <type> com.sun.star.sdbc.XStatement </type>
- <type> com.sun.star.sdbc.XResultSet </type>
- <type> com.sun.star.sdbc.XResultSetMetaDataSupplier</type>
- <type> com.sun.star.sdbc.XColumnLocate </type>
- <type> com.sun.star.sdbc.XResultSetUpdate </type>
- <type> com.sun.star.sdbc.XWarningsSupplier </type>
- <type> com.sun.star.sdbc.XRowUpdate </type>
- <type> com.sun.star.sdbc.XMultipleResults </type>
- <type> com.sun.star.sdbc.XBatchExecution </type>
- <type> com.sun.star.sdbc.XPreparedBatchExecution </type>
- <type> com.sun.star.sdbc.XParameters </type>
- <type> com.sun.star.sdbc.XOutParameters </type>
- <type> com.sun.star.sdbc.DriverPropertyInfo </type>
- <type> com.sun.star.sdbc.SQLWarning </type>
- <type> com.sun.star.sdbc.XRow </type>
- <type> com.sun.star.sdbc.ColumnSearch </type>
- <type> com.sun.star.sdbc.ColumnValue </type>
- <type> com.sun.star.sdbc.DataType </type>
- <type> com.sun.star.sdbc.XDriver </type>
- <type> com.sun.star.sdbc.TransactionIsolation </type>
- <type> com.sun.star.sdbc.ResultSetType </type>
- <type> com.sun.star.sdbc.ResultSetConcurrency </type>
- <type> com.sun.star.sdbcx.XRowLocate </type>
- <type> com.sun.star.sdbcx.XDeleteRows </type>
- <type> com.sun.star.sdbcx.CompareBookmark </type>
- <type> com.sun.star.sdb.XColumnUpdate </type>
- <type> com.sun.star.sdb.XColumn </type>
-</module-description>
diff --git a/connectivity/source/drivers/macab/macab1.component b/connectivity/source/drivers/macab/macab1.component
deleted file mode 100755
index 0a120c0418..0000000000
--- a/connectivity/source/drivers/macab/macab1.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.macab.Driver">
- <service name="com.sun.star.sdbc.Driver"/>
- </implementation>
-</component>
diff --git a/connectivity/source/drivers/macab/macabcondition.cxx b/connectivity/source/drivers/macab/macabcondition.cxx
deleted file mode 100644
index 3faf0aa261..0000000000
--- a/connectivity/source/drivers/macab/macabcondition.cxx
+++ /dev/null
@@ -1,253 +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 "macabcondition.hxx"
-#include "MacabHeader.hxx"
-#include "MacabRecord.hxx"
-#include "connectivity/CommonTools.hxx"
-
-using namespace ::connectivity::macab;
-using namespace ::com::sun::star::sdbc;
-// -----------------------------------------------------------------------------
-MacabCondition::~MacabCondition()
-{
-}
-// -----------------------------------------------------------------------------
-MacabConditionConstant::MacabConditionConstant(const sal_Bool bValue)
- : MacabCondition(),
- m_bValue(bValue)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionConstant::isAlwaysTrue() const
-{
- return m_bValue;
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionConstant::isAlwaysFalse() const
-{
- return !m_bValue;
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionConstant::eval(const MacabRecord *) const
-{
- return m_bValue;
-}
-// -----------------------------------------------------------------------------
-MacabConditionColumn::MacabConditionColumn(const MacabHeader *header, const ::rtl::OUString &sColumnName) throw(SQLException)
- : MacabCondition(),
- m_nFieldNumber(header->getColumnNumber(sColumnName))
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionColumn::isAlwaysTrue() const
-{
- // Sometimes true, sometimes false
- return sal_False;
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionColumn::isAlwaysFalse() const
-{
- // Sometimes true, sometimes false
- return sal_False;
-}
-// -----------------------------------------------------------------------------
-MacabConditionNull::MacabConditionNull(const MacabHeader *header, const ::rtl::OUString &sColumnName) throw(SQLException)
- : MacabConditionColumn(header, sColumnName)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionNull::eval(const MacabRecord *aRecord) const
-{
- macabfield *aValue = aRecord->get(m_nFieldNumber);
-
- if(aValue == NULL)
- return sal_True;
- else if(aValue->value == NULL)
- return sal_True;
- else
- return sal_False;
-}
-// -----------------------------------------------------------------------------
-MacabConditionNotNull::MacabConditionNotNull(const MacabHeader *header, const ::rtl::OUString &sColumnName) throw(SQLException)
- : MacabConditionColumn(header, sColumnName)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionNotNull::eval(const MacabRecord *aRecord) const
-{
- macabfield *aValue = aRecord->get(m_nFieldNumber);
-
- if(aValue == NULL)
- return sal_False;
- else if(aValue->value == NULL)
- return sal_False;
- else
- return sal_True;
-}
-// -----------------------------------------------------------------------------
-MacabConditionCompare::MacabConditionCompare(const MacabHeader *header, const ::rtl::OUString &sColumnName, const ::rtl::OUString &sMatchString) throw(SQLException)
- : MacabConditionColumn(header, sColumnName),
- m_sMatchString(sMatchString)
-{
-}
-// -----------------------------------------------------------------------------
-MacabConditionEqual::MacabConditionEqual(const MacabHeader *header, const ::rtl::OUString &sColumnName, const ::rtl::OUString &sMatchString) throw(SQLException)
- : MacabConditionCompare(header, sColumnName, sMatchString)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionEqual::eval(const MacabRecord *aRecord) const
-{
- macabfield *aValue = aRecord->get(m_nFieldNumber);
-
- if(aValue == NULL)
- return sal_False;
-
- macabfield *aValue2 = MacabRecord::createMacabField(m_sMatchString,aValue->type);
-
- if(aValue2 == NULL)
- return sal_False;
-
- sal_Int32 nReturn = MacabRecord::compareFields(aValue, aValue2);
-
- delete aValue2;
- return nReturn == 0;
-}
-// -----------------------------------------------------------------------------
-MacabConditionDifferent::MacabConditionDifferent(const MacabHeader *header, const ::rtl::OUString &sColumnName, const ::rtl::OUString &sMatchString) throw(SQLException)
- : MacabConditionCompare(header, sColumnName, sMatchString)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionDifferent::eval(const MacabRecord *aRecord) const
-{
- macabfield *aValue = aRecord->get(m_nFieldNumber);
-
- if(aValue == NULL)
- return sal_False;
-
- macabfield *aValue2 = MacabRecord::createMacabField(m_sMatchString,aValue->type);
-
- if(aValue2 == NULL)
- return sal_False;
-
- sal_Int32 nReturn = MacabRecord::compareFields(aValue, aValue2);
-
- delete aValue2;
- return nReturn != 0;
-}
-// -----------------------------------------------------------------------------
-MacabConditionSimilar::MacabConditionSimilar(const MacabHeader *header, const ::rtl::OUString &sColumnName, const ::rtl::OUString &sMatchString) throw(SQLException)
- : MacabConditionCompare(header, sColumnName, sMatchString)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionSimilar::eval(const MacabRecord *aRecord) const
-{
- macabfield *aValue = aRecord->get(m_nFieldNumber);
-
- if(aValue == NULL)
- return sal_False;
-
- ::rtl::OUString sName = MacabRecord::fieldToString(aValue);
-
- return match(m_sMatchString, sName, '\0');
-}
-// -----------------------------------------------------------------------------
-MacabConditionBoolean::MacabConditionBoolean(MacabCondition *pLeft, MacabCondition *pRight)
- : MacabCondition(),
- m_pLeft(pLeft),
- m_pRight(pRight)
-{
-}
-// -----------------------------------------------------------------------------
-MacabConditionBoolean::~MacabConditionBoolean()
-{
- delete m_pLeft;
- delete m_pRight;
-}
-// -----------------------------------------------------------------------------
-MacabConditionOr::MacabConditionOr(MacabCondition *pLeft, MacabCondition *pRight)
- : MacabConditionBoolean(pLeft, pRight)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionOr::isAlwaysTrue() const
-{
- return m_pLeft->isAlwaysTrue() || m_pRight->isAlwaysTrue();
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionOr::isAlwaysFalse() const
-{
- return m_pLeft->isAlwaysFalse() && m_pRight->isAlwaysFalse();
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionOr::eval(const MacabRecord *aRecord) const
-{
- // We avoid evaluating terms as much as we can
- if (m_pLeft->isAlwaysTrue() || m_pRight->isAlwaysTrue()) return sal_True;
- if (m_pLeft->isAlwaysFalse() && m_pRight->isAlwaysFalse()) return sal_False;
-
- if (m_pLeft->eval(aRecord)) return sal_True;
- if (m_pRight->eval(aRecord)) return sal_True;
-
- return sal_False;
-}
-// -----------------------------------------------------------------------------
-MacabConditionAnd::MacabConditionAnd(MacabCondition *pLeft, MacabCondition *pRight)
- : MacabConditionBoolean(pLeft, pRight)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionAnd::isAlwaysTrue() const
-{
- return m_pLeft->isAlwaysTrue() && m_pRight->isAlwaysTrue();
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionAnd::isAlwaysFalse() const
-{
- return m_pLeft->isAlwaysFalse() || m_pRight->isAlwaysFalse();
-}
-// -----------------------------------------------------------------------------
-sal_Bool MacabConditionAnd::eval(const MacabRecord *aRecord) const
-{
- // We avoid evaluating terms as much as we can
- if (m_pLeft->isAlwaysFalse() || m_pRight->isAlwaysFalse()) return sal_False;
- if (m_pLeft->isAlwaysTrue() && m_pRight->isAlwaysTrue()) return sal_True;
-
- if (!m_pLeft->eval(aRecord)) return sal_False;
- if (!m_pRight->eval(aRecord)) return sal_False;
-
- return sal_True;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/macabcondition.hxx b/connectivity/source/drivers/macab/macabcondition.hxx
deleted file mode 100644
index 29f27bc52f..0000000000
--- a/connectivity/source/drivers/macab/macabcondition.hxx
+++ /dev/null
@@ -1,170 +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_MACAB_CONDITION_HXX_
-#define _CONNECTIVITY_MACAB_CONDITION_HXX_
-
-#include "MacabHeader.hxx"
-#include "MacabRecord.hxx"
-
-#include <comphelper/types.hxx>
-#include <connectivity/dbexception.hxx>
-
-namespace connectivity
-{
- namespace macab
- {
-// -----------------------------------------------------------------------------
-class MacabCondition
-{
- public:
- virtual ~MacabCondition();
- virtual sal_Bool isAlwaysTrue() const = 0;
- virtual sal_Bool isAlwaysFalse() const = 0;
- virtual sal_Bool eval(const MacabRecord *aRecord) const = 0;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionConstant : public MacabCondition
-{
- protected:
- sal_Bool m_bValue;
-
- public:
- MacabConditionConstant(const sal_Bool bValue);
- virtual sal_Bool isAlwaysTrue() const;
- virtual sal_Bool isAlwaysFalse() const;
- virtual sal_Bool eval(const MacabRecord *aRecord) const;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionColumn : public MacabCondition
-{
- protected:
- sal_Int32 m_nFieldNumber;
-
- public:
- MacabConditionColumn(
- const MacabHeader *header,
- const ::rtl::OUString &sColumnName) throw(::com::sun::star::sdbc::SQLException);
- virtual sal_Bool isAlwaysTrue() const;
- virtual sal_Bool isAlwaysFalse() const;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionNull : public MacabConditionColumn
-{
- public:
- MacabConditionNull(
- const MacabHeader *header,
- const ::rtl::OUString &sColumnName) throw(::com::sun::star::sdbc::SQLException);
- virtual sal_Bool eval(const MacabRecord *aRecord) const;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionNotNull : public MacabConditionColumn
-{
- public:
- MacabConditionNotNull(
- const MacabHeader *header,
- const ::rtl::OUString &sColumnName) throw(::com::sun::star::sdbc::SQLException);
- virtual sal_Bool eval(const MacabRecord *aRecord) const;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionCompare : public MacabConditionColumn
-{
- protected:
- const ::rtl::OUString m_sMatchString;
-
- public:
- MacabConditionCompare(
- const MacabHeader *header,
- const ::rtl::OUString &sColumnName,
- const ::rtl::OUString &sMatchString) throw(::com::sun::star::sdbc::SQLException);
-};
-// -----------------------------------------------------------------------------
-class MacabConditionEqual : public MacabConditionCompare
-{
- public:
- MacabConditionEqual(
- const MacabHeader *header,
- const ::rtl::OUString &sColumnName,
- const ::rtl::OUString &sMatchString) throw(::com::sun::star::sdbc::SQLException);
- virtual sal_Bool eval(const MacabRecord *aRecord) const;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionDifferent : public MacabConditionCompare
-{
- public:
- MacabConditionDifferent(
- const MacabHeader *header,
- const ::rtl::OUString &sColumnName,
- const ::rtl::OUString &sMatchString) throw(::com::sun::star::sdbc::SQLException);
- virtual sal_Bool eval(const MacabRecord *aRecord) const;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionSimilar : public MacabConditionCompare
-{
- public:
- MacabConditionSimilar(
- const MacabHeader *header,
- const ::rtl::OUString &sColumnName,
- const ::rtl::OUString &sMatchString) throw(::com::sun::star::sdbc::SQLException);
- virtual sal_Bool eval(const MacabRecord *aRecord) const;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionBoolean : public MacabCondition
-{
- protected:
- MacabCondition *m_pLeft, *m_pRight;
-
- public:
- MacabConditionBoolean(MacabCondition *pLeft, MacabCondition *pRight);
- virtual ~MacabConditionBoolean();
-};
-// -----------------------------------------------------------------------------
-class MacabConditionOr : public MacabConditionBoolean
-{
- public:
- MacabConditionOr(MacabCondition *pLeft, MacabCondition *pRight);
- virtual sal_Bool isAlwaysTrue() const;
- virtual sal_Bool isAlwaysFalse() const;
- virtual sal_Bool eval(const MacabRecord *aRecord) const;
-};
-// -----------------------------------------------------------------------------
-class MacabConditionAnd : public MacabConditionBoolean
-{
- public:
- MacabConditionAnd(MacabCondition *pLeft, MacabCondition *pRight);
- virtual sal_Bool isAlwaysTrue() const;
- virtual sal_Bool isAlwaysFalse() const;
- virtual sal_Bool eval(const MacabRecord *aRecord) const;
-};
-// -----------------------------------------------------------------------------
- }
-}
-
-#endif // _CONNECTIVITY_MACAB_CONDITION_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/macaborder.cxx b/connectivity/source/drivers/macab/macaborder.cxx
deleted file mode 100644
index fa8ba7a1ab..0000000000
--- a/connectivity/source/drivers/macab/macaborder.cxx
+++ /dev/null
@@ -1,89 +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 "macaborder.hxx"
-#include "MacabHeader.hxx"
-#include "MacabRecord.hxx"
-
-using namespace ::connectivity::macab;
-
-MacabOrder::~MacabOrder()
-{
-}
-// -----------------------------------------------------------------------------
-MacabSimpleOrder::MacabSimpleOrder(MacabHeader *header, ::rtl::OUString &sColumnName, sal_Bool bAscending)
- : MacabOrder(),
- m_nFieldNumber(header->getColumnNumber(sColumnName)),
- m_bAscending(bAscending)
-{
-}
-// -----------------------------------------------------------------------------
-sal_Int32 MacabSimpleOrder::compare(const MacabRecord *record1, const MacabRecord *record2) const
-{
- sal_Int32 result;
-
- result = MacabRecord::compareFields(record1->get(m_nFieldNumber), record2->get(m_nFieldNumber));
-
- if (!m_bAscending) result = -result;
-
- return result;
-}
-// -----------------------------------------------------------------------------
-MacabComplexOrder::MacabComplexOrder()
- : MacabOrder(),
- m_aOrders()
-{
-}
-// -----------------------------------------------------------------------------
-MacabComplexOrder::~MacabComplexOrder()
-{
- for (sal_uInt32 i = 0; i < m_aOrders.size(); i++)
- delete m_aOrders[i];
-}
-// -----------------------------------------------------------------------------
-void MacabComplexOrder::addOrder(MacabOrder *pOrder)
-{
- m_aOrders.push_back(pOrder);
-}
-// -----------------------------------------------------------------------------
-sal_Int32 MacabComplexOrder::compare(const MacabRecord *record1, const MacabRecord *record2) const
-{
- for (sal_uInt32 i = 0; i < m_aOrders.size(); i++)
- {
- const MacabOrder *pOrder = m_aOrders[i];
- sal_Int32 result = pOrder->compare(record1, record2);
-
- if (result) return result;
- }
- return 0;
-}
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/macaborder.hxx b/connectivity/source/drivers/macab/macaborder.hxx
deleted file mode 100644
index bad4bc8133..0000000000
--- a/connectivity/source/drivers/macab/macaborder.hxx
+++ /dev/null
@@ -1,77 +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_MACAB_ORDER_HXX_
-#define _CONNECTIVITY_MACAB_ORDER_HXX_
-
-#include "rtl/ustring.hxx"
-#include "MacabHeader.hxx"
-#include "MacabRecord.hxx"
-
-#include <vector>
-
-namespace connectivity
-{
- namespace macab
- {
- class MacabOrder
- {
- public:
- virtual ~MacabOrder();
-
- virtual sal_Int32 compare(const MacabRecord *record1, const MacabRecord *record2) const = 0;
- };
-
- class MacabSimpleOrder : public MacabOrder
- {
- sal_Int32 m_nFieldNumber;
- sal_Bool m_bAscending;
-
- public:
- MacabSimpleOrder(MacabHeader *header, ::rtl::OUString &sColumnName, sal_Bool bAscending);
-
- virtual sal_Int32 compare(const MacabRecord *record1, const MacabRecord *record2) const;
- };
-
- class MacabComplexOrder : public MacabOrder
- {
- ::std::vector<MacabOrder *> m_aOrders;
-
- public:
- MacabComplexOrder();
- virtual ~MacabComplexOrder();
-
- void addOrder(MacabOrder *pOrder);
- virtual sal_Int32 compare(const MacabRecord *record1, const MacabRecord *record2) const;
- };
- }
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/macabutilities.hxx b/connectivity/source/drivers/macab/macabutilities.hxx
deleted file mode 100644
index 237a7e4456..0000000000
--- a/connectivity/source/drivers/macab/macabutilities.hxx
+++ /dev/null
@@ -1,152 +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_MACAB_UTILITIES_HXX_
-#define _CONNECTIVITY_MACAB_UTILITIES_HXX_
-
-#include <com/sun/star/util/DateTime.hpp>
-#include <com/sun/star/sdbc/DataType.hpp>
-
-#include <time.h>
-#include <premac.h>
-#include <Carbon/Carbon.h>
-#include <AddressBook/ABAddressBookC.h>
-#include <postmac.h>
-
-namespace connectivity
-{
- namespace macab
- {
- // -------------------------------------------------------------------------
- inline ::rtl::OUString CFStringToOUString(const CFStringRef sOrig)
- {
- /* Copied all-but directly from code by Florian Heckl in
- * cws_src680_aquafilepicker01
- * File was: fpicker/source/aqua/CFStringUtilities
- * I only removed commented debugging lines and changed variable
- * names.
- */
- if (NULL == sOrig) {
- return rtl::OUString();
- }
-
- CFRetain(sOrig);
- CFIndex nStringLength = CFStringGetLength(sOrig);
-
- UniChar unichars[nStringLength+1];
-
- //'close' the string buffer correctly
- unichars[nStringLength] = '\0';
-
- CFStringGetCharacters (sOrig, CFRangeMake(0,nStringLength), unichars);
- CFRelease(sOrig);
-
- return rtl::OUString(unichars);
- }
-
- // -------------------------------------------------------------------------
- inline CFStringRef OUStringToCFString(const ::rtl::OUString& aString)
- {
- /* Copied directly from code by Florian Heckl in
- * cws_src680_aquafilepicker01
- * File was: fpicker/source/aqua/CFStringUtilities
- */
-
- CFStringRef ref = CFStringCreateWithCharacters(kCFAllocatorDefault, aString.getStr(), aString.getLength());
-
- return ref;
- }
-
- // -------------------------------------------------------------------------
- inline com::sun::star::util::DateTime CFDateToDateTime(const CFDateRef _cfDate)
- {
- /* Carbon can give us the time since 2001 of any CFDateRef,
- * and it also stores the time since 1970 as a constant,
- * basically allowing us to get the unixtime of any
- * CFDateRef. From there, it is just a matter of choosing what
- * we want to do with it.
- */
- com::sun::star::util::DateTime nRet;
- double timeSince2001 = CFDateGetAbsoluteTime(_cfDate);
- time_t unixtime = timeSince2001+kCFAbsoluteTimeIntervalSince1970;
- struct tm *ptm = localtime(&unixtime);
- nRet.Year = ptm->tm_year+1900;
- nRet.Month = ptm->tm_mon+1;
- nRet.Day = ptm->tm_mday;
- nRet.Hours = ptm->tm_hour;
- nRet.Minutes = ptm->tm_min;
- nRet.Seconds = ptm->tm_sec;
- nRet.HundredthSeconds = 0;
- return nRet;
- }
-
- // -------------------------------------------------------------------------
- inline ::rtl::OUString fixLabel(const ::rtl::OUString _originalLabel)
- {
- /* Get the length, and make sure that there is actually a string
- * here.
- */
- if(_originalLabel.indexOf(::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("_$!<"))) == 0)
- {
- return _originalLabel.copy(4,_originalLabel.getLength()-8);
- }
-
- return _originalLabel;
- }
-
- // -------------------------------------------------------------------------
- inline sal_Int32 ABTypeToDataType(const ABPropertyType _abType)
- {
- sal_Int32 dataType;
- switch(_abType)
- {
- case kABStringProperty:
- dataType = ::com::sun::star::sdbc::DataType::CHAR;
- break;
- case kABDateProperty:
- dataType = ::com::sun::star::sdbc::DataType::TIMESTAMP;
- break;
- case kABIntegerProperty:
- dataType = ::com::sun::star::sdbc::DataType::INTEGER;
- break;
- case kABRealProperty:
- dataType = ::com::sun::star::sdbc::DataType::FLOAT;
- break;
- default:
- dataType = -1;
- }
- return dataType;
- }
-
- void impl_throwError(sal_uInt16 _nErrorId);
- }
-}
-
-#endif // _ CONNECTIVITY_MACAB_UTILITIES_HXX_
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/connectivity/source/drivers/macab/makefile.mk b/connectivity/source/drivers/macab/makefile.mk
deleted file mode 100755
index b2e8db65dc..0000000000
--- a/connectivity/source/drivers/macab/makefile.mk
+++ /dev/null
@@ -1,138 +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=macab
-TARGET2=$(TARGET)drv
-VISIBILITY_HIDDEN=TRUE
-ENABLE_EXCEPTIONS=TRUE
-
-# --- Settings ----------------------------------
-
-.INCLUDE : $(PRJ)$/makefile.pmk
-.INCLUDE : $(PRJ)$/version.mk
-
-.IF "$(GUI)" == "UNX"
-.IF "$(OS)" == "MACOSX"
-
-# === MACAB base library ==========================
-
-# --- Files -------------------------------------
-
-SLOFILES= \
- $(SLO)$/MacabDriver.obj \
- $(SLO)$/MacabServices.obj
-
-DEPOBJFILES= \
- $(SLO2FILES)
-
-# --- Library -----------------------------------
-
-SHL1TARGET= $(TARGET)$(MACAB_MAJOR)
-SHL1OBJS=$(SLOFILES)
-SHL1STDLIBS=\
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(DBTOOLSLIB) \
- $(SALHELPERLIB) \
- $(SALLIB)
-
-SHL1DEPN=
-SHL1IMPLIB= i$(TARGET)
-
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-
-# === MACAB impl library ==========================
-
-# --- Files -------------------------------------
-
-SLO2FILES=\
- $(SLO)$/MacabColumns.obj \
- $(SLO)$/MacabTable.obj \
- $(SLO)$/MacabTables.obj \
- $(SLO)$/MacabCatalog.obj \
- $(SLO)$/MacabResultSet.obj \
- $(SLO)$/MacabStatement.obj \
- $(SLO)$/MacabPreparedStatement.obj \
- $(SLO)$/MacabDatabaseMetaData.obj \
- $(SLO)$/MacabConnection.obj \
- $(SLO)$/MacabResultSetMetaData.obj \
- $(SLO)$/macabcondition.obj \
- $(SLO)$/macaborder.obj \
- $(SLO)$/MacabRecord.obj \
- $(SLO)$/MacabRecords.obj \
- $(SLO)$/MacabHeader.obj \
- $(SLO)$/MacabGroup.obj \
- $(SLO)$/MacabAddressBook.obj
-
-MACAB_LIB=-framework Carbon -framework AddressBook
-
-# --- Library -----------------------------------
-
-SHL2TARGET= $(TARGET2)$(MACAB_MAJOR)
-SHL2OBJS=$(SLO2FILES)
-SHL2STDLIBS=\
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALHELPERLIB) \
- $(SALLIB) \
- $(DBTOOLSLIB) \
- $(COMPHELPERLIB) \
- $(MACAB_LIB)
-
-SHL2DEPN=
-SHL2IMPLIB= i$(TARGET2)
-
-SHL2DEF= $(MISC)$/$(SHL2TARGET).def
-
-DEF2NAME= $(SHL2TARGET)
-
-# --- Targets -----------------------------------
-.ELSE # "$(OS)" == "MACOSX"
-dummy:
- @echo Not using Mac OS X - nothing to build
-.ENDIF
-
-.ELSE # "$(GUI)" == "UNX"
-dummy:
- @echo "Nothing to build for GUI $(GUI)"
-.ENDIF
-
-.INCLUDE : $(PRJ)$/target.pmk
-
-
-ALLTAR : $(MISC)/macab1.component
-
-$(MISC)/macab1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
- macab1.component
- $(XSLTPROC) --nonet --stringparam uri \
- '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
- $(SOLARENV)/bin/createcomponent.xslt macab1.component