summaryrefslogtreecommitdiff
path: root/dbaccess/source/ui/misc/dsmeta.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'dbaccess/source/ui/misc/dsmeta.cxx')
-rw-r--r--dbaccess/source/ui/misc/dsmeta.cxx101
1 files changed, 36 insertions, 65 deletions
diff --git a/dbaccess/source/ui/misc/dsmeta.cxx b/dbaccess/source/ui/misc/dsmeta.cxx
index 58831f081185..b3f141980553 100644
--- a/dbaccess/source/ui/misc/dsmeta.cxx
+++ b/dbaccess/source/ui/misc/dsmeta.cxx
@@ -28,7 +28,6 @@
namespace dbaui
{
- using namespace dbaccess;
using namespace ::com::sun::star;
namespace {
@@ -53,45 +52,39 @@ namespace dbaui
{
/// one of the items from dsitems.hxx
ItemID nItemID;
- const char* pAsciiFeatureName;
+ OUString pAsciiFeatureName;
};
- }
-
// global tables
- static const FeatureMapping* lcl_getFeatureMappings()
- {
- static const FeatureMapping s_aMappings[] = {
- { DSID_AUTORETRIEVEENABLED, "GeneratedValues" },
- { DSID_AUTOINCREMENTVALUE, "GeneratedValues" },
- { DSID_AUTORETRIEVEVALUE, "GeneratedValues" },
- { DSID_SQL92CHECK, "UseSQL92NamingConstraints" },
- { DSID_APPEND_TABLE_ALIAS, "AppendTableAliasInSelect" },
- { DSID_AS_BEFORE_CORRNAME, "UseKeywordAsBeforeAlias" },
- { DSID_ENABLEOUTERJOIN, "UseBracketedOuterJoinSyntax" },
- { DSID_IGNOREDRIVER_PRIV, "IgnoreDriverPrivileges" },
- { DSID_PARAMETERNAMESUBST, "ParameterNameSubstitution" },
- { DSID_SUPPRESSVERSIONCL, "DisplayVersionColumns" },
- { DSID_CATALOG, "UseCatalogInSelect" },
- { DSID_SCHEMA, "UseSchemaInSelect" },
- { DSID_INDEXAPPENDIX, "UseIndexDirectionKeyword" },
- { DSID_DOSLINEENDS, "UseDOSLineEnds" },
- { DSID_BOOLEANCOMPARISON, "BooleanComparisonMode" },
- { DSID_CHECK_REQUIRED_FIELDS, "FormsCheckRequiredFields" },
- { DSID_IGNORECURRENCY, "IgnoreCurrency" },
- { DSID_ESCAPE_DATETIME, "EscapeDateTime" },
- { DSID_PRIMARY_KEY_SUPPORT, "PrimaryKeySupport" },
- { DSID_RESPECTRESULTSETTYPE, "RespectDriverResultSetType" },
- { DSID_MAX_ROW_SCAN, "MaxRowScan" },
- { 0, nullptr }
- };
- return s_aMappings;
+ const FeatureMapping s_aMappings[] = {
+ { DSID_AUTORETRIEVEENABLED, u"GeneratedValues"_ustr },
+ { DSID_AUTOINCREMENTVALUE, u"GeneratedValues"_ustr },
+ { DSID_AUTORETRIEVEVALUE, u"GeneratedValues"_ustr },
+ { DSID_SQL92CHECK, u"UseSQL92NamingConstraints"_ustr },
+ { DSID_APPEND_TABLE_ALIAS, u"AppendTableAliasInSelect"_ustr },
+ { DSID_AS_BEFORE_CORRNAME, u"UseKeywordAsBeforeAlias"_ustr },
+ { DSID_ENABLEOUTERJOIN, u"UseBracketedOuterJoinSyntax"_ustr },
+ { DSID_IGNOREDRIVER_PRIV, u"IgnoreDriverPrivileges"_ustr },
+ { DSID_PARAMETERNAMESUBST, u"ParameterNameSubstitution"_ustr },
+ { DSID_SUPPRESSVERSIONCL, u"DisplayVersionColumns"_ustr },
+ { DSID_CATALOG, u"UseCatalogInSelect"_ustr },
+ { DSID_SCHEMA, u"UseSchemaInSelect"_ustr },
+ { DSID_INDEXAPPENDIX, u"UseIndexDirectionKeyword"_ustr },
+ { DSID_DOSLINEENDS, u"UseDOSLineEnds"_ustr },
+ { DSID_BOOLEANCOMPARISON, u"BooleanComparisonMode"_ustr },
+ { DSID_CHECK_REQUIRED_FIELDS, u"FormsCheckRequiredFields"_ustr },
+ { DSID_IGNORECURRENCY, u"IgnoreCurrency"_ustr },
+ { DSID_ESCAPE_DATETIME, u"EscapeDateTime"_ustr },
+ { DSID_PRIMARY_KEY_SUPPORT, u"PrimaryKeySupport"_ustr },
+ { DSID_RESPECTRESULTSETTYPE, u"RespectDriverResultSetType"_ustr },
+ { DSID_MAX_ROW_SCAN, u"MaxRowScan"_ustr },
+ };
}
static const FeatureSet& lcl_getFeatureSet( const OUString& _rURL )
{
typedef std::map< OUString, FeatureSet > FeatureSets;
- static FeatureSets s_aFeatureSets = [&]()
+ static FeatureSets s_aFeatureSets = []()
{
FeatureSets tmp;
::connectivity::DriversConfig aDriverConfig( ::comphelper::getProcessComponentContext() );
@@ -101,12 +94,10 @@ namespace dbaui
FeatureSet aCurrentSet;
const ::comphelper::NamedValueCollection aCurrentFeatures( aDriverConfig.getFeatures( pattern ).getNamedValues() );
- const FeatureMapping* pFeatureMapping = lcl_getFeatureMappings();
- while ( pFeatureMapping->pAsciiFeatureName )
+ for ( const FeatureMapping& rFeatureMapping : s_aMappings )
{
- if ( aCurrentFeatures.has( pFeatureMapping->pAsciiFeatureName ) )
- aCurrentSet.put( pFeatureMapping->nItemID );
- ++pFeatureMapping;
+ if ( aCurrentFeatures.has( rFeatureMapping.pAsciiFeatureName ) )
+ aCurrentSet.put( rFeatureMapping.nItemID );
}
tmp[ pattern ] = aCurrentSet;
@@ -120,27 +111,24 @@ namespace dbaui
static AuthenticationMode getAuthenticationMode( const OUString& _sURL )
{
- static std::map< OUString, FeatureSupport > s_aSupport = [&]()
+ static std::map< OUString, FeatureSupport > s_aSupport = []()
{
std::map< OUString, FeatureSupport > tmp;
::connectivity::DriversConfig aDriverConfig(::comphelper::getProcessComponentContext());
- const uno::Sequence< OUString > aURLs = aDriverConfig.getURLs();
- const OUString* pIter = aURLs.getConstArray();
- const OUString* pEnd = pIter + aURLs.getLength();
- for(;pIter != pEnd;++pIter)
+ for (auto& url : aDriverConfig.getURLs())
{
FeatureSupport aInit( AuthNone );
- const ::comphelper::NamedValueCollection& aMetaData = aDriverConfig.getMetaData(*pIter);
- if ( aMetaData.has("Authentication") )
+ const ::comphelper::NamedValueCollection& aMetaData = aDriverConfig.getMetaData(url);
+ if ( aMetaData.has(u"Authentication"_ustr) )
{
OUString sAuth;
- aMetaData.get("Authentication") >>= sAuth;
+ aMetaData.get(u"Authentication"_ustr) >>= sAuth;
if ( sAuth == "UserPassword" )
aInit = FeatureSupport(AuthUserPwd);
else if ( sAuth == "Password" )
aInit = FeatureSupport(AuthPwd);
}
- tmp.insert(std::make_pair(*pIter,aInit));
+ tmp.insert(std::make_pair(url, aInit));
}
return tmp;
}();
@@ -148,26 +136,9 @@ namespace dbaui
return s_aSupport[ _sURL ].eAuthentication;
}
- // DataSourceMetaData_Impl
- class DataSourceMetaData_Impl
- {
- public:
- explicit DataSourceMetaData_Impl(const OUString& rURL);
-
- const OUString& getType() const { return m_sURL; }
-
- private:
- const OUString m_sURL;
- };
-
- DataSourceMetaData_Impl::DataSourceMetaData_Impl( const OUString& _sURL )
- :m_sURL( _sURL )
- {
- }
-
// DataSourceMetaData
DataSourceMetaData::DataSourceMetaData( const OUString& _sURL )
- :m_pImpl( std::make_shared<DataSourceMetaData_Impl>( _sURL ) )
+ :m_sURL( _sURL )
{
}
@@ -177,7 +148,7 @@ namespace dbaui
const FeatureSet& DataSourceMetaData::getFeatureSet() const
{
- return lcl_getFeatureSet( m_pImpl->getType() );
+ return lcl_getFeatureSet( m_sURL );
}
AuthenticationMode DataSourceMetaData::getAuthentication( const OUString& _sURL )