summaryrefslogtreecommitdiff
path: root/connectivity/source/inc/adabas
diff options
context:
space:
mode:
Diffstat (limited to 'connectivity/source/inc/adabas')
-rw-r--r--connectivity/source/inc/adabas/BCatalog.hxx77
-rw-r--r--connectivity/source/inc/adabas/BColumn.hxx54
-rw-r--r--connectivity/source/inc/adabas/BColumns.hxx61
-rw-r--r--connectivity/source/inc/adabas/BConnection.hxx78
-rw-r--r--connectivity/source/inc/adabas/BDatabaseMetaData.hxx55
-rw-r--r--connectivity/source/inc/adabas/BDriver.hxx177
-rw-r--r--connectivity/source/inc/adabas/BGroup.hxx50
-rw-r--r--connectivity/source/inc/adabas/BGroups.hxx66
-rw-r--r--connectivity/source/inc/adabas/BIndex.hxx58
-rw-r--r--connectivity/source/inc/adabas/BIndexColumn.hxx58
-rw-r--r--connectivity/source/inc/adabas/BIndexColumns.hxx58
-rw-r--r--connectivity/source/inc/adabas/BIndexes.hxx58
-rw-r--r--connectivity/source/inc/adabas/BKeys.hxx55
-rw-r--r--connectivity/source/inc/adabas/BPreparedStatement.hxx52
-rw-r--r--connectivity/source/inc/adabas/BResultSet.hxx60
-rw-r--r--connectivity/source/inc/adabas/BResultSetMetaData.hxx56
-rw-r--r--connectivity/source/inc/adabas/BStatement.hxx62
-rw-r--r--connectivity/source/inc/adabas/BTable.hxx110
-rw-r--r--connectivity/source/inc/adabas/BTables.hxx80
-rw-r--r--connectivity/source/inc/adabas/BUser.hxx82
-rw-r--r--connectivity/source/inc/adabas/BUsers.hxx66
-rw-r--r--connectivity/source/inc/adabas/BViews.hxx64
22 files changed, 1537 insertions, 0 deletions
diff --git a/connectivity/source/inc/adabas/BCatalog.hxx b/connectivity/source/inc/adabas/BCatalog.hxx
new file mode 100644
index 000000000000..1a74d368311a
--- /dev/null
+++ b/connectivity/source/inc/adabas/BCatalog.hxx
@@ -0,0 +1,77 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_CATALOG_HXX_
+#define _CONNECTIVITY_ADABAS_CATALOG_HXX_
+
+#include "connectivity/sdbcx/VCatalog.hxx"
+#include "odbc/OFunctiondefs.hxx"
+#include "connectivity/StdTypeDefs.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ // 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 OAdabasConnection;
+ class OAdabasCatalog : public connectivity::sdbcx::OCatalog
+ {
+ OAdabasConnection* m_pConnection; // used to get the metadata
+ SQLHANDLE m_aConnectionHdl; // used for odbc specific stuff
+
+ void fillVector(const ::rtl::OUString& _sQuery,TStringVector& _rVector);
+
+ protected:
+ /** builds the name which should be used to access the object later on in the collection.
+ Will only be called in fillNames.
+ @param _xRow
+ The cuurent row from a call of XDatabaseMetaData::getTables.
+ */
+ virtual ::rtl::OUString buildName( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRow >& _xRow);
+ public:
+ // implementation of the pure virtual methods
+ virtual void refreshTables();
+ virtual void refreshViews() ;
+ virtual void refreshGroups();
+ virtual void refreshUsers() ;
+
+ public:
+ OAdabasCatalog(SQLHANDLE _aConnectionHdl,OAdabasConnection* _pCon);
+
+ OAdabasConnection* getConnection() const { return m_pConnection; }
+ sdbcx::OCollection* getPrivateTables() const { return m_pTables;}
+ sdbcx::OCollection* getPrivateViews() const { return m_pViews; }
+
+ static const ::rtl::OUString& getDot();
+ // correct the the column properties of float/real/double values
+ // all & parameters are IN and OUT
+ static void correctColumnProperties(sal_Int32 _nPrec, sal_Int32& _rnType,::rtl::OUString& _rsTypeName);
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_CATALOG_HXX_
+
diff --git a/connectivity/source/inc/adabas/BColumn.hxx b/connectivity/source/inc/adabas/BColumn.hxx
new file mode 100644
index 000000000000..bfe036b5c858
--- /dev/null
+++ b/connectivity/source/inc/adabas/BColumn.hxx
@@ -0,0 +1,54 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_COLUMN_HXX_
+#define _CONNECTIVITY_ADABAS_COLUMN_HXX_
+
+#include "connectivity/sdbcx/VColumn.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OAdabasColumn : public sdbcx::OColumn
+ {
+ public:
+ OAdabasColumn();
+ OAdabasColumn(const ::rtl::OUString& _Name,
+ const ::rtl::OUString& _TypeName,
+ const ::rtl::OUString& _DefaultValue,
+ sal_Int32 _IsNullable,
+ sal_Int32 _Precision,
+ sal_Int32 _Scale,
+ sal_Int32 _Type,
+ sal_Bool _IsAutoIncrement);
+
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_COLUMN_HXX_
+
diff --git a/connectivity/source/inc/adabas/BColumns.hxx b/connectivity/source/inc/adabas/BColumns.hxx
new file mode 100644
index 000000000000..404f07d740e6
--- /dev/null
+++ b/connectivity/source/inc/adabas/BColumns.hxx
@@ -0,0 +1,61 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_COLUMNS_HXX_
+#define _CONNECTIVITY_ADABAS_COLUMNS_HXX_
+
+#include "connectivity/sdbcx/VCollection.hxx"
+#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
+#include "connectivity/sdbcx/IRefreshable.hxx"
+#include "adabas/BTable.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OColumns : public sdbcx::OCollection
+ {
+ protected:
+ OAdabasTable* m_pTable;
+
+ virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName);
+ virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createDescriptor();
+ virtual sdbcx::ObjectType appendObject( const ::rtl::OUString& _rForName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+ virtual void dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName);
+ public:
+ OColumns( OAdabasTable* _pTable,
+ ::osl::Mutex& _rMutex,
+ const TStringVector &_rVector
+ ) : sdbcx::OCollection(*_pTable,sal_True,_rMutex,_rVector)
+ ,m_pTable(_pTable)
+ {}
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_COLUMNS_HXX_
+
diff --git a/connectivity/source/inc/adabas/BConnection.hxx b/connectivity/source/inc/adabas/BConnection.hxx
new file mode 100644
index 000000000000..678eb2e61049
--- /dev/null
+++ b/connectivity/source/inc/adabas/BConnection.hxx
@@ -0,0 +1,78 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_BCONNECTION_HXX_
+#define _CONNECTIVITY_ADABAS_BCONNECTION_HXX_
+
+#include <cppuhelper/compbase2.hxx>
+#include "odbc/OConnection.hxx"
+#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
+#include <cppuhelper/weakref.hxx>
+#include <vos/ref.hxx>
+
+namespace connectivity
+{
+ namespace odbc
+ {
+ class ODBCDriver;
+ }
+ namespace adabas
+ {
+ typedef connectivity::odbc::OConnection OConnection_BASE2;
+
+ // we must use the name "OAdabasConnection" because of a compiler bug
+
+ class OAdabasConnection : public OConnection_BASE2
+ {
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::sdbcx::XTablesSupplier> m_xCatalog;
+
+ protected:
+ virtual SQLRETURN openConnectionWithAuth(const ::rtl::OUString& aConnectStr,sal_Int32 nTimeOut, const ::rtl::OUString& _uid,const ::rtl::OUString& _pwd);
+ virtual connectivity::odbc::OConnection* cloneConnection(); // creates a new connection
+ public:
+ virtual SQLRETURN Construct( const ::rtl::OUString& url,const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info) throw(::com::sun::star::sdbc::SQLException);
+
+ OAdabasConnection(const SQLHANDLE _pDriverHandle,connectivity::odbc::ODBCDriver* _pDriver);
+
+ // OComponentHelper;
+ virtual void SAL_CALL disposing();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > createCatalog();
+ 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 ::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);
+
+ //XUnoTunnel
+ virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw (::com::sun::star::uno::RuntimeException);
+ static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
+
+ ::vos::ORef<OSQLColumns> createSelectColumns(const ::rtl::OUString& _rSql);
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_BCONNECTION_HXX_
+
diff --git a/connectivity/source/inc/adabas/BDatabaseMetaData.hxx b/connectivity/source/inc/adabas/BDatabaseMetaData.hxx
new file mode 100644
index 000000000000..bae7de19f4a3
--- /dev/null
+++ b/connectivity/source/inc/adabas/BDatabaseMetaData.hxx
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#include "odbc/ODatabaseMetaData.hxx"
+
+namespace connectivity
+{
+ namespace odbc
+ {
+ class OConnection;
+ }
+ namespace adabas
+ {
+ typedef odbc::ODatabaseMetaData OAdabasDatabaseMetaData_BASE;
+
+ class OAdabasDatabaseMetaData : public OAdabasDatabaseMetaData_BASE
+ {
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > impl_getTypeInfo_throw();
+ public:
+ OAdabasDatabaseMetaData(const SQLHANDLE _pHandle,odbc::OConnection* _pCon)
+ : ODatabaseMetaData(_pHandle,_pCon)
+ {
+ }
+
+ // just to return our url
+ virtual ::rtl::OUString SAL_CALL getURL( ) 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);
+ };
+ }
+}
+
diff --git a/connectivity/source/inc/adabas/BDriver.hxx b/connectivity/source/inc/adabas/BDriver.hxx
new file mode 100644
index 000000000000..3b73da08cc6f
--- /dev/null
+++ b/connectivity/source/inc/adabas/BDriver.hxx
@@ -0,0 +1,177 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_BDRIVER_HXX_
+#define _CONNECTIVITY_ADABAS_BDRIVER_HXX_
+
+#include <com/sun/star/sdbc/XDriver.hpp>
+#include <com/sun/star/sdbcx/XDataDefinitionSupplier.hpp>
+#include <com/sun/star/sdbcx/XTablesSupplier.hpp>
+#include <com/sun/star/sdbcx/XCreateCatalog.hpp>
+#include <com/sun/star/sdbcx/XDropCatalog.hpp>
+
+#include <com/sun/star/lang/XEventListener.hpp>
+
+//#include <unotools/tempfile.hxx>
+#include <cppuhelper/implbase4.hxx>
+#include "odbc/OFunctiondefs.hxx"
+#include "odbc/ODriver.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL ODriver_CreateInstance(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception );
+
+ typedef ::cppu::ImplHelper4< ::com::sun::star::sdbcx::XCreateCatalog,
+ ::com::sun::star::sdbcx::XDataDefinitionSupplier,
+ ::com::sun::star::lang::XEventListener,
+ ::com::sun::star::sdbcx::XDropCatalog> ODriver_BASE2;
+
+ typedef odbc::ODBCDriver ODriver_BASE;
+
+ class ODriver : public ODriver_BASE,
+ public ODriver_BASE2
+ {
+ typedef struct DatabaseStruct
+ {
+ ::rtl::OUString sControlUser;
+ ::rtl::OUString sControlPassword;
+ ::rtl::OUString sSysUser;
+ ::rtl::OUString sSysPassword;
+ ::rtl::OUString sDomainPassword;
+ ::rtl::OUString sCacheSize;
+ ::rtl::OUString sBackupFile;
+ ::rtl::OUString sDataDevName;
+ ::rtl::OUString sSysDevSpace;
+ ::rtl::OUString sTransLogName;
+ ::rtl::OUString sDBName;
+ sal_Int32 nDataIncrement; // which size the database should grow
+ sal_Int32 nDataSize;
+ sal_Int32 nLogSize;
+ sal_Bool bShutDown;
+ sal_Bool bRestoreDatabase;
+
+ DatabaseStruct() : nDataIncrement(0),nDataSize(0),nLogSize(0),bShutDown(sal_False),bRestoreDatabase(sal_False){ }
+ } TDatabaseStruct;
+
+ DECLARE_STL_USTRINGACCESS_MAP(TDatabaseStruct,TDatabaseMap);
+ TDatabaseMap m_aDatabaseMap; // contains all adabas databases with their flag to shut down or not
+
+ // environment vars
+ ::rtl::OUString m_sDbWork;
+ ::rtl::OUString m_sDbConfig;
+ ::rtl::OUString m_sDbRoot;
+ ::rtl::OUString m_sDbWorkURL;
+ ::rtl::OUString m_sDbConfigURL;
+ ::rtl::OUString m_sDbRootURL;
+ ::rtl::OUString m_sDbRunDir;
+ ::rtl::OUString m_sDelimit;
+
+ void checkAndInsertNewDevSpace(const ::rtl::OUString& _rDBName,const TDatabaseStruct& _rDBInfo);
+ void checkAndRestart(const ::rtl::OUString& _rDBName,const TDatabaseStruct& _rDbInfo);
+ void X_CONS(const ::rtl::OUString& _DBNAME,const ::rtl::OString& _ACTION,const ::rtl::OUString& _FILENAME);
+ sal_Bool getDBName(const ::rtl::OUString& _rName,::rtl::OUString& _rDBName) const;
+ ::rtl::OUString getDatabaseInitFile( const TDatabaseStruct& _aInfo);
+ ::rtl::OUString generateInitFile() const;
+ void fillEnvironmentVariables();
+ void fillInfo(const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info, TDatabaseStruct& _rDBInfo /*out*/);
+ void LoadBatch(const ::rtl::OUString& _rDBNAME,
+ const ::rtl::OUString& _rUSR,
+ const ::rtl::OUString& _rPWD,
+ const ::rtl::OUString& _rBatch);
+ void XUTIL(const ::rtl::OUString& _rParam,
+ const ::rtl::OUString& _DBNAME,
+ const ::rtl::OUString& _USRNAME,
+ const ::rtl::OUString& _USRPWD);
+ int X_STOP(const ::rtl::OUString& _DBNAME);
+ int X_START(const ::rtl::OUString& _DBNAME);
+ void createDb(const TDatabaseStruct& _aInfo);
+ void clearDatabase(const ::rtl::OUString& _rDBName);
+ int X_PARAM(const ::rtl::OUString& _DBNAME,
+ const ::rtl::OUString& _USR,
+ const ::rtl::OUString& _PWD,
+ const ::rtl::OUString& _CMD);
+ sal_Int32 CreateFiles(const TDatabaseStruct& _aInfo);
+ sal_Bool CreateFile(const ::rtl::OUString &_FileName,
+ sal_Int32 _nSize);
+ void PutParam(const ::rtl::OUString& rDBNAME,
+ const ::rtl::OUString& rWhat,
+ const ::rtl::OUString& rHow);
+ void createNeededDirs( const ::rtl::OUString& _rDBName);
+ sal_Bool isKernelVersion(const char* _pVersion);
+ sal_Bool isVersion( const ::rtl::OUString& _rDBName,
+ const char* _pVersion);
+
+ void convertOldVersion( const ::rtl::OUString& _rDBName,
+ const TDatabaseStruct& _rDbInfo);
+
+ void installSystemTables( const TDatabaseStruct& _aInfo);
+
+ protected:
+ virtual SQLHANDLE EnvironmentHandle(::rtl::OUString &_rPath);
+ virtual ~ODriver();
+ public:
+ explicit ODriver(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory);
+
+ // XInterface
+ static ::rtl::OUString getImplementationName_Static( ) throw(::com::sun::star::uno::RuntimeException);
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static( ) throw (::com::sun::star::uno::RuntimeException);
+ private:
+ DECLARE_SERVICE_INFO();
+
+ virtual oslGenericFunction getOdbcFunction(sal_Int32 _nIndex) const;
+ // OComponentHelper
+ virtual void SAL_CALL disposing(void);
+ 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();
+
+ // XDriver
+ ::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);
+
+ // XDataDefinitionSupplier
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > SAL_CALL getDataDefinitionByConnection( const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& connection ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XTablesSupplier > SAL_CALL getDataDefinitionByURL( 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);
+
+ // XCreateCatalog
+ virtual void SAL_CALL createCatalog( const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::container::ElementExistException, ::com::sun::star::uno::RuntimeException);
+ // XDropCatalog
+ virtual void SAL_CALL dropCatalog( const ::rtl::OUString& catalogName, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& info ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
+ // XEventListener
+ virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& Source ) throw(::com::sun::star::uno::RuntimeException);
+ };
+ }
+
+}
+#endif //_CONNECTIVITY_ADABAS_BDRIVER_HXX_
+
+
diff --git a/connectivity/source/inc/adabas/BGroup.hxx b/connectivity/source/inc/adabas/BGroup.hxx
new file mode 100644
index 000000000000..58358b579dcf
--- /dev/null
+++ b/connectivity/source/inc/adabas/BGroup.hxx
@@ -0,0 +1,50 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_GROUP_HXX_
+#define _CONNECTIVITY_ADABAS_GROUP_HXX_
+
+#include "connectivity/sdbcx/VGroup.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OAdabasConnection;
+ class OAdabasGroup : public sdbcx::OGroup
+ {
+ OAdabasConnection* m_pConnection;
+ public:
+ virtual void refreshUsers();
+ public:
+ OAdabasGroup( OAdabasConnection* _pConnection);
+ OAdabasGroup( OAdabasConnection* _pConnection,const ::rtl::OUString& _Name);
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_GROUP_HXX_
+
diff --git a/connectivity/source/inc/adabas/BGroups.hxx b/connectivity/source/inc/adabas/BGroups.hxx
new file mode 100644
index 000000000000..33888d4cbefb
--- /dev/null
+++ b/connectivity/source/inc/adabas/BGroups.hxx
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_GROUPS_HXX_
+#define _CONNECTIVITY_ADABAS_GROUPS_HXX_
+
+#include "connectivity/sdbcx/VCollection.hxx"
+namespace connectivity
+{
+ namespace sdbcx
+ {
+ class IRefreshableGroups;
+ }
+ namespace adabas
+ {
+ class OAdabasConnection;
+ class OGroups : public sdbcx::OCollection
+ {
+ protected:
+ OAdabasConnection* m_pConnection;
+ connectivity::sdbcx::IRefreshableGroups* m_pParent;
+
+ virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName);
+ virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createDescriptor();
+ virtual sdbcx::ObjectType appendObject( const ::rtl::OUString& _rForName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+ virtual void dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName);
+ public:
+ OGroups(::cppu::OWeakObject& _rParent,
+ ::osl::Mutex& _rMutex,
+ const TStringVector &_rVector,
+ OAdabasConnection* _pConnection,
+ connectivity::sdbcx::IRefreshableGroups* _pParent) : sdbcx::OCollection(_rParent,sal_True,_rMutex,_rVector)
+ ,m_pConnection(_pConnection)
+ ,m_pParent(_pParent)
+ {}
+ };
+ }
+}
+
+#endif // _CONNECTIVITY_ADABAS_GROUPS_HXX_
+
diff --git a/connectivity/source/inc/adabas/BIndex.hxx b/connectivity/source/inc/adabas/BIndex.hxx
new file mode 100644
index 000000000000..0725d29d0cd6
--- /dev/null
+++ b/connectivity/source/inc/adabas/BIndex.hxx
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_INDEX_HXX_
+#define _CONNECTIVITY_ADABAS_INDEX_HXX_
+
+#include "connectivity/sdbcx/VIndex.hxx"
+#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OAdabasTable;
+ class OAdabasIndex : public sdbcx::OIndex
+ {
+ OAdabasTable* m_pTable;
+ public:
+ virtual void refreshColumns();
+ public:
+ OAdabasIndex(OAdabasTable* _pTable);
+ OAdabasIndex( OAdabasTable* _pTable,
+ const ::rtl::OUString& _Name,
+ const ::rtl::OUString& _Catalog,
+ sal_Bool _isUnique,
+ sal_Bool _isPrimaryKeyIndex,
+ sal_Bool _isClustered
+ );
+ OAdabasTable* getTable() const { return m_pTable; }
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_INDEX_HXX_
+
diff --git a/connectivity/source/inc/adabas/BIndexColumn.hxx b/connectivity/source/inc/adabas/BIndexColumn.hxx
new file mode 100644
index 000000000000..b422ced8c337
--- /dev/null
+++ b/connectivity/source/inc/adabas/BIndexColumn.hxx
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_INDEXCOLUMN_HXX_
+#define _CONNECTIVITY_ADABAS_INDEXCOLUMN_HXX_
+
+#include "adabas/BColumn.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OIndexColumn : public OAdabasColumn
+ {
+ protected:
+ sal_Bool m_IsAscending;
+ public:
+ OIndexColumn();
+ OIndexColumn( sal_Bool _IsAscending,
+ const ::rtl::OUString& _Name,
+ const ::rtl::OUString& _TypeName,
+ const ::rtl::OUString& _DefaultValue,
+ sal_Int32 _IsNullable,
+ sal_Int32 _Precision,
+ sal_Int32 _Scale,
+ sal_Int32 _Type,
+ sal_Bool _IsAutoIncrement);
+
+ virtual void construct();
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_INDEXCOLUMN_HXX_
+
diff --git a/connectivity/source/inc/adabas/BIndexColumns.hxx b/connectivity/source/inc/adabas/BIndexColumns.hxx
new file mode 100644
index 000000000000..ca85d71155e8
--- /dev/null
+++ b/connectivity/source/inc/adabas/BIndexColumns.hxx
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_INDEXCOLUMNS_HXX_
+#define _CONNECTIVITY_ADABAS_INDEXCOLUMNS_HXX_
+
+#include "connectivity/sdbcx/VCollection.hxx"
+#include "adabas/BIndex.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OIndexColumns : public sdbcx::OCollection
+ {
+ OAdabasIndex* m_pIndex;
+ protected:
+ virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createDescriptor();
+ virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException);
+ virtual sdbcx::ObjectType appendObject( const ::rtl::OUString& _rForName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+ public:
+ OIndexColumns( OAdabasIndex* _pIndex,
+ ::osl::Mutex& _rMutex,
+ const TStringVector &_rVector)
+ : sdbcx::OCollection(*_pIndex,sal_True,_rMutex,_rVector)
+ ,m_pIndex(_pIndex)
+ {
+ }
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_INDEXCOLUMNS_HXX_
+
diff --git a/connectivity/source/inc/adabas/BIndexes.hxx b/connectivity/source/inc/adabas/BIndexes.hxx
new file mode 100644
index 000000000000..3a00416a4605
--- /dev/null
+++ b/connectivity/source/inc/adabas/BIndexes.hxx
@@ -0,0 +1,58 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_INDEXES_HXX_
+#define _CONNECTIVITY_ADABAS_INDEXES_HXX_
+
+#include "connectivity/sdbcx/VCollection.hxx"
+#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
+#include "adabas/BTable.hxx"
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OIndexes : public sdbcx::OCollection
+ {
+ OAdabasTable* m_pTable;
+ protected:
+ virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName);
+ virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createDescriptor();
+ virtual sdbcx::ObjectType appendObject( const ::rtl::OUString& _rForName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+ virtual void dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName);
+ public:
+ OIndexes(OAdabasTable* _pTable,
+ ::osl::Mutex& _rMutex,
+ const TStringVector &_rVector
+ ) : sdbcx::OCollection(*_pTable,sal_True,_rMutex,_rVector)
+ ,m_pTable(_pTable)
+ {}
+ };
+ }
+}
+
+#endif // _CONNECTIVITY_ADABAS_INDEXES_HXX_
+
diff --git a/connectivity/source/inc/adabas/BKeys.hxx b/connectivity/source/inc/adabas/BKeys.hxx
new file mode 100644
index 000000000000..6ed97dd2e58e
--- /dev/null
+++ b/connectivity/source/inc/adabas/BKeys.hxx
@@ -0,0 +1,55 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_KEYS_HXX_
+#define _CONNECTIVITY_ADABAS_KEYS_HXX_
+
+#include "connectivity/TKeys.hxx"
+#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
+#include "adabas/BTable.hxx"
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OKeys : public OKeysHelper
+ {
+ protected:
+ virtual sdbcx::ObjectType appendObject( const ::rtl::OUString& _rForName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+
+ virtual ::rtl::OUString getDropForeignKey() const;
+ public:
+ OKeys(OAdabasTable* _pTable,
+ ::osl::Mutex& _rMutex,
+ const TStringVector &_rVector
+ ) : OKeysHelper(_pTable,_rMutex,_rVector)
+ {}
+ };
+ }
+}
+
+#endif // _CONNECTIVITY_ADABAS_KEYS_HXX_
+
diff --git a/connectivity/source/inc/adabas/BPreparedStatement.hxx b/connectivity/source/inc/adabas/BPreparedStatement.hxx
new file mode 100644
index 000000000000..a5cfac1666e4
--- /dev/null
+++ b/connectivity/source/inc/adabas/BPreparedStatement.hxx
@@ -0,0 +1,52 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_PREPAREDSTATEMENT_HXX
+#define CONNECTIVITY_ADABAS_PREPAREDSTATEMENT_HXX
+
+#include "odbc/OPreparedStatement.hxx"
+#include "adabas/BConnection.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OAdabasPreparedStatement : public ::connectivity::odbc::OPreparedStatement
+ {
+ ::vos::ORef<OSQLColumns> m_aSelectColumns;
+ protected:
+ virtual odbc::OResultSet* createResulSet();
+ virtual void setResultSetConcurrency(sal_Int32 _par0) ;
+ virtual void setResultSetType(sal_Int32 _par0) ;
+ virtual void setUsingBookmarks(sal_Bool _bUseBookmark) ;
+ public:
+ OAdabasPreparedStatement( OAdabasConnection* _pConnection,const ::rtl::OUString& sql);
+ };
+ }
+}
+
+#endif // CONNECTIVITY_ADABAS_PREPAREDSTATEMENT_HXX
+
diff --git a/connectivity/source/inc/adabas/BResultSet.hxx b/connectivity/source/inc/adabas/BResultSet.hxx
new file mode 100644
index 000000000000..46dbf5684484
--- /dev/null
+++ b/connectivity/source/inc/adabas/BResultSet.hxx
@@ -0,0 +1,60 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_RESULTSET_HXX
+#define CONNECTIVITY_ADABAS_RESULTSET_HXX
+
+#include "odbc/OResultSet.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OAdabasResultSet : public ::connectivity::odbc::OResultSet
+ {
+ ::vos::ORef<OSQLColumns> m_aSelectColumns;
+ public:
+ OAdabasResultSet(SQLHANDLE _pStatementHandle,::connectivity::odbc::OStatement_Base* pStmt,const ::vos::ORef<OSQLColumns>& _rSelectColumns)
+ : ::connectivity::odbc::OResultSet( _pStatementHandle,pStmt)
+ ,m_aSelectColumns(_rSelectColumns)
+ {}
+
+ // 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);
+
+ virtual sal_Bool SAL_CALL next( ) 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_Bool SAL_CALL absolute( sal_Int32 row ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL relative( sal_Int32 rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL previous( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL refreshRow( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ };
+ }
+}
+
+#endif // CONNECTIVITY_ADABAS_RESULTSET_HXX
+
diff --git a/connectivity/source/inc/adabas/BResultSetMetaData.hxx b/connectivity/source/inc/adabas/BResultSetMetaData.hxx
new file mode 100644
index 000000000000..1cbb328bcf1e
--- /dev/null
+++ b/connectivity/source/inc/adabas/BResultSetMetaData.hxx
@@ -0,0 +1,56 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_RESULTSETMETADATA_HXX
+#define CONNECTIVITY_ADABAS_RESULTSETMETADATA_HXX
+
+#include "odbc/OResultSetMetaData.hxx"
+#include <vos/ref.hxx>
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ //**************************************************************
+ //************ Class: ResultSetMetaData
+ //**************************************************************
+
+ typedef odbc::OResultSetMetaData OAdabasResultSetMetaData_BASE;
+ class OAdabasResultSetMetaData : public OAdabasResultSetMetaData_BASE
+ {
+ ::vos::ORef<OSQLColumns> m_aSelectColumns;
+ public:
+ // ein Konstruktor, der fuer das Returnen des Objektes benoetigt wird:
+ OAdabasResultSetMetaData(odbc::OConnection* _pConnection, SQLHANDLE _pStmt ,const ::vos::ORef<OSQLColumns>& _rSelectColumns);
+ virtual ~OAdabasResultSetMetaData();
+
+ virtual sal_Int32 SAL_CALL getColumnType( 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 isAutoIncrement( sal_Int32 column ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ };
+ }
+}
+#endif // CONNECTIVITY_ADABAS_RESULTSETMETADATA_HXX
diff --git a/connectivity/source/inc/adabas/BStatement.hxx b/connectivity/source/inc/adabas/BStatement.hxx
new file mode 100644
index 000000000000..abd8f93ef395
--- /dev/null
+++ b/connectivity/source/inc/adabas/BStatement.hxx
@@ -0,0 +1,62 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_STATEMENT_HXX
+#define CONNECTIVITY_ADABAS_STATEMENT_HXX
+
+#include "odbc/OStatement.hxx"
+#include "adabas/BConnection.hxx"
+#ifndef _CONNECTIVITY_COMMONTOOLS_HXX_
+#include "connectivity/commontools.hxx"
+#endif
+#include <vos/ref.hxx>
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OAdabasStatement : public ::connectivity::odbc::OStatement
+ {
+ OAdabasConnection* m_pOwnConnection;
+ ::vos::ORef<OSQLColumns> m_aSelectColumns;
+ protected:
+ virtual odbc::OResultSet* createResulSet();
+ virtual void setResultSetConcurrency(sal_Int32 _par0);
+ virtual void setResultSetType(sal_Int32 _par0) ;
+ virtual void setUsingBookmarks(sal_Bool _bUseBookmark);
+ public:
+ OAdabasStatement( OAdabasConnection* _pConnection)
+ : ::connectivity::odbc::OStatement( _pConnection )
+ ,m_pOwnConnection(_pConnection)
+ {}
+
+ virtual sal_Bool SAL_CALL execute( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ };
+ }
+}
+
+#endif // CONNECTIVITY_ADABAS_STATEMENT_HXX
+
diff --git a/connectivity/source/inc/adabas/BTable.hxx b/connectivity/source/inc/adabas/BTable.hxx
new file mode 100644
index 000000000000..750f48093da1
--- /dev/null
+++ b/connectivity/source/inc/adabas/BTable.hxx
@@ -0,0 +1,110 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_TABLE_HXX_
+#define _CONNECTIVITY_ADABAS_TABLE_HXX_
+
+#include "connectivity/sdbcx/VTable.hxx"
+#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
+#include "adabas/BConnection.hxx"
+#include "connectivity/TTableHelper.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ typedef connectivity::OTableHelper OTable_TYPEDEF;
+
+ ::rtl::OUString getTypeString(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xColProp);
+
+ class OAdabasTable : public OTableHelper
+ {
+ OAdabasConnection* m_pConnection;
+ protected:
+ /** creates the column collection for the table
+ @param _rNames
+ The column names.
+ */
+ virtual sdbcx::OCollection* createColumns(const TStringVector& _rNames);
+
+ /** creates the key collection for the table
+ @param _rNames
+ The key names.
+ */
+ virtual sdbcx::OCollection* createKeys(const TStringVector& _rNames);
+
+ /** creates the index collection for the table
+ @param _rNames
+ The index names.
+ */
+ virtual sdbcx::OCollection* createIndexes(const TStringVector& _rNames);
+
+ public:
+ OAdabasTable( sdbcx::OCollection* _pTables,
+ OAdabasConnection* _pConnection);
+ OAdabasTable( sdbcx::OCollection* _pTables,
+ OAdabasConnection* _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()
+ );
+
+ ::rtl::OUString getTableName() const { return m_Name; }
+ ::rtl::OUString getSchema() const { return m_SchemaName; }
+
+ // com::sun::star::lang::XUnoTunnel
+ virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
+ static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
+
+ // XAlterTable
+ virtual void SAL_CALL alterColumnByName( const ::rtl::OUString& colName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::container::NoSuchElementException, ::com::sun::star::uno::RuntimeException);
+ // XNamed
+ virtual ::rtl::OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException);
+ /**
+ returns the ALTER TABLE XXX COLUMN statement
+ */
+ ::rtl::OUString getAlterTableColumnPart(const ::rtl::OUString& _rsColumnName );
+
+ // starts a sql transaaction
+ void beginTransAction();
+ // rolls back a sql transaaction
+ void rollbackTransAction();
+ // ends a sql transaaction
+ void endTransAction();
+ // some methods to alter table structures
+ void alterColumnType(const ::rtl::OUString& _rColName,const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _xDescriptor);
+ void alterNotNullValue(sal_Int32 _nNewNullable,const ::rtl::OUString& _rColName);
+ void alterDefaultValue(const ::rtl::OUString& _sNewDefault,const ::rtl::OUString& _rColName);
+ void dropDefaultValue(const ::rtl::OUString& _sNewDefault);
+ void addDefaultValue(const ::rtl::OUString& _sNewDefault,const ::rtl::OUString& _rColName);
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_TABLE_HXX_
+
diff --git a/connectivity/source/inc/adabas/BTables.hxx b/connectivity/source/inc/adabas/BTables.hxx
new file mode 100644
index 000000000000..089cbd082b42
--- /dev/null
+++ b/connectivity/source/inc/adabas/BTables.hxx
@@ -0,0 +1,80 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_TABLES_HXX_
+#define _CONNECTIVITY_ADABAS_TABLES_HXX_
+
+#include "connectivity/sdbcx/VCollection.hxx"
+#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
+namespace connectivity
+{
+ namespace adabas
+ {
+ 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);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createDescriptor();
+ virtual sdbcx::ObjectType appendObject( const ::rtl::OUString& _rForName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+ virtual void dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName);
+
+ void setComments(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ void createTable( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+
+ virtual ::rtl::OUString getNameForObject(const sdbcx::ObjectType& _xObject);
+ 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);
+
+ // XDrop
+ void appendNew(const ::rtl::OUString& _rsNewTable);
+ // some helper functions
+ /**
+ returns a sql string which contains the column definition part for create or alter statements
+ */
+ static ::rtl::OUString getColumnSqlType(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColProp);
+ /**
+ returns the "not null" part or the default part of the table statement
+ */
+ static ::rtl::OUString getColumnSqlNotNullDefault(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColProp);
+ /**
+ returns the corresponding typename
+ can contain () which have to filled with values
+ */
+ static ::rtl::OUString getTypeString(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColProp);
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_TABLES_HXX_
+
diff --git a/connectivity/source/inc/adabas/BUser.hxx b/connectivity/source/inc/adabas/BUser.hxx
new file mode 100644
index 000000000000..d694b950e120
--- /dev/null
+++ b/connectivity/source/inc/adabas/BUser.hxx
@@ -0,0 +1,82 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_USER_HXX_
+#define _CONNECTIVITY_ADABAS_USER_HXX_
+
+#include "connectivity/sdbcx/VUser.hxx"
+
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OAdabasConnection;
+ typedef connectivity::sdbcx::OUser OUser_TYPEDEF;
+
+ class OAdabasUser : public OUser_TYPEDEF
+ {
+ OAdabasConnection* m_pConnection;
+
+ ::rtl::OUString getPrivilegeString(sal_Int32 nRights) const;
+ // return the privileges and additional the grant rights
+ void getAnyTablePrivileges(const ::rtl::OUString& objName, sal_Int32& nRights,sal_Int32& nRightsWithGrant) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ public:
+ virtual void refreshGroups();
+ public:
+ OAdabasUser( OAdabasConnection* _pConnection);
+ OAdabasUser( OAdabasConnection* _pConnection,const ::rtl::OUString& _Name);
+
+ // XUser
+ virtual void SAL_CALL changePassword( const ::rtl::OUString& objPassword, const ::rtl::OUString& newPassword ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ // XAuthorizable
+ virtual sal_Int32 SAL_CALL getPrivileges( const ::rtl::OUString& objName, sal_Int32 objType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual sal_Int32 SAL_CALL getGrantablePrivileges( const ::rtl::OUString& objName, sal_Int32 objType ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL grantPrivileges( const ::rtl::OUString& objName, sal_Int32 objType, sal_Int32 objPrivileges ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL revokePrivileges( const ::rtl::OUString& objName, sal_Int32 objType, sal_Int32 objPrivileges ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException);
+ };
+
+ class OUserExtend;
+ typedef ::comphelper::OPropertyArrayUsageHelper<OUserExtend> OUserExtend_PROP;
+
+ class OUserExtend : public OAdabasUser,
+ public OUserExtend_PROP
+ {
+ protected:
+ ::rtl::OUString m_Password;
+ // OPropertyArrayUsageHelper
+ virtual ::cppu::IPropertyArrayHelper* createArrayHelper() const;
+ // OPropertySetHelper
+ virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper();
+ public:
+ OUserExtend(OAdabasConnection* _pConnection);
+
+ virtual void construct();
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_USER_HXX_
+
diff --git a/connectivity/source/inc/adabas/BUsers.hxx b/connectivity/source/inc/adabas/BUsers.hxx
new file mode 100644
index 000000000000..7f5d588e96ae
--- /dev/null
+++ b/connectivity/source/inc/adabas/BUsers.hxx
@@ -0,0 +1,66 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_USERS_HXX_
+#define _CONNECTIVITY_ADABAS_USERS_HXX_
+
+#include "connectivity/sdbcx/VCollection.hxx"
+namespace connectivity
+{
+ namespace sdbcx
+ {
+ class IRefreshableUsers;
+ }
+ namespace adabas
+ {
+ class OAdabasConnection;
+ class OUsers : public sdbcx::OCollection
+ {
+ OAdabasConnection* m_pConnection;
+ connectivity::sdbcx::IRefreshableUsers* m_pParent;
+ public:
+ virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createDescriptor();
+ virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException);
+ virtual sdbcx::ObjectType appendObject( const ::rtl::OUString& _rForName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+ virtual void dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName);
+ public:
+ OUsers( ::cppu::OWeakObject& _rParent,
+ ::osl::Mutex& _rMutex,
+ const TStringVector &_rVector,
+ OAdabasConnection* _pConnection,
+ connectivity::sdbcx::IRefreshableUsers* _pParent) : sdbcx::OCollection(_rParent,sal_True,_rMutex,_rVector)
+ ,m_pConnection(_pConnection)
+ ,m_pParent(_pParent)
+ {}
+
+ };
+ }
+}
+
+#endif // _CONNECTIVITY_ADABAS_USERS_HXX_
+
diff --git a/connectivity/source/inc/adabas/BViews.hxx b/connectivity/source/inc/adabas/BViews.hxx
new file mode 100644
index 000000000000..cfb0389b28e9
--- /dev/null
+++ b/connectivity/source/inc/adabas/BViews.hxx
@@ -0,0 +1,64 @@
+/*************************************************************************
+ *
+ * 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_ADABAS_VIEWS_HXX_
+#define _CONNECTIVITY_ADABAS_VIEWS_HXX_
+
+#include "connectivity/sdbcx/VCollection.hxx"
+#include <com/sun/star/sdbc/XDatabaseMetaData.hpp>
+namespace connectivity
+{
+ namespace adabas
+ {
+ class OViews : public sdbcx::OCollection
+ {
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData;
+ sal_Bool m_bInDrop;
+ // OCatalog* m_pParent;
+ protected:
+ virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName);
+ virtual void impl_refresh() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > createDescriptor();
+ virtual sdbcx::ObjectType appendObject( const ::rtl::OUString& _rForName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+ virtual void dropObject(sal_Int32 _nPos,const ::rtl::OUString _sElementName);
+
+ void createView( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& descriptor );
+ public:
+ OViews(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)
+ ,m_bInDrop(sal_False)
+ {}
+
+ // only the name is identical to ::cppu::OComponentHelper
+ virtual void SAL_CALL disposing(void);
+
+ void dropByNameImpl(const ::rtl::OUString& elementName);
+ };
+ }
+}
+#endif // _CONNECTIVITY_ADABAS_VIEWS_HXX_
+