summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/dlg/DbAdminImpl.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/dlg/DbAdminImpl.cxx')
-rw-r--r--dbaccess/source/ui/dlg/DbAdminImpl.cxx85
1 files changed, 58 insertions, 27 deletions
diff --git a/dbaccess/source/ui/dlg/DbAdminImpl.cxx b/dbaccess/source/ui/dlg/DbAdminImpl.cxx
index 4a4497d669d2..779814ca508b 100644
--- a/dbaccess/source/ui/dlg/DbAdminImpl.cxx
+++ b/dbaccess/source/ui/dlg/DbAdminImpl.cxx
@@ -7,7 +7,7 @@
* OpenOffice.org - a multi-platform office productivity suite
*
* $RCSfile: DbAdminImpl.cxx,v $
- * $Revision: 1.26 $
+ * $Revision: 1.26.18.1 $
*
* This file is part of OpenOffice.org.
*
@@ -119,7 +119,7 @@
#ifndef _COM_SUN_STAR_FRAME_XSTORABLE_HPP_
#include <com/sun/star/frame/XStorable.hpp>
#endif
-
+#include "dsnItem.hxx"
#include <algorithm>
#include <functional>
@@ -471,19 +471,19 @@ Reference< XPropertySet > ODbDataSourceAdministrationHelper::getCurrentDataSourc
return m_xDatasource;
}
//-------------------------------------------------------------------------
-DATASOURCE_TYPE ODbDataSourceAdministrationHelper::getDatasourceType( const SfxItemSet& _rSet )
+::dbaccess::DATASOURCE_TYPE ODbDataSourceAdministrationHelper::getDatasourceType( const SfxItemSet& _rSet )
{
SFX_ITEMSET_GET( _rSet, pConnectURL, SfxStringItem, DSID_CONNECTURL, sal_True );
SFX_ITEMSET_GET( _rSet, pTypeCollection, DbuTypeCollectionItem, DSID_TYPECOLLECTION, sal_True );
DBG_ASSERT( pConnectURL && pTypeCollection, "ODbDataSourceAdministrationHelper::getDatasourceType: invalid items in the source set!" );
if ( !pConnectURL || !pTypeCollection )
- return DST_UNKNOWN;
+ return ::dbaccess::DST_UNKNOWN;
String sConnectURL = pConnectURL->GetValue();
- ODsnTypeCollection* pCollection = pTypeCollection->getCollection();
+ ::dbaccess::ODsnTypeCollection* pCollection = pTypeCollection->getCollection();
DBG_ASSERT( pCollection, "ODbDataSourceAdministrationHelper::getDatasourceType: invalid type collection!" );
if ( !pCollection )
- return DST_UNKNOWN;
+ return ::dbaccess::DST_UNKNOWN;
return pCollection->getType( sConnectURL );
}
@@ -498,25 +498,25 @@ String ODbDataSourceAdministrationHelper::getConnectionURL() const
{
String sNewUrl;
- DATASOURCE_TYPE eType = getDatasourceType(*m_pItemSetHelper->getOutputSet());
+ ::dbaccess::DATASOURCE_TYPE eType = getDatasourceType(*m_pItemSetHelper->getOutputSet());
SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pUrlItem, SfxStringItem, DSID_CONNECTURL, sal_True);
SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pTypeCollection, DbuTypeCollectionItem, DSID_TYPECOLLECTION, sal_True);
OSL_ENSURE(pUrlItem,"Connection URL is NULL. -> GPF!");
DBG_ASSERT(pTypeCollection, "ODbDataSourceAdministrationHelper::getDatasourceType: invalid items in the source set!");
- ODsnTypeCollection* pCollection = pTypeCollection->getCollection();
+ ::dbaccess::ODsnTypeCollection* pCollection = pTypeCollection->getCollection();
DBG_ASSERT(pCollection, "ODbDataSourceAdministrationHelper::getDatasourceType: invalid type collection!");
switch( eType )
{
- case DST_DBASE:
- case DST_FLAT:
- case DST_CALC:
+ case ::dbaccess::DST_DBASE:
+ case ::dbaccess::DST_FLAT:
+ case ::dbaccess::DST_CALC:
break;
- case DST_ADABAS:
+ case ::dbaccess::DST_ADABAS:
{
SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pHostName, SfxStringItem, DSID_CONN_HOSTNAME, sal_True);
sNewUrl = lcl_createHostWithPort(pHostName,NULL);
@@ -527,8 +527,8 @@ String ODbDataSourceAdministrationHelper::getConnectionURL() const
sNewUrl += sUrl;
}
break;
- case DST_MSACCESS:
- case DST_MSACCESS_2007:
+ case ::dbaccess::DST_MSACCESS:
+ case ::dbaccess::DST_MSACCESS_2007:
{
::rtl::OUString sFileName = pCollection->cutPrefix(pUrlItem->GetValue());
::rtl::OUString sNewFileName;
@@ -538,8 +538,8 @@ String ODbDataSourceAdministrationHelper::getConnectionURL() const
}
}
break;
- case DST_MYSQL_NATIVE:
- case DST_MYSQL_JDBC:
+ case ::dbaccess::DST_MYSQL_NATIVE:
+ case ::dbaccess::DST_MYSQL_JDBC:
{
SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pHostName, SfxStringItem, DSID_CONN_HOSTNAME, sal_True);
SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pPortNumber, SfxInt32Item, DSID_MYSQL_PORTNUMBER, sal_True);
@@ -559,7 +559,7 @@ String ODbDataSourceAdministrationHelper::getConnectionURL() const
}
}
break;
- case DST_ORACLE_JDBC:
+ case ::dbaccess::DST_ORACLE_JDBC:
{
SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pHostName, SfxStringItem, DSID_CONN_HOSTNAME, sal_True);
SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pPortNumber, SfxInt32Item, DSID_ORACLE_PORTNUMBER, sal_True);
@@ -583,7 +583,7 @@ String ODbDataSourceAdministrationHelper::getConnectionURL() const
}
}
break;
- case DST_LDAP:
+ case ::dbaccess::DST_LDAP:
{
// SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pHostName, SfxStringItem, DSID_CONN_HOSTNAME, sal_True);
SFX_ITEMSET_GET(*m_pItemSetHelper->getOutputSet(), pPortNumber, SfxInt32Item, DSID_CONN_LDAP_PORTNUMBER, sal_True);
@@ -591,7 +591,7 @@ String ODbDataSourceAdministrationHelper::getConnectionURL() const
sNewUrl += lcl_createHostWithPort(NULL,pPortNumber);
}
break;
- case DST_JDBC:
+ case ::dbaccess::DST_JDBC:
// run through
default:
break;
@@ -769,7 +769,7 @@ void ODbDataSourceAdministrationHelper::fillDatasourceInfo(const SfxItemSet& _rS
// us)
// first determine which of all the items are relevant for the data source (depends on the connection url)
- DATASOURCE_TYPE eType = getDatasourceType(_rSource);
+ ::dbaccess::DATASOURCE_TYPE eType = getDatasourceType(_rSource);
::std::vector< sal_Int32> aDetailIds;
ODriversSettings::getSupportedIndirectSettings(eType,aDetailIds);
@@ -874,7 +874,7 @@ void ODbDataSourceAdministrationHelper::fillDatasourceInfo(const SfxItemSet& _rS
}
// here we have a special entry for types from oracle
- if ( eType == DST_ORACLE_JDBC )
+ if ( eType == ::dbaccess::DST_ORACLE_JDBC )
{
Sequence< Any > aTypeSettings;
static const ::rtl::OUString s_sCondition(RTL_CONSTASCII_USTRINGPARAM("Column(2) = "));
@@ -1077,14 +1077,14 @@ String ODbDataSourceAdministrationHelper::getDocumentUrl(SfxItemSet& _rDest)
// -----------------------------------------------------------------------------
void ODbDataSourceAdministrationHelper::convertUrl(SfxItemSet& _rDest)
{
- DATASOURCE_TYPE eType = getDatasourceType(_rDest);
+ ::dbaccess::DATASOURCE_TYPE eType = getDatasourceType(_rDest);
SFX_ITEMSET_GET(_rDest, pUrlItem, SfxStringItem, DSID_CONNECTURL, sal_True);
SFX_ITEMSET_GET(_rDest, pTypeCollection, DbuTypeCollectionItem, DSID_TYPECOLLECTION, sal_True);
OSL_ENSURE(pUrlItem,"Connection URL is NULL. -> GPF!");
DBG_ASSERT(pTypeCollection, "ODbAdminDialog::getDatasourceType: invalid items in the source set!");
- ODsnTypeCollection* pCollection = pTypeCollection->getCollection();
+ ::dbaccess::ODsnTypeCollection* pCollection = pTypeCollection->getCollection();
DBG_ASSERT(pCollection, "ODbAdminDialog::getDatasourceType: invalid type collection!");
USHORT nPortNumberId = 0;
@@ -1097,14 +1097,14 @@ void ODbDataSourceAdministrationHelper::convertUrl(SfxItemSet& _rDest)
switch( eType )
{
- case DST_MYSQL_NATIVE:
- case DST_MYSQL_JDBC:
+ case ::dbaccess::DST_MYSQL_NATIVE:
+ case ::dbaccess::DST_MYSQL_JDBC:
nPortNumberId = DSID_MYSQL_PORTNUMBER;
break;
- case DST_ORACLE_JDBC:
+ case ::dbaccess::DST_ORACLE_JDBC:
nPortNumberId = DSID_ORACLE_PORTNUMBER;
break;
- case DST_LDAP:
+ case ::dbaccess::DST_LDAP:
nPortNumberId = DSID_CONN_LDAP_PORTNUMBER;
break;
default:
@@ -1144,6 +1144,37 @@ void ODbDataSourceAdministrationHelper::setDataSourceOrName( const Any& _rDataSo
// hmm. We could reset m_xDatasource/m_xModel, probably, and continue working
m_aDataSourceOrName = _rDataSourceOrName;
}
+//=========================================================================
+//= DbuTypeCollectionItem
+//=========================================================================
+TYPEINIT1(DbuTypeCollectionItem, SfxPoolItem);
+//-------------------------------------------------------------------------
+DbuTypeCollectionItem::DbuTypeCollectionItem(sal_Int16 _nWhich, ::dbaccess::ODsnTypeCollection* _pCollection)
+ :SfxPoolItem(_nWhich)
+ ,m_pCollection(_pCollection)
+{
+}
+
+//-------------------------------------------------------------------------
+DbuTypeCollectionItem::DbuTypeCollectionItem(const DbuTypeCollectionItem& _rSource)
+ :SfxPoolItem(_rSource)
+ ,m_pCollection(_rSource.getCollection())
+{
+}
+
+//-------------------------------------------------------------------------
+int DbuTypeCollectionItem::operator==(const SfxPoolItem& _rItem) const
+{
+ DbuTypeCollectionItem* pCompare = PTR_CAST(DbuTypeCollectionItem, &_rItem);
+ return pCompare && (pCompare->getCollection() == getCollection());
+}
+
+//-------------------------------------------------------------------------
+SfxPoolItem* DbuTypeCollectionItem::Clone(SfxItemPool* /*_pPool*/) const
+{
+ return new DbuTypeCollectionItem(*this);
+}
+
//.........................................................................
} // namespace dbaui
//.........................................................................