office-gobmx/include/connectivity/parameters.hxx
Pedro Giffuni 0a1d822372 Many spelling fixes: directories a* - g*.
Attempt to clean up most but certainly not all the spelling
mistakes that found home in OpenOffice through decades. We
could probably blame the international nature of the code but
it is somewhat shameful that this wasn't done  before.

(cherry picked from commit a6efc99d19d533fcf53106b6667bafba4d364370)

Conflicts:
	accessibility/bridge/org/openoffice/java/accessibility/AccessibleTextImpl.java
	accessibility/bridge/org/openoffice/java/accessibility/Component.java
	accessibility/bridge/org/openoffice/java/accessibility/Container.java
	accessibility/bridge/org/openoffice/java/accessibility/DescendantManager.java
	accessibility/bridge/org/openoffice/java/accessibility/Dialog.java
	accessibility/bridge/org/openoffice/java/accessibility/Frame.java
	accessibility/bridge/org/openoffice/java/accessibility/List.java
	accessibility/bridge/org/openoffice/java/accessibility/Menu.java
	accessibility/bridge/org/openoffice/java/accessibility/Table.java
	accessibility/bridge/org/openoffice/java/accessibility/Tree.java
	accessibility/bridge/org/openoffice/java/accessibility/Window.java
	accessibility/bridge/source/java/WindowsAccessBridgeAdapter.cxx
	accessibility/inc/accessibility/extended/AccessibleBrowseBoxBase.hxx
	accessibility/inc/accessibility/extended/AccessibleGridControlBase.hxx
	accessibility/inc/accessibility/standard/vclxaccessiblebox.hxx
	accessibility/source/extended/accessibleiconchoicectrlentry.cxx
	accessibility/source/extended/accessiblelistboxentry.cxx
	accessibility/source/extended/accessibletablistbox.cxx
	accessibility/source/extended/accessibletablistboxtable.cxx
	accessibility/workben/org/openoffice/accessibility/awb/canvas/Canvas.java
	accessibility/workben/org/openoffice/accessibility/misc/OfficeConnection.java
	apple_remote/AppleRemote.m
	autodoc/inc/ary/cpp/c_gate.hxx
	autodoc/inc/ary/cpp/cp_ce.hxx
	autodoc/inc/ary/cpp/cp_def.hxx
	autodoc/inc/ary/cpp/cp_type.hxx
	autodoc/inc/ary/doc/d_parametrized.hxx
	autodoc/inc/ary/idl/i_type.hxx
	autodoc/source/ary/inc/cross_refs.hxx
	autodoc/source/ary/inc/sorted_idset.hxx
	autodoc/source/display/html/outfile.hxx
	autodoc/source/display/html/pagemake.cxx
	autodoc/source/display/idl/hi_env.hxx
	autodoc/source/parser/inc/tokens/tokproct.hxx
	autodoc/source/parser_i/inc/s2_luidl/tokproct.hxx
	autodoc/source/parser_i/inc/tokens/tkp2.hxx
	automation/inc/automation/commtypes.hxx
	automation/inc/automation/simplecm.hxx
	automation/source/server/recorder.cxx
	automation/source/server/recorder.hxx
	automation/source/server/statemnt.cxx
	automation/source/simplecm/packethandler.hxx
	automation/source/simplecm/simplecm.cxx
	avmedia/source/framework/soundhandler.cxx
	basegfx/inc/basegfx/range/rangeexpander.hxx
	basic/inc/basic/sbxdef.hxx
	basic/source/classes/sbunoobj.cxx
	basic/source/classes/sbxmod.cxx
	basic/source/comp/dim.cxx
	basic/source/comp/exprgen.cxx
	basic/source/runtime/step1.cxx
	basic/source/runtime/step2.cxx
	basic/source/sbx/sbxint.cxx
	basic/source/uno/namecont.cxx
	basic/workben/mgrtest.cxx
	bean/com/sun/star/beans/LocalOfficeConnection.java
	bean/com/sun/star/beans/LocalOfficeWindow.java
	bean/com/sun/star/comp/beans/LocalOfficeConnection.java
	bean/com/sun/star/comp/beans/LocalOfficeWindow.java
	bean/com/sun/star/comp/beans/OOoBean.java
	bridges/inc/bridges/cpp_uno/bridge.hxx
	bridges/source/cpp_uno/cc50_solaris_intel/cpp2uno.cxx
	bridges/source/cpp_uno/cc50_solaris_intel/except.cxx
	bridges/source/cpp_uno/cc50_solaris_intel/uno2cpp.cxx
	bridges/source/cpp_uno/cc50_solaris_sparc/cpp2uno.cxx
	bridges/source/cpp_uno/cc50_solaris_sparc/except.cxx
	bridges/source/cpp_uno/cc50_solaris_sparc/uno2cpp.cxx
	bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx
	bridges/source/cpp_uno/gcc3_macosx_powerpc/cpp2uno.cxx
	bridges/source/cpp_uno/gcc3_macosx_x86-64/uno2cpp.cxx
	bridges/source/cpp_uno/gcc3_netbsd_intel/cpp2uno.cxx
	bridges/source/cpp_uno/gcc3_netbsd_intel/except.cxx
	bridges/source/cpp_uno/gcc3_netbsd_intel/uno2cpp.cxx
	bridges/source/cpp_uno/gcc3_os2_intel/cpp2uno.cxx
	bridges/source/cpp_uno/gcc3_os2_intel/except.cxx
	bridges/source/cpp_uno/gcc3_os2_intel/uno2cpp.cxx
	bridges/source/cpp_uno/mingw_x86-64/uno2cpp.cxx
	bridges/source/cpp_uno/msvc_win32_intel/except.cxx
	bridges/source/cpp_uno/s5abi_macosx_x86-64/except.cxx
	bridges/source/cpp_uno/shared/component.cxx
	bridges/source/jni_uno/jni_base.h
	bridges/source/jni_uno/jni_bridge.cxx
	bridges/source/jni_uno/jni_java2uno.cxx
	bridges/source/jni_uno/jni_uno2java.cxx
	canvas/inc/canvas/base/doublebitmapbase.hxx
	canvas/inc/canvas/base/floatbitmapbase.hxx
	canvas/inc/canvas/base/integerbitmapbase.hxx
	canvas/source/cairo/cairo_canvasbitmap.cxx
	canvas/source/cairo/cairo_textlayout.cxx
	chart2/source/controller/dialogs/ObjectNameProvider.cxx
	chart2/source/view/diagram/VDiagram.cxx
	chart2/source/view/main/ChartView.cxx
	cli_ure/source/native/makefile.mk
	cli_ure/source/uno_bridge/cli_data.cxx
	codemaker/source/javamaker/javatype.cxx
	comphelper/inc/comphelper/componentcontext.hxx
	comphelper/inc/comphelper/interaction.hxx
	comphelper/inc/comphelper/locale.hxx
	comphelper/inc/comphelper/string.hxx
	comphelper/source/container/embeddedobjectcontainer.cxx
	comphelper/source/misc/accessiblecontexthelper.cxx
	comphelper/source/misc/asyncnotification.cxx
	comphelper/source/misc/locale.cxx
	comphelper/source/misc/mediadescriptor.cxx
	comphelper/source/misc/numberedcollection.cxx
	comphelper/source/misc/proxyaggregation.cxx
	comphelper/source/misc/scopeguard.cxx
	comphelper/source/misc/sequenceashashmap.cxx
	configure.in
	connectivity/source/commontools/parameters.cxx
	connectivity/source/drivers/dbase/DTable.cxx
	connectivity/source/drivers/evoab2/NStatement.cxx
	connectivity/source/drivers/file/FPreparedStatement.cxx
	connectivity/source/drivers/jdbc/DatabaseMetaData.cxx
	connectivity/source/inc/flat/ETable.hxx
	connectivity/source/parse/sqlnode.cxx
	cosv/inc/cosv/persist.hxx
	cosv/inc/cosv/ploc_dir.hxx
	cosv/inc/cosv/tpl/dyn.hxx
	cppu/source/LogBridge/LogBridge.cxx
	cppu/source/uno/data.cxx
	cppuhelper/source/bootstrap.cxx
	cppuhelper/source/component_context.cxx
	cppuhelper/source/propshlp.cxx
	cppuhelper/source/servicefactory.cxx
	cpputools/source/registercomponent/registercomponent.cxx
	cui/source/customize/acccfg.cxx
	cui/source/dialogs/about.cxx
	cui/source/dialogs/commonlingui.hxx
	cui/source/dialogs/showcols.cxx
	cui/source/inc/cuihyperdlg.hxx
	cui/source/inc/cuitabline.hxx
	cui/source/options/optsave.src
	cui/source/tabpages/tpline.cxx
	cui/source/tabpages/transfrm.cxx
	dbaccess/source/core/api/CacheSet.cxx
	dbaccess/source/core/api/KeySet.cxx
	dbaccess/source/core/api/RowSet.cxx
	dbaccess/source/core/api/RowSet.hxx
	dbaccess/source/core/api/RowSetBase.cxx
	dbaccess/source/core/api/RowSetBase.hxx
	dbaccess/source/core/api/RowSetCache.cxx
	dbaccess/source/core/api/querycomposer.cxx
	dbaccess/source/ext/adabas/Acomponentmodule.hxx
	dbaccess/source/ui/app/AppControllerDnD.cxx
	dbaccess/source/ui/app/AppDetailView.cxx
	dbaccess/source/ui/browser/brwctrlr.cxx
	dbaccess/source/ui/browser/sbagrid.cxx
	dbaccess/source/ui/browser/unodatbr.cxx
	dbaccess/source/ui/dlg/AdabasStat.hxx
	dbaccess/source/ui/dlg/UserAdmin.cxx
	dbaccess/source/ui/dlg/directsql.cxx
	dbaccess/source/ui/dlg/generalpage.hxx
	dbaccess/source/ui/dlg/tablespage.cxx
	dbaccess/source/ui/inc/JoinTableView.hxx
	dbaccess/source/ui/inc/TableController.hxx
	dbaccess/source/ui/inc/UITools.hxx
	dbaccess/source/ui/inc/brwctrlr.hxx
	dbaccess/source/ui/inc/datasourcemap.hxx
	dbaccess/source/ui/querydesign/JoinTableView.cxx
	dbaccess/source/ui/querydesign/QueryDesignView.cxx
	dbaccess/source/ui/querydesign/SelectionBrowseBox.cxx
	dbaccess/source/ui/querydesign/TableWindow.cxx
	dbaccess/source/ui/querydesign/querycontroller.cxx
	dbaccess/source/ui/relationdesign/RelationTableView.cxx
	dbaccess/source/ui/tabledesign/TableController.cxx
	desktop/source/app/app.cxx
	desktop/source/app/appinit.cxx
	desktop/source/app/langselect.cxx
	desktop/source/app/officeipcthread.cxx
	desktop/source/deployment/manager/dp_extensionmanager.cxx
	desktop/source/deployment/misc/dp_misc.cxx
	desktop/source/deployment/misc/dp_resource.cxx
	desktop/source/deployment/registry/dp_backend.cxx
	desktop/source/deployment/registry/package/dp_package.cxx
	desktop/source/migration/cfgfilter.cxx
	desktop/source/migration/migration.cxx
	desktop/source/splash/splash.cxx
	desktop/win32/source/QuickStart/QuickStart.cpp
	desktop/win32/source/setup/setup.cpp
	drawinglayer/source/processor2d/vclmetafileprocessor2d.cxx
	dtrans/source/win32/clipb/MtaOleClipb.hxx
	dtrans/source/win32/clipb/WinClipbImpl.cxx
	editeng/source/editeng/editview.cxx
	editeng/source/editeng/impedit2.cxx
	editeng/source/editeng/impedit3.cxx
	editeng/source/editeng/impedit4.cxx
	editeng/source/editeng/textconv.hxx
	editeng/source/misc/unolingu.cxx
	embeddedobj/source/commonembedding/persistence.cxx
	embeddedobj/source/general/dummyobject.cxx
	embeddedobj/source/msole/olecomponent.cxx
	embeddedobj/source/msole/olepersist.cxx
	embeddedobj/test/Container1/NativeView.java
	extensions/source/bibliography/framectr.cxx
	extensions/source/macosx/spotlight/OOoContentDataParser.m
	extensions/source/macosx/spotlight/unzip.h
	extensions/source/macosx/spotlight/unzip.m
	extensions/source/oooimprovement/myconfigurationhelper.hxx
	extensions/source/propctrlr/eventhandler.cxx
	extensions/source/propctrlr/formcomponenthandler.cxx
	extensions/source/propctrlr/pcrcomponentcontext.hxx
	extensions/source/scanner/twain.cxx
	extensions/source/update/check/updatecheckconfig.hxx
	external/mingwheaders/mingw_atl_headers.patch
	extras/source/misc_config/wizard/web/layouts/source.xml.xsl
	fileaccess/source/FileAccess.cxx
	filter/inc/filter/msfilter/msocximex.hxx
	filter/inc/filter/msfilter/svxmsbas.hxx
	filter/qa/complex/filter/detection/typeDetection/Helper.java
	filter/source/config/cache/basecontainer.cxx
	filter/source/config/cache/cacheitem.hxx
	filter/source/config/cache/contenthandlerfactory.cxx
	filter/source/config/cache/filtercache.cxx
	filter/source/config/cache/filtercache.hxx
	filter/source/config/cache/filterfactory.cxx
	filter/source/config/cache/frameloaderfactory.cxx
	filter/source/config/cache/querytokenizer.hxx
	filter/source/config/cache/typedetection.cxx
	filter/source/config/cache/typedetection.hxx
	filter/source/config/cache/versions.hxx
	filter/source/config/fragments/makefile.mk
	filter/source/config/tools/merge/pyAltFCFGMerge
	filter/source/flash/swfwriter.cxx
	filter/source/flash/swfwriter1.cxx
	filter/source/msfilter/msdffimp.cxx
	filter/source/msfilter/msocximex.cxx
	filter/source/msfilter/msvbahelper.cxx
	filter/source/msfilter/svxmsbas.cxx
	filter/source/xmlfilterdetect/filterdetect.cxx
	filter/source/xslt/import/uof2/uof2odf.xsl
	filter/source/xslt/odf2xhtml/export/xhtml/body.xsl
	filter/source/xsltfilter/com/sun/star/comp/xsltfilter/Base64.java
	forms/source/xforms/convert.hxx
	forms/source/xforms/model.cxx
	fpicker/source/aqua/SalAquaFilePicker.mm
	fpicker/source/office/fpinteraction.cxx
	fpicker/source/unx/gnome/SalGtkFolderPicker.cxx
	fpicker/source/unx/kde4/KDE4FilePicker.cxx
	fpicker/source/win32/filepicker/PreviewCtrl.cxx
	fpicker/source/win32/filepicker/PreviewCtrl.hxx
	fpicker/source/win32/filepicker/VistaFilePicker.cxx
	fpicker/source/win32/filepicker/VistaFilePickerImpl.hxx
	fpicker/source/win32/filepicker/helppopupwindow.hxx
	fpicker/source/win32/folderpicker/MtaFop.hxx
	framework/inc/classes/droptargetlistener.hxx
	framework/inc/classes/filtercache.hxx
	framework/inc/classes/filtercachedata.hxx
	framework/inc/classes/protocolhandlercache.hxx
	framework/inc/classes/servicemanager.hxx
	framework/inc/commands.h
	framework/inc/dispatch/basedispatcher.hxx
	framework/inc/dispatch/blankdispatcher.hxx
	framework/inc/dispatch/closedispatcher.hxx
	framework/inc/dispatch/createdispatcher.hxx
	framework/inc/dispatch/dispatchprovider.hxx
	framework/inc/dispatch/helpagentdispatcher.hxx
	framework/inc/dispatch/mailtodispatcher.hxx
	framework/inc/dispatch/menudispatcher.hxx
	framework/inc/dispatch/oxt_handler.hxx
	framework/inc/dispatch/popupmenudispatcher.hxx
	framework/inc/dispatch/selfdispatcher.hxx
	framework/inc/dispatch/servicehandler.hxx
	framework/inc/dispatch/startmoduledispatcher.hxx
	framework/inc/dispatch/systemexec.hxx
	framework/inc/helper/fixeddocumentproperties.hxx
	framework/inc/helper/ocomponentaccess.hxx
	framework/inc/helper/oframes.hxx
	framework/inc/helper/otasksenumeration.hxx
	framework/inc/helper/persistentwindowstate.hxx
	framework/inc/helper/statusindicator.hxx
	framework/inc/helper/statusindicatorfactory.hxx
	framework/inc/helper/tagwindowasmodified.hxx
	framework/inc/helper/titlebarupdate.hxx
	framework/inc/helper/vclstatusindicator.hxx
	framework/inc/interaction/quietinteraction.hxx
	framework/inc/jobs/helponstartup.hxx
	framework/inc/jobs/job.hxx
	framework/inc/jobs/jobdata.hxx
	framework/inc/jobs/jobexecutor.hxx
	framework/inc/loadstate.h
	framework/inc/macros/debug/assertion.hxx
	framework/inc/macros/debug/event.hxx
	framework/inc/macros/debug/filterdbg.hxx
	framework/inc/macros/debug/memorymeasure.hxx
	framework/inc/macros/debug/timemeasure.hxx
	framework/inc/macros/xserviceinfo.hxx
	framework/inc/queries.h
	framework/inc/recording/dispatchrecordersupplier.hxx
	framework/inc/services/autorecovery.hxx
	framework/inc/services/backingcomp.hxx
	framework/inc/services/contenthandlerfactory.hxx
	framework/inc/services/desktop.hxx
	framework/inc/services/detectorfactory.hxx
	framework/inc/services/frame.hxx
	framework/inc/services/frameloaderfactory.hxx
	framework/inc/services/layoutmanager.hxx
	framework/inc/services/license.hxx
	framework/inc/services/logindialog.hxx
	framework/inc/services/modulemanager.hxx
	framework/inc/services/pathsettings.hxx
	framework/inc/services/pluginframe.hxx
	framework/inc/services/substitutepathvars.hxx
	framework/inc/services/task.hxx
	framework/inc/services/taskcreatorsrv.hxx
	framework/inc/stdtypes.h
	framework/inc/threadhelp/fairrwlock.hxx
	framework/inc/threadhelp/inoncopyable.h
	framework/inc/threadhelp/itransactionmanager.h
	framework/inc/threadhelp/lockhelper.hxx
	framework/inc/threadhelp/readguard.hxx
	framework/inc/threadhelp/resetableguard.hxx
	framework/inc/threadhelp/transactionguard.hxx
	framework/inc/threadhelp/writeguard.hxx
	framework/inc/uifactory/uielementfactorymanager.hxx
	framework/inc/xml/acceleratorconfigurationreader.hxx
	framework/qa/complex/dispatches/checkdispatchapi.java
	framework/qa/complex/framework/autosave/AutoSave.java
	framework/qa/complex/framework/autosave/Protocol.java
	framework/qa/complex/framework/recovery/RecoveryTest.java
	framework/qa/complex/loadAllDocuments/StreamSimulator.java
	framework/source/accelerators/acceleratorconfiguration.cxx
	framework/source/accelerators/acceleratorexecute.cxx
	framework/source/accelerators/acceleratorexecute.hxx
	framework/source/accelerators/keymapping.cxx
	framework/source/accelerators/presethandler.cxx
	framework/source/application/framework.cxx
	framework/source/application/login.cxx
	framework/source/classes/framecontainer.cxx
	framework/source/classes/menumanager.cxx
	framework/source/classes/taskcreator.cxx
	framework/source/dispatch/closedispatcher.cxx
	framework/source/dispatch/dispatchprovider.cxx
	framework/source/dispatch/helpagentdispatcher.cxx
	framework/source/dispatch/interceptionhelper.cxx
	framework/source/dispatch/mailtodispatcher.cxx
	framework/source/dispatch/menudispatcher.cxx
	framework/source/dispatch/oxt_handler.cxx
	framework/source/dispatch/servicehandler.cxx
	framework/source/fwe/classes/framelistanalyzer.cxx
	framework/source/fwe/dispatch/interaction.cxx
	framework/source/fwe/helper/titlehelper.cxx
	framework/source/fwe/helper/undomanagerhelper.cxx
	framework/source/fwe/xml/eventsdocumenthandler.cxx
	framework/source/fwe/xml/statusbardocumenthandler.cxx
	framework/source/fwe/xml/toolboxdocumenthandler.cxx
	framework/source/fwi/classes/protocolhandlercache.cxx
	framework/source/fwi/threadhelp/lockhelper.cxx
	framework/source/fwi/threadhelp/transactionmanager.cxx
	framework/source/helper/persistentwindowstate.cxx
	framework/source/helper/statusindicatorfactory.cxx
	framework/source/helper/vclstatusindicator.cxx
	framework/source/inc/accelerators/acceleratorcache.hxx
	framework/source/inc/accelerators/acceleratorconfiguration.hxx
	framework/source/inc/accelerators/presethandler.hxx
	framework/source/inc/accelerators/storageholder.hxx
	framework/source/inc/loadenv/actionlockguard.hxx
	framework/source/inc/loadenv/loadenv.hxx
	framework/source/inc/loadenv/loadenvexception.hxx
	framework/source/inc/pattern/frame.hxx
	framework/source/inc/pattern/storages.hxx
	framework/source/inc/pattern/window.hxx
	framework/source/jobs/helponstartup.cxx
	framework/source/jobs/job.cxx
	framework/source/jobs/jobdata.cxx
	framework/source/jobs/jobdispatch.cxx
	framework/source/jobs/jobresult.cxx
	framework/source/jobs/joburl.cxx
	framework/source/jobs/shelljob.cxx
	framework/source/loadenv/loadenv.cxx
	framework/source/services/autorecovery.cxx
	framework/source/services/backingwindow.cxx
	framework/source/services/desktop.cxx
	framework/source/services/frame.cxx
	framework/source/services/modulemanager.cxx
	framework/source/services/pathsettings.cxx
	framework/source/services/substitutepathvars.cxx
	framework/source/uiconfiguration/moduleuicfgsupplier.cxx
	framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
	framework/source/uiconfiguration/uicategorydescription.cxx
	framework/source/uiconfiguration/uiconfigurationmanagerimpl.cxx
	framework/source/uiconfiguration/windowstateconfiguration.cxx
	framework/source/uielement/uicommanddescription.cxx
	framework/source/unotypes/fwk.xml
	framework/source/xml/imagesdocumenthandler.cxx
	framework/test/test.cxx
	framework/test/test_componentenumeration.bas
	framework/test/test_statusindicatorfactory.bas
	framework/test/threadtest.cxx
	framework/test/threadtest/threadtest.cxx
	framework/test/typecfg/cfgview.cxx
	framework/test/typecfg/xml2xcd.cxx
	include/basegfx/polygon/b2dpolygon.hxx
	include/canvas/base/graphicdevicebase.hxx
	include/canvas/canvastools.hxx
	include/comphelper/configurationhelper.hxx
	include/comphelper/embeddedobjectcontainer.hxx
	include/comphelper/propagg.hxx
	include/comphelper/sequenceashashmap.hxx
	include/connectivity/sqlerror.hxx
	include/connectivity/sqlnode.hxx
	include/cppuhelper/propshlp.hxx
	include/editeng/AccessibleContextBase.hxx
	include/framework/framelistanalyzer.hxx
	sfx2/source/dialog/backingcomp.cxx
	vcl/unx/gtk/fpicker/SalGtkFilePicker.cxx

