diff options
Diffstat (limited to 'connectivity')
34 files changed, 263 insertions, 1850 deletions
diff --git a/connectivity/inc/connectivity/dbmetadata.hxx b/connectivity/inc/connectivity/dbmetadata.hxx index fce063231089..ea284efb2b86 100644 --- a/connectivity/inc/connectivity/dbmetadata.hxx +++ b/connectivity/inc/connectivity/dbmetadata.hxx @@ -38,6 +38,11 @@ #include <memory> #include "connectivity/dbtoolsdllapi.hxx" +namespace comphelper +{ + class ComponentContext; +} + //........................................................................ namespace dbtools { @@ -151,6 +156,17 @@ namespace dbtools */ bool supportsColumnAliasInOrderBy() const; + /** determines whether user administration is supported for the database + + User administration support is controlled by the availability of the XUsersSupplier + interface, and it returning a non-NULL users container. + + @param _rContext + the component context we operate in. Might be needed to create the + css.sdbc.DriverManager instance. + */ + bool supportsUserAdministration( const ::comphelper::ComponentContext& _rContext ) const; + /** determines whether in the application UI, empty table folders (aka catalogs/schemas) should be displayed */ bool displayEmptyTableFolders() const; diff --git a/connectivity/source/commontools/dbmetadata.cxx b/connectivity/source/commontools/dbmetadata.cxx index 0cc19b61e72d..c68fed6905ce 100644 --- a/connectivity/source/commontools/dbmetadata.cxx +++ b/connectivity/source/commontools/dbmetadata.cxx @@ -44,10 +44,14 @@ #include <com/sun/star/beans/XPropertySetInfo.hpp> #include <com/sun/star/sdb/BooleanComparisonMode.hpp> #include <com/sun/star/sdbc/XDatabaseMetaData2.hpp> +#include <com/sun/star/sdbcx/XUsersSupplier.hpp> +#include <com/sun/star/sdbcx/XDataDefinitionSupplier.hpp> +#include <com/sun/star/sdbc/XDriverAccess.hpp> /** === end UNO includes === **/ #include <tools/diagnose_ex.h> #include <comphelper/namedvaluecollection.hxx> +#include <comphelper/componentcontext.hxx> #include <boost/optional.hpp> @@ -72,6 +76,9 @@ namespace dbtools using ::com::sun::star::beans::PropertyValue; using ::com::sun::star::beans::XPropertySetInfo; using ::com::sun::star::uno::UNO_QUERY; + using ::com::sun::star::sdbcx::XUsersSupplier; + using ::com::sun::star::sdbcx::XDataDefinitionSupplier; + using ::com::sun::star::sdbc::XDriverAccess; using ::com::sun::star::uno::UNO_SET_THROW; /** === end UNO using === **/ namespace BooleanComparisonMode = ::com::sun::star::sdb::BooleanComparisonMode; @@ -306,6 +313,7 @@ namespace dbtools } return bSupport; } + //-------------------------------------------------------------------- bool DatabaseMetaData::supportsColumnAliasInOrderBy() const { @@ -317,6 +325,36 @@ namespace dbtools } //-------------------------------------------------------------------- + bool DatabaseMetaData::supportsUserAdministration( const ::comphelper::ComponentContext& _rContext ) const + { + lcl_checkConnected( *m_pImpl ); + + bool isSupported( false ); + try + { + // find the XUsersSupplier interface + // - either directly at the connection + Reference< XUsersSupplier > xUsersSupp( m_pImpl->xConnection, UNO_QUERY ); + if ( !xUsersSupp.is() ) + { + // - or at the driver manager + Reference< XDriverAccess > xDriverManager( + _rContext.createComponent( "com.sun.star.sdbc.DriverManager" ), UNO_QUERY_THROW ); + Reference< XDataDefinitionSupplier > xDriver( xDriverManager->getDriverByURL( m_pImpl->xConnectionMetaData->getURL() ), UNO_QUERY ); + if ( xDriver.is() ) + xUsersSupp.set( xDriver->getDataDefinitionByConnection( m_pImpl->xConnection ), UNO_QUERY ); + } + + isSupported = ( xUsersSupp.is() && xUsersSupp->getUsers().is() ); + } + catch( const Exception& ) + { + DBG_UNHANDLED_EXCEPTION(); + } + return isSupported; + } + + //-------------------------------------------------------------------- bool DatabaseMetaData::displayEmptyTableFolders() const { bool doDisplay( true ); diff --git a/connectivity/source/drivers/dbase/DIndex.cxx b/connectivity/source/drivers/dbase/DIndex.cxx index 8e4ef568aa62..96c33037524b 100644 --- a/connectivity/source/drivers/dbase/DIndex.cxx +++ b/connectivity/source/drivers/dbase/DIndex.cxx @@ -52,6 +52,7 @@ #include "diagnose_ex.h" #include <comphelper/types.hxx> #include "resource/dbase_res.hrc" +#include <unotools/sharedunocomponent.hxx> using namespace ::comphelper; // ------------------------------------------------------------------------- @@ -69,7 +70,7 @@ using namespace com::sun::star::lang; IMPLEMENT_SERVICE_INFO(ODbaseIndex,"com.sun.star.sdbcx.driver.dbase.Index","com.sun.star.sdbcx.Index"); // ------------------------------------------------------------------------- -ODbaseIndex::ODbaseIndex(ODbaseTable* _pTable) : OIndex(_pTable->getConnection()->getMetaData()->storesMixedCaseQuotedIdentifiers()) +ODbaseIndex::ODbaseIndex(ODbaseTable* _pTable) : OIndex(sal_True/*_pTable->getConnection()->getMetaData()->storesMixedCaseQuotedIdentifiers()*/) ,m_pFileStream(NULL) ,m_nCurNode(NODE_NOTFOUND) ,m_pTable(_pTable) @@ -82,7 +83,7 @@ ODbaseIndex::ODbaseIndex(ODbaseTable* _pTable) : OIndex(_pTable->getConnection() ODbaseIndex::ODbaseIndex( ODbaseTable* _pTable, const NDXHeader& _rHeader, const ::rtl::OUString& _rName) - :OIndex(_rName,::rtl::OUString(),_rHeader.db_unique,sal_False,sal_False,_pTable->getConnection()->getMetaData()->storesMixedCaseQuotedIdentifiers()) + :OIndex(_rName,::rtl::OUString(),_rHeader.db_unique,sal_False,sal_False,sal_True) // _pTable->getConnection()->getMetaData()->storesMixedCaseQuotedIdentifiers() ,m_pFileStream(NULL) ,m_aHeader(_rHeader) ,m_nCurNode(NODE_NOTFOUND) @@ -163,7 +164,7 @@ sal_Bool ODbaseIndex::openIndexFile() if(m_pFileStream) { m_pFileStream->SetNumberFormatInt(NUMBERFORMAT_INT_LITTLEENDIAN); - m_pFileStream->SetBufferSize(512); + m_pFileStream->SetBufferSize(PAGE_SIZE); (*m_pFileStream) >> *this; } } @@ -342,9 +343,9 @@ ONDXPage* ODbaseIndex::CreatePage(sal_uInt32 nPagePos, ONDXPage* pParent, BOOL b OSL_ENSURE(m_pFileStream,"FileStream is not opened!"); ONDXPage* pPage; - if (m_aCollector.size()) + if ( !m_aCollector.empty() ) { - pPage = *(m_aCollector.end() - 1); + pPage = *(m_aCollector.rbegin()); m_aCollector.pop_back(); pPage->SetPagePos(nPagePos); pPage->SetParent(pParent); @@ -362,7 +363,7 @@ ONDXPage* ODbaseIndex::CreatePage(sal_uInt32 nPagePos, ONDXPage* pParent, BOOL b SvStream& connectivity::dbase::operator >> (SvStream &rStream, ODbaseIndex& rIndex) { rStream.Seek(0); - rStream.Read(&rIndex.m_aHeader,512); + rStream.Read(&rIndex.m_aHeader,PAGE_SIZE); /* OJ: no longer needed // Text convertierung @@ -384,7 +385,7 @@ SvStream& connectivity::dbase::operator << (SvStream &rStream, ODbaseIndex& rInd // aText.Convert(m_pTable->getConnection()->getTextEncoding(), rIndex.m_pTable->getConnection()->GetCharacterSet()); strcpy(rIndex.m_aHeader.db_name,aText.GetBuffer()); */ - OSL_VERIFY_EQUALS( rStream.Write(&rIndex.m_aHeader,512), 512, "Write not successful: Wrong header size for dbase index!"); + OSL_VERIFY_EQUALS( rStream.Write(&rIndex.m_aHeader,PAGE_SIZE), PAGE_SIZE, "Write not successful: Wrong header size for dbase index!"); return rStream; } // ------------------------------------------------------------------------- @@ -480,11 +481,18 @@ BOOL ODbaseIndex::DropImpl() return TRUE; } // ------------------------------------------------------------------------- +void ODbaseIndex::impl_killFileAndthrowError_throw(sal_uInt16 _nErrorId,const ::rtl::OUString& _sFile) +{ + closeImpl(); + if(UCBContentHelper::Exists(_sFile)) + UCBContentHelper::Kill(_sFile); + m_pTable->getConnection()->throwGenericSQLException(_nErrorId,*this); +} //------------------------------------------------------------------ BOOL ODbaseIndex::CreateImpl() { // Anlegen des Index - ::rtl::OUString sFile = getCompletePath(); + const ::rtl::OUString sFile = getCompletePath(); if(UCBContentHelper::Exists(sFile)) { const ::rtl::OUString sError( m_pTable->getConnection()->getResources().getResourceStringWithSubstitution( @@ -525,20 +533,20 @@ BOOL ODbaseIndex::CreateImpl() } m_pFileStream->SetNumberFormatInt(NUMBERFORMAT_INT_LITTLEENDIAN); - m_pFileStream->SetBufferSize(512); + m_pFileStream->SetBufferSize(PAGE_SIZE); m_pFileStream->SetFiller('\0'); // Zunaechst muss das Ergebnis sortiert sein - Reference<XStatement> xStmt; - Reference<XResultSet> xSet; + utl::SharedUNOComponent<XStatement> xStmt; + utl::SharedUNOComponent<XResultSet> xSet; String aName; try { - xStmt = m_pTable->getConnection()->createStatement(); + xStmt.set( m_pTable->getConnection()->createStatement(), UNO_SET_THROW); aName = getString(xCol->getFastPropertyValue(PROPERTY_ID_NAME)); - String aQuote(m_pTable->getConnection()->getMetaData()->getIdentifierQuoteString()); + const String aQuote(m_pTable->getConnection()->getMetaData()->getIdentifierQuoteString()); String aStatement; aStatement.AssignAscii("SELECT "); aStatement += aQuote; @@ -561,38 +569,35 @@ BOOL ODbaseIndex::CreateImpl() // aStatement += aQuote; // } - xSet = xStmt->executeQuery(aStatement); + xSet.set( xStmt->executeQuery(aStatement),UNO_SET_THROW ); } catch(const Exception& ) { - closeImpl(); - if(UCBContentHelper::Exists(sFile)) - UCBContentHelper::Kill(sFile); - m_pTable->getConnection()->throwGenericSQLException(STR_COULD_NOT_CREATE_INDEX,*this); + impl_killFileAndthrowError_throw(STR_COULD_NOT_CREATE_INDEX,sFile); } if (!xSet.is()) { - - closeImpl(); - if(UCBContentHelper::Exists(sFile)) - UCBContentHelper::Kill(sFile); - m_pTable->getConnection()->throwGenericSQLException(STR_COULD_NOT_CREATE_INDEX,*this); + impl_killFileAndthrowError_throw(STR_COULD_NOT_CREATE_INDEX,sFile); } // Setzen der Headerinfo memset(&m_aHeader,0,sizeof(m_aHeader)); - m_pFileStream->SetStreamSize(512); - sal_Int32 nType = 0; ::vos::ORef<OSQLColumns> aCols = m_pTable->getTableColumns(); - - Reference< XPropertySet > xTableCol(*find(aCols->get().begin(),aCols->get().end(),aName,::comphelper::UStringMixEqual(isCaseSensitive()))); + const Reference< XPropertySet > xTableCol(*find(aCols->get().begin(),aCols->get().end(),aName,::comphelper::UStringMixEqual(isCaseSensitive()))); xTableCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_TYPE)) >>= nType; m_aHeader.db_keytype = (nType == DataType::VARCHAR || nType == DataType::CHAR) ? 0 : 1; m_aHeader.db_keylen = (m_aHeader.db_keytype) ? 8 : (USHORT)getINT32(xTableCol->getPropertyValue(OMetaConnection::getPropMap().getNameByIndex(PROPERTY_ID_PRECISION))); - m_aHeader.db_maxkeys = (512 - 8) / (8 + m_aHeader.db_keylen); + m_aHeader.db_keylen = (( m_aHeader.db_keylen - 1) / 4 + 1) * 4; + m_aHeader.db_maxkeys = (PAGE_SIZE - 4) / (8 + m_aHeader.db_keylen); + if ( m_aHeader.db_maxkeys < 3 ) + { + impl_killFileAndthrowError_throw(STR_COULD_NOT_CREATE_INDEX_KEYSIZE,sFile); + } + + m_pFileStream->SetStreamSize(PAGE_SIZE); ByteString aCol(aName,m_pTable->getConnection()->getTextEncoding()); strncpy(m_aHeader.db_name,aCol.GetBuffer(),std::min((USHORT)sizeof(m_aHeader.db_name), aCol.Len())); @@ -640,12 +645,7 @@ BOOL ODbaseIndex::CreateImpl() aKey.setValue(aValue); if (aKey == (*m_aCurLeaf)[m_nCurNode].GetKey()) { - ::comphelper::disposeComponent(xSet); - ::comphelper::disposeComponent(xStmt); - closeImpl(); - if(UCBContentHelper::Exists(sFile)) - UCBContentHelper::Kill(sFile); - m_pTable->getConnection()->throwGenericSQLException(STR_COULD_NOT_CREATE_INDEX_NOT_UNIQUE,*this); + impl_killFileAndthrowError_throw(STR_COULD_NOT_CREATE_INDEX_NOT_UNIQUE,sFile); } } aInsertKey.setValue(aValue); @@ -656,16 +656,10 @@ BOOL ODbaseIndex::CreateImpl() break; } } - xRow = NULL; - ::comphelper::disposeComponent(xSet); - ::comphelper::disposeComponent(xStmt); if(nRowsLeft) { - closeImpl(); - if(UCBContentHelper::Exists(sFile)) - UCBContentHelper::Kill(sFile); - m_pTable->getConnection()->throwGenericSQLException(STR_COULD_NOT_CREATE_INDEX,*this); + impl_killFileAndthrowError_throw(STR_COULD_NOT_CREATE_INDEX,sFile); } Release(); createINFEntry(); diff --git a/connectivity/source/drivers/dbase/DIndexes.cxx b/connectivity/source/drivers/dbase/DIndexes.cxx index a3f8003ac8fc..b9c41725ff4e 100644 --- a/connectivity/source/drivers/dbase/DIndexes.cxx +++ b/connectivity/source/drivers/dbase/DIndexes.cxx @@ -75,11 +75,11 @@ sdbcx::ObjectType ODbaseIndexes::createObject(const ::rtl::OUString& _rName) if(pFileStream) { pFileStream->SetNumberFormatInt(NUMBERFORMAT_INT_LITTLEENDIAN); - pFileStream->SetBufferSize(512); + pFileStream->SetBufferSize(PAGE_SIZE); ODbaseIndex::NDXHeader aHeader; pFileStream->Seek(0); - pFileStream->Read(&aHeader,512); + pFileStream->Read(&aHeader,PAGE_SIZE); delete pFileStream; ODbaseIndex* pIndex = new ODbaseIndex(m_pTable,aHeader,_rName); diff --git a/connectivity/source/drivers/dbase/DTable.cxx b/connectivity/source/drivers/dbase/DTable.cxx index e29581f820d1..78c818a46eb0 100644 --- a/connectivity/source/drivers/dbase/DTable.cxx +++ b/connectivity/source/drivers/dbase/DTable.cxx @@ -83,6 +83,27 @@ using namespace ::com::sun::star::lang; // stored as the Field Descriptor terminator #define FIELD_DESCRIPTOR_TERMINATOR 0x0D +#define DBF_EOL 0x1A + +//================================================================== +namespace +{ +//================================================================== +sal_Int32 lcl_getFileSize(SvStream& _rStream) +{ + sal_Int32 nFileSize = 0; + _rStream.Seek(STREAM_SEEK_TO_END); + _rStream.SeekRel(-1); + char cEOL; + _rStream >> cEOL; + nFileSize = _rStream.Tell(); + if ( cEOL == DBF_EOL ) + nFileSize -= 1; + return nFileSize; +} +//================================================================== +} +//================================================================== // ------------------------------------------------------------------------- void ODbaseTable::readHeader() @@ -373,8 +394,7 @@ void ODbaseTable::construct() // if(!m_pColumns && (!m_aColumns.isValid() || !m_aColumns->size())) fillColumns(); - m_pFileStream->Seek(STREAM_SEEK_TO_END); - UINT32 nFileSize = m_pFileStream->Tell(); + UINT32 nFileSize = lcl_getFileSize(*m_pFileStream); m_pFileStream->Seek(STREAM_SEEK_TO_BEGIN); if ( m_aHeader.db_anz == 0 && ((nFileSize-m_aHeader.db_kopf)/m_aHeader.db_slng) > 0) // seems to be empty or someone wrote bullshit into the dbase file m_aHeader.db_anz = ((nFileSize-m_aHeader.db_kopf)/m_aHeader.db_slng); @@ -1077,7 +1097,8 @@ BOOL ODbaseTable::CreateFile(const INetURLObject& aFile, BOOL& bCreateMemo) m_pFileStream->Write(aBuffer, 14); } - (*m_pFileStream) << (BYTE)0x0d; // kopf ende + (*m_pFileStream) << (BYTE)FIELD_DESCRIPTOR_TERMINATOR; // kopf ende + (*m_pFileStream) << (char)DBF_EOL; m_pFileStream->Seek(10L); (*m_pFileStream) << nRecLength; // Satzlaenge nachtraeglich eintragen @@ -1201,6 +1222,7 @@ BOOL ODbaseTable::DropImpl() } return bDropped; } + //------------------------------------------------------------------ BOOL ODbaseTable::InsertRow(OValueRefVector& rRow, BOOL bFlush,const Reference<XIndexAccess>& _xCols) { @@ -1218,8 +1240,7 @@ BOOL ODbaseTable::InsertRow(OValueRefVector& rRow, BOOL bFlush,const Reference<X BOOL bInsertRow = UpdateBuffer( rRow, NULL, _xCols ); if ( bInsertRow ) { - m_pFileStream->Seek(STREAM_SEEK_TO_END); - nFileSize = m_pFileStream->Tell(); + nFileSize = lcl_getFileSize(*m_pFileStream); if (HasMemoFields() && m_pMemoStream) { @@ -1237,6 +1258,7 @@ BOOL ODbaseTable::InsertRow(OValueRefVector& rRow, BOOL bFlush,const Reference<X } else { + (*m_pFileStream) << (char)DBF_EOL; // write EOL // Anzahl Datensaetze im Header erhoehen: m_pFileStream->Seek( 4L ); (*m_pFileStream) << (m_aHeader.db_anz + 1); @@ -1726,7 +1748,7 @@ BOOL ODbaseTable::WriteMemo(ORowSetValue& aVariable, ULONG& rBlockNr) { case MemodBaseIII: // dBase III-Memofeld, endet mit Ctrl-Z { - const char cEOF = (char) 0x1a; + const char cEOF = (char) DBF_EOL; nSize++; // if (pData) @@ -2322,7 +2344,7 @@ BOOL ODbaseTable::ReadMemo(ULONG nBlockNo, ORowSetValue& aVariable) { case MemodBaseIII: // dBase III-Memofeld, endet mit Ctrl-Z { - const char cEOF = (char) 0x1a; + const char cEOF = (char) DBF_EOL; ByteString aBStr; static char aBuf[514]; aBuf[512] = 0; // sonst kann der Zufall uebel mitspielen diff --git a/connectivity/source/drivers/dbase/dindexnode.cxx b/connectivity/source/drivers/dbase/dindexnode.cxx index 7f751ac0103e..68804753b9d0 100644 --- a/connectivity/source/drivers/dbase/dindexnode.cxx +++ b/connectivity/source/drivers/dbase/dindexnode.cxx @@ -889,7 +889,7 @@ static UINT32 nValue; //------------------------------------------------------------------ SvStream& connectivity::dbase::operator >> (SvStream &rStream, ONDXPage& rPage) { - rStream.Seek(rPage.GetPagePos() * 512); + rStream.Seek(rPage.GetPagePos() * PAGE_SIZE); rStream >> nValue >> rPage.aChild; rPage.nCount = USHORT(nValue); @@ -903,17 +903,17 @@ SvStream& connectivity::dbase::operator >> (SvStream &rStream, ONDXPage& rPage) SvStream& connectivity::dbase::operator << (SvStream &rStream, const ONDXPage& rPage) { // Seite existiert noch nicht - ULONG nSize = (rPage.GetPagePos() + 1) * 512; + ULONG nSize = (rPage.GetPagePos() + 1) * PAGE_SIZE; if (nSize > rStream.Seek(STREAM_SEEK_TO_END)) { rStream.SetStreamSize(nSize); - rStream.Seek(rPage.GetPagePos() * 512); + rStream.Seek(rPage.GetPagePos() * PAGE_SIZE); - char aEmptyData[512]; - memset(aEmptyData,0x00,512); - rStream.Write((BYTE*)aEmptyData,512); + char aEmptyData[PAGE_SIZE]; + memset(aEmptyData,0x00,PAGE_SIZE); + rStream.Write((BYTE*)aEmptyData,PAGE_SIZE); } - ULONG nCurrentPos = rStream.Seek(rPage.GetPagePos() * 512); + ULONG nCurrentPos = rStream.Seek(rPage.GetPagePos() * PAGE_SIZE); OSL_UNUSED( nCurrentPos ); nValue = rPage.nCount; @@ -926,7 +926,7 @@ SvStream& connectivity::dbase::operator << (SvStream &rStream, const ONDXPage& r // check if we have to fill the stream with '\0' if(i < rPage.rIndex.getHeader().db_maxkeys) { - ULONG nTell = rStream.Tell() % 512; + ULONG nTell = rStream.Tell() % PAGE_SIZE; USHORT nBufferSize = rStream.GetBufferSize(); ULONG nRemainSize = nBufferSize - nTell; char* pEmptyData = new char[nRemainSize]; @@ -990,7 +990,7 @@ BOOL ONDXPage::IsFull() const USHORT ONDXPage::Search(const ONDXKey& rSearch) { // binare Suche spaeter - USHORT i = 0xFFFF; + USHORT i = NODE_NOTFOUND; while (++i < Count()) if ((*this)[i].GetKey() == rSearch) break; @@ -1001,7 +1001,7 @@ USHORT ONDXPage::Search(const ONDXKey& rSearch) //------------------------------------------------------------------ USHORT ONDXPage::Search(const ONDXPage* pPage) { - USHORT i = 0xFFFF; + USHORT i = NODE_NOTFOUND; while (++i < Count()) if (((*this)[i]).GetChild() == pPage) break; @@ -1057,4 +1057,3 @@ void ONDXPage::Remove(USHORT nPos) } // ----------------------------------------------------------------------------- - diff --git a/connectivity/source/drivers/file/FTable.cxx b/connectivity/source/drivers/file/FTable.cxx index 5cb9742f25cc..af75570a1096 100644 --- a/connectivity/source/drivers/file/FTable.cxx +++ b/connectivity/source/drivers/file/FTable.cxx @@ -143,7 +143,6 @@ void SAL_CALL OFileTable::disposing(void) ::osl::MutexGuard aGuard(m_aMutex); FileClose(); - m_xMetaData = NULL; } //-------------------------------------------------------------------------- Sequence< sal_Int8 > OFileTable::getUnoTunnelImplementationId() @@ -227,7 +226,7 @@ void OFileTable::dropColumn(sal_Int32 /*_nPos*/) SvStream* OFileTable::createStream_simpleError( const String& _rFileName, StreamMode _eOpenMode) { utl::UcbLockBytesHandler* p_null_dummy=NULL; - SvStream* pReturn = ::utl::UcbStreamHelper::CreateStream( _rFileName, _eOpenMode, p_null_dummy); + SvStream* pReturn = ::utl::UcbStreamHelper::CreateStream( _rFileName, _eOpenMode, (_eOpenMode & STREAM_NOCREATE) == STREAM_NOCREATE ,p_null_dummy); if (pReturn && (ERRCODE_NONE != pReturn->GetErrorCode())) { delete pReturn; diff --git a/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx b/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx index 5c5b9951e031..765c8a5e2ffb 100644 --- a/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx +++ b/connectivity/source/drivers/jdbc/DatabaseMetaData.cxx @@ -131,9 +131,10 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getColumns( static jmethodID mID = NULL; return impl_callResultSetMethodWithStrings( "getColumns", mID, catalog, schemaPattern, tableNamePattern, &columnNamePattern ); } + // ------------------------------------------------------------------------- Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getTables( - const Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern, const Sequence< ::rtl::OUString >& types ) throw(SQLException, RuntimeException) + const Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern, const Sequence< ::rtl::OUString >& _types ) throw(SQLException, RuntimeException) { static const char * cSignature = "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Ljava/sql/ResultSet;"; static const char * cMethodName = "getTables"; @@ -147,64 +148,95 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getTables( // Java-Call absetzen static jmethodID mID = NULL; if ( !mID ) - mID = t.pEnv->GetMethodID( getMyClass(), cMethodName, cSignature );OSL_ENSURE(mID,"Unknown method id!"); - OSL_VERIFY_RES( !isExceptionOccured(t.pEnv,sal_True),"Exception occured!"); + { + mID = t.pEnv->GetMethodID( getMyClass(), cMethodName, cSignature ); + OSL_VERIFY_RES( !isExceptionOccured( t.pEnv, sal_True ), "Exception occured!" ); + } + OSL_ENSURE( mID, "Unknown method id!" ); if( mID ) { jvalue args[4]; - sal_Int32 len = types.getLength(); - if(len) + + args[3].l = 0; + sal_Int32 typeFilterCount = _types.getLength(); + if ( typeFilterCount ) { - jobjectArray pObjArray = static_cast<jobjectArray>(t.pEnv->NewObjectArray((jsize) len, java_lang_String::getMyClass(), 0)); - OSL_VERIFY_RES( !isExceptionOccured(t.pEnv,sal_True),"Exception occured!"); + jobjectArray pObjArray = static_cast< jobjectArray >( t.pEnv->NewObjectArray( (jsize)typeFilterCount, java_lang_String::getMyClass(), 0 ) ); + OSL_VERIFY_RES( !isExceptionOccured( t.pEnv, sal_True ), "Exception occured!" ); - const ::rtl::OUString* pBegin = types.getConstArray(); - for(sal_Int32 i=0;i<len;i++,++pBegin) + const ::rtl::OUString* typeFilter = _types.getConstArray(); + bool bIncludeAllTypes = false; + for ( sal_Int32 i=0; i<typeFilterCount; ++i, ++typeFilter ) { - jstring aT = convertwchar_tToJavaString(t.pEnv,*pBegin); - //jstring aT = t.pEnv->NewStringUTF(_par3.GetToken(i)); - t.pEnv->SetObjectArrayElement(pObjArray,(jsize)i,aT); - OSL_VERIFY_RES( !isExceptionOccured(t.pEnv,sal_True),"Exception occured!"); + if ( typeFilter->equalsAsciiL( "%", 1 ) ) + { + bIncludeAllTypes = true; + break; + } + jstring aT = convertwchar_tToJavaString( t.pEnv, *typeFilter ); + t.pEnv->SetObjectArrayElement( pObjArray, (jsize)i, aT ); + OSL_VERIFY_RES( !isExceptionOccured( t.pEnv, sal_True ), "Exception occured!" ); + } + if ( bIncludeAllTypes ) + { + // the SDBC API allows to pass "%" as table type filter, but in JDBC, "all table types" + // is represented by the table type being <null/> + t.pEnv->DeleteLocalRef( pObjArray ); + OSL_VERIFY_RES( !isExceptionOccured( t.pEnv, sal_True ), "Exception occured!" ); } - args[3].l = pObjArray; - }else - args[3].l = 0; - // temporaere Variable initialisieren - args[0].l = catalog.hasValue() ? convertwchar_tToJavaString(t.pEnv,comphelper::getString(catalog)) : 0; - args[1].l = schemaPattern.toChar() == '%' ? NULL : convertwchar_tToJavaString(t.pEnv,schemaPattern); + else + { + args[3].l = pObjArray; + } + } + + // if we are to display "all catalogs", then respect m_aCatalogRestriction + Any aCatalogFilter( catalog ); + if ( !aCatalogFilter.hasValue() ) + aCatalogFilter = m_pConnection->getCatalogRestriction(); + // similar for schema + Any aSchemaFilter; + if ( schemaPattern.equalsAsciiL( "%", 1 ) ) + aSchemaFilter = m_pConnection->getSchemaRestriction(); + else + aSchemaFilter <<= schemaPattern; + + args[0].l = aCatalogFilter.hasValue() ? convertwchar_tToJavaString( t.pEnv, ::comphelper::getString( aCatalogFilter ) ) : NULL; + args[1].l = aSchemaFilter.hasValue() ? convertwchar_tToJavaString( t.pEnv, ::comphelper::getString( aSchemaFilter ) ) : NULL; args[2].l = convertwchar_tToJavaString(t.pEnv,tableNamePattern); out = t.pEnv->CallObjectMethod( object, mID, args[0].l, args[1].l,args[2].l,args[3].l); jthrowable jThrow = t.pEnv->ExceptionOccurred(); if ( jThrow ) - t.pEnv->ExceptionClear();// we have to clear the exception here because we want to handle it itself + t.pEnv->ExceptionClear();// we have to clear the exception here because we want to handle it below - sal_Bool bExcepOccured; - - if(catalog.hasValue()) + if ( aCatalogFilter.hasValue() ) { t.pEnv->DeleteLocalRef((jstring)args[0].l); - bExcepOccured = isExceptionOccured(t.pEnv,sal_True); OSL_ENSURE(!bExcepOccured,"Exception occured!"); + OSL_VERIFY_RES( !isExceptionOccured( t.pEnv, sal_True ), "Exception occured!" ); } if(args[1].l) { t.pEnv->DeleteLocalRef((jstring)args[1].l); - bExcepOccured = isExceptionOccured(t.pEnv,sal_True); OSL_ENSURE(!bExcepOccured,"Exception occured!"); + OSL_VERIFY_RES( !isExceptionOccured( t.pEnv, sal_True ), "Exception occured!" ); } if(tableNamePattern.getLength()) { t.pEnv->DeleteLocalRef((jstring)args[2].l); - bExcepOccured = isExceptionOccured(t.pEnv,sal_True); OSL_ENSURE(!bExcepOccured,"Exception occured!"); + OSL_VERIFY_RES( !isExceptionOccured( t.pEnv, sal_True ), "Exception occured!" ); } //for(INT16 i=0;i<len;i++) - t.pEnv->DeleteLocalRef((jobjectArray)args[3].l); - bExcepOccured = isExceptionOccured(t.pEnv,sal_True); OSL_ENSURE(!bExcepOccured,"Exception occured!"); + if ( args[3].l ) + { + t.pEnv->DeleteLocalRef( (jobjectArray)args[3].l ); + OSL_VERIFY_RES( !isExceptionOccured( t.pEnv, sal_True ), "Exception occured!" ); + } if ( jThrow ) { - if(t.pEnv->IsInstanceOf(jThrow,java_sql_SQLException_BASE::getMyClass())) + if ( t.pEnv->IsInstanceOf( jThrow,java_sql_SQLException_BASE::getMyClass() ) ) { - java_sql_SQLException_BASE* pException = new java_sql_SQLException_BASE(t.pEnv,jThrow); + java_sql_SQLException_BASE* pException = new java_sql_SQLException_BASE( t.pEnv, jThrow ); SQLException e( pException->getMessage(), *this, pException->getSQLState(), @@ -215,7 +247,6 @@ Reference< XResultSet > SAL_CALL java_sql_DatabaseMetaData::getTables( throw e; } } - } } diff --git a/connectivity/source/drivers/jdbc/JConnection.cxx b/connectivity/source/drivers/jdbc/JConnection.cxx index 21efb72979bc..0730d6e9964d 100644 --- a/connectivity/source/drivers/jdbc/JConnection.cxx +++ b/connectivity/source/drivers/jdbc/JConnection.cxx @@ -1069,6 +1069,8 @@ sal_Bool java_sql_Connection::construct(const ::rtl::OUString& url, m_bIgnoreDriverPrivileges = aSettings.getOrDefault( "IgnoreDriverPrivileges", m_bIgnoreDriverPrivileges ); m_bIgnoreCurrency = aSettings.getOrDefault( "IgnoreCurrency", m_bIgnoreCurrency ); aSystemProperties = aSettings.getOrDefault( "SystemProperties", aSystemProperties ); + m_aCatalogRestriction = aSettings.getOrDefault( "ImplicitCatalogRestriction", Any() ); + m_aSchemaRestriction = aSettings.getOrDefault( "ImplicitSchemaRestriction", Any() ); loadDriverFromProperties( sDriverClass, sDriverClassPath, aSystemProperties ); diff --git a/connectivity/source/drivers/jdbc/JDriver.cxx b/connectivity/source/drivers/jdbc/JDriver.cxx index b184d7837c7a..b392a4b61a79 100644 --- a/connectivity/source/drivers/jdbc/JDriver.cxx +++ b/connectivity/source/drivers/jdbc/JDriver.cxx @@ -153,84 +153,91 @@ Sequence< DriverPropertyInfo > SAL_CALL java_sql_Driver::getPropertyInfo( const ,sal_True ,::rtl::OUString() ,Sequence< ::rtl::OUString >()) - ); - + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("JavaDriverClassPath")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("The class path where to look for the JDBC driver.")) ,sal_True ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "" ) ) ,Sequence< ::rtl::OUString >()) - ); - + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("SystemProperties")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Additional properties to set at java.lang.System before loading the driver.")) ,sal_True ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "" ) ) ,Sequence< ::rtl::OUString >()) - ); - + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ParameterNameSubstitution")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Change named parameters with '?'.")) ,sal_False ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "false" ) ) ,aBooleanValues) - ); - + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IgnoreDriverPrivileges")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Ignore the privileges from the database driver.")) ,sal_False ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "false" ) ) ,aBooleanValues) - ); - + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IsAutoRetrievingEnabled")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Retrieve generated values.")) ,sal_False ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "false" ) ) ,aBooleanValues) - ); - + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("AutoRetrievingStatement")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Auto-increment statement.")) ,sal_False ,::rtl::OUString() ,Sequence< ::rtl::OUString >()) - ); - + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("GenerateASBeforeCorrelationName")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Generate AS before table correlation names.")) ,sal_False ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "true" ) ) ,aBooleanValues) - ); + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("IgnoreCurrency")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Ignore the currency field from the ResultsetMetaData.")) ,sal_False ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "false" ) ) ,aBooleanValues) - ); + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("EscapeDateTime")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Escape date time format.")) ,sal_False ,::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "true" ) ) ,aBooleanValues) - ); + ); aDriverInfo.push_back(DriverPropertyInfo( ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TypeInfoSettings")) ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Defines how the type info of the database metadata should be manipulated.")) ,sal_False ,::rtl::OUString( ) ,Sequence< ::rtl::OUString > ()) - ); + ); + aDriverInfo.push_back(DriverPropertyInfo( + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImplicitCatalogRestriction")) + ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("The catalog which should be used in getTables calls, when the caller passed NULL.")) + ,sal_False + ,::rtl::OUString( ) + ,Sequence< ::rtl::OUString > ()) + ); + aDriverInfo.push_back(DriverPropertyInfo( + ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ImplicitSchemaRestriction")) + ,::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("The schema which should be used in getTables calls, when the caller passed NULL.")) + ,sal_False + ,::rtl::OUString( ) + ,Sequence< ::rtl::OUString > ()) + ); return Sequence< DriverPropertyInfo >(&aDriverInfo[0],aDriverInfo.size()); } ::connectivity::SharedResources aResources; diff --git a/connectivity/source/drivers/jdbc/tools.cxx b/connectivity/source/drivers/jdbc/tools.cxx index 6518b8db1bd3..9888bb6f683d 100644 --- a/connectivity/source/drivers/jdbc/tools.cxx +++ b/connectivity/source/drivers/jdbc/tools.cxx @@ -142,28 +142,33 @@ java_util_Properties* connectivity::createStringPropertyArray(const Sequence< Pr for(;pBegin != pEnd;++pBegin) { // this is a special property to find the jdbc driver - if( pBegin->Name.compareToAscii("JavaDriverClass") && - pBegin->Name.compareToAscii("JavaDriverClassPath") && - pBegin->Name.compareToAscii("SystemProperties") && - pBegin->Name.compareToAscii("CharSet") && - pBegin->Name.compareToAscii("AppendTableAlias") && - pBegin->Name.compareToAscii("GenerateASBeforeCorrelationName") && - pBegin->Name.compareToAscii("EscapeDateTime") && - pBegin->Name.compareToAscii("ParameterNameSubstitution") && - pBegin->Name.compareToAscii("IsPasswordRequired") && - pBegin->Name.compareToAscii("IsAutoRetrievingEnabled") && - pBegin->Name.compareToAscii("AutoRetrievingStatement") && - pBegin->Name.compareToAscii("UseCatalogInSelect") && - pBegin->Name.compareToAscii("UseSchemaInSelect") && - pBegin->Name.compareToAscii("AutoIncrementCreation") && - pBegin->Name.compareToAscii("Extension") && - pBegin->Name.compareToAscii("NoNameLengthLimit") && - pBegin->Name.compareToAscii("EnableSQL92Check") && - pBegin->Name.compareToAscii("EnableOuterJoinEscape") && - pBegin->Name.compareToAscii("BooleanComparisonMode") && - pBegin->Name.compareToAscii("IgnoreCurrency") && - pBegin->Name.compareToAscii("TypeInfoSettings") && - pBegin->Name.compareToAscii("IgnoreDriverPrivileges")) + if ( pBegin->Name.compareToAscii( "JavaDriverClass" ) + && pBegin->Name.compareToAscii( "JavaDriverClassPath" ) + && pBegin->Name.compareToAscii( "SystemProperties" ) + && pBegin->Name.compareToAscii( "CharSet" ) + && pBegin->Name.compareToAscii( "AppendTableAliasName" ) + && pBegin->Name.compareToAscii( "AddIndexAppendix" ) + && pBegin->Name.compareToAscii( "FormsCheckRequiredFields" ) + && pBegin->Name.compareToAscii( "GenerateASBeforeCorrelationName" ) + && pBegin->Name.compareToAscii( "EscapeDateTime" ) + && pBegin->Name.compareToAscii( "ParameterNameSubstitution" ) + && pBegin->Name.compareToAscii( "IsPasswordRequired" ) + && pBegin->Name.compareToAscii( "IsAutoRetrievingEnabled" ) + && pBegin->Name.compareToAscii( "AutoRetrievingStatement" ) + && pBegin->Name.compareToAscii( "UseCatalogInSelect" ) + && pBegin->Name.compareToAscii( "UseSchemaInSelect" ) + && pBegin->Name.compareToAscii( "AutoIncrementCreation" ) + && pBegin->Name.compareToAscii( "Extension" ) + && pBegin->Name.compareToAscii( "NoNameLengthLimit" ) + && pBegin->Name.compareToAscii( "EnableSQL92Check" ) + && pBegin->Name.compareToAscii( "EnableOuterJoinEscape" ) + && pBegin->Name.compareToAscii( "BooleanComparisonMode" ) + && pBegin->Name.compareToAscii( "IgnoreCurrency" ) + && pBegin->Name.compareToAscii( "TypeInfoSettings" ) + && pBegin->Name.compareToAscii( "IgnoreDriverPrivileges" ) + && pBegin->Name.compareToAscii( "ImplicitCatalogRestriction" ) + && pBegin->Name.compareToAscii( "ImplicitSchemaRestriction" ) + ) { ::rtl::OUString aStr; OSL_VERIFY( pBegin->Value >>= aStr ); diff --git a/connectivity/source/inc/dbase/DIndex.hxx b/connectivity/source/inc/dbase/DIndex.hxx index 02bf64192d52..bba25dd75cc1 100644 --- a/connectivity/source/inc/dbase/DIndex.hxx +++ b/connectivity/source/inc/dbase/DIndex.hxx @@ -96,6 +96,9 @@ namespace connectivity ::rtl::OUString getCompletePath(); void closeImpl(); + /* closes and kill the index file and throws an error. + */ + void impl_killFileAndthrowError_throw(sal_uInt16 _nErrorId,const ::rtl::OUString& _sFile); protected: virtual ~ODbaseIndex(); public: diff --git a/connectivity/source/inc/dbase/dindexnode.hxx b/connectivity/source/inc/dbase/dindexnode.hxx index 01f213d3fbd2..2e6cf957b647 100644 --- a/connectivity/source/inc/dbase/dindexnode.hxx +++ b/connectivity/source/inc/dbase/dindexnode.hxx @@ -36,6 +36,9 @@ #include "connectivity/FValue.hxx" #include <tools/ref.hxx> +#define NODE_NOTFOUND 0xFFFF +#define PAGE_SIZE 512 + namespace connectivity { namespace dbase @@ -86,7 +89,7 @@ namespace connectivity StringCompare Compare(const ONDXKey& rKey) const; }; - #define NODE_NOTFOUND 0xFFFF + //================================================================== diff --git a/connectivity/source/inc/file/FTable.hxx b/connectivity/source/inc/file/FTable.hxx index 4a0fb999bf53..8840482a84b0 100644 --- a/connectivity/source/inc/file/FTable.hxx +++ b/connectivity/source/inc/file/FTable.hxx @@ -51,7 +51,6 @@ namespace connectivity class OOO_DLLPUBLIC_FILE OFileTable : public OTable_TYPEDEF { protected: - ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData > m_xMetaData; OConnection* m_pConnection; SvStream* m_pFileStream; ::vos::ORef<OSQLColumns> m_aColumns; diff --git a/connectivity/source/inc/java/sql/Connection.hxx b/connectivity/source/inc/java/sql/Connection.hxx index 28b6c01212be..6cda6e248ca4 100644 --- a/connectivity/source/inc/java/sql/Connection.hxx +++ b/connectivity/source/inc/java/sql/Connection.hxx @@ -65,6 +65,8 @@ namespace connectivity sal_Bool m_bParameterSubstitution; sal_Bool m_bIgnoreDriverPrivileges; sal_Bool m_bIgnoreCurrency; + ::com::sun::star::uno::Any m_aCatalogRestriction; + ::com::sun::star::uno::Any m_aSchemaRestriction; /** transform named parameter into unnamed one. @param _sSQL @@ -101,6 +103,8 @@ namespace connectivity inline sal_Bool isIgnoreDriverPrivilegesEnabled() const { return m_bIgnoreDriverPrivileges;} inline sal_Bool isIgnoreCurrencyEnabled() const { return m_bIgnoreCurrency; } + inline const ::com::sun::star::uno::Any& getCatalogRestriction() const { return m_aCatalogRestriction; } + inline const ::com::sun::star::uno::Any& getSchemaRestriction() const { return m_aSchemaRestriction; } /** returns the instance used for logging events related to this connection */ diff --git a/connectivity/source/inc/mozaddressbook/MABCatalog.hxx b/connectivity/source/inc/mozaddressbook/MABCatalog.hxx deleted file mode 100644 index 064c8926da31..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABCatalog.hxx +++ /dev/null @@ -1,53 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABCatalog.hxx,v $ - * $Revision: 1.5 $ - * - * 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_MAB_CATALOG_HXX_ -#define _CONNECTIVITY_MAB_CATALOG_HXX_ - -#include "file/FCatalog.hxx" - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabConnection; - class OMozabCatalog : public file::OFileCatalog - { - public: - virtual void refreshTables(); - - public: - OMozabCatalog(OMozabConnection* _pCon); - }; - } -} - -#endif // _CONNECTIVITY_MAB_CATALOG_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABColumnAlias.hxx b/connectivity/source/inc/mozaddressbook/MABColumnAlias.hxx deleted file mode 100644 index 92afe47f98f3..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABColumnAlias.hxx +++ /dev/null @@ -1,120 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABColumnAlias.hxx,v $ - * $Revision: 1.3 $ - * - * 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_MAB_COLUMNALIAS_HXX_ -#define _CONNECTIVITY_MAB_COLUMNALIAS_HXX_ - -#include <unotools/confignode.hxx> - -#include <osl/mutex.hxx> -#include <vector> -#include <map> - -namespace connectivity -{ - namespace mozaddressbook - { - typedef enum { - FIRSTNAME = 0, - LASTNAME, - DISPLAYNAME, - NICKNAME, - PRIMARYEMAIL, - SECONDEMAIL, - PREFERMAILFORMAT, - WORKPHONE, - HOMEPHONE, - FAXNUMBER, - PAGERNUMBER, - CELLULARNUMBER, - HOMEADDRESS, - HOMEADDRESS2, - HOMECITY, - HOMESTATE, - HOMEZIPCODE, - HOMECOUNTRY, - WORKADDRESS, - WORKADDRESS2, - WORKCITY, - WORKSTATE, - WORKZIPCODE, - WORKCOUNTRY, - JOBTITLE, - DEPARTMENT, - COMPANY, - WEBPAGE1, - WEBPAGE2, - BIRTHYEAR, - BIRTHMONTH, - BIRTHDAY, - CUSTOM1, - CUSTOM2, - CUSTOM3, - CUSTOM4, - NOTES, - END - } ProgrammaticName; - - class OMozabColumnAlias - { - /** - * m_Alias holds aliases for the mozilla addressbook - * column names. This member gets initialised during - * creation of the connection to the driver. - * m_aAlias initialises m_aAliasMap which then can be - * used to find the corresponding programmatic name - * when an alias is used as a query attribute. Mozilla - * expects programmatic names from its clients. - * - * m_aAlias: vector of aliases used to initialise m_aAliasMap. - * m_AliasMap: map of {alias, programmaticname} pairs. - * - */ - private: - ::std::vector< ::rtl::OUString> m_aAlias; - ::std::map< ::rtl::OUString, ::rtl::OUString> m_aAliasMap; - protected: - ::osl::Mutex m_aMutex; - public: - void initialise(void); - const ::std::vector< ::rtl::OUString> & getAlias(void) const; - const ::std::map< ::rtl::OUString, ::rtl::OUString> & getAliasMap(void) const; - void setAlias(const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XMultiServiceFactory > &); - private: - void setAliasMap(void); - public: - OMozabColumnAlias(void); - ~OMozabColumnAlias(void); - }; - } -} -#endif // _CONNECTIVITY_MAB_COLUMNALIAS_HXX_ diff --git a/connectivity/source/inc/mozaddressbook/MABColumns.hxx b/connectivity/source/inc/mozaddressbook/MABColumns.hxx deleted file mode 100644 index 0f8ea0d2616e..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABColumns.hxx +++ /dev/null @@ -1,56 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABColumns.hxx,v $ - * $Revision: 1.7 $ - * - * 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_MAB_COLUMNS_HXX_ -#define _CONNECTIVITY_MAB_COLUMNS_HXX_ - -#include "file/FColumns.hxx" - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabColumns : public file::OColumns - { - protected: - virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName); - public: - OMozabColumns(file::OFileTable* _pTable, - ::osl::Mutex& _rMutex, - const ::std::vector< ::rtl::OUString> &_rVector - ) : file::OColumns(_pTable,_rMutex,_rVector) - {} - - }; - } -} - -#endif // _CONNECTIVITY_MAB_COLUMNS_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABConnection.hxx b/connectivity/source/inc/mozaddressbook/MABConnection.hxx deleted file mode 100644 index e1241e434eb8..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABConnection.hxx +++ /dev/null @@ -1,107 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABConnection.hxx,v $ - * $Revision: 1.12 $ - * - * 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_MAB_CONNECTION_HXX_ -#define _CONNECTIVITY_MAB_CONNECTION_HXX_ - -#include "file/FConnection.hxx" - -#ifndef _CONNECTIVITY_MAB_COLUMNALIAS_HXX_ -#include "MABColumnAlias.hxx" -#endif - -namespace com { namespace sun { namespace star { namespace sheet { - class XSpreadsheetDocument; -} } } } - - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabDriver; - class OMozabConnection : public file::OConnection - { - OMozabColumnAlias m_aColumnAlias; - ::rtl::OUString m_sURL; // contains the real url set by construct - rtl::OUString m_sMozillaURI; - sal_Int32 m_nAnonABCount; - sal_Int32 m_nMaxResultRecords; - sal_Bool m_UsesFactory ; - sal_Bool m_IsLDAP ; - sal_Bool m_bOutlookExpress; - - public: - OMozabConnection(OMozabDriver* _pDriver); - virtual ~OMozabConnection(); - - virtual void construct(const ::rtl::OUString& _rUrl, - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rInfo ) - throw( ::com::sun::star::sdbc::SQLException); - - // XServiceInfo - DECLARE_SERVICE_INFO(); - - // OComponentHelper - virtual void SAL_CALL disposing(void); - - // XConnection - 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::sdbcx::XTablesSupplier > createCatalog(); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XStatement > SAL_CALL createStatement( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XPreparedStatement > SAL_CALL prepareStatement( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XPreparedStatement > SAL_CALL prepareCall( const ::rtl::OUString& sql ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - - // no interface methods - rtl::OUString getMozURI() const - { return m_sMozillaURI; } - - ::rtl::OUString getConnectionURL() const { return m_sURL; } - - sal_Bool usesFactory(void) const { return m_UsesFactory ; } - sal_Bool isLDAP(void) const { return m_IsLDAP ; } - - sal_Bool isOutlookExpress() const { return m_bOutlookExpress;} - sal_Int32 getNextAnonymousAB() { return (++m_nAnonABCount); } - sal_Int32 getMaxResultRecords() const { return m_nMaxResultRecords; } - const OMozabColumnAlias & getColumnAlias() const - { return (m_aColumnAlias); } - - // static methods to return the names of the uri - static const sal_Char* getSDBC_SCHEME_MOZILLA(); - static const sal_Char* getSDBC_SCHEME_LDAP(); - static const sal_Char* getSDBC_SCHEME_OUTLOOK_MAPI(); - static const sal_Char* getSDBC_SCHEME_OUTLOOK_EXPRESS(); - }; - } -} - -#endif // _CONNECTIVITY_MAB_CONNECTION_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABDatabaseMetaData.hxx b/connectivity/source/inc/mozaddressbook/MABDatabaseMetaData.hxx deleted file mode 100644 index 1d520c10e2bf..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABDatabaseMetaData.hxx +++ /dev/null @@ -1,322 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABDatabaseMetaData.hxx,v $ - * $Revision: 1.9 $ - * - * 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_MAB_DATABASEMETADATA_HXX_ -#define _CONNECTIVITY_MAB_DATABASEMETADATA_HXX_ - -#ifndef _CONNECTIVITY_FILE_ODATABASEMETADATABASE_HXX_ -#include "file/FDatabaseMetaData.hxx" -#endif -#include <mozaddressbook/MABConnection.hxx> - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabDatabaseMetaData : public file::ODatabaseMetaData - { - private: - OMozabConnection* m_pMozConnection; - - public: - OMozabDatabaseMetaData(OMozabConnection* _pCon); - ~OMozabDatabaseMetaData(); - // XDatabaseMetaData methods. - virtual sal_Bool SAL_CALL allProceduresAreCallable() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL allTablesAreSelectable() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getURL() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getUserName() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isReadOnly() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullsAreSortedHigh() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullsAreSortedLow() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullsAreSortedAtStart() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullsAreSortedAtEnd() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDatabaseProductName() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDatabaseProductVersion() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDriverName() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getDriverVersion() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getDriverMajorVersion() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getDriverMinorVersion() - throw(::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL usesLocalFiles() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL usesLocalFilePerTable() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMixedCaseIdentifiers() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesUpperCaseIdentifiers() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesLowerCaseIdentifiers() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesMixedCaseIdentifiers() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMixedCaseQuotedIdentifiers() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesUpperCaseQuotedIdentifiers() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesLowerCaseQuotedIdentifiers() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL storesMixedCaseQuotedIdentifiers() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getIdentifierQuoteString() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSQLKeywords() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getNumericFunctions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getStringFunctions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSystemFunctions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getTimeDateFunctions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSearchStringEscape() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getExtraNameCharacters() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsAlterTableWithAddColumn() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsAlterTableWithDropColumn() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsColumnAliasing() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL nullPlusNonNullIsNull() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsTypeConversion() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsConvert( sal_Int32 fromType, sal_Int32 toType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsTableCorrelationNames() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsDifferentTableCorrelationNames() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsExpressionsInOrderBy() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOrderByUnrelated() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsGroupBy() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsGroupByUnrelated() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsGroupByBeyondSelect() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsLikeEscapeClause() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMultipleResultSets() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMultipleTransactions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsNonNullableColumns() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsMinimumSQLGrammar() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCoreSQLGrammar() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsExtendedSQLGrammar() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsANSI92EntryLevelSQL() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsANSI92IntermediateSQL() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsANSI92FullSQL() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsIntegrityEnhancementFacility() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOuterJoins() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsFullOuterJoins() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsLimitedOuterJoins() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getSchemaTerm() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getProcedureTerm() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getCatalogTerm() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL isCatalogAtStart() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::rtl::OUString SAL_CALL getCatalogSeparator() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSchemasInDataManipulation() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSchemasInProcedureCalls() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSchemasInTableDefinitions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSchemasInIndexDefinitions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSchemasInPrivilegeDefinitions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCatalogsInDataManipulation() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCatalogsInProcedureCalls() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCatalogsInTableDefinitions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCatalogsInIndexDefinitions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCatalogsInPrivilegeDefinitions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsPositionedDelete() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsPositionedUpdate() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSelectForUpdate() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsStoredProcedures() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSubqueriesInComparisons() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSubqueriesInExists() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSubqueriesInIns() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsSubqueriesInQuantifieds() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsCorrelatedSubqueries() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsUnion() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsUnionAll() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOpenCursorsAcrossCommit() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOpenCursorsAcrossRollback() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOpenStatementsAcrossCommit() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsOpenStatementsAcrossRollback() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxBinaryLiteralLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxCharLiteralLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnNameLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInGroupBy() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInIndex() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInOrderBy() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInSelect() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxColumnsInTable() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxConnections() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxCursorNameLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxIndexLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxSchemaNameLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxProcedureNameLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxCatalogNameLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxRowSize() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL doesMaxRowSizeIncludeBlobs() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxStatementLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxStatements() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxTableNameLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxTablesInSelect() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getMaxUserNameLength() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL getDefaultTransactionIsolation() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsTransactions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsTransactionIsolationLevel( sal_Int32 level ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsDataDefinitionAndDataManipulationTransactions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsDataManipulationTransactionsOnly() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL dataDefinitionCausesTransactionCommit() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL dataDefinitionIgnoredInTransactions() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getTables( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern, const ::com::sun::star::uno::Sequence< ::rtl::OUString >& types ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getColumns( const ::com::sun::star::uno::Any& catalog, const ::rtl::OUString& schemaPattern, const ::rtl::OUString& tableNamePattern, const ::rtl::OUString& columnNamePattern ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet > SAL_CALL getTypeInfo() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsResultSetType( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsResultSetConcurrency( sal_Int32 setType, sal_Int32 concurrency ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL ownUpdatesAreVisible( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL ownDeletesAreVisible( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL ownInsertsAreVisible( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL othersUpdatesAreVisible( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL othersDeletesAreVisible( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL othersInsertsAreVisible( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL updatesAreDetected( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL deletesAreDetected( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL insertsAreDetected( sal_Int32 setType ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsBatchUpdates() - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - }; - } -} -#endif // _CONNECTIVITY_MAB_DATABASEMETADATA_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABDatabaseMetaDataHelper.hxx b/connectivity/source/inc/mozaddressbook/MABDatabaseMetaDataHelper.hxx deleted file mode 100644 index fbe1a3a38beb..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABDatabaseMetaDataHelper.hxx +++ /dev/null @@ -1,75 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABDatabaseMetaDataHelper.hxx,v $ - * $Revision: 1.8 $ - * - * 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_MAB_DATABASEMETADATAHELPER_HXX_ -#define _CONNECTIVITY_MAB_DATABASEMETADATAHELPER_HXX_ - - /* -#include <com/sun/star/sdbc/XResultSet.hpp> -#include <com/sun/star/sdbc/XRow.hpp> -#include <com/sun/star/sdbc/XResultSetMetaDataSupplier.hpp> -#include <com/sun/star/sdbc/XCloseable.hpp> -#include <com/sun/star/sdbc/XColumnLocate.hpp> -#include <com/sun/star/util/XCancellable.hpp> -#include <com/sun/star/sdbc/XWarningsSupplier.hpp> -#include <com/sun/star/sdbc/XResultSetUpdate.hpp> -#include <com/sun/star/sdbc/XRowUpdate.hpp> -#include <cppuhelper/compbase7.hxx> -*/ -#include <comphelper/proparrhlp.hxx> - /* -#ifndef _CONNECTIVITY_FILE_ASTATEMENT_HXX_ -#include "file/FStatement.hxx" -#endif -#include "connectivity/CommonTools.hxx" -*/ -#include <comphelper/propertycontainer.hxx> -#include "FDatabaseMetaDataResultSet.hxx" -#include <mozaddressbook/MABConnection.hxx> - - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabDatabaseMetaDataHelper - { - public: - OMozabDatabaseMetaDataHelper( ); - ~OMozabDatabaseMetaDataHelper(); - ODatabaseMetaDataResultSet::ORows& getTables( OMozabConnection* _pCon ); - private: - sal_Bool m_bProfileExists ; - }; - } - -} -#endif // _CONNECTIVITY_MAB_DATABASEMETADATAHELPER_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABDriver.hxx b/connectivity/source/inc/mozaddressbook/MABDriver.hxx deleted file mode 100644 index 00756818dc83..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABDriver.hxx +++ /dev/null @@ -1,74 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABDriver.hxx,v $ - * $Revision: 1.7 $ - * - * 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_MAB_DRIVER_HXX_ -#define _CONNECTIVITY_MAB_DRIVER_HXX_ - -#include "file/FDriver.hxx" - -namespace connectivity -{ - namespace mozaddressbook - { - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL - OMozabDriver_CreateInstance(const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) - throw( ::com::sun::star::uno::Exception ); - - class OMozabDriver : public file::OFileDriver - { - public: - OMozabDriver(const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) : - file::OFileDriver(_rxFactory), m_xMSFactory(_rxFactory){} - - static ::rtl::OUString getImplementationName_Static( ) throw(::com::sun::star::uno::RuntimeException); - ::rtl::OUString SAL_CALL getImplementationName( ) throw(::com::sun::star::uno::RuntimeException); - - // XDriver - virtual ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > SAL_CALL - connect( const ::rtl::OUString& url, const ::com::sun::star::uno::Sequence< - ::com::sun::star::beans::PropertyValue >& info ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL acceptsURL( const ::rtl::OUString& url ) - throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > - & getMSFactory(void) const - { return m_xMSFactory; } - static sal_Bool acceptsURL_Stat( const ::rtl::OUString& url ); - private: - const ::com::sun::star::uno::Reference< - ::com::sun::star::lang::XMultiServiceFactory > m_xMSFactory; - }; - } -} - -#endif //_CONNECTIVITY_MAB_DRIVER_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABNSInit.hxx b/connectivity/source/inc/mozaddressbook/MABNSInit.hxx deleted file mode 100644 index 063c024631a1..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABNSInit.hxx +++ /dev/null @@ -1,41 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABNSInit.hxx,v $ - * $Revision: 1.6 $ - * - * 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_MAB_NS_INIT_HXX_ -#define _CONNECTIVITY_MAB_NS_INIT_HXX_ 1 - -#include <sal/types.h> - -sal_Bool MAB_NS_Init(sal_Bool& aProfileExists); - -sal_Bool MAB_NS_Term(); - -#endif // _CONNECTIVITY_MAB_NS_INIT_HXX_ 1 - diff --git a/connectivity/source/inc/mozaddressbook/MABNameMapper.hxx b/connectivity/source/inc/mozaddressbook/MABNameMapper.hxx deleted file mode 100644 index 1e8cdcc8867c..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABNameMapper.hxx +++ /dev/null @@ -1,81 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABNameMapper.hxx,v $ - * $Revision: 1.3 $ - * - * 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_MAB_NAMEMAPPER_HXX_ -#define _CONNECTIVITY_MAB_NAMEMAPPER_HXX_ 1 - -#include <map> - -// Mozilla includes -#include <MABNSInclude.hxx> - -// StarOffice Includes -#include <rtl/ustring.hxx> - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabNameMapper - { - private: - - struct ltstr - { - bool operator()( const ::rtl::OUString &s1, const ::rtl::OUString &s2) const; - }; - - - typedef ::std::multimap< ::rtl::OUString, nsIAbDirectory *, ltstr > dirMap; - - static OMozabNameMapper *instance; - dirMap *mDirMap; - - public: - static OMozabNameMapper* getInstance(); - - OMozabNameMapper(); - ~OMozabNameMapper(); - - // May modify the name passed in so that it's unique - void add( ::rtl::OUString& str, nsIAbDirectory* abook ); - - // Will replace the given dir - void replace( const ::rtl::OUString& str, nsIAbDirectory* abook ); - - // Get the directory corresponding to str - bool getDir( const ::rtl::OUString& str, nsIAbDirectory* *abook ); - - }; - - } -} - -#endif //_CONNECTIVITY_MAB_NAMEMAPPER_HXX_ diff --git a/connectivity/source/inc/mozaddressbook/MABPreparedStatement.hxx b/connectivity/source/inc/mozaddressbook/MABPreparedStatement.hxx deleted file mode 100644 index b62036f8fa4d..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABPreparedStatement.hxx +++ /dev/null @@ -1,57 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABPreparedStatement.hxx,v $ - * $Revision: 1.8 $ - * - * 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_MAB_PREPAREDSTATEMENT_HXX_ -#define _CONNECTIVITY_MAB_PREPAREDSTATEMENT_HXX_ - -#include "file/FPreparedStatement.hxx" - -namespace connectivity -{ - namespace mozaddressbook - { - class OConnection; - class OMozabPreparedStatement : public file::OPreparedStatement - { - protected: - virtual file::OResultSet* createResultSet(); - // here we create a SQL analyzer which doesn't support any restrictions - // these are already done by the server side - virtual file::OSQLAnalyzer* createAnalyzer(); - public: - // DECLARE_CTY_DEFAULTS(file::OStatement); - OMozabPreparedStatement( file::OConnection* _pConnection ) : file::OPreparedStatement( _pConnection ){} - DECLARE_SERVICE_INFO(); - }; - } -} - -#endif //_CONNECTIVITY_MAB_PREPAREDSTATEMENT_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABQuery.hxx b/connectivity/source/inc/mozaddressbook/MABQuery.hxx deleted file mode 100644 index 3e73bba5d16d..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABQuery.hxx +++ /dev/null @@ -1,167 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABQuery.hxx,v $ - * $Revision: 1.8 $ - * - * 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_MAB_QUERY_HXX_ -#define _CONNECTIVITY_MAB_QUERY_HXX_ - -#ifndef _CONNECTIVITY_FILE_QUERY_HXX_ -#include "file/FTable.hxx" -#endif -#include <tools/date.hxx> - -#ifndef _CONNECTIVITY_MAB_COLUMNALIAS_HXX_ -#include "MABColumnAlias.hxx" -#endif - -namespace connectivity -{ - namespace mozaddressbook - { - - class OMozabQueryHelper; - - //class OMozabQuery : public nsIAbDirectoryQueryResultListener - class OMozabQuery - { - /* - * A query resultset with a maximum limit of - * m_nMaxNrOfReturns return items, is created from - * the following SQL statement: - * - * ------------------------------------------------- - * SELECT m_aAttributes FROM m_aAddressbook - * WHERE m_aMatchItems SQL_OPR m_aMatchValue - * ------------------------------------------------- - * - * We are\are not, depending on boolean m_bQuerySubDirs, - * interested in querying the sub-directories of the - * addressbook directory, if any. - * - * SQL_OPR: - * m_aSqlOppr contains the SQL operations for every - * attribute in m_aAttributes. - * This member must be initialised together with - * m_aAttributes. - * - * The SQL operations defined for 'SQL_OPR' are: - * matchExists = 0, - * matchDoesNotExist = 1, - * matchContains = 2, - * matchDoesNotContain = 3, - * matchIs = 4, - * matchIsNot = 5, - * matchBeginsWith = 6, - * matchEndsWith = 7, - * matchSoundsLike = 8, - * matchRegExp = 9. - * There must be mapping to one of these values. - * - * The following members MUST be initialised before - * a query is executed: - * m_Attributes, m_aMapAttrOppr, m_aAddressbook, - * m_aMatchItems and m_aMatchValue. - * - * m_bQuerySubDirs and m_nMaxNrReturns are set to a - * default value in the constructor which can be - * overridden. If (element of) m_aSqlOppr is not set, - * the default SQL operation is 'matchIs'. - * - */ - public: - typedef enum { - matchExists = 0, - matchDoesNotExist = 1, - matchContains = 2, - matchDoesNotContain = 3, - matchIs = 4, - matchIsNot = 5, - matchBeginsWith = 6, - matchEndsWith = 7, - matchSoundsLike = 8, - matchRegExp = 9 - } eSqlOppr; - - private: - OMozabQueryHelper *m_aQueryHelper; - ::std::vector< ::rtl::OUString> m_aAttributes; - ::rtl::OUString m_aAddressbook; - ::std::vector< ::rtl::OUString> m_aMatchItems; - ::std::vector< ::rtl::OUString> m_aMatchValues; - sal_Int32 m_nMaxNrOfReturns; - sal_Bool m_bQuerySubDirs; - ::std::vector<eSqlOppr> m_aSqlOppr; - ::std::map< ::rtl::OUString, - ::rtl::OUString> m_aColumnAliasMap; - protected: - ::osl::Mutex m_aMutex; - public: - /* - * - Contains accessors to the members of this class. - * - executeQuery() initiates a non-blocking query. - */ - void setAttributes( ::std::vector< ::rtl::OUString>&); - const ::std::vector< ::rtl::OUString> &getAttributes(void) const; - void setAddressbook( ::rtl::OUString&); - ::rtl::OUString getAddressbook(void) const; - void setMatchItems( ::std::vector< ::rtl::OUString>&); - const ::std::vector< ::rtl::OUString> &getMatchItems(void) const; - void setMatchValues( ::std::vector< ::rtl::OUString>&); - const ::std::vector< ::rtl::OUString> &getMatchValues(void) const; - void setMaxNrOfReturns( const sal_Int32); - sal_Int32 getMaxNrOfReturns(void) const; - void setQuerySubDirs( sal_Bool&); - sal_Bool getQuerySubDirs(void) const; - void setSqlOppr( ::std::vector< eSqlOppr >&); - const ::std::vector< eSqlOppr > &getSqlOppr(void) const; - sal_Int32 executeQuery(sal_Bool _bIsOutlookExpress); - - sal_Int32 getRowCount( void ); - - sal_Int32 getRealRowCount( void ); - - sal_Bool queryComplete( void ); - - sal_Bool checkRowAvailable( sal_Int32 nDBRow ); - - void getRowValue( connectivity::ORowSetValue& rValue, - sal_Int32 nDBRow, rtl::OUString& aDBColumnName, - sal_Int32 nType ); - - public: - OMozabQuery(); - OMozabQuery(const ::std::map< ::rtl::OUString, ::rtl::OUString> &); - virtual ~OMozabQuery(); - }; - } -} - -#endif // _CONNECTIVITY_MAB_QUERY_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABQueryHelper.hxx b/connectivity/source/inc/mozaddressbook/MABQueryHelper.hxx deleted file mode 100644 index c152a01cfc0a..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABQueryHelper.hxx +++ /dev/null @@ -1,120 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABQueryHelper.hxx,v $ - * $Revision: 1.8 $ - * - * 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_MAB_QUERYHELPER_HXX_ -#define _CONNECTIVITY_MAB_QUERYHELPER_HXX_ - -#include <MABNSInclude.hxx> -#include <sal/types.h> -#include <rtl/ustring.hxx> -#include <osl/mutex.hxx> -#include <osl/conditn.hxx> -#include <comphelper/stl_types.hxx> - - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabQueryHelperResultEntry - { - private: - mutable ::osl::Mutex m_aMutex; - - DECLARE_STL_USTRINGACCESS_MAP(::rtl::OUString,fieldMap); - - fieldMap m_Fields; - - public: - OMozabQueryHelperResultEntry(); - ~OMozabQueryHelperResultEntry(); - - void insert( rtl::OUString &key, rtl::OUString &value ); - rtl::OUString getValue( const rtl::OUString &key ) const; - }; - - class OMozabQueryHelper : public nsIAbDirectoryQueryResultListener - { - private: - typedef std::vector< OMozabQueryHelperResultEntry* > resultsArray; - - mutable ::osl::Mutex m_aMutex; - ::osl::Condition m_aCondition; - resultsArray m_aResults; - sal_Int32 m_nIndex; - sal_Bool m_bHasMore; - sal_Bool m_bAtEnd; - sal_Bool m_bQueryComplete; - - void append(OMozabQueryHelperResultEntry* resEnt ); - - void clear_results(); - - void clearResultOrComplete(); - void notifyResultOrComplete(); - void waitForResultOrComplete(); - - - public: - - NS_DECL_ISUPPORTS - NS_DECL_NSIABDIRECTORYQUERYRESULTLISTENER - - OMozabQueryHelper(); - - ~OMozabQueryHelper(); - - void reset(); - - void rewind(); - - OMozabQueryHelperResultEntry* next(); - - OMozabQueryHelperResultEntry* getByIndex( sal_Int32 nRow ); - - sal_Bool hasMore() const; - - sal_Bool atEnd() const; - - sal_Bool queryComplete() const; - - void waitForRow( sal_Int32 rowNum ); - - sal_Int32 getResultCount() const; - - sal_Int32 getRealCount() const; - - void notifyQueryError() ; - - }; - } -} -#endif // _CONNECTIVITY_MAB_QUERYHELPER_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABResultSet.hxx b/connectivity/source/inc/mozaddressbook/MABResultSet.hxx deleted file mode 100644 index 7327f8688ae2..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABResultSet.hxx +++ /dev/null @@ -1,97 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABResultSet.hxx,v $ - * $Revision: 1.10 $ - * - * 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_MAB_RESULTSET_HXX_ -#define _CONNECTIVITY_MAB_RESULTSET_HXX_ - -#include "file/FResultSet.hxx" -#include "mozaddressbook/MABTable.hxx" -#include <com/sun/star/sdbcx/XRowLocate.hpp> -#include <com/sun/star/sdbcx/XDeleteRows.hpp> -#include <cppuhelper/implbase2.hxx> - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabResultSet; - // these typedef's are only necessary for the compiler - typedef ::cppu::ImplHelper2< ::com::sun::star::sdbcx::XRowLocate, - ::com::sun::star::sdbcx::XDeleteRows> OMozabResultSet_BASE; - typedef file::OResultSet OMozabResultSet_BASE2; - typedef ::comphelper::OPropertyArrayUsageHelper<OMozabResultSet> OMozabResultSet_BASE3; - - - class OMozabResultSet : public OMozabResultSet_BASE2, - public OMozabResultSet_BASE, - public OMozabResultSet_BASE3 - { - sal_Bool m_bBookmarkable; - protected: - OMozabTable *m_pMozTable; - - // OPropertyArrayUsageHelper - virtual ::cppu::IPropertyArrayHelper* createArrayHelper() const; - // OPropertySetHelper - virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper(); - virtual sal_Bool fillIndexValues(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbcx::XColumnsSupplier> &_xIndex); - - public: - DECLARE_SERVICE_INFO(); - - OMozabResultSet( file::OStatement_Base* pStmt,connectivity::OSQLParseTreeIterator& _aSQLIterator); - - // XInterface - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - //XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException); - // XPropertySet - virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException); - - // XRowLocate - virtual ::com::sun::star::uno::Any SAL_CALL getBookmark( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL moveToBookmark( const ::com::sun::star::uno::Any& bookmark ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL moveRelativeToBookmark( const ::com::sun::star::uno::Any& bookmark, sal_Int32 rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL compareBookmarks( const ::com::sun::star::uno::Any& first, const ::com::sun::star::uno::Any& second ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasOrderedBookmarks( ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - virtual sal_Int32 SAL_CALL hashBookmark( const ::com::sun::star::uno::Any& bookmark ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - // XDeleteRows - virtual ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL deleteRows( const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& rows ) throw(::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException); - - // special methods - // virtual BOOL OpenImpl(); - virtual void doTableSpecials(const OSQLTable& _xTable); - }; - } -} - -#endif //_CONNECTIVITY_MAB_RESULTSET_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABStatement.hxx b/connectivity/source/inc/mozaddressbook/MABStatement.hxx deleted file mode 100644 index 8a801c314f07..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABStatement.hxx +++ /dev/null @@ -1,71 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABStatement.hxx,v $ - * $Revision: 1.6 $ - * - * 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_MAB_STATEMENT_HXX_ -#define _CONNECTIVITY_MAB_STATEMENT_HXX_ - -#include "file/FStatement.hxx" -#include "file/fanalyzer.hxx" - -namespace connectivity -{ - namespace mozaddressbook - { - // ----------------------------------------------------------------------------- - typedef ::connectivity::file::OSQLAnalyzer OMozabAnalyzer_BASE; - /** little helper class to avoid filtering by the file resultset - this analyzer doesn't soppurt restrictions - */ - - class OMozabAnalyzer : public OMozabAnalyzer_BASE - { - public: - OMozabAnalyzer(){} - virtual BOOL hasRestriction() const; - }; - - class OConnection; - class OMozabStatement : public file::OStatement - { - protected: - virtual file::OResultSet* createResultSet(); - // here we create a SQL analyzer which doesn't support any restrictions - // these are already done by the server side - virtual file::OSQLAnalyzer* createAnalyzer(); - public: - // DECLARE_CTY_DEFAULTS(file::OStatement); - OMozabStatement( file::OConnection* _pConnection) : file::OStatement( _pConnection){} - DECLARE_SERVICE_INFO(); - }; - } -} - -#endif //_CONNECTIVITY_MAB_STATEMENT_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABTable.hxx b/connectivity/source/inc/mozaddressbook/MABTable.hxx deleted file mode 100644 index 561460f05efc..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABTable.hxx +++ /dev/null @@ -1,154 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABTable.hxx,v $ - * $Revision: 1.11 $ - * - * 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_MAB_TABLE_HXX_ -#define _CONNECTIVITY_MAB_TABLE_HXX_ - -#include "file/FTable.hxx" -#include <tools/date.hxx> - -#include <mozaddressbook/MABQuery.hxx> - -#ifdef DARREN_WORK -namespace com { namespace sun { namespace star { namespace sheet { - class XSpreadsheet; -} } } } - -namespace com { namespace sun { namespace star { namespace util { - class XNumberFormats; -} } } } - -#endif /* DARREN_WORK */ - -namespace connectivity -{ - namespace mozaddressbook - { - typedef file::OFileTable OMozabTable_BASE; - class OMozabConnection; - - typedef ::std::map< ::rtl::OUString, - ::com::sun::star::uno::Reference< ::com::sun::star::container::XNamed>, - comphelper::UStringMixLess > OContainer; - static sal_Int32 const m_nNR_OF_FIELDS = 37; - - class OMozabTable : public OMozabTable_BASE - { - private: - //static sal_Int32 const m_nNR_OF_FIELDS = 37; - const OMozabColumnAlias & m_aColumnAlias; - OMozabQuery *m_xQuery; - ::std::vector<sal_Int32> m_aTypes; // holds all type for columns just to avoid to ask the propertyset - ::std::vector<sal_Int32> m_aPrecisions; // same as aboth - ::std::vector<sal_Int32> m_aScales; -#ifdef DARREN_WORK - ::com::sun::star::uno::Reference< ::com::sun::star::sheet::XSpreadsheet > m_xSheet; - ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormats > m_xFormats; - ::Date m_aNullDate; -#endif /* DARREN_WORK */ - ::std::vector< ::rtl::OUString> m_aAttributeStrings; - - void fillColumns(); - - BOOL WriteBuffer(); - BOOL UpdateBuffer(connectivity::OValueVector& rRow, connectivity::OValueRow pOrgRow,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>& _xCols); - ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> isUniqueByColumnName(const ::rtl::OUString& _rColName); - OValueRow m_aParameterRow; - - sal_Int32 sParamIndex; - - inline void resetParameters() - { sParamIndex = 0; } - - void parseParameter( const OSQLParseNode* pNode, rtl::OUString& rMatchString ); - - protected: - virtual void FileClose(); - - // special ctor is needed for clone - OMozabTable(const OMozabTable* _pTable); - public: - virtual void refreshColumns(); - virtual void refreshIndexes(); - - public: - // DECLARE_CTY_DEFAULTS( OMozabTable_BASE); - OMozabTable( sdbcx::OCollection* _pTables,OMozabConnection* _pConnection); - OMozabTable( sdbcx::OCollection* _pTables,OMozabConnection* _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() - ); - ~OMozabTable( ); - - virtual sal_Int32 getCurrentLastPos() const; - virtual sal_Bool seekRow(IResultSetHelper::Movement eCursorPosition, sal_Int32 nOffset, sal_Int32& nCurPos); - virtual sal_Bool fetchRow(connectivity::OValueRow _rRow,const OSQLColumns& _rCols, sal_Bool _bUseTableDefs,sal_Bool bRetrieveData); - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException); - //XTypeProvider - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL disposing(void); - - // 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(); - - BOOL DropImpl(); - BOOL CreateImpl(); - - virtual BOOL InsertRow(connectivity::OValueVector& rRow, BOOL bFlush,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>& _xCols); - virtual BOOL DeleteRow(const OSQLColumns& _rCols); - virtual BOOL UpdateRow(connectivity::OValueVector& rRow, connectivity::OValueRow pOrgRow,const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>& _xCols); - - void fillRowData( connectivity::OSQLParseTreeIterator& _aSQLIterator ); - - void analyseWhereClause( const OSQLParseNode* parseTree, - ::std::vector< ::rtl::OUString > &matchItems, - ::std::vector< OMozabQuery::eSqlOppr > &matchOper, - ::std::vector< ::rtl::OUString > &matchValues, - connectivity::OSQLParseTreeIterator& aSQLIterator); - - // returns a copy of this object - OMozabTable* clone() const; - const OMozabColumnAlias & getColumnAlias() const - { return (m_aColumnAlias); } - - void setParameterRow(const OValueRow& _rParaRow) - { m_aParameterRow = _rParaRow; } - - }; - } -} - -#endif // _CONNECTIVITY_MAB_TABLE_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABTables.hxx b/connectivity/source/inc/mozaddressbook/MABTables.hxx deleted file mode 100644 index 3be8cd14edd2..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABTables.hxx +++ /dev/null @@ -1,55 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABTables.hxx,v $ - * $Revision: 1.7 $ - * - * 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_MAB_TABLES_HXX_ -#define _CONNECTIVITY_MAB_TABLES_HXX_ - -#include "file/FTables.hxx" - -namespace connectivity -{ - namespace mozaddressbook - { - typedef file::OTables OMozabTables_BASE; - - class OMozabTables : public OMozabTables_BASE - { - protected: - virtual sdbcx::ObjectType createObject(const ::rtl::OUString& _rName); - public: - OMozabTables(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDatabaseMetaData >& _rMetaData,::cppu::OWeakObject& _rParent, ::osl::Mutex& _rMutex, - const ::std::vector< ::rtl::OUString> &_rVector) : OMozabTables_BASE(_rMetaData,_rParent,_rMutex,_rVector) - {} - }; - } -} - -#endif // _CONNECTIVITY_MAB_TABLES_HXX_ - diff --git a/connectivity/source/inc/mozaddressbook/MABTypeConverter.hxx b/connectivity/source/inc/mozaddressbook/MABTypeConverter.hxx deleted file mode 100644 index 9cb055eb4d6a..000000000000 --- a/connectivity/source/inc/mozaddressbook/MABTypeConverter.hxx +++ /dev/null @@ -1,63 +0,0 @@ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2008 by Sun Microsystems, Inc. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * $RCSfile: MABTypeConverter.hxx,v $ - * $Revision: 1.4 $ - * - * 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_MAB_TYPECONVERTER_HXX_ -#define _CONNECTIVITY_MAB_TYPECONVERTER_HXX_ - -#ifndef _CONNECTIVITY_FILE_TYPECONVERTER_HXX_ -#include "file/FTable.hxx" -#endif - -#include <string> - -namespace connectivity -{ - namespace mozaddressbook - { - class OMozabTypeConverter - { - public: - static void ouStringToNsString(const ::rtl::OUString&, nsString&); - static void nsStringToOUString(const nsString&, ::rtl::OUString&); - static void prUnicharToOUString(const PRUnichar*, ::rtl::OUString&); - // Use free() for the following 3 calls. - static char *ouStringToCCharStringAscii(const ::rtl::OUString&); - static char *nsStringToCCharStringAscii(const nsString&); - static char *ouStringToCCharStringUtf8(const ::rtl::OUString&); - // Convert to stl-string. - static ::std::string ouStringToStlString(const ::rtl::OUString&); - static ::std::string nsStringToStlString(const nsString&); - }; - } -} - -#endif // _CONNECTIVITY_MAB_TYPECONVERTER_HXX_ - diff --git a/connectivity/source/inc/resource/dbase_res.hrc b/connectivity/source/inc/resource/dbase_res.hrc index 42e93a6fb906..b462982c6b06 100644 --- a/connectivity/source/inc/resource/dbase_res.hrc +++ b/connectivity/source/inc/resource/dbase_res.hrc @@ -58,7 +58,7 @@ #define STR_COULD_NOT_CREATE_INDEX_NAME ( STR_DBASE_BASE + 17 ) #define STR_INVALID_COLUMN_VALUE ( STR_DBASE_BASE + 18 ) #define STR_TABLE_NOT_DROP ( STR_DBASE_BASE + 19 ) - +#define STR_COULD_NOT_CREATE_INDEX_KEYSIZE ( STR_DBASE_BASE + 20 ) #endif // CONNECTIVITY_RESOURCE_DBASE_HRC diff --git a/connectivity/source/resource/conn_shared_res.src b/connectivity/source/resource/conn_shared_res.src index 5a66a005d8a7..bc96fab7d51c 100644 --- a/connectivity/source/resource/conn_shared_res.src +++ b/connectivity/source/resource/conn_shared_res.src @@ -399,6 +399,10 @@ String STR_COULD_NOT_CREATE_INDEX_NAME { Text [ en-US ] = "The index could not be created. The file '$filename$' is used by an other index."; }; +String STR_COULD_NOT_CREATE_INDEX_KEYSIZE +{ + Text [ en-US ] = "The index could not be created. The size of the choosen column is to big."; +}; String STR_SQL_NAME_ERROR { |