LibreOffice Module dbaccess (master) 1
dbadmin.cxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
18 */
19
20#include "ConnectionPage.hxx"
21#include "DbAdminImpl.hxx"
22#include "DriverSettings.hxx"
23#include "adminpages.hxx"
24#include <dbadmin.hxx>
25#include <svl/stritem.hxx>
26#include <svl/eitem.hxx>
27#include <svl/intitem.hxx>
28#include <core_resource.hxx>
29#include <strings.hrc>
30#include <dsitems.hxx>
31#include "dsnItem.hxx"
32#include "optionalboolitem.hxx"
33#include <stringlistitem.hxx>
34
36
37namespace dbaui
38{
39using namespace com::sun::star::uno;
40using namespace com::sun::star::sdbc;
41using namespace com::sun::star::lang;
42using namespace com::sun::star::util;
43using namespace com::sun::star::beans;
44using namespace com::sun::star::container;
45
46// ODbAdminDialog
48 SfxItemSet const * _pItems,
49 const Reference< XComponentContext >& _rxContext)
50 : SfxTabDialogController(pParent, "dbaccess/ui/admindialog.ui", "AdminDialog", _pItems)
51 , m_sMainPageID("advanced")
52{
53 m_pImpl.reset(new ODbDataSourceAdministrationHelper(_rxContext, m_xDialog.get(), pParent, this));
54
55 // add the initial tab page
57
58 // remove the reset button - it's meaning is much too ambiguous in this dialog
60}
61
63{
64 SetInputSet(nullptr);
65}
66
68{
71 // TODO : AR_ERROR is not handled correctly, we always close the dialog here
72}
73
74void ODbAdminDialog::PageCreated(const OUString& rId, SfxTabPage& _rPage)
75{
76 // register ourself as modified listener
77 static_cast<OGenericAdministrationPage&>(_rPage).SetServiceFactory( getORB() );
78 static_cast<OGenericAdministrationPage&>(_rPage).SetAdminDialog(this,this);
79
81}
82
83void ODbAdminDialog::addDetailPage(const OUString& rPageId, TranslateId pTextId, CreateTabPage pCreateFunc)
84{
85 AddTabPage(rPageId, DBA_RES(pTextId), pCreateFunc);
86}
87
88void ODbAdminDialog::impl_selectDataSource(const css::uno::Any& _aDataSourceName)
89{
90 m_pImpl->setDataSourceOrName(_aDataSourceName);
91 Reference< XPropertySet > xDatasource = m_pImpl->getCurrentDataSource();
92 impl_resetPages( xDatasource );
93
94 const DbuTypeCollectionItem* pCollectionItem = dynamic_cast<const DbuTypeCollectionItem*>(getOutputSet()->GetItem(DSID_TYPECOLLECTION));
95 assert(pCollectionItem && "must exist");
96 ::dbaccess::ODsnTypeCollection* pCollection = pCollectionItem->getCollection();
98
99 // and insert the new ones
100 switch ( eType )
101 {
103 addDetailPage("dbase", STR_PAGETITLE_ADVANCED, ODriversSettings::CreateDbase);
104 break;
105
107 addDetailPage("ado", STR_PAGETITLE_ADVANCED, ODriversSettings::CreateAdo);
108 break;
109
111 addDetailPage("text", STR_PAGETITLE_ADVANCED, ODriversSettings::CreateText);
112 break;
113
115 addDetailPage("odbc", STR_PAGETITLE_ADVANCED, ODriversSettings::CreateODBC);
116 break;
117
119 addDetailPage("mysqlodbc", STR_PAGETITLE_ADVANCED, ODriversSettings::CreateMySQLODBC);
120 break;
121
123 addDetailPage("mysqljdbc", STR_PAGETITLE_ADVANCED, ODriversSettings::CreateMySQLJDBC);
124 break;
125
127 addDetailPage("oraclejdbc", STR_PAGETITLE_ADVANCED, ODriversSettings::CreateOracleJDBC);
128 break;
129
131 addDetailPage("ldap",STR_PAGETITLE_ADVANCED,ODriversSettings::CreateLDAP);
132 break;
143 {
144 OUString aTitle(DBA_RES(STR_PAGETITLE_ADVANCED));
145 AddTabPage("user" + OUString::number(eType - dbaccess::DST_USERDEFINE1 + 1), aTitle, ODriversSettings::CreateUser);
146 }
147 break;
148 default:
149 break;
150 }
151}
152
154{
155 // the selection is valid if and only if we have a datasource now
156 GetInputSetImpl()->Put(SfxBoolItem(DSID_INVALID_SELECTION, !_rxDatasource.is()));
157 // (sal_False tells the tab pages to disable and reset all their controls, which is different
158 // from "just set them to readonly")
159
160 // reset the pages
161
162 // prevent flicker
163 m_xDialog->freeze();
164
165 // remove all items which relate to indirect properties from the input set
166 // (without this, the following may happen: select an arbitrary data source where some indirect properties
167 // are set. Select another data source of the same type, where the indirect props are not set (yet). Then,
168 // the indirect property values of the first ds are shown in the second ds ...)
169 const ODbDataSourceAdministrationHelper::MapInt2String& rMap = m_pImpl->getIndirectProperties();
170 for (auto const& elem : rMap)
171 GetInputSetImpl()->ClearItem( static_cast<sal_uInt16>(elem.first) );
172
173 // extract all relevant data from the property set of the data source
174 m_pImpl->translateProperties(_rxDatasource, *GetInputSetImpl());
175
176 // reset the example set
178
179 // special case: MySQL Native does not have the generic "advanced" page
180
181 const DbuTypeCollectionItem* pCollectionItem = dynamic_cast<const DbuTypeCollectionItem*>(getOutputSet()->GetItem(DSID_TYPECOLLECTION));
182 assert(pCollectionItem && "must exist");
183 ::dbaccess::ODsnTypeCollection* pCollection = pCollectionItem->getCollection();
185 {
186 OUString sMySqlNative("mysqlnative");
187 AddTabPage(sMySqlNative, DBA_RES(STR_PAGETITLE_CONNECTION), ODriversSettings::CreateMySQLNATIVE);
188 RemoveTabPage("advanced");
189 m_sMainPageID = sMySqlNative;
190 }
191
193 SfxTabPage* pConnectionPage = GetTabPage(m_sMainPageID);
194 if ( pConnectionPage )
195 pConnectionPage->Reset(GetInputSetImpl());
196 // if this is NULL, the page has not been created yet, which means we're called before the
197 // dialog was displayed (probably from inside the ctor)
198
199 m_xDialog->thaw();
200}
201
202void ODbAdminDialog::setTitle(const OUString& rTitle)
203{
204 m_xDialog->set_title(rTitle);
205}
206
208
210{
212}
213
215{
217 { // the page did not allow us to leave
218 return AR_KEEP;
219 }
220
221 if ( !m_pImpl->saveChanges(*m_xExampleSet) )
222 return AR_KEEP;
223
224 return AR_LEAVE_MODIFIED;
225}
226
227void ODbAdminDialog::selectDataSource(const css::uno::Any& _aDataSourceName)
228{
229 impl_selectDataSource(_aDataSourceName);
230}
231
233{
234 return GetExampleSet();
235}
236
238{
239 return m_xExampleSet.get();
240}
241
242std::pair< Reference<XConnection>,bool> ODbAdminDialog::createConnection()
243{
244 return m_pImpl->createConnection();
245}
246
248{
249 return m_pImpl->getORB();
250}
251
253{
254 return m_pImpl->getDriver();
255}
256
258{
260}
261
263{
264 m_pImpl->clearPassword();
265}
266
267void ODbAdminDialog::createItemSet(std::unique_ptr<SfxItemSet>& _rpSet, rtl::Reference<SfxItemPool>& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults, ::dbaccess::ODsnTypeCollection* _pTypeCollection)
268{
269 // just to be sure...
270 _rpSet = nullptr;
271 _rpPool = nullptr;
272 _rpDefaults = nullptr;
273
274 static constexpr OUStringLiteral sFilterAll( u"%" );
275 // create and initialize the defaults
276 _rpDefaults = new std::vector<SfxPoolItem*>(DSID_LAST_ITEM_ID - DSID_FIRST_ITEM_ID + 1);
277 SfxPoolItem** pCounter = _rpDefaults->data(); // want to modify this without affecting the out param _rppDefaults
278 *pCounter++ = new SfxStringItem(DSID_NAME, OUString());
279 *pCounter++ = new SfxStringItem(DSID_ORIGINALNAME, OUString());
280 *pCounter++ = new SfxStringItem(DSID_CONNECTURL, OUString());
281 *pCounter++ = new OStringListItem(DSID_TABLEFILTER, Sequence< OUString >{sFilterAll});
282 *pCounter++ = new DbuTypeCollectionItem(DSID_TYPECOLLECTION, _pTypeCollection);
283 *pCounter++ = new SfxBoolItem(DSID_INVALID_SELECTION, false);
284 *pCounter++ = new SfxBoolItem(DSID_READONLY, false);
285 *pCounter++ = new SfxStringItem(DSID_USER, OUString());
286 *pCounter++ = new SfxStringItem(DSID_PASSWORD, OUString());
287 *pCounter++ = new SfxStringItem(DSID_ADDITIONALOPTIONS, OUString());
288 *pCounter++ = new SfxStringItem(DSID_CHARSET, OUString());
289 *pCounter++ = new SfxBoolItem(DSID_PASSWORDREQUIRED, false);
290 *pCounter++ = new SfxBoolItem(DSID_SHOWDELETEDROWS, false);
291 *pCounter++ = new SfxBoolItem(DSID_ALLOWLONGTABLENAMES, false);
292 *pCounter++ = new SfxStringItem(DSID_JDBCDRIVERCLASS, OUString());
293 *pCounter++ = new SfxStringItem(DSID_FIELDDELIMITER, OUString(','));
294 *pCounter++ = new SfxStringItem(DSID_TEXTDELIMITER, OUString('"'));
295 *pCounter++ = new SfxStringItem(DSID_DECIMALDELIMITER, OUString('.'));
296 *pCounter++ = new SfxStringItem(DSID_THOUSANDSDELIMITER, OUString());
297 *pCounter++ = new SfxStringItem(DSID_TEXTFILEEXTENSION, "txt");
298 *pCounter++ = new SfxBoolItem(DSID_TEXTFILEHEADER, true);
299 *pCounter++ = new SfxBoolItem(DSID_PARAMETERNAMESUBST, false);
300 *pCounter++ = new SfxInt32Item(DSID_CONN_PORTNUMBER, 8100);
301 *pCounter++ = new SfxBoolItem(DSID_SUPPRESSVERSIONCL, false);
302 *pCounter++ = new SfxBoolItem(DSID_CONN_SHUTSERVICE, false);
303 *pCounter++ = new SfxInt32Item(DSID_CONN_DATAINC, 20);
304 *pCounter++ = new SfxInt32Item(DSID_CONN_CACHESIZE, 20);
305 *pCounter++ = new SfxStringItem(DSID_CONN_CTRLUSER, OUString());
306 *pCounter++ = new SfxStringItem(DSID_CONN_CTRLPWD, OUString());
307 *pCounter++ = new SfxBoolItem(DSID_USECATALOG, false);
308 *pCounter++ = new SfxStringItem(DSID_CONN_HOSTNAME, OUString());
309 *pCounter++ = new SfxStringItem(DSID_CONN_LDAP_BASEDN, OUString());
310 *pCounter++ = new SfxInt32Item(DSID_CONN_LDAP_PORTNUMBER, 389);
311 *pCounter++ = new SfxInt32Item(DSID_CONN_LDAP_ROWCOUNT, 100);
312 *pCounter++ = new SfxBoolItem(DSID_SQL92CHECK, false);
313 *pCounter++ = new SfxStringItem(DSID_AUTOINCREMENTVALUE, OUString());
314 *pCounter++ = new SfxStringItem(DSID_AUTORETRIEVEVALUE, OUString());
315 *pCounter++ = new SfxBoolItem(DSID_AUTORETRIEVEENABLED, false);
316 *pCounter++ = new SfxBoolItem(DSID_APPEND_TABLE_ALIAS, false);
317 *pCounter++ = new SfxInt32Item(DSID_MYSQL_PORTNUMBER, 3306);
318 *pCounter++ = new SfxBoolItem(DSID_IGNOREDRIVER_PRIV, true);
319 *pCounter++ = new SfxInt32Item(DSID_BOOLEANCOMPARISON, 0);
320 *pCounter++ = new SfxInt32Item(DSID_ORACLE_PORTNUMBER, 1521);
321 *pCounter++ = new SfxBoolItem(DSID_ENABLEOUTERJOIN, true);
322 *pCounter++ = new SfxBoolItem(DSID_CATALOG, true);
323 *pCounter++ = new SfxBoolItem(DSID_SCHEMA, true);
324 *pCounter++ = new SfxBoolItem(DSID_INDEXAPPENDIX, true);
325 *pCounter++ = new SfxBoolItem(DSID_CONN_LDAP_USESSL, false);
326 *pCounter++ = new SfxStringItem(DSID_DOCUMENT_URL, OUString());
327 *pCounter++ = new SfxBoolItem(DSID_DOSLINEENDS, false);
328 *pCounter++ = new SfxStringItem(DSID_DATABASENAME, OUString());
329 *pCounter++ = new SfxBoolItem(DSID_AS_BEFORE_CORRNAME, false);
330 *pCounter++ = new SfxBoolItem(DSID_CHECK_REQUIRED_FIELDS, true);
331 *pCounter++ = new SfxBoolItem(DSID_IGNORECURRENCY, false);
332 *pCounter++ = new SfxStringItem(DSID_CONN_SOCKET, OUString());
333 *pCounter++ = new SfxBoolItem(DSID_ESCAPE_DATETIME, true);
334 *pCounter++ = new SfxStringItem(DSID_NAMED_PIPE, OUString());
335 *pCounter++ = new OptionalBoolItem( DSID_PRIMARY_KEY_SUPPORT );
336 *pCounter++ = new SfxInt32Item(DSID_MAX_ROW_SCAN, 100);
337 *pCounter++ = new SfxBoolItem( DSID_RESPECTRESULTSETTYPE,false );
338 *pCounter++ = new SfxInt32Item(DSID_POSTGRES_PORTNUMBER, 5432);
339
340 // create the pool
342 {
343 {0,false},
344 {0,false},
345 {0,false},
346 {0,false},
347 {0,false},
348 {0,false},
349 {0,false},
350 {0,false},
351 {0,false},
352 {0,false},
353 {0,false},
354 {0,false},
355 {0,false},
356 {0,false},
357 {0,false},
358 {0,false},
359 {0,false},
360 {0,false},
361 {0,false},
362 {0,false},
363 {0,false},
364 {0,false},
365 {0,false},
366 {0,false},
367 {0,false},
368 {0,false},
369 {0,false},
370 {0,false},
371 {0,false},
372 {0,false},
373 {0,false},
374 {0,false},
375 {0,false},
376 {0,false},
377 {0,false},
378 {0,false},
379 {0,false},
380 {0,false},
381 {0,false},
382 {0,false},
383 {0,false},
384 {0,false},
385 {0,false},
386 {0,false},
387 {0,false},
388 {0,false},
389 {0,false},
390 {0,false},
391 {0,false},
392 {0,false},
393 {0,false},
394 {0,false},
395 {0,false},
396 {0,false},
397 {0,false},
398 {0,false},
399 {0,false},
400 {0,false},
401 {0,false},
402 {0,false},
403 {0,false},
404 };
405
406 OSL_ENSURE(std::size(aItemInfos) == sal_uInt16(DSID_LAST_ITEM_ID),"Invalid Ids!");
407 _rpPool = new SfxItemPool("DSAItemPool", DSID_FIRST_ITEM_ID, DSID_LAST_ITEM_ID,
408 aItemInfos, _rpDefaults);
409 _rpPool->FreezeIdRanges();
410
411 // and, finally, the set
412 _rpSet.reset(new SfxItemSet(*_rpPool));
413}
414
415void ODbAdminDialog::destroyItemSet(std::unique_ptr<SfxItemSet>& _rpSet, rtl::Reference<SfxItemPool>& _rpPool, std::vector<SfxPoolItem*>*& _rpDefaults)
416{
417 // _first_ delete the set (referring the pool)
418 _rpSet.reset();
419
420 // delete the pool
421 if (_rpPool)
422 {
423 _rpPool->ReleaseDefaults(true);
424 // the "true" means delete the items, too
425 _rpPool = nullptr;
426 }
427
428 // reset the defaults ptr
429 _rpDefaults = nullptr;
430 // no need to explicitly delete the defaults, this has been done by the ReleaseDefaults
431}
432
433} // namespace dbaui
434
435/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
Reference< XExecutableDialog > m_xDialog
sal_uInt16 ClearItem(sal_uInt16 nWhich=0)
const SfxPoolItem * GetItem(sal_uInt16 nWhich, bool bSearchInParent=true) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
virtual short Ok()
SfxTabPage * GetTabPage(std::u16string_view rPageId) const
void SetCurPageId(const OUString &rName)
void AddTabPage(const OUString &rName, CreateTabPage pCreateFunc, GetTabPageRanges pRangesFunc)
void SetInputSet(const SfxItemSet *pInSet)
virtual const SfxItemSet * GetExampleSet() const override
void RemoveTabPage(const OUString &rName)
std::unique_ptr< SfxItemSet > m_xExampleSet
virtual void PageCreated(const OUString &rName, SfxTabPage &rPage)
SfxItemSet * GetInputSetImpl()
virtual void Reset(const SfxItemSet *)
DATASOURCE_TYPE determineType(std::u16string_view _rDsn) const
Definition: dsntypes.cxx:299
allows an ODsnTypeCollection to be transported in an SfxItemSet
Definition: dsnItem.hxx:34
::dbaccess::ODsnTypeCollection * getCollection() const
Definition: dsnItem.hxx:44
static std::unique_ptr< SfxTabPage > Create(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
std::unique_ptr< ODbDataSourceAdministrationHelper > m_pImpl
Definition: dbadmin.hxx:50
virtual css::uno::Reference< css::sdbc::XDriver > getDriver() override
Definition: dbadmin.cxx:252
static void destroyItemSet(std::unique_ptr< SfxItemSet > &_rpSet, rtl::Reference< SfxItemPool > &_rpPool, std::vector< SfxPoolItem * > *&_rpDefaults)
destroy and item set / item pool / pool defaults previously created by <method>createItemSet</method>
Definition: dbadmin.cxx:415
void selectDataSource(const css::uno::Any &_aDataSourceName)
selects the DataSource
Definition: dbadmin.cxx:227
virtual SfxItemSet * getWriteOutputSet() override
Definition: dbadmin.cxx:237
virtual void clearPassword() override
Definition: dbadmin.cxx:262
void addDetailPage(const OUString &rPageId, TranslateId pTextId, CreateTabPage pCreateFunc)
Definition: dbadmin.cxx:83
OUString m_sMainPageID
Definition: dbadmin.hxx:52
virtual css::uno::Reference< css::uno::XComponentContext > getORB() const override
Definition: dbadmin.cxx:247
virtual std::pair< css::uno::Reference< css::sdbc::XConnection >, bool > createConnection() override
Definition: dbadmin.cxx:242
virtual void enableConfirmSettings(bool _bEnable) override
enables or disables the user's possibility to confirm the settings
Definition: dbadmin.cxx:207
static void createItemSet(std::unique_ptr< SfxItemSet > &_rpSet, rtl::Reference< SfxItemPool > &_rpPool, std::vector< SfxPoolItem * > *&_rpDefaults, ::dbaccess::ODsnTypeCollection *_pTypeCollection)
create and return an item set for use with the dialog.
Definition: dbadmin.cxx:267
virtual short Ok() override
Definition: dbadmin.cxx:67
void impl_selectDataSource(const css::uno::Any &_aDataSourceName)
select a datasource with a given name, adjust the item set accordingly, and everything like that ....
Definition: dbadmin.cxx:88
virtual const SfxItemSet * getOutputSet() const override
Definition: dbadmin.cxx:232
virtual void saveDatasource() override
Definition: dbadmin.cxx:209
virtual ~ODbAdminDialog() override
Definition: dbadmin.cxx:62
virtual void PageCreated(const OUString &rId, SfxTabPage &_rPage) override
Definition: dbadmin.cxx:74
ApplyResult implApplyChanges()
apply all changes made
Definition: dbadmin.cxx:214
ODbAdminDialog(weld::Window *pParent, SfxItemSet const *_pItems, const css::uno::Reference< css::uno::XComponentContext > &_rxORB)
ctor.
Definition: dbadmin.cxx:47
virtual OUString getDatasourceType(const SfxItemSet &_rSet) const override
Definition: dbadmin.cxx:257
virtual void setTitle(const OUString &_sTitle) override
Definition: dbadmin.cxx:202
void impl_resetPages(const css::uno::Reference< css::beans::XPropertySet > &_rxDatasource)
reset the tag pages according to m_sCurrentDatasource and <arg>_rxDatasource</arg>
Definition: dbadmin.cxx:153
std::map< sal_Int32, OUString > MapInt2String
Definition: DbAdminImpl.hxx:52
static OUString getDatasourceType(const SfxItemSet &_rSet)
extracts the connection type from the given setThe connection type is determined by the value of the ...
static std::unique_ptr< SfxTabPage > CreateMySQLODBC(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for MySQLODBC.
static std::unique_ptr< SfxTabPage > CreateLDAP(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for LDAP.
static std::unique_ptr< SfxTabPage > CreateODBC(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for ODBC.
static std::unique_ptr< SfxTabPage > CreateText(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for Text.
static std::unique_ptr< SfxTabPage > CreateAdo(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for ado.
static std::unique_ptr< SfxTabPage > CreateOracleJDBC(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for Oracle JDBC.
static std::unique_ptr< SfxTabPage > CreateDbase(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for ado.
static std::unique_ptr< SfxTabPage > CreateMySQLJDBC(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for MySQLJDBC.
static std::unique_ptr< SfxTabPage > CreateMySQLNATIVE(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for MySQLNATIVE.
static std::unique_ptr< SfxTabPage > CreateUser(weld::Container *pPage, weld::DialogController *pController, const SfxItemSet *_rAttrSet)
Creates the detail page for user.
<type>SfxPoolItem</type> which transports a sequence of <type scope="rtl">OUString</type>'s
#define DBA_RES(id)
SfxItemInfo const aItemInfos[]
#define DSID_CHARSET
Definition: dsitems.hxx:44
#define DSID_CONN_LDAP_BASEDN
Definition: dsitems.hxx:65
#define DSID_DECIMALDELIMITER
Definition: dsitems.hxx:51
#define DSID_PASSWORD
Definition: dsitems.hxx:42
#define DSID_RESPECTRESULTSETTYPE
Definition: dsitems.hxx:93
#define DSID_SCHEMA
Definition: dsitems.hxx:79
#define DSID_CONN_LDAP_PORTNUMBER
Definition: dsitems.hxx:66
#define DSID_ESCAPE_DATETIME
Definition: dsitems.hxx:89
#define DSID_CONN_DATAINC
Definition: dsitems.hxx:59
#define DSID_ENABLEOUTERJOIN
Definition: dsitems.hxx:77
#define DSID_DOCUMENT_URL
Definition: dsitems.hxx:82
#define DSID_NAME
Definition: dsitems.hxx:34
#define DSID_THOUSANDSDELIMITER
Definition: dsitems.hxx:52
#define DSID_SHOWDELETEDROWS
Definition: dsitems.hxx:46
#define DSID_READONLY
Definition: dsitems.hxx:40
#define DSID_DATABASENAME
Definition: dsitems.hxx:84
#define DSID_INVALID_SELECTION
Definition: dsitems.hxx:39
#define DSID_CONN_LDAP_USESSL
Definition: dsitems.hxx:81
#define DSID_CONNECTURL
Definition: dsitems.hxx:36
#define DSID_AS_BEFORE_CORRNAME
Definition: dsitems.hxx:85
#define DSID_ORIGINALNAME
Definition: dsitems.hxx:35
#define DSID_INDEXAPPENDIX
Definition: dsitems.hxx:80
#define DSID_CONN_SOCKET
Definition: dsitems.hxx:88
#define DSID_CONN_LDAP_ROWCOUNT
Definition: dsitems.hxx:67
#define DSID_MAX_ROW_SCAN
Definition: dsitems.hxx:92
#define DSID_TEXTFILEEXTENSION
Definition: dsitems.hxx:53
#define DSID_BOOLEANCOMPARISON
Definition: dsitems.hxx:75
#define DSID_TYPECOLLECTION
Definition: dsitems.hxx:38
#define DSID_DOSLINEENDS
Definition: dsitems.hxx:83
#define DSID_CONN_HOSTNAME
Definition: dsitems.hxx:64
#define DSID_NAMED_PIPE
Definition: dsitems.hxx:90
#define DSID_PARAMETERNAMESUBST
Definition: dsitems.hxx:55
#define DSID_MYSQL_PORTNUMBER
Definition: dsitems.hxx:73
#define DSID_CHECK_REQUIRED_FIELDS
Definition: dsitems.hxx:86
#define DSID_CONN_CTRLPWD
Definition: dsitems.hxx:62
#define DSID_FIELDDELIMITER
Definition: dsitems.hxx:49
#define DSID_AUTOINCREMENTVALUE
Definition: dsitems.hxx:69
#define DSID_PRIMARY_KEY_SUPPORT
Definition: dsitems.hxx:91
#define DSID_IGNOREDRIVER_PRIV
Definition: dsitems.hxx:74
#define DSID_POSTGRES_PORTNUMBER
Definition: dsitems.hxx:94
#define DSID_AUTORETRIEVEENABLED
Definition: dsitems.hxx:71
#define DSID_CATALOG
Definition: dsitems.hxx:78
#define DSID_TEXTFILEHEADER
Definition: dsitems.hxx:54
#define DSID_IGNORECURRENCY
Definition: dsitems.hxx:87
#define DSID_TABLEFILTER
Definition: dsitems.hxx:37
#define DSID_ADDITIONALOPTIONS
Definition: dsitems.hxx:43
#define DSID_CONN_PORTNUMBER
Definition: dsitems.hxx:56
#define DSID_SUPPRESSVERSIONCL
Definition: dsitems.hxx:57
#define DSID_USECATALOG
Definition: dsitems.hxx:63
#define DSID_CONN_CTRLUSER
Definition: dsitems.hxx:61
#define DSID_JDBCDRIVERCLASS
Definition: dsitems.hxx:48
#define DSID_USER
Definition: dsitems.hxx:41
#define DSID_CONN_CACHESIZE
Definition: dsitems.hxx:60
#define DSID_APPEND_TABLE_ALIAS
Definition: dsitems.hxx:72
#define DSID_ALLOWLONGTABLENAMES
Definition: dsitems.hxx:47
#define DSID_SQL92CHECK
Definition: dsitems.hxx:68
#define DSID_CONN_SHUTSERVICE
Definition: dsitems.hxx:58
#define DSID_FIRST_ITEM_ID
Definition: dsitems.hxx:99
#define DSID_ORACLE_PORTNUMBER
Definition: dsitems.hxx:76
#define DSID_TEXTDELIMITER
Definition: dsitems.hxx:50
#define DSID_AUTORETRIEVEVALUE
Definition: dsitems.hxx:70
#define DSID_PASSWORDREQUIRED
Definition: dsitems.hxx:45
#define DSID_LAST_ITEM_ID
Definition: dsitems.hxx:100
float u
OUString eType
Definition: generalpage.cxx:78
DATASOURCE_TYPE
known datasource types
Definition: dsntypes.hxx:36
@ DST_USERDEFINE1
for all embedded addons driver
Definition: dsntypes.hxx:69
@ DST_MYSQL_JDBC
Definition: dsntypes.hxx:39
@ DST_USERDEFINE3
Definition: dsntypes.hxx:71
@ DST_MYSQL_ODBC
Definition: dsntypes.hxx:38
@ DST_USERDEFINE9
Definition: dsntypes.hxx:77
@ DST_USERDEFINE7
Definition: dsntypes.hxx:75
@ DST_ODBC
Definition: dsntypes.hxx:46
@ DST_MYSQL_NATIVE
Definition: dsntypes.hxx:60
@ DST_USERDEFINE6
Definition: dsntypes.hxx:74
@ DST_LDAP
Definition: dsntypes.hxx:50
@ DST_USERDEFINE2
first user defined driver
Definition: dsntypes.hxx:70
@ DST_DBASE
Definition: dsntypes.hxx:43
@ DST_FLAT
Definition: dsntypes.hxx:44
@ DST_ORACLE_JDBC
Definition: dsntypes.hxx:40
@ DST_USERDEFINE10
Definition: dsntypes.hxx:78
@ DST_USERDEFINE8
Definition: dsntypes.hxx:76
@ DST_USERDEFINE4
Definition: dsntypes.hxx:72
@ DST_USERDEFINE5
Definition: dsntypes.hxx:73
RET_OK
RET_CANCEL