connectivity/Library_mork.mk | 6 + connectivity/source/drivers/mork/MCatalog.cxx | 111 +++++++++++++++++++++++ connectivity/source/drivers/mork/MCatalog.hxx | 55 +++++++++++ connectivity/source/drivers/mork/MColumns.cxx | 87 ++++++++++++++++++ connectivity/source/drivers/mork/MColumns.hxx | 51 ++++++++++ connectivity/source/drivers/mork/MConnection.cxx | 18 +++ connectivity/source/drivers/mork/MConnection.hxx | 7 + connectivity/source/drivers/mork/MDriver.cxx | 4 connectivity/source/drivers/mork/MDriver.hxx | 4 connectivity/source/drivers/mork/MStatement.cxx | 11 -- connectivity/source/drivers/mork/MStatement.hxx | 2 connectivity/source/drivers/mork/MTables.cxx | 86 +++++++++++++++++ connectivity/source/drivers/mork/MTables.hxx | 48 +++++++++ 13 files changed, 479 insertions(+), 11 deletions(-)
New commits: commit 8a8e6ace18b88d12a521609db286ddf6f1bc37b0 Author: David Ostrovsky <[email protected]> Date: Thu Aug 9 22:21:16 2012 +0200 mork driver: adding missing stuff Change-Id: I923cd4d3cbd90315099ab5ceff3761ab3cbdebf9 diff --git a/connectivity/Library_mork.mk b/connectivity/Library_mork.mk index 7066342..388dd91 100644 --- a/connectivity/Library_mork.mk +++ b/connectivity/Library_mork.mk @@ -33,19 +33,23 @@ $(eval $(call gb_Library_use_libraries,mork, \ $(eval $(call gb_Library_use_sdk_api,mork)) $(eval $(call gb_Library_add_exception_objects,mork, \ + connectivity/source/drivers/mork/MColumns \ connectivity/source/drivers/mork/MNSFolders \ connectivity/source/drivers/mork/MNSINIParser \ connectivity/source/drivers/mork/MNSProfileDiscover \ connectivity/source/drivers/mork/MorkParser \ - connectivity/source/drivers/mork/MDriver \ + connectivity/source/drivers/mork/MCatalog \ connectivity/source/drivers/mork/MConnection \ connectivity/source/drivers/mork/MDatabaseMetaData \ connectivity/source/drivers/mork/MDatabaseMetaDataHelper \ + connectivity/source/drivers/mork/MDriver \ connectivity/source/drivers/mork/MStatement \ connectivity/source/drivers/mork/MResultSet \ connectivity/source/drivers/mork/MResultSetMetaData \ connectivity/source/drivers/mork/MPreparedStatement \ connectivity/source/drivers/mork/MServices \ + connectivity/source/drivers/mork/MTable \ + connectivity/source/drivers/mork/MTables \ )) # vim: set noet sw=4 ts=4: diff --git a/connectivity/source/drivers/mork/MCatalog.cxx b/connectivity/source/drivers/mork/MCatalog.cxx new file mode 100644 index 0000000..005037c --- /dev/null +++ b/connectivity/source/drivers/mork/MCatalog.cxx @@ -0,0 +1,111 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include "MCatalog.hxx" +#include "MConnection.hxx" +#include "MTables.hxx" +#include <com/sun/star/sdbc/XRow.hpp> +#include <com/sun/star/sdbc/XResultSet.hpp> +#include <cppuhelper/interfacecontainer.h> + +// ------------------------------------------------------------------------- +using namespace connectivity::mork; +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; + +// ------------------------------------------------------------------------- +OCatalog::OCatalog(OConnection* _pCon) : connectivity::sdbcx::OCatalog(_pCon) + ,m_pConnection(_pCon) + ,m_xMetaData(m_pConnection->getMetaData( )) +{ +// osl_incrementInterlockedCount( &m_refCount ); +// refreshTables(); +// refreshViews(); +// refreshGroups(); +// refreshUsers(); +// osl_decrementInterlockedCount( &m_refCount ); +} +// ------------------------------------------------------------------------- +void OCatalog::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; + while(xResult->next()) + { + aName = xRow->getString(3); + aVector.push_back(aName); + } + } + if(m_pTables) + m_pTables->reFill(aVector); + else + m_pTables = new OTables(m_xMetaData,*this,m_aMutex,aVector); +} +// ------------------------------------------------------------------------- +void OCatalog::refreshViews() +{ +} +// ------------------------------------------------------------------------- +void OCatalog::refreshGroups() +{ +} +// ------------------------------------------------------------------------- +void OCatalog::refreshUsers() +{ +} +// ----------------------------------------------------------------------------- + +// XTablesSupplier +Reference< XNameAccess > SAL_CALL OCatalog::getTables( ) throw(RuntimeException) +{ + ::osl::MutexGuard aGuard(m_aMutex); + checkDisposed(rBHelper.bDisposed); + + try + { + if(!m_pTables || m_pConnection->getForceLoadTables()) + refreshTables(); + } + catch( const RuntimeException& ) + { + // allowed to leave this method + throw; + } + catch( const Exception& ) + { + // allowed + } + + return const_cast<OCatalog*>(this)->m_pTables; +} + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/mork/MCatalog.hxx b/connectivity/source/drivers/mork/MCatalog.hxx new file mode 100644 index 0000000..e4889fe --- /dev/null +++ b/connectivity/source/drivers/mork/MCatalog.hxx @@ -0,0 +1,55 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef _CONNECTIVITY_MOZAB_CATALOG_HXX_ +#define _CONNECTIVITY_MOZAB_CATALOG_HXX_ + +#include "connectivity/sdbcx/VCatalog.hxx" + +namespace connectivity +{ + namespace mork + { + // please don't name the class the same name as in an other namespaces + // some compilers have problems with this task as I noticed on windows + class OConnection; + class OCatalog : public connectivity::sdbcx::OCatalog + { + OConnection* 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: + // implementation of the pure virtual methods + virtual void refreshTables(); + virtual void refreshViews() ; + virtual void refreshGroups(); + virtual void refreshUsers() ; + virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess > SAL_CALL getTables( ) throw(::com::sun::star::uno::RuntimeException); + public: + OCatalog(OConnection* _pCon); + + OConnection* getConnection() const { return m_pConnection; } + sdbcx::OCollection* getPrivateTables() const { return m_pTables;} + sdbcx::OCollection* getPrivateViews() const { return m_pViews; } + + }; + } +} +#endif // _CONNECTIVITY_MOZAB_CATALOG_HXX_ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/mork/MColumns.cxx b/connectivity/source/drivers/mork/MColumns.cxx new file mode 100644 index 0000000..852bb4d --- /dev/null +++ b/connectivity/source/drivers/mork/MColumns.cxx @@ -0,0 +1,87 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include "MColumns.hxx" +#include "connectivity/sdbcx/VColumn.hxx" +#include <com/sun/star/sdbc/XRow.hpp> +#include <com/sun/star/sdbc/XResultSet.hpp> +#include <com/sun/star/sdbc/DataType.hpp> +#include <com/sun/star/sdbc/ColumnValue.hpp> +#include "MTable.hxx" +#include "MTables.hxx" +#include "MCatalog.hxx" +#include <comphelper/types.hxx> +#include "connectivity/dbtools.hxx" + +using namespace ::comphelper; + +using namespace connectivity::mork; +using namespace connectivity::sdbcx; +using namespace connectivity; +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 OColumns::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) + { + sal_Int32 nType = xRow->getInt(5); + ::rtl::OUString sTypeName = xRow->getString(6); + sal_Int32 nPrec = xRow->getInt(7); + + OColumn* pRet = new OColumn(_rName, + sTypeName, + xRow->getString(13), + xRow->getString(12), + xRow->getInt(11), + nPrec, + xRow->getInt(9), + nType, + sal_False,sal_False,sal_False,sal_True); + xRet = pRet; + break; + } + } + } + + return xRet; +} + +// ------------------------------------------------------------------------- +void OColumns::impl_refresh() throw(RuntimeException) +{ + m_pTable->refreshColumns(); +} +// ----------------------------------------------------------------------------- + + + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/mork/MColumns.hxx b/connectivity/source/drivers/mork/MColumns.hxx new file mode 100644 index 0000000..186f6b5 --- /dev/null +++ b/connectivity/source/drivers/mork/MColumns.hxx @@ -0,0 +1,51 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef _CONNECTIVITY_MOZAB_COLUMNS_HXX_ +#define _CONNECTIVITY_MOZAB_COLUMNS_HXX_ + +#include "connectivity/sdbcx/VCollection.hxx" +#include <com/sun/star/sdbc/XDatabaseMetaData.hpp> +#include "connectivity/sdbcx/IRefreshable.hxx" +#include "MTable.hxx" + +namespace connectivity +{ + namespace mork + { + class OColumns : public sdbcx::OCollection + { + protected: + OTable* m_pTable; + + virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName); + virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException); + public: + OColumns( OTable* _pTable, + ::osl::Mutex& _rMutex, + const TStringVector &_rVector + ) : sdbcx::OCollection(*_pTable,sal_True,_rMutex,_rVector) + ,m_pTable(_pTable) + {} + }; + } +} +#endif // _CONNECTIVITY_MOZAB_COLUMNS_HXX_ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/mork/MConnection.cxx b/connectivity/source/drivers/mork/MConnection.cxx index 9345d87..08baf7e 100644 --- a/connectivity/source/drivers/mork/MConnection.cxx +++ b/connectivity/source/drivers/mork/MConnection.cxx @@ -12,6 +12,7 @@ #include "MConnection.hxx" #include "MDriver.hxx" #include "MDatabaseMetaData.hxx" +#include "MCatalog.hxx" #include "MPreparedStatement.hxx" #include "MorkParser.hxx" @@ -328,6 +329,23 @@ void OConnection::disposing() } // ----------------------------------------------------------------------------- +Reference< XTablesSupplier > SAL_CALL OConnection::createCatalog() +{ + OSL_TRACE("IN OConnection::createCatalog()" ); + ::osl::MutexGuard aGuard( m_aMutex ); + Reference< XTablesSupplier > xTab = m_xCatalog; + if(!m_xCatalog.is()) + { + OCatalog *pCat = new OCatalog(this); + xTab = pCat; + m_xCatalog = xTab; + } + OSL_TRACE( "\tOUT OConnection::createCatalog()" ); + return xTab; +} +// ----------------------------------------------------------------------------- + + } } // namespace connectivity::mork diff --git a/connectivity/source/drivers/mork/MConnection.hxx b/connectivity/source/drivers/mork/MConnection.hxx index 9f6b862..2967520 100644 --- a/connectivity/source/drivers/mork/MConnection.hxx +++ b/connectivity/source/drivers/mork/MConnection.hxx @@ -99,6 +99,13 @@ namespace connectivity virtual void SAL_CALL clearWarnings() throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); static ::rtl::OUString getDriverImplementationName(); + + sal_Bool getForceLoadTables() {return true;} + + // Added to enable me to use SQLInterpreter which requires an + // XNameAccess i/f to access tables. + ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > SAL_CALL createCatalog(); + }; } } diff --git a/connectivity/source/drivers/mork/MDriver.cxx b/connectivity/source/drivers/mork/MDriver.cxx index d91d624..04fdc16 100644 --- a/connectivity/source/drivers/mork/MDriver.cxx +++ b/connectivity/source/drivers/mork/MDriver.cxx @@ -25,9 +25,11 @@ namespace connectivity } MorkDriver::MorkDriver(css::uno::Reference< css::uno::XComponentContext > const context): - context_(context) + context_(context), + m_xFactory(context_->getServiceManager(), css::uno::UNO_QUERY) { SAL_INFO("connectivity.mork", "=> MorkDriver::MorkDriver()" ); +// css::uno::Reference< com::sun::star::lang::XMultiServiceFactory > xServiceFactory(; m_ProfileAccess = new ProfileAccess(); assert(context.is()); } diff --git a/connectivity/source/drivers/mork/MDriver.hxx b/connectivity/source/drivers/mork/MDriver.hxx index 112aa36..722bb92 100644 --- a/connectivity/source/drivers/mork/MDriver.hxx +++ b/connectivity/source/drivers/mork/MDriver.hxx @@ -25,6 +25,7 @@ #include "com/sun/star/uno/RuntimeException.hpp" #include "com/sun/star/uno/Sequence.hxx" #include "com/sun/star/uno/XComponentContext.hpp" +#include <com/sun/star/lang/XMultiServiceFactory.hpp> #include "cppuhelper/implbase2.hxx" #include "cppuhelper/weak.hxx" #include "rtl/ustring.hxx" @@ -57,6 +58,8 @@ public: throw(css::uno::RuntimeException); static css::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static() throw (css::uno::RuntimeException); + + css::uno::Reference< com::sun::star::lang::XMultiServiceFactory > getFactory(){return m_xFactory;} private: ProfileAccess* m_ProfileAccess; @@ -93,6 +96,7 @@ private: throw (css::uno::RuntimeException); css::uno::Reference< css::uno::XComponentContext > context_; + css::uno::Reference< com::sun::star::lang::XMultiServiceFactory > m_xFactory; }; } } diff --git a/connectivity/source/drivers/mork/MStatement.cxx b/connectivity/source/drivers/mork/MStatement.cxx index 669121f..9b23410 100644 --- a/connectivity/source/drivers/mork/MStatement.cxx +++ b/connectivity/source/drivers/mork/MStatement.cxx @@ -76,17 +76,13 @@ OCommonStatement::OCommonStatement(OConnection* _pConnection ) ,OCommonStatement_SBASE((::cppu::OWeakObject*)_pConnection, this) ,m_pTable(NULL) ,m_pConnection(_pConnection) -// ,m_aParser(NULL)//_pConnection->getDriver()->getMSFactory()) - // TODO + ,m_aParser(_pConnection->getDriver()->getFactory()) + ,m_pSQLIterator( new OSQLParseTreeIterator( _pConnection, _pConnection->createCatalog()->getTables(), m_aParser, NULL ) ) ,rBHelper(OCommonStatement_IBASE::rBHelper) { SAL_INFO("connectivity.mork", "=> OCommonStatement::OCommonStatement()" ); m_xDBMetaData = _pConnection->getMetaData(); - m_pParseTree = NULL; - - //m_pSQLIterator = ( new OSQLParseTreeIterator( _pConnection, _pConnection->getMorkDriver()->getTables(), m_aParser, NULL ) ) - m_pConnection->acquire(); } @@ -194,11 +190,10 @@ OCommonStatement::StatementType OCommonStatement::parseSql( const ::rtl::OUStrin throw ( SQLException, RuntimeException ) { SAL_INFO("connectivity.mork", "=> OCommonStatement::parseSql()" ); - SAL_WARN("connectivity.mork", "m_aParser is not set!"); ::rtl::OUString aErr; - m_pParseTree = NULL;//m_aParser.parseTree(aErr,sql); + m_pParseTree = m_aParser.parseTree(aErr,sql); #if OSL_DEBUG_LEVEL > 0 { diff --git a/connectivity/source/drivers/mork/MStatement.hxx b/connectivity/source/drivers/mork/MStatement.hxx index 212b8e1..8fb3c08 100644 --- a/connectivity/source/drivers/mork/MStatement.hxx +++ b/connectivity/source/drivers/mork/MStatement.hxx @@ -82,7 +82,7 @@ namespace connectivity OValueRow m_aRow; -// connectivity::OSQLParser m_aParser; + connectivity::OSQLParser m_aParser; ::boost::shared_ptr< ::connectivity::OSQLParseTreeIterator > m_pSQLIterator; diff --git a/connectivity/source/drivers/mork/MTables.cxx b/connectivity/source/drivers/mork/MTables.cxx new file mode 100644 index 0000000..725f665 --- /dev/null +++ b/connectivity/source/drivers/mork/MTables.cxx @@ -0,0 +1,86 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#include "MTables.hxx" +#include "MTable.hxx" +#include <com/sun/star/sdbc/XRow.hpp> +#include <com/sun/star/sdbc/XResultSet.hpp> +#include <com/sun/star/sdbc/ColumnValue.hpp> +#include <com/sun/star/sdbc/KeyRule.hpp> +#include <com/sun/star/sdbcx/KeyType.hpp> +#include "MCatalog.hxx" +#include "MConnection.hxx" +#include <comphelper/extract.hxx> +#include "connectivity/dbtools.hxx" +#include "connectivity/dbexception.hxx" +#include <cppuhelper/interfacecontainer.h> +#include <comphelper/types.hxx> + +using namespace ::comphelper; +using namespace connectivity; +using namespace ::cppu; +using namespace connectivity::mork; +using namespace ::com::sun::star::uno; +using namespace ::com::sun::star::beans; +using namespace ::com::sun::star::sdbcx; +using namespace ::com::sun::star::sdbc; +using namespace ::com::sun::star::container; +using namespace ::com::sun::star::lang; +using namespace dbtools; + +sdbcx::ObjectType OTables::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("%")); + + 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 + { + OTable* pRet = new OTable( this, static_cast<OCatalog&>(m_rParent).getConnection(), + aName,xRow->getString(4),xRow->getString(5)); + xRet = pRet; + } + } + ::comphelper::disposeComponent(xResult); + + return xRet; +} +// ------------------------------------------------------------------------- +void OTables::impl_refresh( ) throw(RuntimeException) +{ + static_cast<OCatalog&>(m_rParent).refreshTables(); +} +// ------------------------------------------------------------------------- +void OTables::disposing(void) +{ +m_xMetaData.clear(); + OCollection::disposing(); +} +// ----------------------------------------------------------------------------- + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/connectivity/source/drivers/mork/MTables.hxx b/connectivity/source/drivers/mork/MTables.hxx new file mode 100644 index 0000000..440f954 --- /dev/null +++ b/connectivity/source/drivers/mork/MTables.hxx @@ -0,0 +1,48 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ +#ifndef _CONNECTIVITY_MOZAB_TABLES_HXX_ +#define _CONNECTIVITY_MOZAB_TABLES_HXX_ + +#include "connectivity/sdbcx/VCollection.hxx" +#include <com/sun/star/sdbc/XDatabaseMetaData.hpp> +namespace connectivity +{ + namespace mork + { + class OTables : public sdbcx::OCollection + { + ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData; + // OCatalog* m_pParent; + protected: + virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName); + virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException); + public: + OTables(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) + {} + + // only the name is identical to ::cppu::OComponentHelper + virtual void SAL_CALL disposing(void); + }; + } +} +#endif // _CONNECTIVITY_MOZAB_TABLES_HXX_ + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ _______________________________________________ Libreoffice-commits mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
