User: kz Date: 2008-04-03 16:50:07+0000 Modified: dba/dbaccess/source/ui/misc/dsntypes.cxx
Log: INTEGRATION: CWS dbodf11 (1.38.20); FILE MERGED 2008/04/01 11:11:50 oj 1.38.20.2: RESYNC: (1.38-1.39); FILE MERGED 2008/01/31 07:47:46 oj 1.38.20.1: #i85757# as odf 1.2 form File Changes: Directory: /dba/dbaccess/source/ui/misc/ ======================================== File [changed]: dsntypes.cxx Url: http://dba.openoffice.org/source/browse/dba/dbaccess/source/ui/misc/dsntypes.cxx?r1=1.39&r2=1.40 Delta lines: +51 -1 -------------------- --- dsntypes.cxx 2008-03-05 17:05:49+0000 1.39 +++ dsntypes.cxx 2008-04-03 16:50:04+0000 1.40 @@ -70,6 +70,7 @@ #ifndef _DBAUI_MODULE_DBU_HXX_ #include "moduledbu.hxx" #endif +#include <comphelper/documentconstants.hxx> //......................................................................... namespace dbaui { @@ -251,6 +252,55 @@ return _rDsn.Copy(sPrefix.Len()); } // ----------------------------------------------------------------------------- +String ODsnTypeCollection::getMediaType(DATASOURCE_TYPE _eType) const +{ + String sRet; + switch (_eType) + { + case DST_DBASE: + sRet = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("application/dbase")); + break; + case DST_FLAT: + sRet = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("text/csv")); + break; + case DST_CALC: + sRet = MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET; + break; + case DST_MSACCESS: + case DST_MSACCESS_2007: + sRet = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("application/msaccess")); + break; + default: + break; + } + return sRet; +} +// ----------------------------------------------------------------------------- +String ODsnTypeCollection::getDatasourcePrefixFromMediaType(const String& _sMediaType,const String& _sExtension) +{ + ::rtl::OUString sURL(RTL_CONSTASCII_USTRINGPARAM("sdbc:")); + if ( _sMediaType.EqualsIgnoreCaseAscii( "text/csv" ) ) + { + sURL += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("flat:")); + } + else if ( _sMediaType.EqualsIgnoreCaseAscii( "application/dbase" ) ) + { + sURL += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("dbase:")); + } + else if ( _sMediaType.EqualsIgnoreCaseAscii( MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET_ASCII ) ) + { + sURL += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("calc:")); + } + else if ( _sMediaType.EqualsIgnoreCaseAscii( "application/msaccess" ) ) + { + if ( _sExtension.EqualsIgnoreCaseAscii( "mdb" ) ) + sURL += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ado:access:PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA SOURCE=")); + else + sURL += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("ado:access:Provider=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=")); + } + return sURL; +} +// ----------------------------------------------------------------------------- void ODsnTypeCollection::extractHostNamePort(const String& _rDsn,String& _sDatabaseName,String& _rsHostname,sal_Int32& _nPortNumber) const { DATASOURCE_TYPE eType = getType(_rDsn); @@ -566,7 +616,7 @@ // ----------------------------------------------------------------------------- String ODsnTypeCollection::getTypeExtension(DATASOURCE_TYPE _eType) const { - StringVector::size_type nPos = static_cast<sal_Int16>(_eType-DST_USERDEFINE1); + StringVector::size_type nPos = static_cast<sal_uInt16>(_eType-DST_USERDEFINE1); return nPos < m_aUserExtensions.size() ? m_aUserExtensions[nPos] : String(); } //------------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