Change-Id: I2618bf83c0e30f68f23ff25f6eb466df04d34c6d
2014-04-30 12:13:36 +01:00

417 lines
19 KiB
C++

/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef INCLUDED_CONNECTIVITY_PARAMETERS_HXX
#define INCLUDED_CONNECTIVITY_PARAMETERS_HXX
#include <map>
#include <vector>
#include <com/sun/star/uno/XAggregation.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include <com/sun/star/form/XDatabaseParameterListener.hpp>
#include <com/sun/star/sdbc/XConnection.hpp>
#include <com/sun/star/task/XInteractionHandler.hpp>
#include <com/sun/star/sdbc/XParameters.hpp>
#include <com/sun/star/container/XIndexAccess.hpp>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/sdb/XSingleSelectQueryComposer.hpp>
#include <connectivity/dbtoolsdllapi.hxx>
#include <connectivity/paramwrapper.hxx>
#include <unotools/sharedunocomponent.hxx>
#include <comphelper/implementationreference.hxx>
#include <cppuhelper/interfacecontainer.hxx>
namespace dbtools
{
typedef ::utl::SharedUNOComponent< ::com::sun::star::sdb::XSingleSelectQueryComposer, ::utl::DisposableComponent >
SharedQueryComposer;
//= ParameterManager
class FilterManager;
class OOO_DLLPUBLIC_DBTOOLS ParameterManager
{
public:
/// classifies the origin of the data to fill a parameter
enum ParameterClassification
{
/** parameters which are filled from the master-detail relationship, where the detail
name is an explicit parameter name
*/
eLinkedByParamName,
/** parameters which are filled from the master-detail relationship, where the detail
name is a column name, so an implicit parameter had to be generated for it
*/
eLinkedByColumnName,
/** parameters which are filled externally (i.e. by XParameters::setXXX, or by the parameter listeners)
*/
eFilledExternally
};
/** meta data about an inner parameter
*/
private:
struct ParameterMetaData
{
/// the type of the parameter
ParameterClassification eType;
/// the column object for this parameter, as returned by the query composer
::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >
xComposerColumn;
/// the indices of inner parameters which need to be filled when this concrete parameter is set
::std::vector< sal_Int32 > aInnerIndexes;
/// default ctor
ParameterMetaData()
:eType( eFilledExternally )
{
}
/// ctor with composer column
ParameterMetaData( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxColumn )
:eType ( eFilledExternally )
,xComposerColumn ( _rxColumn )
{
}
};
typedef ::std::map< OUString, ParameterMetaData > ParameterInformation;
private:
::osl::Mutex& m_rMutex;
::cppu::OInterfaceContainerHelper m_aParameterListeners;
::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >
m_xContext;
::com::sun::star::uno::WeakReference< ::com::sun::star::beans::XPropertySet >
m_xComponent; // the database component whose parameters we're handling
::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation >
m_xAggregatedRowSet; // the aggregated row set - necessary for unwrapped access to some interfaces
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XParameters >
m_xInnerParamUpdate; // write access to the inner parameters
SharedQueryComposer m_xComposer; // query composer wrapping the statement which the *aggregate* is based on
SharedQueryComposer m_xParentComposer; // query composer wrapping the statement of our parent database component
::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess >
m_xInnerParamColumns; // index access to the parameter columns, as got from the query composer
::dbtools::param::ParametersContainerRef
m_pOuterParameters; // the container of parameters which still need to be filled in by
// external instances
sal_Int32 m_nInnerCount; // overall number of parameters as required by the database component's aggregate
ParameterInformation m_aParameterInformation;
::com::sun::star::uno::Sequence< OUString > m_aMasterFields;
::com::sun::star::uno::Sequence< OUString > m_aDetailFields;
OUString m_sIdentifierQuoteString;
OUString m_sSpecialCharacters;
::std::vector< bool > m_aParametersVisited;
bool m_bUpToDate;
public:
/** ctor
*/
explicit ParameterManager(
::osl::Mutex& _rMutex,
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& _rxContext
);
/// late ctor
void initialize(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxComponent,
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation >& _rxComponentAggregate
);
/// makes the object forgetting the references to the database component
void dispose( );
/// clears the instance data
void clearAllParameterInformation();
/// checks whether the parameter information are up-to-date
inline bool isUpToDate() const { return m_bUpToDate; }
/** updates all parameter information represented by the instance
*/
void updateParameterInfo( FilterManager& _rFilterManager );
/** fills parameter values, as extensive as possible
<p>In particular, all values which can be filled from the master-detail relationship of
between our database component and its parent are filled in.</p>
@param _rxCompletionHandler
an interaction handler which should be used to fill all parameters which
cannot be filled by other means. May be <NULL/>
@param _rClearForNotifies
the mutex guard to be (temporarily) cleared for notifications
@precond
the instance is alive, i.e. <member>isAlive</member> returns <TRUE/>
@return
<TRUE/> if and only if the parameter filling has <em>not</em> been cancelled by the user
*/
bool fillParameterValues(
const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxCompletionHandler,
::osl::ResettableMutexGuard& _rClearForNotifies
);
/** sets all parameter values to null (via <member>XParameters::setNull</member>)
@precond
the instance is alive, i.e. <member>isAlive</member> returns <TRUE/>
*/
void setAllParametersNull() SAL_THROW( ( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException ) );
/** resets all detail columns which are, via a parameter, linked to a master column, to
the value of this master column.
For instance, if the database component is bound to a statement <code>SELECT * from invoice where inv_id = :cid</code>,
and there is <em>one</em> master-detail link from
@precond
the instance is alive, i.e. <member>isAlive</member> returns <TRUE/>
*/
void resetParameterValues() SAL_THROW(());
/** tells the object that it's database component is being disposed
The object then fires the <member>XEventListener::disposing</member> notification to
the parameter listeners
*/
void disposing( const ::com::sun::star::lang::EventObject& _rDisposingEvent );
/** adds the given listener to the list of parameter listeners
*/
void addParameterListener(
const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener >& _rxListener
);
/** removes the given listener from the list of parameter listeners
*/
void removeParameterListener(
const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener >& _rxListener
);
// XParameters equivalents
void setNull ( sal_Int32 _nIndex, sal_Int32 sqlType);
void setObjectNull ( sal_Int32 _nIndex, sal_Int32 sqlType, const OUString& typeName);
void setBoolean ( sal_Int32 _nIndex, bool x);
void setByte ( sal_Int32 _nIndex, sal_Int8 x);
void setShort ( sal_Int32 _nIndex, sal_Int16 x);
void setInt ( sal_Int32 _nIndex, sal_Int32 x);
void setLong ( sal_Int32 _nIndex, sal_Int64 x);
void setFloat ( sal_Int32 _nIndex, float x);
void setDouble ( sal_Int32 _nIndex, double x);
void setString ( sal_Int32 _nIndex, const OUString& x);
void setBytes ( sal_Int32 _nIndex, const ::com::sun::star::uno::Sequence< sal_Int8 >& x);
void setDate ( sal_Int32 _nIndex, const ::com::sun::star::util::Date& x);
void setTime ( sal_Int32 _nIndex, const ::com::sun::star::util::Time& x);
void setTimestamp ( sal_Int32 _nIndex, const ::com::sun::star::util::DateTime& x);
void setBinaryStream ( sal_Int32 _nIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream>& x, sal_Int32 length);
void setCharacterStream ( sal_Int32 _nIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream>& x, sal_Int32 length);
void setObject ( sal_Int32 _nIndex, const ::com::sun::star::uno::Any& x);
void setObjectWithInfo ( sal_Int32 _nIndex, const ::com::sun::star::uno::Any& x, sal_Int32 targetSqlType, sal_Int32 scale);
void setRef ( sal_Int32 _nIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef>& x);
void setBlob ( sal_Int32 _nIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob>& x);
void setClob ( sal_Int32 _nIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob>& x);
void setArray ( sal_Int32 _nIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray>& x);
void clearParameters();
private:
/// checkes whether the object is already initialized, and not yet disposed
inline bool isAlive() const { return m_xComponent.get().is() && m_xInnerParamUpdate.is(); }
/** creates a filter expression from a master-detail link where the detail denotes a column name
*/
OUString
createFilterConditionFromColumnLink(
const OUString& /* [in] */ _rMasterColumn,
const OUString& /* [in] */ _rDetailColumn,
OUString& /* [out] */ _rNewParamName
);
/** initializes our query composer, and the collection of inner parameter columns
@param _rxComponent
the database component to initialize from. Must not be <NULL/>
@return
<TRUE/> if and only if the initialization was successful
@postcond
if and only if <TRUE/> is returned, then <member>m_xInnerParamColumns</member> contains the collection of
inner parameters
*/
bool initializeComposerByComponent(
const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxComponent
);
/** collects initial meta information about inner parameters (i.e. it initially fills
<member>m_aParameterInformation</member>).
@param _bSecondRun
if <TRUE/>, this is the second run, because we ourself previously extended the filter of
the RowSet
@precond
<member>m_xInnerParamColumns</member> is not <NULL/>
*/
void collectInnerParameters( bool _bSecondRun );
/** analyzes the master-detail links for our database component, and initializes m_aMasterFields and m_aDetailFields
@param _rFilterManager
the filter manager of the database component
@param _rColumnsInLinkDetails
will be set to <TRUE/> if and only if there were link pairs where the detail field denoted
a column name of our database component
@precond
the instance is alive, i.e. <member>isAlive</member> returns <TRUE/>
*/
void analyzeFieldLinks( FilterManager& _rFilterManager, bool& /* [out] */ _rColumnsInLinkDetails );
/** classifies the link pairs
@param _rxParentColumns
the columns of the parent database component
@param _rxColumns
the columns of our own database component
@param _out_rAdditionalFilterComponents
the additional filter components which are required for master-detail relationships where
the detail part denotes a column name. In such a case, an additional filter needs to be created,
containing a new parameter.
@precond
<member>m_aMasterFields</member> and <member>m_aDetailFields</member> have the same length
*/
void classifyLinks(
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& _rxParentColumns,
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& _rxColumns,
::std::vector< OUString >& _out_rAdditionalFilterComponents
) SAL_THROW(( ::com::sun::star::uno::Exception ));
/** finalizes our <member>m_pOuterParameters</member> so that it can be used for
external parameter listeners
@precond
<member>m_pOuterParameters</member> is <NULL/>
@precond
<member>m_xInnerParamUpdate</member> is not <NULL/>
*/
void createOuterParameters();
/** fills in the parameters values which result from the master-detail relationship
between the database component and its parent
@param _rxParentColumns
the columns of the parameter database component. Must not be <NULL/>
@precond
the instance is alive, i.e. <member>isAlive</member> returns <TRUE/>
*/
void fillLinkedParameters(
const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& _rxParentColumns
);
/** completes all missing parameters via an interaction handler
@precond
the instance is alive, i.e. <member>isAlive</member> returns <TRUE/>
@return
<TRUE/> if and only if the parameter filling has <em>not</em> been cancelled by the user
*/
bool completeParameters(
const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _rxCompletionHandler,
const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection > _rxConnection
);
/** asks the parameter listeners to fill in final values
@precond
the instance is alive, i.e. <member>isAlive</member> returns <TRUE/>
@return
<TRUE/> if and only if the parameter filling has <em>not</em> been cancelled by the user
*/
bool consultParameterListeners( ::osl::ResettableMutexGuard& _rClearForNotifies );
/** mark an externally filled parameter asvisited
*/
void externalParameterVisited( sal_Int32 _nIndex );
private:
/** retrieves the columns of the parent database component
@precond
the instance is alive, i.e. <member>isAlive</member> returns <TRUE/>
@return
<TRUE/> if and only if the columns could be successfully retrieved
*/
bool getParentColumns(
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& /* [out] */ _out_rxParentColumns,
bool _bFromComposer
);
/** retrieves the columns of our database component
@param _bFromComposer
if <TRUE/>, the columns are obtained from the composer, else from the living database component itself
@return
<TRUE/> if and only if the columns could be successfully retrieved
*/
bool getColumns(
::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >& /* [out] */ _rxColumns,
bool _bFromComposer
) SAL_THROW(( ::com::sun::star::uno::Exception ));
/** retrieves the active connection of the database component
*/
bool getConnection(
::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& /* [out] */ _rxConnection
);
/** caches some info about the connection of our database component
*/
void cacheConnectionInfo() SAL_THROW(( ));
private:
ParameterManager(); // never implemented
ParameterManager( const ParameterManager& ); // never implemented
ParameterManager& operator=( const ParameterManager& ); // never implemented
};
} // namespacefrm
#endif // INCLUDED_CONNECTIVITY_PARAMETERS_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */