summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir Glazunov <vg@openoffice.org>2010-10-01 16:02:03 +0200
committerVladimir Glazunov <vg@openoffice.org>2010-10-01 16:02:03 +0200
commit4856f3fc585169d3135fcb9ea3ff4400b9c93d11 (patch)
tree3ce5e4d7d336d60506acdbc169e5db5381af6059
parentbd1092ebc0b329883d1c079d598a73f3af4cd548 (diff)
parent5884223399e5cc35236880ea8923fecf57ea6a41 (diff)
#i10000#
Notes
Notes: split repo tag: libs-core_ooo/DEV300_m89
-rw-r--r--avmedia/prj/d.lst5
-rw-r--r--avmedia/source/framework/soundhandler.cxx38
-rw-r--r--avmedia/source/gstreamer/avmediagst.component34
-rw-r--r--avmedia/source/gstreamer/exports.dxp1
-rw-r--r--avmedia/source/gstreamer/gstuno.cxx29
-rw-r--r--avmedia/source/gstreamer/makefile.mk8
-rw-r--r--avmedia/source/java/MediaUno.java9
-rw-r--r--avmedia/source/java/avmedia.jar.component34
-rw-r--r--avmedia/source/java/makefile.mk8
-rw-r--r--avmedia/source/quicktime/avmediaQuickTime.component34
-rw-r--r--avmedia/source/quicktime/makefile.mk8
-rw-r--r--avmedia/source/quicktime/quicktimeuno.cxx29
-rw-r--r--avmedia/source/win/avmediawin.component34
-rw-r--r--avmedia/source/win/exports.dxp1
-rw-r--r--avmedia/source/win/makefile.mk8
-rw-r--r--avmedia/source/win/winuno.cxx27
-rw-r--r--avmedia/source/xine/exports.dxp1
-rw-r--r--avmedia/source/xine/xineuno.cxx29
-rw-r--r--avmedia/util/avmedia.component34
-rw-r--r--avmedia/util/makefile.mk8
-rw-r--r--basic/prj/d.lst1
-rw-r--r--basic/util/makefile.mk6
-rw-r--r--basic/util/sb.component (renamed from configmgr/source/span.hxx)55
-rw-r--r--configmgr/prj/build.lst2
-rw-r--r--configmgr/prj/d.lst1
-rw-r--r--configmgr/source/README3
-rw-r--r--configmgr/source/components.cxx47
-rw-r--r--configmgr/source/components.hxx5
-rw-r--r--configmgr/source/configmgr.component45
-rw-r--r--configmgr/source/configurationprovider.cxx10
-rw-r--r--configmgr/source/makefile.mk15
-rw-r--r--configmgr/source/pad.cxx91
-rw-r--r--configmgr/source/parsemanager.cxx31
-rw-r--r--configmgr/source/parsemanager.hxx13
-rw-r--r--configmgr/source/parser.hxx14
-rw-r--r--configmgr/source/services.cxx48
-rw-r--r--configmgr/source/valueparser.cxx68
-rw-r--r--configmgr/source/valueparser.hxx14
-rw-r--r--configmgr/source/writemodfile.cxx35
-rw-r--r--configmgr/source/xcdparser.cxx44
-rw-r--r--configmgr/source/xcdparser.hxx13
-rw-r--r--configmgr/source/xcsparser.cxx167
-rw-r--r--configmgr/source/xcsparser.hxx27
-rw-r--r--configmgr/source/xcuparser.cxx205
-rw-r--r--configmgr/source/xcuparser.hxx38
-rw-r--r--configmgr/source/xmldata.cxx112
-rw-r--r--configmgr/source/xmldata.hxx14
-rw-r--r--configmgr/source/xmlreader.cxx1054
-rw-r--r--configmgr/source/xmlreader.hxx186
-rw-r--r--connectivity/prj/d.lst17
-rw-r--r--connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx5
-rw-r--r--connectivity/source/cpool/Zregistration.cxx29
-rw-r--r--connectivity/source/cpool/dbpool2.component34
-rw-r--r--connectivity/source/cpool/exports.dxp1
-rw-r--r--connectivity/source/cpool/makefile.mk6
-rw-r--r--connectivity/source/dbtools/dbtools.component37
-rw-r--r--connectivity/source/dbtools/exports.dxp1
-rw-r--r--connectivity/source/dbtools/makefile.mk8
-rw-r--r--connectivity/source/drivers/adabas/Bservices.cxx52
-rw-r--r--connectivity/source/drivers/adabas/adabas.component (renamed from configmgr/source/pad.hxx)46
-rw-r--r--connectivity/source/drivers/adabas/adabas.mxp.map1
-rw-r--r--connectivity/source/drivers/adabas/exports.dxp1
-rw-r--r--connectivity/source/drivers/adabas/makefile.mk8
-rw-r--r--connectivity/source/drivers/ado/Aservices.cxx52
-rw-r--r--connectivity/source/drivers/ado/ado.component35
-rw-r--r--connectivity/source/drivers/ado/exports.dxp1
-rw-r--r--connectivity/source/drivers/ado/makefile.mk8
-rw-r--r--connectivity/source/drivers/calc/Cservices.cxx52
-rw-r--r--connectivity/source/drivers/calc/calc.component35
-rw-r--r--connectivity/source/drivers/calc/exports.dxp1
-rw-r--r--connectivity/source/drivers/calc/makefile.mk8
-rw-r--r--connectivity/source/drivers/dbase/Dservices.cxx52
-rw-r--r--connectivity/source/drivers/dbase/dbase.component35
-rw-r--r--connectivity/source/drivers/dbase/dbase.mxp.map1
-rw-r--r--connectivity/source/drivers/dbase/exports.dxp1
-rw-r--r--connectivity/source/drivers/dbase/makefile.mk8
-rw-r--r--connectivity/source/drivers/evoab/LServices.cxx52
-rw-r--r--connectivity/source/drivers/evoab/exports.dxp1
-rw-r--r--connectivity/source/drivers/evoab2/NServices.cxx51
-rw-r--r--connectivity/source/drivers/evoab2/evoab.component34
-rw-r--r--connectivity/source/drivers/evoab2/makefile.mk8
-rw-r--r--connectivity/source/drivers/flat/Eservices.cxx52
-rw-r--r--connectivity/source/drivers/flat/exports.dxp1
-rw-r--r--connectivity/source/drivers/flat/flat.component35
-rw-r--r--connectivity/source/drivers/flat/flat.mxp.map1
-rw-r--r--connectivity/source/drivers/flat/makefile.mk8
-rw-r--r--connectivity/source/drivers/hsqldb/Hservices.cxx52
-rw-r--r--connectivity/source/drivers/hsqldb/exports.dxp1
-rw-r--r--connectivity/source/drivers/hsqldb/hsqldb.component35
-rw-r--r--connectivity/source/drivers/hsqldb/hsqldb.map1
-rw-r--r--connectivity/source/drivers/hsqldb/makefile.mk8
-rw-r--r--connectivity/source/drivers/jdbc/exports.dxp1
-rw-r--r--connectivity/source/drivers/jdbc/jdbc.component34
-rw-r--r--connectivity/source/drivers/jdbc/jdbc.mxp.map1
-rw-r--r--connectivity/source/drivers/jdbc/jservices.cxx51
-rw-r--r--connectivity/source/drivers/jdbc/makefile.mk8
-rw-r--r--connectivity/source/drivers/kab/KServices.cxx52
-rw-r--r--connectivity/source/drivers/kab/exports.dxp1
-rw-r--r--connectivity/source/drivers/kab/kab1.component34
-rw-r--r--connectivity/source/drivers/kab/makefile.mk8
-rwxr-xr-xconnectivity/source/drivers/macab/MacabServices.cxx52
-rwxr-xr-xconnectivity/source/drivers/macab/exports.dxp1
-rw-r--r--connectivity/source/drivers/macab/macab1.component34
-rwxr-xr-xconnectivity/source/drivers/macab/makefile.mk8
-rw-r--r--connectivity/source/drivers/mozab/MServices.cxx57
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx45
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/makefile.mk9
-rw-r--r--connectivity/source/drivers/mozab/bootstrap/mozbootstrap.component34
-rw-r--r--connectivity/source/drivers/mozab/exports.dxp1
-rw-r--r--connectivity/source/drivers/mozab/makefile.mk8
-rw-r--r--connectivity/source/drivers/mozab/mozab.component37
-rw-r--r--connectivity/source/drivers/mysql/Yservices.cxx52
-rw-r--r--connectivity/source/drivers/mysql/exports.dxp1
-rw-r--r--connectivity/source/drivers/mysql/makefile.mk8
-rw-r--r--connectivity/source/drivers/mysql/mysql.component35
-rw-r--r--connectivity/source/drivers/odbc/makefile.mk8
-rw-r--r--connectivity/source/drivers/odbc/odbc.component34
-rw-r--r--connectivity/source/drivers/odbc/oservices.cxx52
-rw-r--r--connectivity/source/manager/exports.dxp1
-rw-r--r--connectivity/source/manager/makefile.mk6
-rw-r--r--connectivity/source/manager/mregistration.cxx33
-rw-r--r--connectivity/source/manager/sdbc.mxp.map1
-rw-r--r--connectivity/source/manager/sdbc2.component34
-rw-r--r--desktop/prj/d.lst8
-rw-r--r--desktop/scripts/soffice.sh17
-rw-r--r--desktop/scripts/unoinfo.sh15
-rw-r--r--desktop/scripts/unopkg.sh17
-rw-r--r--desktop/source/app/exports.dxp1
-rw-r--r--desktop/source/deployment/deployment.component64
-rw-r--r--desktop/source/deployment/dp_services.cxx21
-rw-r--r--desktop/source/deployment/gui/deploymentgui.component40
-rw-r--r--desktop/source/deployment/gui/dp_gui_dialog2.cxx32
-rw-r--r--[-rwxr-xr-x]desktop/source/deployment/gui/dp_gui_service.cxx8
-rw-r--r--desktop/source/deployment/gui/makefile.mk8
-rw-r--r--desktop/source/deployment/makefile.mk8
-rw-r--r--[-rwxr-xr-x]desktop/source/deployment/misc/dp_update.cxx84
-rw-r--r--desktop/source/migration/services/cexports.cxx7
-rw-r--r--[-rwxr-xr-x]desktop/source/migration/services/cexportsoo3.cxx7
-rw-r--r--desktop/source/migration/services/makefile.mk17
-rw-r--r--desktop/source/migration/services/migrationoo2.component37
-rw-r--r--desktop/source/migration/services/migrationoo3.component34
-rwxr-xr-xdesktop/source/migration/services/migrationoo3.map8
-rw-r--r--desktop/source/offacc/acceptor.cxx17
-rw-r--r--desktop/source/offacc/makefile.mk8
-rw-r--r--desktop/source/offacc/offacc.component34
-rw-r--r--desktop/source/registration/com/sun/star/registration/Registration.java4
-rw-r--r--desktop/source/registration/com/sun/star/registration/makefile.mk7
-rw-r--r--desktop/source/registration/com/sun/star/registration/productregistration.jar.component34
-rw-r--r--desktop/source/so_comp/makefile.mk7
-rw-r--r--desktop/source/so_comp/services.cxx26
-rw-r--r--desktop/source/so_comp/socomp.component37
-rw-r--r--desktop/source/splash/makefile.mk8
-rwxr-xr-xdesktop/source/splash/services_spl.cxx26
-rw-r--r--desktop/source/splash/spl.component37
-rw-r--r--editeng/util/editeng.dxp1
-rw-r--r--embeddedobj/prj/d.lst2
-rw-r--r--embeddedobj/source/commonembedding/register.cxx42
-rw-r--r--embeddedobj/source/msole/emboleobj.component35
-rw-r--r--embeddedobj/source/msole/emboleobj.windows.component39
-rw-r--r--embeddedobj/source/msole/exports.dxp1
-rw-r--r--embeddedobj/source/msole/makefile.mk11
-rw-r--r--embeddedobj/util/embobj.component43
-rw-r--r--embeddedobj/util/exports.dxp1
-rw-r--r--embeddedobj/util/makefile.mk8
-rw-r--r--eventattacher/prj/d.lst1
-rw-r--r--eventattacher/source/eventattacher.cxx28
-rw-r--r--eventattacher/source/evtatt.component34
-rw-r--r--eventattacher/source/makefile.mk8
-rw-r--r--fileaccess/prj/d.lst1
-rw-r--r--fileaccess/source/FileAccess.cxx26
-rw-r--r--fileaccess/source/fileacc.component34
-rw-r--r--fileaccess/source/makefile.mk8
-rw-r--r--formula/prj/d.lst1
-rw-r--r--formula/source/core/api/services.cxx6
-rw-r--r--formula/util/for.component34
-rw-r--r--formula/util/makefile.mk8
-rw-r--r--fpicker/prj/d.lst10
-rw-r--r--fpicker/source/aqua/FPentry.cxx26
-rw-r--r--fpicker/source/aqua/fps-aqua-ucd.txt13
-rw-r--r--fpicker/source/aqua/fps_aqua.component37
-rw-r--r--fpicker/source/aqua/makefile.mk8
-rw-r--r--fpicker/source/generic/fpicker.component37
-rw-r--r--fpicker/source/generic/fpicker.cxx7
-rw-r--r--fpicker/source/generic/makefile.mk8
-rw-r--r--fpicker/source/office/fps_office.component37
-rw-r--r--fpicker/source/office/fps_office.cxx7
-rw-r--r--fpicker/source/office/makefile.mk8
-rw-r--r--fpicker/source/unx/gnome/FPentry.cxx26
-rw-r--r--fpicker/source/unx/gnome/fps-gnome-ucd.txt13
-rw-r--r--fpicker/source/unx/gnome/fps_gnome.component37
-rw-r--r--fpicker/source/unx/gnome/makefile.mk8
-rw-r--r--fpicker/source/unx/kde4/KDE4FPEntry.cxx21
-rw-r--r--fpicker/source/unx/kde4/fps-kde4-ucd.txt6
-rw-r--r--fpicker/source/unx/kde4/fps_kde4.component34
-rw-r--r--fpicker/source/unx/kde4/makefile.mk8
-rw-r--r--fpicker/source/win32/filepicker/FPentry.cxx25
-rw-r--r--fpicker/source/win32/folderpicker/Fopentry.cxx25
-rw-r--r--fpicker/util/exports.dxp1
-rw-r--r--fpicker/util/fop.component34
-rw-r--r--fpicker/util/fps.component34
-rw-r--r--fpicker/util/makefile.mk13
-rw-r--r--framework/inc/macros/debug/registration.hxx21
-rw-r--r--framework/inc/macros/registration.hxx96
-rw-r--r--framework/prj/d.lst3
-rw-r--r--framework/source/register/register3rdcomponents.cxx10
-rw-r--r--framework/source/register/registerlogindialog.cxx7
-rw-r--r--framework/source/register/registerservices.cxx64
-rw-r--r--framework/source/register/registertemp.cxx29
-rw-r--r--framework/util/fwk.component142
-rw-r--r--framework/util/fwl.component100
-rw-r--r--framework/util/fwm.component43
-rw-r--r--framework/util/makefile.mk20
-rw-r--r--linguistic/prj/d.lst1
-rw-r--r--linguistic/source/convdiclist.cxx25
-rwxr-xr-xlinguistic/source/dicimp.cxx115
-rw-r--r--linguistic/source/dlistimp.cxx25
-rw-r--r--linguistic/source/gciterator.cxx24
-rw-r--r--linguistic/source/grammarchecker.cxx21
-rw-r--r--linguistic/source/lng.component46
-rw-r--r--linguistic/source/lngopt.cxx23
-rw-r--r--linguistic/source/lngreg.cxx58
-rw-r--r--linguistic/source/lngsvcmgr.cxx59
-rw-r--r--linguistic/source/lngsvcmgr.hxx2
-rw-r--r--linguistic/source/makefile.mk13
-rwxr-xr-x[-rw-r--r--]officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu2
-rw-r--r--scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java5
-rw-r--r--scripting/java/ScriptFramework.component34
-rw-r--r--scripting/java/ScriptProviderForBeanShell.component37
-rw-r--r--scripting/java/ScriptProviderForJava.component37
-rw-r--r--scripting/java/ScriptProviderForJavaScript.component37
-rwxr-xr-xscripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java35
-rwxr-xr-xscripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java35
-rwxr-xr-xscripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java34
-rwxr-xr-xscripting/java/makefile.mk34
-rw-r--r--scripting/prj/d.lst12
-rw-r--r--scripting/source/basprov/basprov.component37
-rw-r--r--scripting/source/basprov/basprov.cxx7
-rw-r--r--scripting/source/basprov/makefile.mk8
-rw-r--r--scripting/source/dlgprov/dlgprov.component36
-rw-r--r--scripting/source/dlgprov/dlgprov.cxx7
-rw-r--r--scripting/source/dlgprov/makefile.mk8
-rw-r--r--scripting/source/protocolhandler/exports.dxp1
-rw-r--r--scripting/source/protocolhandler/makefile.mk8
-rw-r--r--scripting/source/protocolhandler/protocolhandler.component34
-rw-r--r--scripting/source/protocolhandler/scripthandler.cxx21
-rwxr-xr-xscripting/source/provider/MasterScriptProvider.cxx36
-rw-r--r--scripting/source/provider/exports.dxp1
-rw-r--r--scripting/source/pyprov/mailmerge.component37
-rw-r--r--scripting/source/pyprov/makefile.mk14
-rw-r--r--scripting/source/pyprov/pythonscript.component35
-rwxr-xr-xscripting/source/runtimemgr/ScriptRuntimeManager.cxx62
-rw-r--r--scripting/source/runtimemgr/exports.dxp1
-rw-r--r--scripting/source/storage/exports.dxp1
-rw-r--r--scripting/source/stringresource/makefile.mk8
-rw-r--r--scripting/source/stringresource/stringresource.component40
-rw-r--r--scripting/source/stringresource/stringresource.cxx7
-rwxr-xr-x[-rw-r--r--]scripting/source/vbaevents/makefile.mk8
-rwxr-xr-xscripting/source/vbaevents/service.cxx10
-rw-r--r--scripting/source/vbaevents/vbaevents.component37
-rw-r--r--scripting/util/exports.dxp1
-rw-r--r--scripting/util/makefile.mk8
-rw-r--r--scripting/util/scriptframe.component49
-rw-r--r--sfx2/inc/sfx2/sfxuno.hxx47
-rw-r--r--sfx2/prj/d.lst1
-rw-r--r--[-rwxr-xr-x]sfx2/source/appl/appuno.cxx160
-rw-r--r--sfx2/source/doc/SfxDocumentMetaData.cxx7
-rwxr-xr-xsfx2/source/menu/mnumgr.cxx3
-rwxr-xr-xsfx2/source/menu/thessubmenu.cxx33
-rwxr-xr-x[-rw-r--r--]sfx2/source/menu/thessubmenu.hxx4
-rw-r--r--sfx2/util/makefile.mk8
-rw-r--r--sfx2/util/sfx.component75
-rw-r--r--shell/prj/d.lst11
-rw-r--r--shell/source/backends/desktopbe/desktopbackend.cxx6
-rw-r--r--shell/source/backends/desktopbe/desktopbe1-ucd.txt6
-rw-r--r--shell/source/backends/desktopbe/desktopbe1.component34
-rw-r--r--shell/source/backends/desktopbe/makefile.mk10
-rw-r--r--shell/source/backends/gconfbe/gconfbackend.cxx6
-rw-r--r--shell/source/backends/gconfbe/gconfbe1-ucd.txt6
-rw-r--r--shell/source/backends/gconfbe/gconfbe1.component34
-rw-r--r--shell/source/backends/gconfbe/makefile.mk11
-rw-r--r--shell/source/backends/kde4be/kde4backend.cxx6
-rw-r--r--shell/source/backends/kde4be/kde4be1-ucd.txt6
-rw-r--r--shell/source/backends/kde4be/kde4be1.component34
-rw-r--r--shell/source/backends/kde4be/makefile.mk10
-rw-r--r--shell/source/backends/kdebe/kdebackend.cxx6
-rw-r--r--shell/source/backends/kdebe/kdebe1-ucd.txt6
-rw-r--r--shell/source/backends/kdebe/kdebe1.component34
-rw-r--r--shell/source/backends/kdebe/makefile.mk10
-rw-r--r--shell/source/backends/localebe/localebe1.component34
-rw-r--r--shell/source/backends/localebe/localebecdef.cxx7
-rw-r--r--shell/source/backends/localebe/makefile.mk8
-rw-r--r--shell/source/backends/macbe/macbe1.component34
-rw-r--r--shell/source/backends/macbe/macbecdef.cxx7
-rw-r--r--shell/source/backends/macbe/makefile.mk8
-rw-r--r--shell/source/backends/wininetbe/makefile.mk8
-rw-r--r--shell/source/backends/wininetbe/wininetbe1.component34
-rw-r--r--shell/source/backends/wininetbe/wininetbecdef.cxx7
-rw-r--r--shell/source/cmdmail/cmdmail.component34
-rwxr-xr-xshell/source/cmdmail/cmdmailentry.cxx24
-rw-r--r--shell/source/cmdmail/exports.dxp1
-rw-r--r--shell/source/cmdmail/makefile.mk7
-rw-r--r--shell/source/unix/exec/makefile.mk8
-rw-r--r--shell/source/unix/exec/shellexecentry.cxx23
-rw-r--r--shell/source/unix/exec/syssh.component34
-rw-r--r--shell/source/win32/SysShentry.cxx26
-rw-r--r--shell/source/win32/exports.dxp1
-rw-r--r--shell/source/win32/makefile.mk8
-rw-r--r--shell/source/win32/simplemail/exports.dxp1
-rw-r--r--shell/source/win32/simplemail/makefile.mk8
-rw-r--r--shell/source/win32/simplemail/smplmail.component34
-rw-r--r--shell/source/win32/simplemail/smplmailentry.cxx26
-rw-r--r--shell/source/win32/syssh.component34
-rw-r--r--svx/prj/d.lst3
-rw-r--r--svx/source/core/coreservices.cxx38
-rw-r--r--svx/source/items/svxitems.src2
-rw-r--r--svx/source/unodialogs/textconversiondlgs/makefile.mk8
-rw-r--r--svx/source/unodialogs/textconversiondlgs/services.cxx7
-rw-r--r--svx/source/unodialogs/textconversiondlgs/textconversiondlgs.component34
-rw-r--r--svx/source/unodraw/unoctabl.cxx54
-rw-r--r--svx/util/gal.dxp1
-rw-r--r--svx/util/makefile.mk14
-rw-r--r--svx/util/svx.component76
-rw-r--r--svx/util/svx.dxp1
-rw-r--r--svx/util/svxcore.component49
-rw-r--r--sysui/util/exports.dxp1
-rw-r--r--ucb/prj/d.lst15
-rw-r--r--ucb/source/cacher/cached1.component43
-rw-r--r--ucb/source/cacher/cacheserv.cxx77
-rw-r--r--ucb/source/cacher/makefile.mk8
-rw-r--r--ucb/source/core/exports2.dxp1
-rw-r--r--ucb/source/core/makefile.mk8
-rw-r--r--ucb/source/core/ucb1.component46
-rw-r--r--ucb/source/core/ucbserv.cxx87
-rw-r--r--ucb/source/core/ucbstore.cxx39
-rw-r--r--ucb/source/core/ucbstore.hxx6
-rw-r--r--ucb/source/sorter/makefile.mk8
-rw-r--r--ucb/source/sorter/sortmain.cxx55
-rw-r--r--ucb/source/sorter/srtrs1.component34
-rw-r--r--ucb/source/ucp/expand/makefile.mk8
-rw-r--r--ucb/source/ucp/expand/ucpexpand.cxx8
-rw-r--r--ucb/source/ucp/expand/ucpexpand1.component34
-rw-r--r--ucb/source/ucp/ext/makefile.mk8
-rw-r--r--ucb/source/ucp/ext/ucpext.component34
-rw-r--r--ucb/source/ucp/ext/ucpext_services.cxx6
-rw-r--r--ucb/source/ucp/file/exports2.dxp1
-rw-r--r--ucb/source/ucp/file/makefile.mk8
-rw-r--r--ucb/source/ucp/file/prov.cxx54
-rw-r--r--ucb/source/ucp/file/ucpfile1.component34
-rw-r--r--ucb/source/ucp/ftp/ftpservices.cxx54
-rw-r--r--ucb/source/ucp/ftp/makefile.mk8
-rw-r--r--ucb/source/ucp/ftp/ucpftp1.component34
-rw-r--r--ucb/source/ucp/gio/gio_provider.cxx35
-rw-r--r--ucb/source/ucp/gio/makefile.mk10
-rw-r--r--ucb/source/ucp/gio/ucpgio-ucd.txt6
-rw-r--r--ucb/source/ucp/gio/ucpgio.component34
-rw-r--r--ucb/source/ucp/gvfs/gvfs_provider.cxx45
-rw-r--r--ucb/source/ucp/gvfs/makefile.mk9
-rw-r--r--ucb/source/ucp/gvfs/ucpgvfs-ucd.txt6
-rw-r--r--ucb/source/ucp/gvfs/ucpgvfs.component34
-rw-r--r--ucb/source/ucp/hierarchy/hierarchyservices.cxx63
-rw-r--r--ucb/source/ucp/hierarchy/makefile.mk8
-rw-r--r--ucb/source/ucp/hierarchy/ucphier1.component38
-rw-r--r--ucb/source/ucp/odma/odma_services.cxx39
-rw-r--r--ucb/source/ucp/package/makefile.mk8
-rw-r--r--ucb/source/ucp/package/pkgservices.cxx59
-rw-r--r--ucb/source/ucp/package/ucppkg1.component34
-rw-r--r--ucb/source/ucp/tdoc/makefile.mk8
-rw-r--r--ucb/source/ucp/tdoc/tdoc_services.cxx62
-rw-r--r--ucb/source/ucp/tdoc/ucptdoc1.component37
-rw-r--r--ucb/source/ucp/webdav/makefile.mk8
-rw-r--r--ucb/source/ucp/webdav/ucpdav1.component34
-rw-r--r--ucb/source/ucp/webdav/webdavservices.cxx54
-rw-r--r--uui/prj/d.lst1
-rw-r--r--uui/source/iahndl-authentication.cxx46
-rwxr-xr-x[-rw-r--r--]uui/source/ids.hrc3
-rwxr-xr-xuui/source/logindlg.src8
-rwxr-xr-x[-rw-r--r--]uui/source/masterpasscrtdlg.cxx2
-rwxr-xr-x[-rw-r--r--]uui/source/masterpasscrtdlg.src2
-rwxr-xr-xuui/source/passworddlg.cxx126
-rwxr-xr-x[-rw-r--r--]uui/source/passworddlg.hrc18
-rwxr-xr-xuui/source/passworddlg.hxx10
-rwxr-xr-xuui/source/passworddlg.src76
-rwxr-xr-xuui/source/passworderrs.src7
-rw-r--r--uui/source/services.cxx80
-rw-r--r--uui/util/makefile.mk8
-rw-r--r--uui/util/uui.component44
-rw-r--r--vbahelper/prj/d.lst1
-rw-r--r--vbahelper/source/msforms/service.cxx10
-rw-r--r--vbahelper/util/makefile.mk8
-rw-r--r--vbahelper/util/msforms.component37
-rw-r--r--xmlhelp/prj/d.lst4
-rwxr-xr-xxmlhelp/source/com/sun/star/help/HelpComponent.java25
-rw-r--r--xmlhelp/source/com/sun/star/help/HelpSearch.java19
-rw-r--r--xmlhelp/source/com/sun/star/help/LuceneHelpWrapper.component37
-rw-r--r--xmlhelp/source/com/sun/star/help/makefile.mk8
-rw-r--r--xmlhelp/source/cxxhelp/provider/services.cxx55
-rw-r--r--xmlhelp/source/treeview/makefile.mk8
-rw-r--r--xmlhelp/source/treeview/tvfactory.cxx57
-rw-r--r--xmlhelp/source/treeview/tvhlp1.component35
-rw-r--r--xmlhelp/util/makefile.mk8
-rw-r--r--xmlhelp/util/ucpchelp1.component35
-rw-r--r--xmloff/prj/d.lst2
-rw-r--r--xmloff/source/core/facreg.cxx111
-rw-r--r--xmloff/source/draw/ximpcustomshape.cxx3
-rw-r--r--xmloff/source/transform/XMLFilterRegistration.cxx33
-rw-r--r--xmloff/source/transform/makefile.mk8
-rw-r--r--xmloff/source/transform/xof.component118
-rw-r--r--xmloff/util/makefile.mk8
-rw-r--r--xmloff/util/xo.component178
-rw-r--r--xmlscript/prj/d.lst1
-rw-r--r--xmlscript/source/misc/unoservices.cxx9
-rw-r--r--xmlscript/util/makefile.mk8
-rw-r--r--xmlscript/util/xcr.component46
413 files changed, 5683 insertions, 5910 deletions
diff --git a/avmedia/prj/d.lst b/avmedia/prj/d.lst
index c82db252aab8..eb140ed45770 100644
--- a/avmedia/prj/d.lst
+++ b/avmedia/prj/d.lst
@@ -16,3 +16,8 @@ mkdir: %_DEST%\inc%_EXT%\avmedia
..\inc\avmedia\mediatoolbox.hxx %_DEST%\inc%_EXT%\avmedia\mediatoolbox.hxx
..\%__SRC%\class\avmedia.jar %_DEST%\bin%_EXT%\avmedia.jar
+..\%__SRC%\misc\avmedia.component %_DEST%\xml%_EXT%\avmedia.component
+..\%__SRC%\misc\avmedia.jar.component %_DEST%\xml%_EXT%\avmedia.jar.component
+..\%__SRC%\misc\avmediaQuickTime.component %_DEST%\xml%_EXT%\avmediaQuickTime.component
+..\%__SRC%\misc\avmediagst.component %_DEST%\xml%_EXT%\avmediagst.component
+..\%__SRC%\misc\avmediawin.component %_DEST%\xml%_EXT%\avmediawin.component
diff --git a/avmedia/source/framework/soundhandler.cxx b/avmedia/source/framework/soundhandler.cxx
index d24ae795fd76..a1fed18a0f68 100644
--- a/avmedia/source/framework/soundhandler.cxx
+++ b/avmedia/source/framework/soundhandler.cxx
@@ -497,44 +497,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( const sal_Char
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-// -----------------------
-// - component_writeInfo -
-// -----------------------
-
-extern "C" sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey )
-{
- sal_Bool bRet = sal_False;
-
- if( pRegistryKey )
- {
- try
- {
- rtl::OUString sKeyName = DECLARE_ASCII( "/" );
- sKeyName += avmedia::SoundHandler::impl_getStaticImplementationName();
- sKeyName += DECLARE_ASCII( "/UNO/SERVICES" );
- css::uno::Reference< css::registry::XRegistryKey > xNewKey(
- static_cast< css::registry::XRegistryKey* >( pRegistryKey )->createKey(sKeyName));
-
- if ( xNewKey.is() == sal_True )
- {
- css::uno::Sequence< ::rtl::OUString > seqServiceNames = avmedia::SoundHandler::impl_getStaticSupportedServiceNames();
- const ::rtl::OUString* pArray = seqServiceNames.getArray();
- sal_Int32 nLength = seqServiceNames.getLength();
- for ( sal_Int32 nCounter = 0; nCounter < nLength; ++nCounter )
- xNewKey->createKey( pArray[nCounter] );
- }
-
- bRet = sal_True;
- }
- catch( css::registry::InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
-
- return bRet;
-}
-
// ------------------------
// - component_getFactory -
// ------------------------
diff --git a/avmedia/source/gstreamer/avmediagst.component b/avmedia/source/gstreamer/avmediagst.component
new file mode 100644
index 000000000000..75d39d275f5c
--- /dev/null
+++ b/avmedia/source/gstreamer/avmediagst.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.avmedia.Manager_GStreamer">
+ <service name="com.sun.star.media.Manager_GStreamer"/>
+ </implementation>
+</component>
diff --git a/avmedia/source/gstreamer/exports.dxp b/avmedia/source/gstreamer/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/avmedia/source/gstreamer/exports.dxp
+++ b/avmedia/source/gstreamer/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/avmedia/source/gstreamer/gstuno.cxx b/avmedia/source/gstreamer/gstuno.cxx
index adcda63fcd9c..26d13ffc938b 100644
--- a/avmedia/source/gstreamer/gstuno.cxx
+++ b/avmedia/source/gstreamer/gstuno.cxx
@@ -48,35 +48,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( const sal_Char
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-// -----------------------
-// - component_writeInfo -
-// -----------------------
-
-extern "C" sal_Bool SAL_CALL component_writeInfo( void* /* pServiceManager */, void* pRegistryKey )
-{
- sal_Bool bRet = sal_False;
-
- if( pRegistryKey )
- {
- try
- {
- uno::Reference< registry::XRegistryKey > xNewKey1(
- static_cast< registry::XRegistryKey* >( pRegistryKey )->createKey(
- ::rtl::OUString::createFromAscii(
- "/" AVMEDIA_GSTREAMER_MANAGER_IMPLEMENTATIONNAME "/UNO/SERVICES/"
- AVMEDIA_GSTREAMER_MANAGER_SERVICENAME ) ) );
-
- bRet = sal_True;
- }
- catch( registry::InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
-
- return bRet;
-}
-
// ------------------------
// - component_getFactory -
// ------------------------
diff --git a/avmedia/source/gstreamer/makefile.mk b/avmedia/source/gstreamer/makefile.mk
index 2f22c7333778..c648fcc77f89 100644
--- a/avmedia/source/gstreamer/makefile.mk
+++ b/avmedia/source/gstreamer/makefile.mk
@@ -69,3 +69,11 @@ DEF1EXPORTFILE=exports.dxp
.ENDIF
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/avmediagst.component
+
+$(MISC)/avmediagst.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ avmediagst.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt avmediagst.component
diff --git a/avmedia/source/java/MediaUno.java b/avmedia/source/java/MediaUno.java
index ca7a164586d8..3e4387840741 100644
--- a/avmedia/source/java/MediaUno.java
+++ b/avmedia/source/java/MediaUno.java
@@ -64,13 +64,4 @@ public class MediaUno
return null;
}
-
- // -------------------------------------------------------------------------
-
- public static boolean __writeRegistryServiceInfo(
- com.sun.star.registry.XRegistryKey regKey )
- {
- return com.sun.star.comp.loader.FactoryHelper.writeRegistryServiceInfo(
- s_implName, s_serviceName, regKey );
- }
}
diff --git a/avmedia/source/java/avmedia.jar.component b/avmedia/source/java/avmedia.jar.component
new file mode 100644
index 000000000000..d7cc160bd7d0
--- /dev/null
+++ b/avmedia/source/java/avmedia.jar.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Java2"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.media.Manager_Java">
+ <service name="com.sun.star.media.Manager_Java"/>
+ </implementation>
+</component>
diff --git a/avmedia/source/java/makefile.mk b/avmedia/source/java/makefile.mk
index 37c53a721164..1fe771c117f2 100644
--- a/avmedia/source/java/makefile.mk
+++ b/avmedia/source/java/makefile.mk
@@ -59,3 +59,11 @@ CUSTOMMANIFESTFILE = manifest
# --- Targets ------------------------------------------------------
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/avmedia.jar.component
+
+$(MISC)/avmedia.jar.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt avmedia.jar.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_JAVA)avmedia.jar' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt avmedia.jar.component
diff --git a/avmedia/source/quicktime/avmediaQuickTime.component b/avmedia/source/quicktime/avmediaQuickTime.component
new file mode 100644
index 000000000000..aa0251d74c9d
--- /dev/null
+++ b/avmedia/source/quicktime/avmediaQuickTime.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.avmedia.Manager_QuickTime">
+ <service name="com.sun.star.media.Manager_QuickTime"/>
+ </implementation>
+</component>
diff --git a/avmedia/source/quicktime/makefile.mk b/avmedia/source/quicktime/makefile.mk
index f3c9f244f357..358fce491847 100644
--- a/avmedia/source/quicktime/makefile.mk
+++ b/avmedia/source/quicktime/makefile.mk
@@ -83,3 +83,11 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
dummy:
@echo " Nothing to build for GUIBASE=$(GUIBASE)"
.ENDIF
+
+ALLTAR : $(MISC)/avmediaQuickTime.component
+
+$(MISC)/avmediaQuickTime.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt avmediaQuickTime.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt avmediaQuickTime.component
diff --git a/avmedia/source/quicktime/quicktimeuno.cxx b/avmedia/source/quicktime/quicktimeuno.cxx
index b2dee4d77838..9ecd77f4b9e0 100644
--- a/avmedia/source/quicktime/quicktimeuno.cxx
+++ b/avmedia/source/quicktime/quicktimeuno.cxx
@@ -48,35 +48,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( const sal_Char
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-// -----------------------
-// - component_writeInfo -
-// -----------------------
-
-extern "C" sal_Bool SAL_CALL component_writeInfo( void* /* pServiceManager */, void* pRegistryKey )
-{
- sal_Bool bRet = sal_False;
-
- if( pRegistryKey )
- {
- try
- {
- uno::Reference< registry::XRegistryKey > xNewKey1(
- static_cast< registry::XRegistryKey* >( pRegistryKey )->createKey(
- ::rtl::OUString::createFromAscii(
- "/" AVMEDIA_QUICKTIME_MANAGER_IMPLEMENTATIONNAME "/UNO/SERVICES/"
- AVMEDIA_QUICKTIME_MANAGER_SERVICENAME ) ) );
-
- bRet = sal_True;
- }
- catch( registry::InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
-
- return bRet;
-}
-
// ------------------------
// - component_getFactory -
// ------------------------
diff --git a/avmedia/source/win/avmediawin.component b/avmedia/source/win/avmediawin.component
new file mode 100644
index 000000000000..c80c19bff0d9
--- /dev/null
+++ b/avmedia/source/win/avmediawin.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.avmedia.Manager_DirectX">
+ <service name="com.sun.star.media.Manager_DirectX"/>
+ </implementation>
+</component>
diff --git a/avmedia/source/win/exports.dxp b/avmedia/source/win/exports.dxp
index db9c0a52f288..926e49f5f1a5 100644
--- a/avmedia/source/win/exports.dxp
+++ b/avmedia/source/win/exports.dxp
@@ -1,4 +1,3 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/avmedia/source/win/makefile.mk b/avmedia/source/win/makefile.mk
index b70841e8bdf7..37db25b6a8b7 100644
--- a/avmedia/source/win/makefile.mk
+++ b/avmedia/source/win/makefile.mk
@@ -80,3 +80,11 @@ SHL1STDLIBS += dxguid.lib
.ENDIF
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/avmediawin.component
+
+$(MISC)/avmediawin.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ avmediawin.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt avmediawin.component
diff --git a/avmedia/source/win/winuno.cxx b/avmedia/source/win/winuno.cxx
index 645871290413..8b71f10b3f29 100644
--- a/avmedia/source/win/winuno.cxx
+++ b/avmedia/source/win/winuno.cxx
@@ -48,33 +48,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( const sal_Char
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-// -----------------------
-// - component_writeInfo -
-// -----------------------
-
-extern "C" sal_Bool SAL_CALL component_writeInfo( void*, void* pRegistryKey )
-{
- sal_Bool bRet = sal_False;
-
- if( pRegistryKey )
- {
- try
- {
- uno::Reference< registry::XRegistryKey > xNewKey1(
- static_cast< registry::XRegistryKey* >( pRegistryKey )->createKey(
- ::rtl::OUString::createFromAscii( "/com.sun.star.comp.avmedia.Manager_DirectX/UNO/SERVICES/com.sun.star.media.Manager_DirectX" ) ) );
-
- bRet = sal_True;
- }
- catch( registry::InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
-
- return bRet;
-}
-
// ------------------------
// - component_getFactory -
// ------------------------
diff --git a/avmedia/source/xine/exports.dxp b/avmedia/source/xine/exports.dxp
index db9c0a52f288..926e49f5f1a5 100644
--- a/avmedia/source/xine/exports.dxp
+++ b/avmedia/source/xine/exports.dxp
@@ -1,4 +1,3 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/avmedia/source/xine/xineuno.cxx b/avmedia/source/xine/xineuno.cxx
index 4dc4f3f7e1dd..2efe57b2472c 100644
--- a/avmedia/source/xine/xineuno.cxx
+++ b/avmedia/source/xine/xineuno.cxx
@@ -48,35 +48,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment( const sal_Char
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-// -----------------------
-// - component_writeInfo -
-// -----------------------
-
-extern "C" sal_Bool SAL_CALL component_writeInfo( void* /* pServiceManager */, void* pRegistryKey )
-{
- sal_Bool bRet = sal_False;
-
- if( pRegistryKey )
- {
- try
- {
- uno::Reference< registry::XRegistryKey > xNewKey1(
- static_cast< registry::XRegistryKey* >( pRegistryKey )->createKey(
- ::rtl::OUString::createFromAscii(
- "/" AVMEDIA_XINE_MANAGER_IMPLEMENTATIONNAME "/UNO/SERVICES/"
- AVMEDIA_XINE_MANAGER_SERVICENAME ) ) );
-
- bRet = sal_True;
- }
- catch( registry::InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
-
- return bRet;
-}
-
// ------------------------
// - component_getFactory -
// ------------------------
diff --git a/avmedia/util/avmedia.component b/avmedia/util/avmedia.component
new file mode 100644
index 000000000000..fa01dc03eb9c
--- /dev/null
+++ b/avmedia/util/avmedia.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.framework.SoundHandler">
+ <service name="com.sun.star.frame.ContentHandler"/>
+ </implementation>
+</component>
diff --git a/avmedia/util/makefile.mk b/avmedia/util/makefile.mk
index b0d0a6816cf8..a0712204bec1 100644
--- a/avmedia/util/makefile.mk
+++ b/avmedia/util/makefile.mk
@@ -77,3 +77,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk
@echo LibMain>>$@
@echo CT>>$@
.ENDIF
+
+ALLTAR : $(MISC)/avmedia.component
+
+$(MISC)/avmedia.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ avmedia.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt avmedia.component
diff --git a/basic/prj/d.lst b/basic/prj/d.lst
index d2a083ebcb1e..d8d0fce41994 100644
--- a/basic/prj/d.lst
+++ b/basic/prj/d.lst
@@ -57,3 +57,4 @@ mkdir: %_DEST%\inc%_EXT%\basic
..\inc\basic\basicmanagerrepository.hxx %_DEST%\inc%_EXT%\basic\basicmanagerrepository.hxx
..\inc\modsizeexceeded.hxx %_DEST%\inc%_EXT%\basic\modsizeexceeded.hxx
+..\%__SRC%\misc\sb.component %_DEST%\xml%_EXT%\sb.component
diff --git a/basic/util/makefile.mk b/basic/util/makefile.mk
index 629586f0441c..31a4dcca8f8b 100644
--- a/basic/util/makefile.mk
+++ b/basic/util/makefile.mk
@@ -143,4 +143,10 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk
$(SRS)$/basic.srs:
$(TYPE) $(SRS)$/classes.srs + $(SRS)$/runtime.srs + $(SRS)$/sbx.srs > $@
+ALLTAR : $(MISC)/sb.component
+$(MISC)/sb.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ sb.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt sb.component
diff --git a/configmgr/source/span.hxx b/basic/util/sb.component
index 689618613700..4687bd1e7d0b 100644
--- a/configmgr/source/span.hxx
+++ b/basic/util/sb.component
@@ -1,4 +1,5 @@
-/*************************************************************************
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,42 +24,16 @@
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
-************************************************************************/
-
-#ifndef INCLUDED_CONFIGMGR_SOURCE_SPAN_HXX
-#define INCLUDED_CONFIGMGR_SOURCE_SPAN_HXX
-
-#include "sal/config.h"
-
-#include "rtl/string.h"
-#include "sal/types.h"
-
-namespace configmgr {
-
-struct Span {
- char const * begin;
- sal_Int32 length;
-
- inline Span(): begin(0), length(0) {}
- // init length to avoid compiler warnings
-
- inline Span(char const * theBegin, sal_Int32 theLength):
- begin(theBegin), length(theLength) {}
-
- inline void clear() throw() { begin = 0; }
-
- inline bool is() const { return begin != 0; }
-
- inline bool equals(Span const & text) const {
- return rtl_str_compare_WithLength(
- begin, length, text.begin, text.length) == 0;
- }
-
- inline bool equals(char const * textBegin, sal_Int32 textLength) const {
- return equals(Span(textBegin, textLength));
- }
-};
-
-}
-
-#endif
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sfx2.DialogLibraryContainer">
+ <service name="com.sun.star.script.DialogLibraryContainer"/>
+ <service name="com.sun.star.script.DocumentDialogLibraryContainer"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.ScriptLibraryContainer">
+ <service name="com.sun.star.script.DocumentScriptLibraryContainer"/>
+ <service name="com.sun.star.script.ScriptLibraryContainer"/>
+ </implementation>
+</component>
diff --git a/configmgr/prj/build.lst b/configmgr/prj/build.lst
index 9fcccbc73b4c..bbd0d7f34a9a 100644
--- a/configmgr/prj/build.lst
+++ b/configmgr/prj/build.lst
@@ -1,4 +1,4 @@
-cg configmgr : BOOST:boost comphelper cppu cppuhelper offuh sal salhelper stlport NULL
+cg configmgr : BOOST:boost comphelper cppu cppuhelper offuh sal salhelper stlport xmlreader NULL
cg configmgr\inc nmake - all cg_inc NULL
cg configmgr\source nmake - all cg_source cg_inc NULL
cg configmgr\qa\unoapi nmake - all cg_qa_unoapi NULL
diff --git a/configmgr/prj/d.lst b/configmgr/prj/d.lst
index 17ccdbe86a08..34b6cf3e0010 100644
--- a/configmgr/prj/d.lst
+++ b/configmgr/prj/d.lst
@@ -1,3 +1,4 @@
..\%__SRC%\bin\configmgr.uno.dll %_DEST%\bin%_EXT%\configmgr.uno.dll
..\%__SRC%\lib\configmgr.uno.dylib %_DEST%\lib%_EXT%\configmgr.uno.dylib
..\%__SRC%\lib\configmgr.uno.so %_DEST%\lib%_EXT%\configmgr.uno.so
+..\%__SRC%\misc\configmgr.component %_DEST%\xml%_EXT%\configmgr.component
diff --git a/configmgr/source/README b/configmgr/source/README
index b00990d1eeb2..f26c68ecf7c0 100644
--- a/configmgr/source/README
+++ b/configmgr/source/README
@@ -51,16 +51,13 @@ propertynode.cxx
setnode.cxx
Internal representations of data nodes.
-pad.cxx
parsemanager.cxx
parser.hxx
-span.hxx
valueparser.cxx
xcdparser.cxx
xcsparser.cxx
xcuparser.cxx
xmldata.cxx
-xmlreader.cxx
XML file reading.
modifications.cxx
diff --git a/configmgr/source/components.cxx b/configmgr/source/components.cxx
index 33b0eca3f65f..14102f56281f 100644
--- a/configmgr/source/components.cxx
+++ b/configmgr/source/components.cxx
@@ -334,12 +334,14 @@ void Components::insertModificationXcuFile(
Modifications * modifications)
{
OSL_ASSERT(modifications != 0);
+ Partial part(includedPaths, excludedPaths);
try {
- Partial part(includedPaths, excludedPaths);
- parseXcuFile(fileUri, Data::NO_LAYER, data_, &part, modifications, 0);
- } catch (css::uno::Exception & e) { //TODO: more specific exception catching
+ parseFileLeniently(
+ &parseXcuFile, fileUri, Data::NO_LAYER, data_, &part, modifications,
+ 0);
+ } catch (css::container::NoSuchElementException & e) {
OSL_TRACE(
- "configmgr error inserting %s: %s",
+ "configmgr error inserting non-existing %s: %s",
rtl::OUStringToOString(fileUri, RTL_TEXTENCODING_UTF8).getStr(),
rtl::OUStringToOString(e.Message, RTL_TEXTENCODING_UTF8).getStr());
}
@@ -492,20 +494,32 @@ Components::Components(
"com.sun.star.comp.deployment.configuration."
"PackageRegistryBackend/configmgr.ini"))),
true);
+ parseModificationLayer();
+ RTL_LOGFILE_TRACE_AUTHOR("configmgr", "sb", "end parsing");
+}
+
+Components::~Components() {}
+
+void Components::parseFileLeniently(
+ FileParser * parseFile, rtl::OUString const & url, int layer, Data & data,
+ Partial const * partial, Modifications * modifications,
+ Additions * additions)
+{
+ OSL_ASSERT(parseFile != 0);
try {
- parseModificationLayer();
+ (*parseFile)(url, layer, data, partial, modifications, additions);
+ } catch (css::container::NoSuchElementException &) {
+ throw;
} catch (css::uno::Exception & e) { //TODO: more specific exception catching
- // Silently ignore unreadable parts of a corrupted user modification
- // layer, instead of completely preventing OOo from starting:
+ // Silently ignore invalid XML files, instead of completely preventing
+ // OOo from starting:
OSL_TRACE(
- "configmgr error reading user modification layer: %s",
+ "configmgr error reading %s: %s",
+ rtl::OUStringToOString(url, RTL_TEXTENCODING_UTF8).getStr(),
rtl::OUStringToOString(e.Message, RTL_TEXTENCODING_UTF8).getStr());
}
- RTL_LOGFILE_TRACE_AUTHOR("configmgr", "sb", "end parsing");
}
-Components::~Components() {}
-
void Components::parseFiles(
int layer, rtl::OUString const & extension, FileParser * parseFile,
rtl::OUString const & url, bool recursive)
@@ -557,7 +571,8 @@ void Components::parseFiles(
file.match(extension, file.getLength() - extension.getLength()))
{
try {
- (*parseFile)(stat.getFileURL(), layer, data_, 0, 0, 0);
+ parseFileLeniently(
+ parseFile, stat.getFileURL(), layer, data_, 0, 0, 0);
} catch (css::container::NoSuchElementException & e) {
throw css::uno::RuntimeException(
(rtl::OUString(
@@ -584,7 +599,7 @@ void Components::parseFileList(
adds = data_.addExtensionXcuAdditions(url, layer);
}
try {
- (*parseFile)(url, layer, data_, 0, 0, adds);
+ parseFileLeniently(parseFile, url, layer, data_, 0, 0, adds);
} catch (css::container::NoSuchElementException & e) {
OSL_TRACE(
"configmgr file does not exist: %s",
@@ -746,13 +761,15 @@ rtl::OUString Components::getModificationFileUrl() const {
void Components::parseModificationLayer() {
try {
- parseXcuFile(getModificationFileUrl(), Data::NO_LAYER, data_, 0, 0, 0);
+ parseFileLeniently(
+ &parseXcuFile, getModificationFileUrl(), Data::NO_LAYER, data_, 0,
+ 0, 0);
} catch (css::container::NoSuchElementException &) {
OSL_TRACE(
"configmgr user registrymodifications.xcu does not (yet) exist");
// Migrate old user layer data (can be removed once migration is no
// longer relevant, probably OOo 4; also see hack for xsi namespace in
- // XmlReader constructor):
+ // xmlreader::XmlReader::registerNamespaceIri):
parseFiles(
Data::NO_LAYER, rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(".xcu")),
&parseXcuFile,
diff --git a/configmgr/source/components.hxx b/configmgr/source/components.hxx
index 880ac95d34a8..4fc47f791821 100644
--- a/configmgr/source/components.hxx
+++ b/configmgr/source/components.hxx
@@ -123,6 +123,11 @@ private:
~Components();
+ void parseFileLeniently(
+ FileParser * parseFile, rtl::OUString const & url, int layer,
+ Data & data, Partial const * partial, Modifications * modifications,
+ Additions * additions);
+
void parseFiles(
int layer, rtl::OUString const & extension, FileParser * parseFile,
rtl::OUString const & url, bool recursive);
diff --git a/configmgr/source/configmgr.component b/configmgr/source/configmgr.component
new file mode 100644
index 000000000000..6ed51257005d
--- /dev/null
+++ b/configmgr/source/configmgr.component
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.configuration.ConfigurationProvider">
+ <service name="com.sun.star.configuration.ConfigurationProvider"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.configuration.ConfigurationRegistry">
+ <service name="com.sun.star.configuration.ConfigurationRegistry"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.configuration.DefaultProvider">
+ <service name="com.sun.star.configuration.DefaultProvider"/>
+ <singleton name="com.sun.star.configuration.theDefaultProvider"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.configuration.Update">
+ <service name="com.sun.star.configuration.Update_Service"/>
+ <singleton name="com.sun.star.configuration.Update"/>
+ </implementation>
+</component>
diff --git a/configmgr/source/configurationprovider.cxx b/configmgr/source/configurationprovider.cxx
index a89540a88158..78d71e73e7d5 100644
--- a/configmgr/source/configurationprovider.cxx
+++ b/configmgr/source/configurationprovider.cxx
@@ -241,7 +241,7 @@ Service::createInstanceWithArguments(
if (nodepath.getLength() == 0) {
badNodePath();
}
- // For backwards compatibility, allow a notepath that misses the leading
+ // For backwards compatibility, allow a nodepath that misses the leading
// slash:
if (nodepath[0] != '/') {
nodepath = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/")) + nodepath;
@@ -456,7 +456,8 @@ Factory::createInstanceWithArgumentsAndContext(
" arguments")),
0);
}
- // For backwards compatibility, allow "Locale" in any case:
+ // For backwards compatibility, allow "Locale" and (ignored)
+ // "EnableAsync" in any case:
if (name.equalsIgnoreAsciiCaseAsciiL(
RTL_CONSTASCII_STRINGPARAM("locale")))
{
@@ -471,8 +472,9 @@ Factory::createInstanceWithArgumentsAndContext(
" one, non-empty, string Locale argument")),
0);
}
- } else {
- //TODO
+ } else if (!name.equalsIgnoreAsciiCaseAsciiL(
+ RTL_CONSTASCII_STRINGPARAM("enableasync")))
+ {
throw css::uno::Exception(
rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(
diff --git a/configmgr/source/makefile.mk b/configmgr/source/makefile.mk
index 777fed3323d8..94747d9dd803 100644
--- a/configmgr/source/makefile.mk
+++ b/configmgr/source/makefile.mk
@@ -52,7 +52,6 @@ SLOFILES = \
$(SLO)/modifications.obj \
$(SLO)/node.obj \
$(SLO)/nodemap.obj \
- $(SLO)/pad.obj \
$(SLO)/parsemanager.obj \
$(SLO)/partial.obj \
$(SLO)/propertynode.obj \
@@ -66,8 +65,7 @@ SLOFILES = \
$(SLO)/xcdparser.obj \
$(SLO)/xcsparser.obj \
$(SLO)/xcuparser.obj \
- $(SLO)/xmldata.obj \
- $(SLO)/xmlreader.obj
+ $(SLO)/xmldata.obj
SHL1IMPLIB = i$(SHL1TARGET)
SHL1OBJS = $(SLOFILES)
@@ -76,9 +74,18 @@ SHL1STDLIBS = \
$(CPPUHELPERLIB) \
$(CPPULIB) \
$(SALHELPERLIB) \
- $(SALLIB)
+ $(SALLIB) \
+ $(XMLREADERLIB)
SHL1TARGET = configmgr.uno
SHL1USE_EXPORTS = name
DEF1NAME = $(SHL1TARGET)
.INCLUDE: target.mk
+
+ALLTAR : $(MISC)/configmgr.component
+
+$(MISC)/configmgr.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ configmgr.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt configmgr.component
diff --git a/configmgr/source/pad.cxx b/configmgr/source/pad.cxx
deleted file mode 100644
index c8c7218b6da6..000000000000
--- a/configmgr/source/pad.cxx
+++ /dev/null
@@ -1,91 +0,0 @@
-/*************************************************************************
-*
-* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-*
-* Copyright 2000, 2010 Oracle and/or its affiliates.
-*
-* OpenOffice.org - a multi-platform office productivity suite
-*
-* This file is part of OpenOffice.org.
-*
-* OpenOffice.org is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Lesser General Public License version 3
-* only, as published by the Free Software Foundation.
-*
-* OpenOffice.org is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License version 3 for more details
-* (a copy is included in the LICENSE file that accompanied this code).
-*
-* You should have received a copy of the GNU Lesser General Public License
-* version 3 along with OpenOffice.org. If not, see
-* <http://www.openoffice.org/license.html>
-* for a copy of the LGPLv3 License.
-*
-************************************************************************/
-
-#include "precompiled_configmgr.hxx"
-#include "sal/config.h"
-
-#include "osl/diagnose.h"
-#include "rtl/string.h"
-#include "sal/types.h"
-
-#include "pad.hxx"
-#include "span.hxx"
-
-namespace configmgr {
-
-void Pad::add(char const * begin, sal_Int32 length) {
- OSL_ASSERT(
- begin != 0 && length >= 0 && !(span_.is() && buffer_.getLength() != 0));
- if (length != 0) {
- flushSpan();
- if (buffer_.getLength() == 0) {
- span_ = Span(begin, length);
- } else {
- buffer_.append(begin, length);
- }
- }
-}
-
-void Pad::addEphemeral(char const * begin, sal_Int32 length) {
- OSL_ASSERT(
- begin != 0 && length >= 0 && !(span_.is() && buffer_.getLength() != 0));
- if (length != 0) {
- flushSpan();
- buffer_.append(begin, length);
- }
-}
-
-void Pad::clear() {
- OSL_ASSERT(!(span_.is() && buffer_.getLength() != 0));
- span_.clear();
- buffer_.setLength(0);
-}
-
-bool Pad::is() const {
- OSL_ASSERT(!(span_.is() && buffer_.getLength() != 0));
- return span_.is() || buffer_.getLength() != 0;
-}
-
-Span Pad::get() const {
- OSL_ASSERT(!(span_.is() && buffer_.getLength() != 0));
- if (span_.is()) {
- return span_;
- } else if (buffer_.getLength() == 0) {
- return Span(RTL_CONSTASCII_STRINGPARAM(""));
- } else {
- return Span(buffer_.getStr(), buffer_.getLength());
- }
-}
-
-void Pad::flushSpan() {
- if (span_.is()) {
- buffer_.append(span_.begin, span_.length);
- span_.clear();
- }
-}
-
-}
diff --git a/configmgr/source/parsemanager.cxx b/configmgr/source/parsemanager.cxx
index 69a5515b977c..c17eddd2976f 100644
--- a/configmgr/source/parsemanager.cxx
+++ b/configmgr/source/parsemanager.cxx
@@ -32,10 +32,11 @@
#include "com/sun/star/uno/RuntimeException.hpp"
#include "osl/diagnose.h"
#include "sal/types.h"
+#include "xmlreader/span.hxx"
+#include "xmlreader/xmlreader.hxx"
#include "parsemanager.hxx"
#include "parser.hxx"
-#include "xmlreader.hxx"
namespace configmgr {
@@ -52,28 +53,42 @@ ParseManager::ParseManager(
reader_(url), parser_(parser)
{
OSL_ASSERT(parser.is());
+ int id;
+ id = reader_.registerNamespaceIri(
+ xmlreader::Span(
+ RTL_CONSTASCII_STRINGPARAM("http://openoffice.org/2001/registry")));
+ OSL_ASSERT(id == NAMESPACE_OOR);
+ id = reader_.registerNamespaceIri(
+ xmlreader::Span(
+ RTL_CONSTASCII_STRINGPARAM("http://www.w3.org/2001/XMLSchema")));
+ OSL_ASSERT(id == NAMESPACE_XS);
+ id = reader_.registerNamespaceIri(
+ xmlreader::Span(
+ RTL_CONSTASCII_STRINGPARAM(
+ "http://www.w3.org/2001/XMLSchema-instance")));
+ OSL_ASSERT(id == NAMESPACE_XSI);
}
bool ParseManager::parse() {
for (;;) {
switch (itemData_.is()
- ? XmlReader::RESULT_BEGIN
+ ? xmlreader::XmlReader::RESULT_BEGIN
: reader_.nextItem(
- parser_->getTextMode(), &itemData_, &itemNamespace_))
+ parser_->getTextMode(), &itemData_, &itemNamespaceId_))
{
- case XmlReader::RESULT_BEGIN:
- if (!parser_->startElement(reader_, itemNamespace_, itemData_))
+ case xmlreader::XmlReader::RESULT_BEGIN:
+ if (!parser_->startElement(reader_, itemNamespaceId_, itemData_))
{
return false;
}
break;
- case XmlReader::RESULT_END:
+ case xmlreader::XmlReader::RESULT_END:
parser_->endElement(reader_);
break;
- case XmlReader::RESULT_TEXT:
+ case xmlreader::XmlReader::RESULT_TEXT:
parser_->characters(itemData_);
break;
- case XmlReader::RESULT_DONE:
+ case xmlreader::XmlReader::RESULT_DONE:
return true;
}
itemData_.clear();
diff --git a/configmgr/source/parsemanager.hxx b/configmgr/source/parsemanager.hxx
index 18292859ab98..19d16c74621a 100644
--- a/configmgr/source/parsemanager.hxx
+++ b/configmgr/source/parsemanager.hxx
@@ -35,9 +35,8 @@
#include "rtl/ref.hxx"
#include "sal/types.h"
#include "salhelper/simplereferenceobject.hxx"
-
-#include "span.hxx"
-#include "xmlreader.hxx"
+#include "xmlreader/span.hxx"
+#include "xmlreader/xmlreader.hxx"
namespace rtl { class OUString; }
@@ -55,13 +54,15 @@ public:
bool parse();
+ enum { NAMESPACE_OOR = 1, NAMESPACE_XS = 2, NAMESPACE_XSI = 3 };
+
private:
virtual ~ParseManager();
- XmlReader reader_;
+ xmlreader::XmlReader reader_;
rtl::Reference< Parser > parser_;
- Span itemData_;
- XmlReader::Namespace itemNamespace_;
+ xmlreader::Span itemData_;
+ int itemNamespaceId_;
};
}
diff --git a/configmgr/source/parser.hxx b/configmgr/source/parser.hxx
index da29941953b5..f782e0dbc151 100644
--- a/configmgr/source/parser.hxx
+++ b/configmgr/source/parser.hxx
@@ -33,23 +33,23 @@
#include <memory>
#include "salhelper/simplereferenceobject.hxx"
+#include "xmlreader/xmlreader.hxx"
-#include "xmlreader.hxx"
+namespace xmlreader { struct Span; }
namespace configmgr {
-struct Span;
-
class Parser: public salhelper::SimpleReferenceObject {
public:
- virtual XmlReader::Text getTextMode() = 0;
+ virtual xmlreader::XmlReader::Text getTextMode() = 0;
virtual bool startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name) = 0;
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name)
+ = 0;
- virtual void endElement(XmlReader const & reader) = 0;
+ virtual void endElement(xmlreader::XmlReader const & reader) = 0;
- virtual void characters(Span const & text) = 0;
+ virtual void characters(xmlreader::Span const & text) = 0;
protected:
Parser() {}
diff --git a/configmgr/source/services.cxx b/configmgr/source/services.cxx
index f8c3289664ef..b1ef8d2169bb 100644
--- a/configmgr/source/services.cxx
+++ b/configmgr/source/services.cxx
@@ -28,7 +28,6 @@
#include "precompiled_configmgr.hxx"
#include "sal/config.h"
-#include "com/sun/star/registry/XRegistryKey.hpp"
#include "com/sun/star/uno/Exception.hpp"
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/XComponentContext.hpp"
@@ -36,9 +35,6 @@
#include "cppuhelper/implementationentry.hxx"
#include "osl/diagnose.h"
#include "uno/lbnames.h"
-#include "rtl/textenc.h"
-#include "rtl/ustring.h"
-#include "rtl/ustring.hxx"
#include "sal/types.h"
#include "configurationprovider.hxx"
@@ -89,47 +85,3 @@ component_getImplementationEnvironment(
{
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey)
-{
- if (!component_writeInfoHelper(pServiceManager, pRegistryKey, services)) {
- return false;
- }
- try {
- css::uno::Reference< css::registry::XRegistryKey >(
- (css::uno::Reference< css::registry::XRegistryKey >(
- static_cast< css::registry::XRegistryKey * >(pRegistryKey))->
- createKey(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "/com.sun.star.comp.configuration.DefaultProvider/UNO/"
- "SINGLETONS/"
- "com.sun.star.configuration.theDefaultProvider")))),
- css::uno::UNO_SET_THROW)->
- setStringValue(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.configuration.DefaultProvider")));
- css::uno::Reference< css::registry::XRegistryKey >(
- (css::uno::Reference< css::registry::XRegistryKey >(
- static_cast< css::registry::XRegistryKey * >(pRegistryKey))->
- createKey(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "/com.sun.star.comp.configuration.Update/UNO/"
- "SINGLETONS/com.sun.star.configuration.Update")))),
- css::uno::UNO_SET_THROW)->
- setStringValue(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "com.sun.star.configuration.Update_Service")));
- } catch (css::uno::Exception & e) {
- (void) e;
- OSL_TRACE(
- "configmgr component_writeInfo exception: %s",
- rtl::OUStringToOString(e.Message, RTL_TEXTENCODING_UTF8).getStr());
- return false;
- }
- return true;
-}
diff --git a/configmgr/source/valueparser.cxx b/configmgr/source/valueparser.cxx
index 4adf452c409b..0be173f74919 100644
--- a/configmgr/source/valueparser.cxx
+++ b/configmgr/source/valueparser.cxx
@@ -40,16 +40,17 @@
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
+#include "xmlreader/span.hxx"
+#include "xmlreader/xmlreader.hxx"
#include "localizedvaluenode.hxx"
#include "node.hxx"
#include "nodemap.hxx"
+#include "parsemanager.hxx"
#include "propertynode.hxx"
-#include "span.hxx"
#include "type.hxx"
#include "valueparser.hxx"
#include "xmldata.hxx"
-#include "xmlreader.hxx"
namespace configmgr {
@@ -74,7 +75,7 @@ bool parseHexDigit(char c, int * value) {
return false;
}
-bool parseValue(Span const & text, sal_Bool * value) {
+bool parseValue(xmlreader::Span const & text, sal_Bool * value) {
OSL_ASSERT(text.is() && value != 0);
if (text.equals(RTL_CONSTASCII_STRINGPARAM("true")) ||
text.equals(RTL_CONSTASCII_STRINGPARAM("1")))
@@ -91,7 +92,7 @@ bool parseValue(Span const & text, sal_Bool * value) {
return false;
}
-bool parseValue(Span const & text, sal_Int16 * value) {
+bool parseValue(xmlreader::Span const & text, sal_Int16 * value) {
OSL_ASSERT(text.is() && value != 0);
// For backwards compatibility, support hexadecimal values:
sal_Int32 n =
@@ -110,7 +111,7 @@ bool parseValue(Span const & text, sal_Int16 * value) {
return false;
}
-bool parseValue(Span const & text, sal_Int32 * value) {
+bool parseValue(xmlreader::Span const & text, sal_Int32 * value) {
OSL_ASSERT(text.is() && value != 0);
// For backwards compatibility, support hexadecimal values:
*value =
@@ -125,7 +126,7 @@ bool parseValue(Span const & text, sal_Int32 * value) {
return true;
}
-bool parseValue(Span const & text, sal_Int64 * value) {
+bool parseValue(xmlreader::Span const & text, sal_Int64 * value) {
OSL_ASSERT(text.is() && value != 0);
// For backwards compatibility, support hexadecimal values:
*value =
@@ -140,20 +141,22 @@ bool parseValue(Span const & text, sal_Int64 * value) {
return true;
}
-bool parseValue(Span const & text, double * value) {
+bool parseValue(xmlreader::Span const & text, double * value) {
OSL_ASSERT(text.is() && value != 0);
*value = rtl::OString(text.begin, text.length).toDouble();
//TODO: check valid lexical representation
return true;
}
-bool parseValue(Span const & text, rtl::OUString * value) {
+bool parseValue(xmlreader::Span const & text, rtl::OUString * value) {
OSL_ASSERT(text.is() && value != 0);
- *value = xmldata::convertFromUtf8(text);
+ *value = text.convertFromUtf8();
return true;
}
-bool parseValue(Span const & text, css::uno::Sequence< sal_Int8 > * value) {
+bool parseValue(
+ xmlreader::Span const & text, css::uno::Sequence< sal_Int8 > * value)
+{
OSL_ASSERT(text.is() && value != 0);
if ((text.length & 1) != 0) {
return false;
@@ -173,7 +176,9 @@ bool parseValue(Span const & text, css::uno::Sequence< sal_Int8 > * value) {
return true;
}
-template< typename T > css::uno::Any parseSingleValue(Span const & text) {
+template< typename T > css::uno::Any parseSingleValue(
+ xmlreader::Span const & text)
+{
T val;
if (!parseValue(text, &val)) {
throw css::uno::RuntimeException(
@@ -184,21 +189,23 @@ template< typename T > css::uno::Any parseSingleValue(Span const & text) {
}
template< typename T > css::uno::Any parseListValue(
- rtl::OString const & separator, Span const & text)
+ rtl::OString const & separator, xmlreader::Span const & text)
{
comphelper::SequenceAsVector< T > seq;
- Span sep;
+ xmlreader::Span sep;
if (separator.getLength() == 0) {
- sep = Span(RTL_CONSTASCII_STRINGPARAM(" "));
+ sep = xmlreader::Span(RTL_CONSTASCII_STRINGPARAM(" "));
} else {
- sep = Span(separator.getStr(), separator.getLength());
+ sep = xmlreader::Span(separator.getStr(), separator.getLength());
}
if (text.length != 0) {
- for (Span t(text);;) {
+ for (xmlreader::Span t(text);;) {
sal_Int32 i = rtl_str_indexOfStr_WithLength(
t.begin, t.length, sep.begin, sep.length);
T val;
- if (!parseValue(Span(t.begin, i == -1 ? t.length : i), &val)) {
+ if (!parseValue(
+ xmlreader::Span(t.begin, i == -1 ? t.length : i), &val))
+ {
throw css::uno::RuntimeException(
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("invalid value")),
css::uno::Reference< css::uno::XInterface >());
@@ -215,7 +222,7 @@ template< typename T > css::uno::Any parseListValue(
}
css::uno::Any parseValue(
- rtl::OString const & separator, Span const & text, Type type)
+ rtl::OString const & separator, xmlreader::Span const & text, Type type)
{
switch (type) {
case TYPE_ANY:
@@ -266,7 +273,7 @@ ValueParser::ValueParser(int layer): layer_(layer) {}
ValueParser::~ValueParser() {}
-XmlReader::Text ValueParser::getTextMode() const {
+xmlreader::XmlReader::Text ValueParser::getTextMode() const {
if (node_.is()) {
switch (state_) {
case STATE_TEXT:
@@ -278,23 +285,24 @@ XmlReader::Text ValueParser::getTextMode() const {
return
(type_ == TYPE_STRING || type_ == TYPE_STRING_LIST ||
separator_.getLength() != 0)
- ? XmlReader::TEXT_RAW : XmlReader::TEXT_NORMALIZED;
+ ? xmlreader::XmlReader::TEXT_RAW
+ : xmlreader::XmlReader::TEXT_NORMALIZED;
default:
break;
}
}
- return XmlReader::TEXT_NONE;
+ return xmlreader::XmlReader::TEXT_NONE;
}
bool ValueParser::startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name)
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name)
{
if (!node_.is()) {
return false;
}
switch (state_) {
case STATE_TEXT:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("it")) &&
isListType(type_) && separator_.getLength() == 0)
{
@@ -306,18 +314,18 @@ bool ValueParser::startElement(
}
// fall through
case STATE_IT:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("unicode")) &&
(type_ == TYPE_STRING || type_ == TYPE_STRING_LIST))
{
sal_Int32 scalar = -1;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("scalar")))
{
if (!parseValue(reader.getAttributeValue(true), &scalar)) {
@@ -352,7 +360,7 @@ bool ValueParser::startElement(
}
throw css::uno::RuntimeException(
(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bad member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) + reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
@@ -439,7 +447,7 @@ bool ValueParser::endElement() {
return true;
}
-void ValueParser::characters(Span const & text) {
+void ValueParser::characters(xmlreader::Span const & text) {
if (node_.is()) {
OSL_ASSERT(state_ == STATE_TEXT || state_ == STATE_IT);
pad_.add(text.begin, text.length);
diff --git a/configmgr/source/valueparser.hxx b/configmgr/source/valueparser.hxx
index 4e899f4632dd..c5e1d0a0a45f 100644
--- a/configmgr/source/valueparser.hxx
+++ b/configmgr/source/valueparser.hxx
@@ -36,19 +36,19 @@
#include "rtl/ref.hxx"
#include "rtl/string.hxx"
#include "rtl/ustring.hxx"
+#include "xmlreader/pad.hxx"
+#include "xmlreader/xmlreader.hxx"
-#include "pad.hxx"
#include "type.hxx"
-#include "xmlreader.hxx"
namespace com { namespace sun { namespace star { namespace uno {
class Any;
} } } }
+namespace xmlreader { struct Span; }
namespace configmgr {
class Node;
-struct Span;
class ValueParser: private boost::noncopyable {
public:
@@ -56,14 +56,14 @@ public:
~ValueParser();
- XmlReader::Text getTextMode() const;
+ xmlreader::XmlReader::Text getTextMode() const;
bool startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name);
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name);
bool endElement();
- void characters(Span const & text);
+ void characters(xmlreader::Span const & text);
void start(
rtl::Reference< Node > const & property,
@@ -83,7 +83,7 @@ private:
rtl::Reference< Node > node_;
rtl::OUString localizedName_;
State state_;
- Pad pad_;
+ xmlreader::Pad pad_;
std::vector< com::sun::star::uno::Any > items_;
};
diff --git a/configmgr/source/writemodfile.cxx b/configmgr/source/writemodfile.cxx
index c2573ab67439..5616833abf3d 100644
--- a/configmgr/source/writemodfile.cxx
+++ b/configmgr/source/writemodfile.cxx
@@ -45,6 +45,7 @@
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
+#include "xmlreader/span.hxx"
#include "data.hxx"
#include "groupnode.hxx"
@@ -54,7 +55,6 @@
#include "node.hxx"
#include "nodemap.hxx"
#include "propertynode.hxx"
-#include "span.hxx"
#include "type.hxx"
#include "writemodfile.hxx"
@@ -341,22 +341,23 @@ void writeNode(
rtl::Reference< Node > const & parent, rtl::OUString const & name,
rtl::Reference< Node > const & node)
{
- static Span const typeNames[] = {
- Span(), Span(), Span(), // TYPE_ERROR, TYPE_NIL, TYPE_ANY
- Span(RTL_CONSTASCII_STRINGPARAM("xs:boolean")),
- Span(RTL_CONSTASCII_STRINGPARAM("xs:short")),
- Span(RTL_CONSTASCII_STRINGPARAM("xs:int")),
- Span(RTL_CONSTASCII_STRINGPARAM("xs:long")),
- Span(RTL_CONSTASCII_STRINGPARAM("xs:double")),
- Span(RTL_CONSTASCII_STRINGPARAM("xs:string")),
- Span(RTL_CONSTASCII_STRINGPARAM("xs:hexBinary")),
- Span(RTL_CONSTASCII_STRINGPARAM("oor:boolean-list")),
- Span(RTL_CONSTASCII_STRINGPARAM("oor:short-list")),
- Span(RTL_CONSTASCII_STRINGPARAM("oor:int-list")),
- Span(RTL_CONSTASCII_STRINGPARAM("oor:long-list")),
- Span(RTL_CONSTASCII_STRINGPARAM("oor:double-list")),
- Span(RTL_CONSTASCII_STRINGPARAM("oor:string-list")),
- Span(RTL_CONSTASCII_STRINGPARAM("oor:hexBinary-list")) };
+ static xmlreader::Span const typeNames[] = {
+ xmlreader::Span(), xmlreader::Span(), xmlreader::Span(),
+ // TYPE_ERROR, TYPE_NIL, TYPE_ANY
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("xs:boolean")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("xs:short")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("xs:int")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("xs:long")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("xs:double")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("xs:string")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("xs:hexBinary")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("oor:boolean-list")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("oor:short-list")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("oor:int-list")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("oor:long-list")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("oor:double-list")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("oor:string-list")),
+ xmlreader::Span(RTL_CONSTASCII_STRINGPARAM("oor:hexBinary-list")) };
switch (node->kind()) {
case Node::KIND_PROPERTY:
{
diff --git a/configmgr/source/xcdparser.cxx b/configmgr/source/xcdparser.cxx
index ad774d5ca3e3..a7b66fe60157 100644
--- a/configmgr/source/xcdparser.cxx
+++ b/configmgr/source/xcdparser.cxx
@@ -37,13 +37,14 @@
#include "rtl/string.h"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
+#include "xmlreader/span.hxx"
+#include "xmlreader/xmlreader.hxx"
-#include "span.hxx"
+#include "parsemanager.hxx"
#include "xcdparser.hxx"
#include "xcsparser.hxx"
#include "xcuparser.hxx"
#include "xmldata.hxx"
-#include "xmlreader.hxx"
namespace configmgr {
@@ -59,22 +60,22 @@ XcdParser::XcdParser(int layer, Dependencies const & dependencies, Data & data):
XcdParser::~XcdParser() {}
-XmlReader::Text XcdParser::getTextMode() {
+xmlreader::XmlReader::Text XcdParser::getTextMode() {
return nestedParser_.is()
- ? nestedParser_->getTextMode() : XmlReader::TEXT_NONE;
+ ? nestedParser_->getTextMode() : xmlreader::XmlReader::TEXT_NONE;
}
bool XcdParser::startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name)
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name)
{
if (nestedParser_.is()) {
OSL_ASSERT(nesting_ != LONG_MAX);
++nesting_;
- return nestedParser_->startElement(reader, ns, name);
+ return nestedParser_->startElement(reader, nsId, name);
}
switch (state_) {
case STATE_START:
- if (ns == XmlReader::NAMESPACE_OOR &&
+ if (nsId == ParseManager::NAMESPACE_OOR &&
name.equals(RTL_CONSTASCII_STRINGPARAM("data")))
{
state_ = STATE_DEPENDENCIES;
@@ -82,18 +83,19 @@ bool XcdParser::startElement(
}
break;
case STATE_DEPENDENCIES:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("dependency")))
{
if (dependency_.getLength() == 0) {
- Span attrFile;
+ xmlreader::Span attrFile;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_NONE && //TODO: _OOR
+ if (attrNsId == xmlreader::XmlReader::NAMESPACE_NONE &&
+ //TODO: _OOR
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("file")))
{
attrFile = reader.getAttributeValue(false);
@@ -107,7 +109,7 @@ bool XcdParser::startElement(
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
- dependency_ = xmldata::convertFromUtf8(attrFile);
+ dependency_ = attrFile.convertFromUtf8();
if (dependency_.getLength() == 0) {
throw css::uno::RuntimeException(
(rtl::OUString(
@@ -127,19 +129,19 @@ bool XcdParser::startElement(
state_ = STATE_COMPONENTS;
// fall through
case STATE_COMPONENTS:
- if (ns == XmlReader::NAMESPACE_OOR &&
+ if (nsId == ParseManager::NAMESPACE_OOR &&
name.equals(RTL_CONSTASCII_STRINGPARAM("component-schema")))
{
nestedParser_ = new XcsParser(layer_, data_);
nesting_ = 1;
- return nestedParser_->startElement(reader, ns, name);
+ return nestedParser_->startElement(reader, nsId, name);
}
- if (ns == XmlReader::NAMESPACE_OOR &&
+ if (nsId == ParseManager::NAMESPACE_OOR &&
name.equals(RTL_CONSTASCII_STRINGPARAM("component-data")))
{
nestedParser_ = new XcuParser(layer_ + 1, data_, 0, 0, 0);
nesting_ = 1;
- return nestedParser_->startElement(reader, ns, name);
+ return nestedParser_->startElement(reader, nsId, name);
}
break;
default: // STATE_DEPENDENCY
@@ -148,12 +150,12 @@ bool XcdParser::startElement(
}
throw css::uno::RuntimeException(
(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bad member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) + reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
-void XcdParser::endElement(XmlReader const & reader) {
+void XcdParser::endElement(xmlreader::XmlReader const & reader) {
if (nestedParser_.is()) {
nestedParser_->endElement(reader);
if (--nesting_ == 0) {
@@ -174,7 +176,7 @@ void XcdParser::endElement(XmlReader const & reader) {
}
}
-void XcdParser::characters(Span const & text) {
+void XcdParser::characters(xmlreader::Span const & text) {
if (nestedParser_.is()) {
nestedParser_->characters(text);
}
diff --git a/configmgr/source/xcdparser.hxx b/configmgr/source/xcdparser.hxx
index 2ad8ecea7f93..a807e011b244 100644
--- a/configmgr/source/xcdparser.hxx
+++ b/configmgr/source/xcdparser.hxx
@@ -34,14 +34,15 @@
#include "rtl/ref.hxx"
#include "rtl/ustring.hxx"
+#include "xmlreader/xmlreader.hxx"
#include "parser.hxx"
-#include "xmlreader.hxx"
+
+namespace xmlreader { struct Span; }
namespace configmgr {
struct Data;
-struct Span;
class XcdParser: public Parser {
public:
@@ -52,14 +53,14 @@ public:
private:
virtual ~XcdParser();
- virtual XmlReader::Text getTextMode();
+ virtual xmlreader::XmlReader::Text getTextMode();
virtual bool startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name);
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name);
- virtual void endElement(XmlReader const & reader);
+ virtual void endElement(xmlreader::XmlReader const & reader);
- virtual void characters(Span const & text);
+ virtual void characters(xmlreader::Span const & text);
enum State {
STATE_START, STATE_DEPENDENCIES, STATE_DEPENDENCY, STATE_COMPONENTS };
diff --git a/configmgr/source/xcsparser.cxx b/configmgr/source/xcsparser.cxx
index 37b46494c6a7..1deb8e9f3029 100644
--- a/configmgr/source/xcsparser.cxx
+++ b/configmgr/source/xcsparser.cxx
@@ -41,18 +41,19 @@
#include "rtl/string.hxx"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
+#include "xmlreader/span.hxx"
+#include "xmlreader/xmlreader.hxx"
#include "data.hxx"
#include "localizedpropertynode.hxx"
#include "groupnode.hxx"
#include "node.hxx"
#include "nodemap.hxx"
+#include "parsemanager.hxx"
#include "propertynode.hxx"
#include "setnode.hxx"
-#include "span.hxx"
#include "xcsparser.hxx"
#include "xmldata.hxx"
-#include "xmlreader.hxx"
namespace configmgr {
@@ -125,18 +126,18 @@ XcsParser::XcsParser(int layer, Data & data):
XcsParser::~XcsParser() {}
-XmlReader::Text XcsParser::getTextMode() {
+xmlreader::XmlReader::Text XcsParser::getTextMode() {
return valueParser_.getTextMode();
}
bool XcsParser::startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name)
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name)
{
- if (valueParser_.startElement(reader, ns, name)) {
+ if (valueParser_.startElement(reader, nsId, name)) {
return true;
}
if (state_ == STATE_START) {
- if (ns == XmlReader::NAMESPACE_OOR &&
+ if (nsId == ParseManager::NAMESPACE_OOR &&
name.equals(RTL_CONSTASCII_STRINGPARAM("component-schema"))) {
handleComponentSchema(reader);
state_ = STATE_COMPONENT_SCHEMA;
@@ -148,7 +149,7 @@ bool XcsParser::startElement(
// prop constraints; accepting all four at illegal places (and with
// illegal content):
if (ignoring_ > 0 ||
- (ns == XmlReader::NAMESPACE_NONE &&
+ (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
(name.equals(RTL_CONSTASCII_STRINGPARAM("info")) ||
name.equals(RTL_CONSTASCII_STRINGPARAM("import")) ||
name.equals(RTL_CONSTASCII_STRINGPARAM("uses")) ||
@@ -160,7 +161,7 @@ bool XcsParser::startElement(
}
switch (state_) {
case STATE_COMPONENT_SCHEMA:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("templates")))
{
state_ = STATE_TEMPLATES;
@@ -168,7 +169,7 @@ bool XcsParser::startElement(
}
// fall through
case STATE_TEMPLATES_DONE:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("component")))
{
state_ = STATE_COMPONENT;
@@ -183,13 +184,13 @@ bool XcsParser::startElement(
break;
case STATE_TEMPLATES:
if (elements_.empty()) {
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("group")))
{
handleGroup(reader, true);
return true;
}
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("set")))
{
handleSet(reader, true);
@@ -203,7 +204,7 @@ bool XcsParser::startElement(
switch (elements_.top().node->kind()) {
case Node::KIND_PROPERTY:
case Node::KIND_LOCALIZED_PROPERTY:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("value")))
{
handlePropValue(reader, elements_.top().node);
@@ -211,25 +212,25 @@ bool XcsParser::startElement(
}
break;
case Node::KIND_GROUP:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("prop")))
{
handleProp(reader);
return true;
}
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("node-ref")))
{
handleNodeRef(reader);
return true;
}
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("group")))
{
handleGroup(reader, false);
return true;
}
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("set")))
{
handleSet(reader, false);
@@ -237,7 +238,7 @@ bool XcsParser::startElement(
}
break;
case Node::KIND_SET:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("item")))
{
handleSetItem(
@@ -260,12 +261,12 @@ bool XcsParser::startElement(
}
throw css::uno::RuntimeException(
(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bad member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) + reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
-void XcsParser::endElement(XmlReader const & reader) {
+void XcsParser::endElement(xmlreader::XmlReader const & reader) {
if (valueParser_.endElement()) {
return;
}
@@ -342,23 +343,23 @@ void XcsParser::endElement(XmlReader const & reader) {
}
}
-void XcsParser::characters(Span const & text) {
+void XcsParser::characters(xmlreader::Span const & text) {
valueParser_.characters(text);
}
-void XcsParser::handleComponentSchema(XmlReader & reader) {
+void XcsParser::handleComponentSchema(xmlreader::XmlReader & reader) {
//TODO: oor:version, xml:lang attributes
rtl::OStringBuffer buf;
buf.append('.');
bool hasPackage = false;
bool hasName = false;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("package")))
{
if (hasPackage) {
@@ -371,9 +372,9 @@ void XcsParser::handleComponentSchema(XmlReader & reader) {
css::uno::Reference< css::uno::XInterface >());
}
hasPackage = true;
- Span s(reader.getAttributeValue(false));
+ xmlreader::Span s(reader.getAttributeValue(false));
buf.insert(0, s.begin, s.length);
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
if (hasName) {
@@ -385,7 +386,7 @@ void XcsParser::handleComponentSchema(XmlReader & reader) {
css::uno::Reference< css::uno::XInterface >());
}
hasName = true;
- Span s(reader.getAttributeValue(false));
+ xmlreader::Span s(reader.getAttributeValue(false));
buf.append(s.begin, s.length);
}
}
@@ -405,38 +406,36 @@ void XcsParser::handleComponentSchema(XmlReader & reader) {
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
- componentName_ = xmldata::convertFromUtf8(
- Span(buf.getStr(), buf.getLength()));
+ componentName_ = xmlreader::Span(buf.getStr(), buf.getLength()).
+ convertFromUtf8();
}
-void XcsParser::handleNodeRef(XmlReader & reader) {
+void XcsParser::handleNodeRef(xmlreader::XmlReader & reader) {
bool hasName = false;
rtl::OUString name;
rtl::OUString component(componentName_);
bool hasNodeType = false;
rtl::OUString nodeType;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
hasName = true;
- name = xmldata::convertFromUtf8(reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ name = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("component")))
{
- component = xmldata::convertFromUtf8(
- reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ component = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("node-type")))
{
hasNodeType = true;
- nodeType = xmldata::convertFromUtf8(
- reader.getAttributeValue(false));
+ nodeType = reader.getAttributeValue(false).convertFromUtf8();
}
}
if (!hasName) {
@@ -465,33 +464,33 @@ void XcsParser::handleNodeRef(XmlReader & reader) {
elements_.push(Element(node, name));
}
-void XcsParser::handleProp(XmlReader & reader) {
+void XcsParser::handleProp(xmlreader::XmlReader & reader) {
bool hasName = false;
rtl::OUString name;
valueParser_.type_ = TYPE_ERROR;
bool localized = false;
bool nillable = true;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
hasName = true;
- name = xmldata::convertFromUtf8(reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ name = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("type")))
{
valueParser_.type_ = xmldata::parseType(
reader, reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("localized")))
{
localized = xmldata::parseBoolean(reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("nillable")))
{
nillable = xmldata::parseBoolean(reader.getAttributeValue(true));
@@ -525,16 +524,16 @@ void XcsParser::handleProp(XmlReader & reader) {
}
void XcsParser::handlePropValue(
- XmlReader & reader, rtl::Reference< Node > const & property)
+ xmlreader::XmlReader & reader, rtl::Reference< Node > const & property)
{
- Span attrSeparator;
+ xmlreader::Span attrSeparator;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("separator")))
{
attrSeparator = reader.getAttributeValue(false);
@@ -553,22 +552,22 @@ void XcsParser::handlePropValue(
valueParser_.start(property);
}
-void XcsParser::handleGroup(XmlReader & reader, bool isTemplate) {
+void XcsParser::handleGroup(xmlreader::XmlReader & reader, bool isTemplate) {
bool hasName = false;
rtl::OUString name;
bool extensible = false;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
hasName = true;
- name = xmldata::convertFromUtf8(reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ name = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("extensible")))
{
extensible = xmldata::parseBoolean(reader.getAttributeValue(true));
@@ -592,34 +591,32 @@ void XcsParser::handleGroup(XmlReader & reader, bool isTemplate) {
name));
}
-void XcsParser::handleSet(XmlReader & reader, bool isTemplate) {
+void XcsParser::handleSet(xmlreader::XmlReader & reader, bool isTemplate) {
bool hasName = false;
rtl::OUString name;
rtl::OUString component(componentName_);
bool hasNodeType = false;
rtl::OUString nodeType;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
hasName = true;
- name = xmldata::convertFromUtf8(reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ name = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("component")))
{
- component = xmldata::convertFromUtf8(
- reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ component = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("node-type")))
{
hasNodeType = true;
- nodeType = xmldata::convertFromUtf8(
- reader.getAttributeValue(false));
+ nodeType = reader.getAttributeValue(false).convertFromUtf8();
}
}
if (!hasName) {
@@ -642,27 +639,25 @@ void XcsParser::handleSet(XmlReader & reader, bool isTemplate) {
name));
}
-void XcsParser::handleSetItem(XmlReader & reader, SetNode * set) {
+void XcsParser::handleSetItem(xmlreader::XmlReader & reader, SetNode * set) {
rtl::OUString component(componentName_);
bool hasNodeType = false;
rtl::OUString nodeType;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("component")))
{
- component = xmldata::convertFromUtf8(
- reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ component = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("node-type")))
{
hasNodeType = true;
- nodeType = xmldata::convertFromUtf8(
- reader.getAttributeValue(false));
+ nodeType = reader.getAttributeValue(false).convertFromUtf8();
}
}
set->getAdditionalTemplateNames().push_back(
diff --git a/configmgr/source/xcsparser.hxx b/configmgr/source/xcsparser.hxx
index 196add9a826a..1fac315c0783 100644
--- a/configmgr/source/xcsparser.hxx
+++ b/configmgr/source/xcsparser.hxx
@@ -34,17 +34,18 @@
#include "rtl/ref.hxx"
#include "rtl/ustring.hxx"
+#include "xmlreader/xmlreader.hxx"
#include "node.hxx"
#include "parser.hxx"
#include "valueparser.hxx"
-#include "xmlreader.hxx"
+
+namespace xmlreader { struct Span; }
namespace configmgr {
class SetNode;
struct Data;
-struct Span;
class XcsParser: public Parser {
public:
@@ -53,29 +54,29 @@ public:
private:
virtual ~XcsParser();
- virtual XmlReader::Text getTextMode();
+ virtual xmlreader::XmlReader::Text getTextMode();
virtual bool startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name);
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name);
- virtual void endElement(XmlReader const & reader);
+ virtual void endElement(xmlreader::XmlReader const & reader);
- virtual void characters(Span const & text);
+ virtual void characters(xmlreader::Span const & text);
- void handleComponentSchema(XmlReader & reader);
+ void handleComponentSchema(xmlreader::XmlReader & reader);
- void handleNodeRef(XmlReader & reader);
+ void handleNodeRef(xmlreader::XmlReader & reader);
- void handleProp(XmlReader & reader);
+ void handleProp(xmlreader::XmlReader & reader);
void handlePropValue(
- XmlReader & reader, rtl::Reference< Node > const & property);
+ xmlreader::XmlReader & reader, rtl::Reference< Node > const & property);
- void handleGroup(XmlReader & reader, bool isTemplate);
+ void handleGroup(xmlreader::XmlReader & reader, bool isTemplate);
- void handleSet(XmlReader & reader, bool isTemplate);
+ void handleSet(xmlreader::XmlReader & reader, bool isTemplate);
- void handleSetItem(XmlReader & reader, SetNode * set);
+ void handleSetItem(xmlreader::XmlReader & reader, SetNode * set);
enum State {
STATE_START, STATE_COMPONENT_SCHEMA, STATE_TEMPLATES,
diff --git a/configmgr/source/xcuparser.cxx b/configmgr/source/xcuparser.cxx
index 91f3b244c5a8..1a9575bb6726 100644
--- a/configmgr/source/xcuparser.cxx
+++ b/configmgr/source/xcuparser.cxx
@@ -41,6 +41,8 @@
#include "rtl/string.hxx"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
+#include "xmlreader/span.hxx"
+#include "xmlreader/xmlreader.hxx"
#include "data.hxx"
#include "localizedpropertynode.hxx"
@@ -49,14 +51,13 @@
#include "modifications.hxx"
#include "node.hxx"
#include "nodemap.hxx"
+#include "parsemanager.hxx"
#include "partial.hxx"
#include "path.hxx"
#include "propertynode.hxx"
#include "setnode.hxx"
-#include "span.hxx"
#include "xcuparser.hxx"
#include "xmldata.hxx"
-#include "xmlreader.hxx"
namespace configmgr {
@@ -79,22 +80,22 @@ XcuParser::XcuParser(
XcuParser::~XcuParser() {}
-XmlReader::Text XcuParser::getTextMode() {
+xmlreader::XmlReader::Text XcuParser::getTextMode() {
return valueParser_.getTextMode();
}
bool XcuParser::startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name)
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name)
{
- if (valueParser_.startElement(reader, ns, name)) {
+ if (valueParser_.startElement(reader, nsId, name)) {
return true;
}
if (state_.empty()) {
- if (ns == XmlReader::NAMESPACE_OOR &&
+ if (nsId == ParseManager::NAMESPACE_OOR &&
name.equals(RTL_CONSTASCII_STRINGPARAM("component-data")))
{
handleComponentData(reader);
- } else if (ns == XmlReader::NAMESPACE_OOR &&
+ } else if (nsId == ParseManager::NAMESPACE_OOR &&
name.equals(RTL_CONSTASCII_STRINGPARAM("items")))
{
state_.push(State(rtl::Reference< Node >(), false));
@@ -102,7 +103,7 @@ bool XcuParser::startElement(
throw css::uno::RuntimeException(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("bad root element <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) +
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
@@ -110,7 +111,7 @@ bool XcuParser::startElement(
} else if (state_.top().ignore) {
state_.push(State(false));
} else if (!state_.top().node.is()) {
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("item")))
{
handleItem(reader);
@@ -118,7 +119,7 @@ bool XcuParser::startElement(
throw css::uno::RuntimeException(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("bad items node member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) +
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
@@ -126,7 +127,7 @@ bool XcuParser::startElement(
} else {
switch (state_.top().node->kind()) {
case Node::KIND_PROPERTY:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("value")))
{
handlePropValue(
@@ -137,14 +138,14 @@ bool XcuParser::startElement(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(
"bad property node member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) +
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
break;
case Node::KIND_LOCALIZED_PROPERTY:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("value")))
{
handleLocpropValue(
@@ -156,7 +157,7 @@ bool XcuParser::startElement(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(
"bad localized property node member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) +
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
@@ -165,18 +166,18 @@ bool XcuParser::startElement(
case Node::KIND_LOCALIZED_VALUE:
throw css::uno::RuntimeException(
(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bad member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) +
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
case Node::KIND_GROUP:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("prop")))
{
handleGroupProp(
reader,
dynamic_cast< GroupNode * >(state_.top().node.get()));
- } else if (ns == XmlReader::NAMESPACE_NONE &&
+ } else if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("node")))
{
handleGroupNode(reader, state_.top().node);
@@ -185,19 +186,19 @@ bool XcuParser::startElement(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM(
"bad group node member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) +
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
break;
case Node::KIND_SET:
- if (ns == XmlReader::NAMESPACE_NONE &&
+ if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("node")))
{
handleSetNode(
reader, dynamic_cast< SetNode * >(state_.top().node.get()));
- } else if (ns == XmlReader::NAMESPACE_NONE &&
+ } else if (nsId == xmlreader::XmlReader::NAMESPACE_NONE &&
name.equals(RTL_CONSTASCII_STRINGPARAM("prop")))
{
OSL_TRACE(
@@ -209,7 +210,7 @@ bool XcuParser::startElement(
throw css::uno::RuntimeException(
(rtl::OUString(
RTL_CONSTASCII_USTRINGPARAM("bad set node member <")) +
- xmldata::convertFromUtf8(name) +
+ name.convertFromUtf8() +
rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("> in ")) +
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
@@ -220,7 +221,7 @@ bool XcuParser::startElement(
return true;
}
-void XcuParser::endElement(XmlReader const &) {
+void XcuParser::endElement(xmlreader::XmlReader const &) {
if (valueParser_.endElement()) {
return;
}
@@ -245,11 +246,11 @@ void XcuParser::endElement(XmlReader const &) {
}
}
-void XcuParser::characters(Span const & text) {
+void XcuParser::characters(xmlreader::Span const & text) {
valueParser_.characters(text);
}
-XcuParser::Operation XcuParser::parseOperation(Span const & text) {
+XcuParser::Operation XcuParser::parseOperation(xmlreader::Span const & text) {
OSL_ASSERT(text.is());
if (text.equals(RTL_CONSTASCII_STRINGPARAM("modify"))) {
return OPERATION_MODIFY;
@@ -265,11 +266,11 @@ XcuParser::Operation XcuParser::parseOperation(Span const & text) {
}
throw css::uno::RuntimeException(
(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("invalid op ")) +
- xmldata::convertFromUtf8(text)),
+ text.convertFromUtf8()),
css::uno::Reference< css::uno::XInterface >());
}
-void XcuParser::handleComponentData(XmlReader & reader) {
+void XcuParser::handleComponentData(xmlreader::XmlReader & reader) {
rtl::OStringBuffer buf;
buf.append('.');
bool hasPackage = false;
@@ -277,12 +278,12 @@ void XcuParser::handleComponentData(XmlReader & reader) {
Operation op = OPERATION_MODIFY;
bool finalized = false;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("package")))
{
if (hasPackage) {
@@ -295,9 +296,9 @@ void XcuParser::handleComponentData(XmlReader & reader) {
css::uno::Reference< css::uno::XInterface >());
}
hasPackage = true;
- Span s(reader.getAttributeValue(false));
+ xmlreader::Span s(reader.getAttributeValue(false));
buf.insert(0, s.begin, s.length);
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
if (hasName) {
@@ -309,13 +310,13 @@ void XcuParser::handleComponentData(XmlReader & reader) {
css::uno::Reference< css::uno::XInterface >());
}
hasName = true;
- Span s(reader.getAttributeValue(false));
+ xmlreader::Span s(reader.getAttributeValue(false));
buf.append(s.begin, s.length);
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("op")))
{
op = parseOperation(reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("finalized")))
{
finalized = xmldata::parseBoolean(reader.getAttributeValue(true));
@@ -337,8 +338,8 @@ void XcuParser::handleComponentData(XmlReader & reader) {
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
- componentName_ = xmldata::convertFromUtf8(
- Span(buf.getStr(), buf.getLength()));
+ componentName_ = xmlreader::Span(buf.getStr(), buf.getLength()).
+ convertFromUtf8();
if (trackPath_) {
OSL_ASSERT(path_.empty());
path_.push_back(componentName_);
@@ -380,15 +381,15 @@ void XcuParser::handleComponentData(XmlReader & reader) {
state_.push(State(node, finalizedLayer < valueParser_.getLayer()));
}
-void XcuParser::handleItem(XmlReader & reader) {
- Span attrPath;
+void XcuParser::handleItem(xmlreader::XmlReader & reader) {
+ xmlreader::Span attrPath;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("path")))
{
attrPath = reader.getAttributeValue(false);
@@ -401,7 +402,7 @@ void XcuParser::handleItem(XmlReader & reader) {
reader.getUrl()),
css::uno::Reference< css::uno::XInterface >());
}
- rtl::OUString path(xmldata::convertFromUtf8(attrPath));
+ rtl::OUString path(attrPath.convertFromUtf8());
int finalizedLayer;
rtl::Reference< Node > node(
data_.resolvePathRepresentation(
@@ -446,21 +447,23 @@ void XcuParser::handleItem(XmlReader & reader) {
state_.push(State(node, finalizedLayer < valueParser_.getLayer()));
}
-void XcuParser::handlePropValue(XmlReader & reader, PropertyNode * prop) {
+void XcuParser::handlePropValue(
+ xmlreader::XmlReader & reader, PropertyNode * prop)
+ {
bool nil = false;
rtl::OString separator;
rtl::OUString external;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_XSI &&
+ if (attrNsId == ParseManager::NAMESPACE_XSI &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("nil")))
{
nil = xmldata::parseBoolean(reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("type")))
{
Type type = xmldata::parseType(
@@ -473,10 +476,10 @@ void XcuParser::handlePropValue(XmlReader & reader, PropertyNode * prop) {
css::uno::Reference< css::uno::XInterface >());
}
valueParser_.type_ = type;
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("separator")))
{
- Span s(reader.getAttributeValue(false));
+ xmlreader::Span s(reader.getAttributeValue(false));
if (s.length == 0) {
throw css::uno::RuntimeException(
(rtl::OUString(
@@ -486,10 +489,10 @@ void XcuParser::handlePropValue(XmlReader & reader, PropertyNode * prop) {
css::uno::Reference< css::uno::XInterface >());
}
separator = rtl::OString(s.begin, s.length);
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("external")))
{
- external = xmldata::convertFromUtf8(reader.getAttributeValue(true));
+ external = reader.getAttributeValue(true).convertFromUtf8();
if (external.getLength() == 0) {
throw css::uno::RuntimeException(
(rtl::OUString(
@@ -529,27 +532,27 @@ void XcuParser::handlePropValue(XmlReader & reader, PropertyNode * prop) {
}
void XcuParser::handleLocpropValue(
- XmlReader & reader, LocalizedPropertyNode * locprop)
+ xmlreader::XmlReader & reader, LocalizedPropertyNode * locprop)
{
rtl::OUString name;
bool nil = false;
rtl::OString separator;
Operation op = OPERATION_FUSE;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_XML &&
+ if (attrNsId == xmlreader::XmlReader::NAMESPACE_XML &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("lang")))
{
- name = xmldata::convertFromUtf8(reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_XSI &&
+ name = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_XSI &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("nil")))
{
nil = xmldata::parseBoolean(reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("type")))
{
Type type = xmldata::parseType(
@@ -562,10 +565,10 @@ void XcuParser::handleLocpropValue(
css::uno::Reference< css::uno::XInterface >());
}
valueParser_.type_ = type;
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("separator")))
{
- Span s(reader.getAttributeValue(false));
+ xmlreader::Span s(reader.getAttributeValue(false));
if (s.length == 0) {
throw css::uno::RuntimeException(
(rtl::OUString(
@@ -575,7 +578,7 @@ void XcuParser::handleLocpropValue(
css::uno::Reference< css::uno::XInterface >());
}
separator = rtl::OString(s.begin, s.length);
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("op")))
{
op = parseOperation(reader.getAttributeValue(true));
@@ -651,32 +654,34 @@ void XcuParser::handleLocpropValue(
}
}
-void XcuParser::handleGroupProp(XmlReader & reader, GroupNode * group) {
+void XcuParser::handleGroupProp(
+ xmlreader::XmlReader & reader, GroupNode * group)
+{
bool hasName = false;
rtl::OUString name;
Type type = TYPE_ERROR;
Operation op = OPERATION_MODIFY;
bool finalized = false;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
hasName = true;
- name = xmldata::convertFromUtf8(reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ name = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("type")))
{
type = xmldata::parseType(reader, reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("op")))
{
op = parseOperation(reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("finalized")))
{
finalized = xmldata::parseBoolean(reader.getAttributeValue(true));
@@ -726,8 +731,8 @@ void XcuParser::handleGroupProp(XmlReader & reader, GroupNode * group) {
}
void XcuParser::handleUnknownGroupProp(
- XmlReader const & reader, GroupNode * group, rtl::OUString const & name,
- Type type, Operation operation, bool finalized)
+ xmlreader::XmlReader const & reader, GroupNode * group,
+ rtl::OUString const & name, Type type, Operation operation, bool finalized)
{
switch (operation) {
case OPERATION_REPLACE:
@@ -767,7 +772,7 @@ void XcuParser::handleUnknownGroupProp(
}
void XcuParser::handlePlainGroupProp(
- XmlReader const & reader, GroupNode * group,
+ xmlreader::XmlReader const & reader, GroupNode * group,
NodeMap::iterator const & propertyIndex, rtl::OUString const & name,
Type type, Operation operation, bool finalized)
{
@@ -821,7 +826,7 @@ void XcuParser::handlePlainGroupProp(
}
void XcuParser::handleLocalizedGroupProp(
- XmlReader const & reader, LocalizedPropertyNode * property,
+ xmlreader::XmlReader const & reader, LocalizedPropertyNode * property,
rtl::OUString const & name, Type type, Operation operation, bool finalized)
{
if (property->getLayer() > valueParser_.getLayer()) {
@@ -879,28 +884,28 @@ void XcuParser::handleLocalizedGroupProp(
}
void XcuParser::handleGroupNode(
- XmlReader & reader, rtl::Reference< Node > const & group)
+ xmlreader::XmlReader & reader, rtl::Reference< Node > const & group)
{
bool hasName = false;
rtl::OUString name;
Operation op = OPERATION_MODIFY;
bool finalized = false;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
hasName = true;
- name = xmldata::convertFromUtf8(reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ name = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("op")))
{
op = parseOperation(reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("finalized")))
{
finalized = xmldata::parseBoolean(reader.getAttributeValue(true));
@@ -950,7 +955,7 @@ void XcuParser::handleGroupNode(
state_.top().locked || finalizedLayer < valueParser_.getLayer()));
}
-void XcuParser::handleSetNode(XmlReader & reader, SetNode * set) {
+void XcuParser::handleSetNode(xmlreader::XmlReader & reader, SetNode * set) {
bool hasName = false;
rtl::OUString name;
rtl::OUString component(componentName_);
@@ -960,36 +965,34 @@ void XcuParser::handleSetNode(XmlReader & reader, SetNode * set) {
bool finalized = false;
bool mandatory = false;
for (;;) {
- XmlReader::Namespace attrNs;
- Span attrLn;
- if (!reader.nextAttribute(&attrNs, &attrLn)) {
+ int attrNsId;
+ xmlreader::Span attrLn;
+ if (!reader.nextAttribute(&attrNsId, &attrLn)) {
break;
}
- if (attrNs == XmlReader::NAMESPACE_OOR &&
+ if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("name")))
{
hasName = true;
- name = xmldata::convertFromUtf8(reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ name = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("component")))
{
- component = xmldata::convertFromUtf8(
- reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ component = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("node-type")))
{
hasNodeType = true;
- nodeType = xmldata::convertFromUtf8(
- reader.getAttributeValue(false));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ nodeType = reader.getAttributeValue(false).convertFromUtf8();
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("op")))
{
op = parseOperation(reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("finalized")))
{
finalized = xmldata::parseBoolean(reader.getAttributeValue(true));
- } else if (attrNs == XmlReader::NAMESPACE_OOR &&
+ } else if (attrNsId == ParseManager::NAMESPACE_OOR &&
attrLn.equals(RTL_CONSTASCII_STRINGPARAM("mandatory")))
{
mandatory = xmldata::parseBoolean(reader.getAttributeValue(true));
diff --git a/configmgr/source/xcuparser.hxx b/configmgr/source/xcuparser.hxx
index 02ef4e5ff117..6cd600c8aab1 100644
--- a/configmgr/source/xcuparser.hxx
+++ b/configmgr/source/xcuparser.hxx
@@ -34,6 +34,7 @@
#include "rtl/ref.hxx"
#include "rtl/ustring.hxx"
+#include "xmlreader/xmlreader.hxx"
#include "additions.hxx"
#include "node.hxx"
@@ -43,7 +44,8 @@
#include "type.hxx"
#include "valueparser.hxx"
#include "xmldata.hxx"
-#include "xmlreader.hxx"
+
+namespace xmlreader { struct Span; }
namespace configmgr {
@@ -54,7 +56,6 @@ class Partial;
class PropertyNode;
class SetNode;
struct Data;
-struct Span;
class XcuParser: public Parser {
public:
@@ -65,49 +66,50 @@ public:
private:
virtual ~XcuParser();
- virtual XmlReader::Text getTextMode();
+ virtual xmlreader::XmlReader::Text getTextMode();
virtual bool startElement(
- XmlReader & reader, XmlReader::Namespace ns, Span const & name);
+ xmlreader::XmlReader & reader, int nsId, xmlreader::Span const & name);
- virtual void endElement(XmlReader const & reader);
+ virtual void endElement(xmlreader::XmlReader const & reader);
- virtual void characters(Span const & span);
+ virtual void characters(xmlreader::Span const & span);
enum Operation {
OPERATION_MODIFY, OPERATION_REPLACE, OPERATION_FUSE, OPERATION_REMOVE };
- static Operation parseOperation(Span const & text);
+ static Operation parseOperation(xmlreader::Span const & text);
- void handleComponentData(XmlReader & reader);
+ void handleComponentData(xmlreader::XmlReader & reader);
- void handleItem(XmlReader & reader);
+ void handleItem(xmlreader::XmlReader & reader);
- void handlePropValue(XmlReader & reader, PropertyNode * prop);
+ void handlePropValue(xmlreader::XmlReader & reader, PropertyNode * prop);
void handleLocpropValue(
- XmlReader & reader, LocalizedPropertyNode * locprop);
+ xmlreader::XmlReader & reader, LocalizedPropertyNode * locprop);
- void handleGroupProp(XmlReader & reader, GroupNode * group);
+ void handleGroupProp(xmlreader::XmlReader & reader, GroupNode * group);
void handleUnknownGroupProp(
- XmlReader const & reader, GroupNode * group, rtl::OUString const & name,
- Type type, Operation operation, bool finalized);
+ xmlreader::XmlReader const & reader, GroupNode * group,
+ rtl::OUString const & name, Type type, Operation operation,
+ bool finalized);
void handlePlainGroupProp(
- XmlReader const & reader, GroupNode * group,
+ xmlreader::XmlReader const & reader, GroupNode * group,
NodeMap::iterator const & propertyIndex, rtl::OUString const & name,
Type type, Operation operation, bool finalized);
void handleLocalizedGroupProp(
- XmlReader const & reader, LocalizedPropertyNode * property,
+ xmlreader::XmlReader const & reader, LocalizedPropertyNode * property,
rtl::OUString const & name, Type type, Operation operation,
bool finalized);
void handleGroupNode(
- XmlReader & reader, rtl::Reference< Node > const & group);
+ xmlreader::XmlReader & reader, rtl::Reference< Node > const & group);
- void handleSetNode(XmlReader & reader, SetNode * set);
+ void handleSetNode(xmlreader::XmlReader & reader, SetNode * set);
void recordModification(bool addition);
diff --git a/configmgr/source/xmldata.cxx b/configmgr/source/xmldata.cxx
index 07ad4d17a345..7d3d9ead3d2c 100644
--- a/configmgr/source/xmldata.cxx
+++ b/configmgr/source/xmldata.cxx
@@ -40,12 +40,12 @@
#include "rtl/ref.hxx"
#include "rtl/strbuf.hxx"
#include "rtl/string.h"
-#include "rtl/textcvt.h"
-#include "rtl/textenc.h"
#include "rtl/ustrbuf.hxx"
#include "rtl/ustring.h"
#include "rtl/ustring.hxx"
#include "sal/types.h"
+#include "xmlreader/span.hxx"
+#include "xmlreader/xmlreader.hxx"
#include "data.hxx"
#include "groupnode.hxx"
@@ -57,9 +57,7 @@
#include "parser.hxx"
#include "propertynode.hxx"
#include "setnode.hxx"
-#include "span.hxx"
#include "type.hxx"
-#include "xmlreader.hxx"
namespace configmgr {
@@ -71,90 +69,88 @@ namespace css = com::sun::star;
}
-rtl::OUString convertFromUtf8(Span const & text) {
- OSL_ASSERT(text.is());
- rtl_uString * s = 0;
- if (!rtl_convertStringToUString(
- &s, text.begin, text.length, RTL_TEXTENCODING_UTF8,
- (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR |
- RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR |
- RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR)))
- {
- throw css::uno::RuntimeException(
- rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("cannot convert from UTF-8")),
- css::uno::Reference< css::uno::XInterface >());
- }
- return rtl::OUString(s, SAL_NO_ACQUIRE);
-}
-
-Type parseType(XmlReader const & reader, Span const & text) {
+Type parseType(
+ xmlreader::XmlReader const & reader, xmlreader::Span const & text)
+{
OSL_ASSERT(text.is());
sal_Int32 i = rtl_str_indexOfChar_WithLength(text.begin, text.length, ':');
if (i >= 0) {
- switch (reader.getNamespace(Span(text.begin, i))) {
- case XmlReader::NAMESPACE_OOR:
- if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("any")))
+ switch (reader.getNamespaceId(xmlreader::Span(text.begin, i))) {
+ case ParseManager::NAMESPACE_OOR:
+ if (xmlreader::Span(text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("any")))
{
return TYPE_ANY;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("boolean-list")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("boolean-list")))
{
return TYPE_BOOLEAN_LIST;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("short-list")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("short-list")))
{
return TYPE_SHORT_LIST;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("int-list")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("int-list")))
{
return TYPE_INT_LIST;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("long-list")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("long-list")))
{
return TYPE_LONG_LIST;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("double-list")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("double-list")))
{
return TYPE_DOUBLE_LIST;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("string-list")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("string-list")))
{
return TYPE_STRING_LIST;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("hexBinary-list")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("hexBinary-list")))
{
return TYPE_HEXBINARY_LIST;
}
break;
- case XmlReader::NAMESPACE_XS:
- if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("boolean")))
+ case ParseManager::NAMESPACE_XS:
+ if (xmlreader::Span(text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("boolean")))
{
return TYPE_BOOLEAN;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("short")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("short")))
{
return TYPE_SHORT;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("int")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("int")))
{
return TYPE_INT;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("long")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("long")))
{
return TYPE_LONG;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("double")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("double")))
{
return TYPE_DOUBLE;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("string")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("string")))
{
return TYPE_STRING;
- } else if (Span(text.begin + i + 1, text.length - (i + 1)).equals(
- RTL_CONSTASCII_STRINGPARAM("hexBinary")))
+ } else if (xmlreader::Span(
+ text.begin + i + 1, text.length - (i + 1)).
+ equals(RTL_CONSTASCII_STRINGPARAM("hexBinary")))
{
return TYPE_HEXBINARY;
}
@@ -165,11 +161,11 @@ Type parseType(XmlReader const & reader, Span const & text) {
}
throw css::uno::RuntimeException(
(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("invalid type ")) +
- convertFromUtf8(text)),
+ text.convertFromUtf8()),
css::uno::Reference< css::uno::XInterface >());
}
-bool parseBoolean(Span const & text) {
+bool parseBoolean(xmlreader::Span const & text) {
OSL_ASSERT(text.is());
if (text.equals(RTL_CONSTASCII_STRINGPARAM("true"))) {
return true;
@@ -179,7 +175,7 @@ bool parseBoolean(Span const & text) {
}
throw css::uno::RuntimeException(
(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("invalid boolean ")) +
- convertFromUtf8(text)),
+ text.convertFromUtf8()),
css::uno::Reference< css::uno::XInterface >());
}
diff --git a/configmgr/source/xmldata.hxx b/configmgr/source/xmldata.hxx
index 15a0a36336ad..e60e1082cabb 100644
--- a/configmgr/source/xmldata.hxx
+++ b/configmgr/source/xmldata.hxx
@@ -33,19 +33,19 @@
#include "type.hxx"
namespace rtl { class OUString; }
+namespace xmlreader {
+ class XmlReader;
+ struct Span;
+}
namespace configmgr {
-class XmlReader;
-struct Span;
-
namespace xmldata {
-rtl::OUString convertFromUtf8(Span const & text);
-
-Type parseType(XmlReader const & reader, Span const & text);
+Type parseType(
+ xmlreader::XmlReader const & reader, xmlreader::Span const & text);
-bool parseBoolean(Span const & text);
+bool parseBoolean(xmlreader::Span const & text);
rtl::OUString parseTemplateReference(
rtl::OUString const & component, bool hasNodeType,
diff --git a/configmgr/source/xmlreader.cxx b/configmgr/source/xmlreader.cxx
deleted file mode 100644
index ac6a08d18604..000000000000
--- a/configmgr/source/xmlreader.cxx
+++ /dev/null
@@ -1,1054 +0,0 @@
-/*************************************************************************
-*
-* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-*
-* Copyright 2000, 2010 Oracle and/or its affiliates.
-*
-* OpenOffice.org - a multi-platform office productivity suite
-*
-* This file is part of OpenOffice.org.
-*
-* OpenOffice.org is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Lesser General Public License version 3
-* only, as published by the Free Software Foundation.
-*
-* OpenOffice.org is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License version 3 for more details
-* (a copy is included in the LICENSE file that accompanied this code).
-*
-* You should have received a copy of the GNU Lesser General Public License
-* version 3 along with OpenOffice.org. If not, see
-* <http://www.openoffice.org/license.html>
-* for a copy of the LGPLv3 License.
-*
-************************************************************************/
-
-#include "precompiled_configmgr.hxx"
-#include "sal/config.h"
-
-#include <cstddef>
-
-#include "com/sun/star/container/NoSuchElementException.hpp"
-#include "com/sun/star/uno/Reference.hxx"
-#include "com/sun/star/uno/RuntimeException.hpp"
-#include "com/sun/star/uno/XInterface.hpp"
-#include "osl/diagnose.h"
-#include "osl/file.h"
-#include "rtl/string.h"
-#include "rtl/ustring.h"
-#include "rtl/ustring.hxx"
-#include "sal/types.h"
-
-#include "pad.hxx"
-#include "span.hxx"
-#include "xmlreader.hxx"
-
-namespace configmgr {
-
-namespace {
-
-namespace css = com::sun::star;
-
-bool isSpace(char c) {
- switch (c) {
- case '\x09':
- case '\x0A':
- case '\x0D':
- case ' ':
- return true;
- default:
- return false;
- }
-}
-
-}
-
-XmlReader::XmlReader(rtl::OUString const & fileUrl)
- SAL_THROW((
- css::container::NoSuchElementException, css::uno::RuntimeException)):
- fileUrl_(fileUrl)
-{
- switch (osl_openFile(fileUrl_.pData, &fileHandle_, osl_File_OpenFlag_Read))
- {
- case osl_File_E_None:
- break;
- case osl_File_E_NOENT:
- throw css::container::NoSuchElementException(
- fileUrl_, css::uno::Reference< css::uno::XInterface >());
- default:
- throw css::uno::RuntimeException(
- (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("cannot open ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- oslFileError e = osl_getFileSize(fileHandle_, &fileSize_);
- if (e == osl_File_E_None) {
- e = osl_mapFile(
- fileHandle_, &fileAddress_, fileSize_, 0,
- osl_File_MapFlag_WillNeed);
- }
- if (e != osl_File_E_None) {
- e = osl_closeFile(fileHandle_);
- if (e != osl_File_E_None) {
- OSL_TRACE("osl_closeFile failed with %ld", static_cast< long >(e));
- }
- throw css::uno::RuntimeException(
- (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("cannot mmap ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- namespaces_.push_back(
- NamespaceData(Span(RTL_CONSTASCII_STRINGPARAM("xml")), NAMESPACE_XML));
- namespaces_.push_back(
- NamespaceData(Span(RTL_CONSTASCII_STRINGPARAM("xsi")), NAMESPACE_XSI));
- // old user layer .xcu files used the xsi namespace prefix without
- // declaring a corresponding namespace binding, see issue 77174; reading
- // those files during migration would fail without this hack that can be
- // removed once migration is no longer relevant (see
- // Components::parseModificationLayer)
- pos_ = static_cast< char * >(fileAddress_);
- end_ = pos_ + fileSize_;
- state_ = STATE_CONTENT;
-}
-
-XmlReader::~XmlReader() {
- oslFileError e = osl_unmapFile(fileAddress_, fileSize_);
- if (e != osl_File_E_None) {
- OSL_TRACE("osl_unmapFile failed with %ld", static_cast< long >(e));
- }
- e = osl_closeFile(fileHandle_);
- if (e != osl_File_E_None) {
- OSL_TRACE("osl_closeFile failed with %ld", static_cast< long >(e));
- }
-}
-
-XmlReader::Result XmlReader::nextItem(
- Text reportText, Span * data, Namespace * ns)
-{
- switch (state_) {
- case STATE_CONTENT:
- switch (reportText) {
- case TEXT_NONE:
- return handleSkippedText(data, ns);
- case TEXT_RAW:
- return handleRawText(data);
- case TEXT_NORMALIZED:
- return handleNormalizedText(data);
- }
- case STATE_START_TAG:
- return handleStartTag(ns, data);
- case STATE_END_TAG:
- return handleEndTag();
- case STATE_EMPTY_ELEMENT_TAG:
- handleElementEnd();
- return RESULT_END;
- default: // STATE_DONE
- return RESULT_DONE;
- }
-}
-
-bool XmlReader::nextAttribute(Namespace * ns, Span * localName) {
- OSL_ASSERT(ns != 0 && localName != 0);
- if (firstAttribute_) {
- currentAttribute_ = attributes_.begin();
- firstAttribute_ = false;
- } else {
- ++currentAttribute_;
- }
- if (currentAttribute_ == attributes_.end()) {
- return false;
- }
- if (currentAttribute_->nameColon == 0) {
- *ns = NAMESPACE_NONE;
- *localName = Span(
- currentAttribute_->nameBegin,
- currentAttribute_->nameEnd - currentAttribute_->nameBegin);
- } else {
- *ns = getNamespace(
- Span(
- currentAttribute_->nameBegin,
- currentAttribute_->nameColon - currentAttribute_->nameBegin));
- *localName = Span(
- currentAttribute_->nameColon + 1,
- currentAttribute_->nameEnd - (currentAttribute_->nameColon + 1));
- }
- return true;
-}
-
-Span XmlReader::getAttributeValue(bool fullyNormalize) {
- return handleAttributeValue(
- currentAttribute_->valueBegin, currentAttribute_->valueEnd,
- fullyNormalize);
-}
-
-XmlReader::Namespace XmlReader::getNamespace(Span const & prefix) const {
- for (NamespaceList::const_reverse_iterator i(namespaces_.rbegin());
- i != namespaces_.rend(); ++i)
- {
- if (prefix.equals(i->prefix)) {
- return i->ns;
- }
- }
- return NAMESPACE_OTHER;
-}
-
-rtl::OUString XmlReader::getUrl() const {
- return fileUrl_;
-}
-
-void XmlReader::normalizeLineEnds(Span const & text) {
- char const * p = text.begin;
- sal_Int32 n = text.length;
- for (;;) {
- sal_Int32 i = rtl_str_indexOfChar_WithLength(p, n, '\x0D');
- if (i < 0) {
- break;
- }
- pad_.add(p, i);
- p += i + 1;
- n -= i + 1;
- if (n == 0 || *p != '\x0A') {
- pad_.add(RTL_CONSTASCII_STRINGPARAM("\x0A"));
- }
- }
- pad_.add(p, n);
-}
-
-void XmlReader::skipSpace() {
- while (isSpace(peek())) {
- ++pos_;
- }
-}
-
-bool XmlReader::skipComment() {
- if (rtl_str_shortenedCompare_WithLength(
- pos_, end_ - pos_, RTL_CONSTASCII_STRINGPARAM("--"),
- RTL_CONSTASCII_LENGTH("--")) !=
- 0)
- {
- return false;
- }
- pos_ += RTL_CONSTASCII_LENGTH("--");
- sal_Int32 i = rtl_str_indexOfStr_WithLength(
- pos_, end_ - pos_, RTL_CONSTASCII_STRINGPARAM("--"));
- if (i < 0) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "premature end (within comment) of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- pos_ += i + RTL_CONSTASCII_LENGTH("--");
- if (read() != '>') {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "illegal \"--\" within comment in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- return true;
-}
-
-void XmlReader::skipProcessingInstruction() {
- sal_Int32 i = rtl_str_indexOfStr_WithLength(
- pos_, end_ - pos_, RTL_CONSTASCII_STRINGPARAM("?>"));
- if (i < 0) {
- throw css::uno::RuntimeException(
- (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bad '<?' in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- pos_ += i + RTL_CONSTASCII_LENGTH("?>");
-}
-
-void XmlReader::skipDocumentTypeDeclaration() {
- // Neither is it checked that the doctypedecl is at the correct position in
- // the document, nor that it is well-formed:
- for (;;) {
- char c = read();
- switch (c) {
- case '\0': // i.e., EOF
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "premature end (within DTD) of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- case '"':
- case '\'':
- {
- sal_Int32 i = rtl_str_indexOfChar_WithLength(
- pos_, end_ - pos_, c);
- if (i < 0) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "premature end (within DTD) of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- pos_ += i + 1;
- }
- break;
- case '>':
- return;
- case '[':
- for (;;) {
- c = read();
- switch (c) {
- case '\0': // i.e., EOF
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "premature end (within DTD) of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- case '"':
- case '\'':
- {
- sal_Int32 i = rtl_str_indexOfChar_WithLength(
- pos_, end_ - pos_, c);
- if (i < 0) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "premature end (within DTD) of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- pos_ += i + 1;
- }
- break;
- case '<':
- switch (read()) {
- case '\0': // i.e., EOF
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "premature end (within DTD) of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- case '!':
- skipComment();
- break;
- case '?':
- skipProcessingInstruction();
- break;
- default:
- break;
- }
- break;
- case ']':
- skipSpace();
- if (read() != '>') {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "missing \">\" of DTD in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- return;
- default:
- break;
- }
- }
- default:
- break;
- }
- }
-}
-
-Span XmlReader::scanCdataSection() {
- if (rtl_str_shortenedCompare_WithLength(
- pos_, end_ - pos_, RTL_CONSTASCII_STRINGPARAM("[CDATA["),
- RTL_CONSTASCII_LENGTH("[CDATA[")) !=
- 0)
- {
- return Span();
- }
- pos_ += RTL_CONSTASCII_LENGTH("[CDATA[");
- char const * begin = pos_;
- sal_Int32 i = rtl_str_indexOfStr_WithLength(
- pos_, end_ - pos_, RTL_CONSTASCII_STRINGPARAM("]]>"));
- if (i < 0) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "premature end (within CDATA section) of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- pos_ += i + RTL_CONSTASCII_LENGTH("]]>");
- return Span(begin, i);
-}
-
-bool XmlReader::scanName(char const ** nameColon) {
- OSL_ASSERT(nameColon != 0 && *nameColon == 0);
- for (char const * begin = pos_;; ++pos_) {
- switch (peek()) {
- case '\0': // i.e., EOF
- case '\x09':
- case '\x0A':
- case '\x0D':
- case ' ':
- case '/':
- case '=':
- case '>':
- return pos_ != begin;
- case ':':
- *nameColon = pos_;
- break;
- default:
- break;
- }
- }
-}
-
-XmlReader::Namespace XmlReader::scanNamespaceIri(
- char const * begin, char const * end)
-{
- OSL_ASSERT(begin != 0 && begin <= end);
- Span iri(handleAttributeValue(begin, end, false));
- struct Iri {
- char const * begin;
- sal_Int32 length;
- XmlReader::Namespace ns;
- };
- static Iri const iris[] = {
- { RTL_CONSTASCII_STRINGPARAM("http://openoffice.org/2001/registry"),
- XmlReader::NAMESPACE_OOR },
- { RTL_CONSTASCII_STRINGPARAM("http://www.w3.org/2001/XMLSchema"),
- XmlReader::NAMESPACE_XS },
- { RTL_CONSTASCII_STRINGPARAM(
- "http://www.w3.org/2001/XMLSchema-instance"),
- XmlReader::NAMESPACE_XSI },
- { RTL_CONSTASCII_STRINGPARAM("http://www.w3.org/XML/1998/namespace"),
- XmlReader::NAMESPACE_XML } };
- for (std::size_t i = 0; i < sizeof iris / sizeof iris[0]; ++i) {
- if (rtl_str_compare_WithLength(
- iri.begin, iri.length, iris[i].begin, iris[i].length) ==
- 0)
- {
- return iris[i].ns;
- }
- }
- return XmlReader::NAMESPACE_OTHER;
-}
-
-char const * XmlReader::handleReference(char const * position, char const * end)
-{
- OSL_ASSERT(position != 0 && *position == '&' && position < end);
- ++position;
- if (*position == '#') {
- ++position;
- sal_Int32 val = 0;
- char const * p;
- if (*position == 'x') {
- ++position;
- p = position;
- for (;; ++position) {
- char c = *position;
- if (c >= '0' && c <= '9') {
- val = 16 * val + (c - '0');
- } else if (c >= 'A' && c <= 'F') {
- val = 16 * val + (c - 'A') + 10;
- } else if (c >= 'a' && c <= 'f') {
- val = 16 * val + (c - 'a') + 10;
- } else {
- break;
- }
- if (val > 0x10FFFF) { // avoid overflow
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "'&#x...' too large in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- }
- } else {
- p = position;
- for (;; ++position) {
- char c = *position;
- if (c >= '0' && c <= '9') {
- val = 10 * val + (c - '0');
- } else {
- break;
- }
- if (val > 0x10FFFF) { // avoid overflow
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "'&#...' too large in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- }
- }
- if (position == p || *position++ != ';') {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("'&#...' missing ';' in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- OSL_ASSERT(val >= 0 && val <= 0x10FFFF);
- if ((val < 0x20 && val != 0x9 && val != 0xA && val != 0xD) ||
- (val >= 0xD800 && val <= 0xDFFF) || val == 0xFFFE || val == 0xFFFF)
- {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "character reference denoting invalid character in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- char buf[4];
- sal_Int32 len;
- if (val < 0x80) {
- buf[0] = static_cast< char >(val);
- len = 1;
- } else if (val < 0x800) {
- buf[0] = static_cast< char >((val >> 6) | 0xC0);
- buf[1] = static_cast< char >((val & 0x3F) | 0x80);
- len = 2;
- } else if (val < 0x10000) {
- buf[0] = static_cast< char >((val >> 12) | 0xE0);
- buf[1] = static_cast< char >(((val >> 6) & 0x3F) | 0x80);
- buf[2] = static_cast< char >((val & 0x3F) | 0x80);
- len = 3;
- } else {
- buf[0] = static_cast< char >((val >> 18) | 0xF0);
- buf[1] = static_cast< char >(((val >> 12) & 0x3F) | 0x80);
- buf[2] = static_cast< char >(((val >> 6) & 0x3F) | 0x80);
- buf[3] = static_cast< char >((val & 0x3F) | 0x80);
- len = 4;
- }
- pad_.addEphemeral(buf, len);
- return position;
- } else {
- struct EntityRef {
- char const * inBegin;
- sal_Int32 inLength;
- char const * outBegin;
- sal_Int32 outLength;
- };
- static EntityRef const refs[] = {
- { RTL_CONSTASCII_STRINGPARAM("amp;"),
- RTL_CONSTASCII_STRINGPARAM("&") },
- { RTL_CONSTASCII_STRINGPARAM("lt;"),
- RTL_CONSTASCII_STRINGPARAM("<") },
- { RTL_CONSTASCII_STRINGPARAM("gt;"),
- RTL_CONSTASCII_STRINGPARAM(">") },
- { RTL_CONSTASCII_STRINGPARAM("apos;"),
- RTL_CONSTASCII_STRINGPARAM("'") },
- { RTL_CONSTASCII_STRINGPARAM("quot;"),
- RTL_CONSTASCII_STRINGPARAM("\"") } };
- for (std::size_t i = 0; i < sizeof refs / sizeof refs[0]; ++i) {
- if (rtl_str_shortenedCompare_WithLength(
- position, end - position, refs[i].inBegin, refs[i].inLength,
- refs[i].inLength) ==
- 0)
- {
- position += refs[i].inLength;
- pad_.add(refs[i].outBegin, refs[i].outLength);
- return position;
- }
- }
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("unknown entity reference in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
-}
-
-Span XmlReader::handleAttributeValue(
- char const * begin, char const * end, bool fullyNormalize)
-{
- pad_.clear();
- if (fullyNormalize) {
- while (begin != end && isSpace(*begin)) {
- ++begin;
- }
- while (end != begin && isSpace(end[-1])) {
- --end;
- }
- char const * p = begin;
- enum Space { SPACE_NONE, SPACE_SPAN, SPACE_BREAK };
- // a single true space character can go into the current span,
- // everything else breaks the span
- Space space = SPACE_NONE;
- while (p != end) {
- switch (*p) {
- case '\x09':
- case '\x0A':
- case '\x0D':
- switch (space) {
- case SPACE_NONE:
- pad_.add(begin, p - begin);
- pad_.add(RTL_CONSTASCII_STRINGPARAM(" "));
- space = SPACE_BREAK;
- break;
- case SPACE_SPAN:
- pad_.add(begin, p - begin);
- space = SPACE_BREAK;
- break;
- case SPACE_BREAK:
- break;
- }
- begin = ++p;
- break;
- case ' ':
- switch (space) {
- case SPACE_NONE:
- ++p;
- space = SPACE_SPAN;
- break;
- case SPACE_SPAN:
- pad_.add(begin, p - begin);
- begin = ++p;
- space = SPACE_BREAK;
- break;
- case SPACE_BREAK:
- begin = ++p;
- break;
- }
- break;
- case '&':
- pad_.add(begin, p - begin);
- p = handleReference(p, end);
- begin = p;
- space = SPACE_NONE;
- break;
- default:
- ++p;
- space = SPACE_NONE;
- break;
- }
- }
- pad_.add(begin, p - begin);
- } else {
- char const * p = begin;
- while (p != end) {
- switch (*p) {
- case '\x09':
- case '\x0A':
- pad_.add(begin, p - begin);
- begin = ++p;
- pad_.add(RTL_CONSTASCII_STRINGPARAM(" "));
- break;
- case '\x0D':
- pad_.add(begin, p - begin);
- ++p;
- if (peek() == '\x0A') {
- ++p;
- }
- begin = p;
- pad_.add(RTL_CONSTASCII_STRINGPARAM(" "));
- break;
- case '&':
- pad_.add(begin, p - begin);
- p = handleReference(p, end);
- begin = p;
- break;
- default:
- ++p;
- break;
- }
- }
- pad_.add(begin, p - begin);
- }
- return pad_.get();
-}
-
-XmlReader::Result XmlReader::handleStartTag(Namespace * ns, Span * localName) {
- OSL_ASSERT(ns != 0 && localName);
- char const * nameBegin = pos_;
- char const * nameColon = 0;
- if (!scanName(&nameColon)) {
- throw css::uno::RuntimeException(
- (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bad tag name in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- char const * nameEnd = pos_;
- NamespaceList::size_type inheritedNamespaces = namespaces_.size();
- bool hasDefaultNs = false;
- Namespace defaultNs = NAMESPACE_NONE;
- attributes_.clear();
- for (;;) {
- char const * p = pos_;
- skipSpace();
- if (peek() == '/' || peek() == '>') {
- break;
- }
- if (pos_ == p) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "missing whitespace before attribute in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- char const * attrNameBegin = pos_;
- char const * attrNameColon = 0;
- if (!scanName(&attrNameColon)) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("bad attribute name in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- char const * attrNameEnd = pos_;
- skipSpace();
- if (read() != '=') {
- throw css::uno::RuntimeException(
- (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("missing '=' in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- skipSpace();
- char del = read();
- if (del != '\'' && del != '"') {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("bad attribute value in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- char const * valueBegin = pos_;
- sal_Int32 i = rtl_str_indexOfChar_WithLength(pos_, end_ - pos_, del);
- if (i < 0) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM(
- "unterminated attribute value in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- char const * valueEnd = pos_ + i;
- pos_ += i + 1;
- if (attrNameColon == 0 &&
- Span(attrNameBegin, attrNameEnd - attrNameBegin).equals(
- RTL_CONSTASCII_STRINGPARAM("xmlns")))
- {
- hasDefaultNs = true;
- defaultNs = scanNamespaceIri(valueBegin, valueEnd);
- } else if (attrNameColon != 0 &&
- Span(attrNameBegin, attrNameColon - attrNameBegin).equals(
- RTL_CONSTASCII_STRINGPARAM("xmlns")))
- {
- namespaces_.push_back(
- NamespaceData(
- Span(attrNameColon + 1, attrNameEnd - (attrNameColon + 1)),
- scanNamespaceIri(valueBegin, valueEnd)));
- } else {
- attributes_.push_back(
- AttributeData(
- attrNameBegin, attrNameEnd, attrNameColon, valueBegin,
- valueEnd));
- }
- }
- if (!hasDefaultNs && !elements_.empty()) {
- defaultNs = elements_.top().defaultNamespace;
- }
- firstAttribute_ = true;
- if (peek() == '/') {
- state_ = STATE_EMPTY_ELEMENT_TAG;
- ++pos_;
- } else {
- state_ = STATE_CONTENT;
- }
- if (peek() != '>') {
- throw css::uno::RuntimeException(
- (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("missing '>' in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- ++pos_;
- elements_.push(
- ElementData(
- Span(nameBegin, nameEnd - nameBegin), inheritedNamespaces,
- defaultNs));
- if (nameColon == 0) {
- *ns = defaultNs;
- *localName = Span(nameBegin, nameEnd - nameBegin);
- } else {
- *ns = getNamespace(Span(nameBegin, nameColon - nameBegin));
- *localName = Span(nameColon + 1, nameEnd - (nameColon + 1));
- }
- return RESULT_BEGIN;
-}
-
-XmlReader::Result XmlReader::handleEndTag() {
- if (elements_.empty()) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("spurious end tag in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- char const * nameBegin = pos_;
- char const * nameColon = 0;
- if (!scanName(&nameColon) ||
- !elements_.top().name.equals(nameBegin, pos_ - nameBegin))
- {
- throw css::uno::RuntimeException(
- (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("tag mismatch in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- handleElementEnd();
- skipSpace();
- if (peek() != '>') {
- throw css::uno::RuntimeException(
- (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("missing '>' in ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- ++pos_;
- return RESULT_END;
-}
-
-void XmlReader::handleElementEnd() {
- OSL_ASSERT(!elements_.empty());
- namespaces_.resize(elements_.top().inheritedNamespaces);
- elements_.pop();
- state_ = elements_.empty() ? STATE_DONE : STATE_CONTENT;
-}
-
-XmlReader::Result XmlReader::handleSkippedText(Span * data, Namespace * ns) {
- for (;;) {
- sal_Int32 i = rtl_str_indexOfChar_WithLength(pos_, end_ - pos_, '<');
- if (i < 0) {
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("premature end of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- }
- pos_ += i + 1;
- switch (peek()) {
- case '!':
- ++pos_;
- if (!skipComment() && !scanCdataSection().is()) {
- skipDocumentTypeDeclaration();
- }
- break;
- case '/':
- ++pos_;
- return handleEndTag();
- case '?':
- ++pos_;
- skipProcessingInstruction();
- break;
- default:
- return handleStartTag(ns, data);
- }
- }
-}
-
-XmlReader::Result XmlReader::handleRawText(Span * text) {
- pad_.clear();
- for (char const * begin = pos_;;) {
- switch (peek()) {
- case '\0': // i.e., EOF
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("premature end of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- case '\x0D':
- pad_.add(begin, pos_ - begin);
- ++pos_;
- if (peek() != '\x0A') {
- pad_.add(RTL_CONSTASCII_STRINGPARAM("\x0A"));
- }
- begin = pos_;
- break;
- case '&':
- pad_.add(begin, pos_ - begin);
- pos_ = handleReference(pos_, end_);
- begin = pos_;
- break;
- case '<':
- pad_.add(begin, pos_ - begin);
- ++pos_;
- switch (peek()) {
- case '!':
- ++pos_;
- if (!skipComment()) {
- Span cdata(scanCdataSection());
- if (cdata.is()) {
- normalizeLineEnds(cdata);
- } else {
- skipDocumentTypeDeclaration();
- }
- }
- begin = pos_;
- break;
- case '/':
- *text = pad_.get();
- ++pos_;
- state_ = STATE_END_TAG;
- return RESULT_TEXT;
- case '?':
- ++pos_;
- skipProcessingInstruction();
- begin = pos_;
- break;
- default:
- *text = pad_.get();
- state_ = STATE_START_TAG;
- return RESULT_TEXT;
- }
- break;
- default:
- ++pos_;
- break;
- }
- }
-}
-
-XmlReader::Result XmlReader::handleNormalizedText(Span * text) {
- pad_.clear();
- char const * flowBegin = pos_;
- char const * flowEnd = pos_;
- enum Space { SPACE_START, SPACE_NONE, SPACE_SPAN, SPACE_BREAK };
- // a single true space character can go into the current flow,
- // everything else breaks the flow
- Space space = SPACE_START;
- for (;;) {
- switch (peek()) {
- case '\0': // i.e., EOF
- throw css::uno::RuntimeException(
- (rtl::OUString(
- RTL_CONSTASCII_USTRINGPARAM("premature end of ")) +
- fileUrl_),
- css::uno::Reference< css::uno::XInterface >());
- case '\x09':
- case '\x0A':
- case '\x0D':
- switch (space) {
- case SPACE_START:
- case SPACE_BREAK:
- break;
- case SPACE_NONE:
- case SPACE_SPAN:
- space = SPACE_BREAK;
- break;
- }
- ++pos_;
- break;
- case ' ':
- switch (space) {
- case SPACE_START:
- case SPACE_BREAK:
- break;
- case SPACE_NONE:
- space = SPACE_SPAN;
- break;
- case SPACE_SPAN:
- space = SPACE_BREAK;
- break;
- }
- ++pos_;
- break;
- case '&':
- switch (space) {
- case SPACE_START:
- break;
- case SPACE_NONE:
- case SPACE_SPAN:
- pad_.add(flowBegin, pos_ - flowBegin);
- break;
- case SPACE_BREAK:
- pad_.add(flowBegin, flowEnd - flowBegin);
- pad_.add(RTL_CONSTASCII_STRINGPARAM(" "));
- break;
- }
- pos_ = handleReference(pos_, end_);
- flowBegin = pos_;
- flowEnd = pos_;
- space = SPACE_NONE;
- break;
- case '<':
- ++pos_;
- switch (peek()) {
- case '!':
- ++pos_;
- if (skipComment()) {
- space = SPACE_BREAK;
- } else {
- Span cdata(scanCdataSection());
- if (cdata.is()) {
- // CDATA is not normalized (similar to character
- // references; it keeps the code simple), but it might
- // arguably be better to normalize it:
- switch (space) {
- case SPACE_START:
- break;
- case SPACE_NONE:
- case SPACE_SPAN:
- pad_.add(flowBegin, pos_ - flowBegin);
- break;
- case SPACE_BREAK:
- pad_.add(flowBegin, flowEnd - flowBegin);
- pad_.add(RTL_CONSTASCII_STRINGPARAM(" "));
- break;
- }
- normalizeLineEnds(cdata);
- flowBegin = pos_;
- flowEnd = pos_;
- space = SPACE_NONE;
- } else {
- skipDocumentTypeDeclaration();
- }
- }
- break;
- case '/':
- ++pos_;
- pad_.add(flowBegin, flowEnd - flowBegin);
- *text = pad_.get();
- state_ = STATE_END_TAG;
- return RESULT_TEXT;
- case '?':
- ++pos_;
- skipProcessingInstruction();
- space = SPACE_BREAK;
- break;
- default:
- pad_.add(flowBegin, flowEnd - flowBegin);
- *text = pad_.get();
- state_ = STATE_START_TAG;
- return RESULT_TEXT;
- }
- break;
- default:
- switch (space) {
- case SPACE_START:
- flowBegin = pos_;
- break;
- case SPACE_NONE:
- case SPACE_SPAN:
- break;
- case SPACE_BREAK:
- pad_.add(flowBegin, flowEnd - flowBegin);
- pad_.add(RTL_CONSTASCII_STRINGPARAM(" "));
- flowBegin = pos_;
- break;
- }
- flowEnd = ++pos_;
- space = SPACE_NONE;
- break;
- }
- }
-}
-
-}
diff --git a/configmgr/source/xmlreader.hxx b/configmgr/source/xmlreader.hxx
deleted file mode 100644
index 83ccac148cd4..000000000000
--- a/configmgr/source/xmlreader.hxx
+++ /dev/null
@@ -1,186 +0,0 @@
-/*************************************************************************
-*
-* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-*
-* Copyright 2000, 2010 Oracle and/or its affiliates.
-*
-* OpenOffice.org - a multi-platform office productivity suite
-*
-* This file is part of OpenOffice.org.
-*
-* OpenOffice.org is free software: you can redistribute it and/or modify
-* it under the terms of the GNU Lesser General Public License version 3
-* only, as published by the Free Software Foundation.
-*
-* OpenOffice.org is distributed in the hope that it will be useful,
-* but WITHOUT ANY WARRANTY; without even the implied warranty of
-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-* GNU Lesser General Public License version 3 for more details
-* (a copy is included in the LICENSE file that accompanied this code).
-*
-* You should have received a copy of the GNU Lesser General Public License
-* version 3 along with OpenOffice.org. If not, see
-* <http://www.openoffice.org/license.html>
-* for a copy of the LGPLv3 License.
-*
-************************************************************************/
-
-#ifndef INCLUDED_CONFIGMGR_SOURCE_XMLREADER_HXX
-#define INCLUDED_CONFIGMGR_SOURCE_XMLREADER_HXX
-
-#include "sal/config.h"
-
-#include <stack>
-#include <vector>
-
-#include "boost/noncopyable.hpp"
-#include "com/sun/star/container/NoSuchElementException.hpp"
-#include "com/sun/star/uno/RuntimeException.hpp"
-#include "osl/file.h"
-#include "rtl/ustring.hxx"
-#include "sal/types.h"
-
-#include "pad.hxx"
-#include "span.hxx"
-
-namespace configmgr {
-
-class XmlReader: private boost::noncopyable {
-public:
- explicit XmlReader(rtl::OUString const & fileUrl)
- SAL_THROW((
- com::sun::star::container::NoSuchElementException,
- com::sun::star::uno::RuntimeException));
-
- ~XmlReader();
-
- enum Namespace {
- NAMESPACE_NONE, NAMESPACE_XML, NAMESPACE_OOR, NAMESPACE_XS,
- NAMESPACE_XSI, NAMESPACE_OTHER };
-
- enum Text { TEXT_NONE, TEXT_RAW, TEXT_NORMALIZED };
-
- enum Result { RESULT_BEGIN, RESULT_END, RESULT_TEXT, RESULT_DONE };
-
- // RESULT_BEGIN: data = localName, ns = ns
- // RESULT_END: data, ns unused
- // RESULT_TEXT: data = text, ns unused
- Result nextItem(Text reportText, Span * data, Namespace * ns);
-
- bool nextAttribute(Namespace * ns, Span * localName);
-
- // the span returned by getAttributeValue is only valid until the next call
- // to nextItem or getAttributeValue
- Span getAttributeValue(bool fullyNormalize);
-
- Namespace getNamespace(Span const & prefix) const;
-
- rtl::OUString getUrl() const;
-
-private:
- inline char read() { return pos_ == end_ ? '\0' : *pos_++; }
-
- inline char peek() { return pos_ == end_ ? '\0' : *pos_; }
-
- void normalizeLineEnds(Span const & text);
-
- void skipSpace();
-
- bool skipComment();
-
- void skipProcessingInstruction();
-
- void skipDocumentTypeDeclaration();
-
- Span scanCdataSection();
-
- bool scanName(char const ** nameColon);
-
- Namespace scanNamespaceIri(char const * begin, char const * end);
-
- char const * handleReference(char const * position, char const * end);
-
- Span handleAttributeValue(
- char const * begin, char const * end, bool fullyNormalize);
-
- Result handleStartTag(Namespace * ns, Span * localName);
-
- Result handleEndTag();
-
- void handleElementEnd();
-
- Result handleSkippedText(Span * data, Namespace * ns);
-
- Result handleRawText(Span * text);
-
- Result handleNormalizedText(Span * text);
-
- struct NamespaceData {
- Span prefix;
- Namespace ns;
-
- NamespaceData() {}
-
- NamespaceData(Span const & thePrefix, Namespace theNs):
- prefix(thePrefix), ns(theNs) {}
- };
-
- typedef std::vector< NamespaceData > NamespaceList;
-
- struct ElementData {
- Span name;
- NamespaceList::size_type inheritedNamespaces;
- Namespace defaultNamespace;
-
- ElementData(
- Span const & theName,
- NamespaceList::size_type theInheritedNamespaces,
- Namespace theDefaultNamespace):
- name(theName), inheritedNamespaces(theInheritedNamespaces),
- defaultNamespace(theDefaultNamespace)
- {}
- };
-
- typedef std::stack< ElementData > ElementStack;
-
- struct AttributeData {
- char const * nameBegin;
- char const * nameEnd;
- char const * nameColon;
- char const * valueBegin;
- char const * valueEnd;
-
- AttributeData(
- char const * theNameBegin, char const * theNameEnd,
- char const * theNameColon, char const * theValueBegin,
- char const * theValueEnd):
- nameBegin(theNameBegin), nameEnd(theNameEnd),
- nameColon(theNameColon), valueBegin(theValueBegin),
- valueEnd(theValueEnd)
- {}
- };
-
- typedef std::vector< AttributeData > Attributes;
-
- enum State {
- STATE_CONTENT, STATE_START_TAG, STATE_END_TAG, STATE_EMPTY_ELEMENT_TAG,
- STATE_DONE };
-
- rtl::OUString fileUrl_;
- oslFileHandle fileHandle_;
- sal_uInt64 fileSize_;
- void * fileAddress_;
- NamespaceList namespaces_;
- ElementStack elements_;
- char const * pos_;
- char const * end_;
- State state_;
- Attributes attributes_;
- Attributes::iterator currentAttribute_;
- bool firstAttribute_;
- Pad pad_;
-};
-
-}
-
-#endif
diff --git a/connectivity/prj/d.lst b/connectivity/prj/d.lst
index e116ee5740ac..01d82ba9177e 100644
--- a/connectivity/prj/d.lst
+++ b/connectivity/prj/d.lst
@@ -31,3 +31,20 @@ mkdir: %_DEST%\xml%_EXT%\registry\spool\DataAccess
..\%__SRC%\misc\registry\data\org\openoffice\Office\DataAccess\*.xcu %_DEST%\xml%_EXT%\registry\spool\DataAccess\*.xcu
..\%COMMON_OUTDIR%\bin\fcfg_drivers_*.zip %_DEST%\pck%_EXT%\fcfg_drivers_*.zip
..\%__SRC%\bin\fcfg_drivers_*.zip %_DEST%\pck%_EXT%\fcfg_drivers_*.zip
+..\%__SRC%\misc\adabas.component %_DEST%\xml%_EXT%\adabas.component
+..\%__SRC%\misc\ado.component %_DEST%\xml%_EXT%\ado.component
+..\%__SRC%\misc\calc.component %_DEST%\xml%_EXT%\calc.component
+..\%__SRC%\misc\dbase.component %_DEST%\xml%_EXT%\dbase.component
+..\%__SRC%\misc\dbpool2.component %_DEST%\xml%_EXT%\dbpool2.component
+..\%__SRC%\misc\dbtools.component %_DEST%\xml%_EXT%\dbtools.component
+..\%__SRC%\misc\evoab.component %_DEST%\xml%_EXT%\evoab.component
+..\%__SRC%\misc\flat.component %_DEST%\xml%_EXT%\flat.component
+..\%__SRC%\misc\hsqldb.component %_DEST%\xml%_EXT%\hsqldb.component
+..\%__SRC%\misc\jdbc.component %_DEST%\xml%_EXT%\jdbc.component
+..\%__SRC%\misc\kab1.component %_DEST%\xml%_EXT%\kab1.component
+..\%__SRC%\misc\macab1.component %_DEST%\xml%_EXT%\macab1.component
+..\%__SRC%\misc\mozab.component %_DEST%\xml%_EXT%\mozab.component
+..\%__SRC%\misc\mozbootstrap.component %_DEST%\xml%_EXT%\mozbootstrap.component
+..\%__SRC%\misc\mysql.component %_DEST%\xml%_EXT%\mysql.component
+..\%__SRC%\misc\odbc.component %_DEST%\xml%_EXT%\odbc.component
+..\%__SRC%\misc\sdbc2.component %_DEST%\xml%_EXT%\sdbc2.component
diff --git a/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx b/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
index 52e76f834ab5..1e3f80546d74 100644
--- a/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
+++ b/connectivity/source/commontools/FDatabaseMetaDataResultSet.cxx
@@ -900,11 +900,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(const
}
//---------------------------------------------------------------------------------------
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(void* serviceManager, com::sun::star::registry::XRegistryKey* registryKey)
-{
- return cppu::component_writeInfoHelper(serviceManager, registryKey, entries);
-}
-//---------------------------------------------------------------------------------------
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(const sal_Char* implName, ::com::sun::star::lang::XMultiServiceFactory* serviceManager, void* registryKey)
{
return cppu::component_getFactoryHelper(implName, serviceManager, registryKey, entries);
diff --git a/connectivity/source/cpool/Zregistration.cxx b/connectivity/source/cpool/Zregistration.cxx
index 0786d9ea5f9a..be638aebf620 100644
--- a/connectivity/source/cpool/Zregistration.cxx
+++ b/connectivity/source/cpool/Zregistration.cxx
@@ -50,35 +50,6 @@ extern "C"
}
//---------------------------------------------------------------------------------------
-sal_Bool SAL_CALL component_writeInfo(void* /*_pServiceManager*/, com::sun::star::registry::XRegistryKey* _pRegistryKey)
-{
- ::rtl::OUString sMainKeyName = ::rtl::OUString::createFromAscii("/");
- sMainKeyName += OPoolCollection::getImplementationName_Static();
- sMainKeyName += ::rtl::OUString::createFromAscii("/UNO/SERVICES");
-
- try
- {
- Reference< XRegistryKey > xMainKey = _pRegistryKey->createKey(sMainKeyName);
- if (!xMainKey.is())
- return sal_False;
-
- Sequence< ::rtl::OUString > sServices = OPoolCollection::getSupportedServiceNames_Static();
- const ::rtl::OUString* pServices = sServices.getConstArray();
- for (sal_Int32 i=0; i<sServices.getLength(); ++i, ++pServices)
- xMainKey->createKey(*pServices);
- }
- catch(InvalidRegistryException&)
- {
- return sal_False;
- }
- catch(InvalidValueException&)
- {
- return sal_False;
- }
- return sal_True;
-}
-
-//---------------------------------------------------------------------------------------
void* SAL_CALL component_getFactory(const sal_Char* _pImplName, ::com::sun::star::lang::XMultiServiceFactory* _pServiceManager, void* /*_pRegistryKey*/)
{
void* pRet = NULL;
diff --git a/connectivity/source/cpool/dbpool2.component b/connectivity/source/cpool/dbpool2.component
new file mode 100644
index 000000000000..2fa8a144959c
--- /dev/null
+++ b/connectivity/source/cpool/dbpool2.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.sdbc.OConnectionPool">
+ <service name="com.sun.star.sdbc.ConnectionPool"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/cpool/exports.dxp b/connectivity/source/cpool/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/cpool/exports.dxp
+++ b/connectivity/source/cpool/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/cpool/makefile.mk b/connectivity/source/cpool/makefile.mk
index 1f6e49c6cbd7..9908a6d242cb 100644
--- a/connectivity/source/cpool/makefile.mk
+++ b/connectivity/source/cpool/makefile.mk
@@ -78,4 +78,10 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : target.mk
+ALLTAR : $(MISC)/dbpool2.component
+$(MISC)/dbpool2.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ dbpool2.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt dbpool2.component
diff --git a/connectivity/source/dbtools/dbtools.component b/connectivity/source/dbtools/dbtools.component
new file mode 100644
index 000000000000..08be953bb9d4
--- /dev/null
+++ b/connectivity/source/dbtools/dbtools.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="org.openoffice.comp.helper.DatabaseMetaDataResultSet">
+ <service name="com.sun.star.sdbc.ResultSet"/>
+ </implementation>
+ <implementation name="org.openoffice.comp.helper.ParameterSubstitution">
+ <service name="com.sun.star.sdb.ParameterSubstitution"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/dbtools/exports.dxp b/connectivity/source/dbtools/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/dbtools/exports.dxp
+++ b/connectivity/source/dbtools/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/dbtools/makefile.mk b/connectivity/source/dbtools/makefile.mk
index af4ac13e54cc..a73dae3d047d 100644
--- a/connectivity/source/dbtools/makefile.mk
+++ b/connectivity/source/dbtools/makefile.mk
@@ -95,3 +95,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk
@echo _TI >$@
@echo _real >>$@
+
+ALLTAR : $(MISC)/dbtools.component
+
+$(MISC)/dbtools.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ dbtools.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt dbtools.component
diff --git a/connectivity/source/drivers/adabas/Bservices.cxx b/connectivity/source/drivers/adabas/Bservices.cxx
index be1d716e8cd0..d895fb72b391 100644
--- a/connectivity/source/drivers/adabas/Bservices.cxx
+++ b/connectivity/source/drivers/adabas/Bservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "adabas/BDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::adabas;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ADABAS::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ODBC::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/configmgr/source/pad.hxx b/connectivity/source/drivers/adabas/adabas.component
index 66a51f480023..3c359c3d0217 100644
--- a/configmgr/source/pad.hxx
+++ b/connectivity/source/drivers/adabas/adabas.component
@@ -1,4 +1,5 @@
-/*************************************************************************
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
@@ -23,39 +24,12 @@
* <http://www.openoffice.org/license.html>
* for a copy of the LGPLv3 License.
*
-************************************************************************/
+**********************************************************************-->
-#ifndef INCLUDED_CONFIGMGR_SOURCE_PAD_HXX
-#define INCLUDED_CONFIGMGR_SOURCE_PAD_HXX
-
-#include "sal/config.h"
-
-#include "rtl/strbuf.hxx"
-#include "sal/types.h"
-
-#include "span.hxx"
-
-namespace configmgr {
-
-class Pad {
-public:
- void add(char const * begin, sal_Int32 length);
-
- void addEphemeral(char const * begin, sal_Int32 length);
-
- void clear();
-
- bool is() const;
-
- Span get() const;
-
-private:
- void flushSpan();
-
- Span span_;
- rtl::OStringBuffer buffer_;
-};
-
-}
-
-#endif
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbcx.adabas.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/adabas/adabas.mxp.map b/connectivity/source/drivers/adabas/adabas.mxp.map
index 2ce9f111412b..f64c44c13fce 100644
--- a/connectivity/source/drivers/adabas/adabas.mxp.map
+++ b/connectivity/source/drivers/adabas/adabas.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/drivers/adabas/exports.dxp b/connectivity/source/drivers/adabas/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/adabas/exports.dxp
+++ b/connectivity/source/drivers/adabas/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/adabas/makefile.mk b/connectivity/source/drivers/adabas/makefile.mk
index 9268f02a3b42..ffc3960391fd 100644
--- a/connectivity/source/drivers/adabas/makefile.mk
+++ b/connectivity/source/drivers/adabas/makefile.mk
@@ -104,3 +104,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/adabas.component
+
+$(MISC)/adabas.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ adabas.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt adabas.component
diff --git a/connectivity/source/drivers/ado/Aservices.cxx b/connectivity/source/drivers/ado/Aservices.cxx
index 05ebd274be84..71d90f289a7d 100644
--- a/connectivity/source/drivers/ado/Aservices.cxx
+++ b/connectivity/source/drivers/ado/Aservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "ado/ADriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::ado;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ADO::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -122,31 +95,6 @@ extern "C" void SAL_CALL component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ADO::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/ado/ado.component b/connectivity/source/drivers/ado/ado.component
new file mode 100644
index 000000000000..1962a6b710a7
--- /dev/null
+++ b/connectivity/source/drivers/ado/ado.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.ado.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/ado/exports.dxp b/connectivity/source/drivers/ado/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/ado/exports.dxp
+++ b/connectivity/source/drivers/ado/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/ado/makefile.mk b/connectivity/source/drivers/ado/makefile.mk
index 33e470648219..2b3c91a2010c 100644
--- a/connectivity/source/drivers/ado/makefile.mk
+++ b/connectivity/source/drivers/ado/makefile.mk
@@ -112,3 +112,11 @@ dummy:
# --- Targets ----------------------------------
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/ado.component
+
+$(MISC)/ado.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ ado.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ado.component
diff --git a/connectivity/source/drivers/calc/Cservices.cxx b/connectivity/source/drivers/calc/Cservices.cxx
index b172d9d4cf88..5f0338b55aae 100644
--- a/connectivity/source/drivers/calc/Cservices.cxx
+++ b/connectivity/source/drivers/calc/Cservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "calc/CDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::calc;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "FILE::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/calc/calc.component b/connectivity/source/drivers/calc/calc.component
new file mode 100644
index 000000000000..be949f70de14
--- /dev/null
+++ b/connectivity/source/drivers/calc/calc.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.calc.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/calc/exports.dxp b/connectivity/source/drivers/calc/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/calc/exports.dxp
+++ b/connectivity/source/drivers/calc/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/calc/makefile.mk b/connectivity/source/drivers/calc/makefile.mk
index 8e193524aa45..a7393b3c8e82 100644
--- a/connectivity/source/drivers/calc/makefile.mk
+++ b/connectivity/source/drivers/calc/makefile.mk
@@ -94,3 +94,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/calc.component
+
+$(MISC)/calc.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ calc.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt calc.component
diff --git a/connectivity/source/drivers/dbase/Dservices.cxx b/connectivity/source/drivers/dbase/Dservices.cxx
index 831329a1feba..74019abe364d 100644
--- a/connectivity/source/drivers/dbase/Dservices.cxx
+++ b/connectivity/source/drivers/dbase/Dservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "dbase/DDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::dbase;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "FILE::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/dbase/dbase.component b/connectivity/source/drivers/dbase/dbase.component
new file mode 100644
index 000000000000..7f913f083680
--- /dev/null
+++ b/connectivity/source/drivers/dbase/dbase.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.dbase.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/dbase/dbase.mxp.map b/connectivity/source/drivers/dbase/dbase.mxp.map
index c5b4377b04c3..87eccc45b66a 100644
--- a/connectivity/source/drivers/dbase/dbase.mxp.map
+++ b/connectivity/source/drivers/dbase/dbase.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/drivers/dbase/exports.dxp b/connectivity/source/drivers/dbase/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/dbase/exports.dxp
+++ b/connectivity/source/drivers/dbase/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/dbase/makefile.mk b/connectivity/source/drivers/dbase/makefile.mk
index f855cf1f4554..62b7ae96f8fa 100644
--- a/connectivity/source/drivers/dbase/makefile.mk
+++ b/connectivity/source/drivers/dbase/makefile.mk
@@ -127,3 +127,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/dbase.component
+
+$(MISC)/dbase.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ dbase.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt dbase.component
diff --git a/connectivity/source/drivers/evoab/LServices.cxx b/connectivity/source/drivers/evoab/LServices.cxx
index 4ae9d4b9113b..29a19e9168eb 100644
--- a/connectivity/source/drivers/evoab/LServices.cxx
+++ b/connectivity/source/drivers/evoab/LServices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "LDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::evoab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "FILE::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- OEvoabDriver::getImplementationName_Static(),
- OEvoabDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/evoab/exports.dxp b/connectivity/source/drivers/evoab/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/evoab/exports.dxp
+++ b/connectivity/source/drivers/evoab/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/evoab2/NServices.cxx b/connectivity/source/drivers/evoab2/NServices.cxx
index c11eed9d6c61..555837d15a28 100644
--- a/connectivity/source/drivers/evoab2/NServices.cxx
+++ b/connectivity/source/drivers/evoab2/NServices.cxx
@@ -35,7 +35,6 @@ using namespace connectivity::evoab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "EVOAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +97,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnviron
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- OEvoabDriver::getImplementationName_Static(),
- OEvoabDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/evoab2/evoab.component b/connectivity/source/drivers/evoab2/evoab.component
new file mode 100644
index 000000000000..a99719388d13
--- /dev/null
+++ b/connectivity/source/drivers/evoab2/evoab.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.evoab.OEvoabDriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/evoab2/makefile.mk b/connectivity/source/drivers/evoab2/makefile.mk
index e8a1cf96cddf..3f5b62903b7a 100644
--- a/connectivity/source/drivers/evoab2/makefile.mk
+++ b/connectivity/source/drivers/evoab2/makefile.mk
@@ -110,3 +110,11 @@ DEF1NAME= $(SHL1TARGET)
# --- Targets ----------------------------------
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/evoab.component
+
+$(MISC)/evoab.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ evoab.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt evoab.component
diff --git a/connectivity/source/drivers/flat/Eservices.cxx b/connectivity/source/drivers/flat/Eservices.cxx
index a0445c1ca70f..30553af24cfc 100644
--- a/connectivity/source/drivers/flat/Eservices.cxx
+++ b/connectivity/source/drivers/flat/Eservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "flat/EDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::flat;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "FILE::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriver::getImplementationName_Static(),
- ODriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "FILE::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/flat/exports.dxp b/connectivity/source/drivers/flat/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/flat/exports.dxp
+++ b/connectivity/source/drivers/flat/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/flat/flat.component b/connectivity/source/drivers/flat/flat.component
new file mode 100644
index 000000000000..fe8b79ee73b8
--- /dev/null
+++ b/connectivity/source/drivers/flat/flat.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.flat.ODriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/flat/flat.mxp.map b/connectivity/source/drivers/flat/flat.mxp.map
index 54a8532f7840..2737c61b5a57 100644
--- a/connectivity/source/drivers/flat/flat.mxp.map
+++ b/connectivity/source/drivers/flat/flat.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/drivers/flat/makefile.mk b/connectivity/source/drivers/flat/makefile.mk
index 2d1f99f759c7..23920f91c21d 100644
--- a/connectivity/source/drivers/flat/makefile.mk
+++ b/connectivity/source/drivers/flat/makefile.mk
@@ -105,3 +105,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/flat.component
+
+$(MISC)/flat.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ flat.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt flat.component
diff --git a/connectivity/source/drivers/hsqldb/Hservices.cxx b/connectivity/source/drivers/hsqldb/Hservices.cxx
index a3e783a3e9a7..ea0d452f1d05 100644
--- a/connectivity/source/drivers/hsqldb/Hservices.cxx
+++ b/connectivity/source/drivers/hsqldb/Hservices.cxx
@@ -30,13 +30,11 @@
#include "hsqldb/HDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::hsqldb;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -49,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ADABAS::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -124,31 +97,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriverDelegator::getImplementationName_Static(),
- ODriverDelegator::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ODBC::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/hsqldb/exports.dxp b/connectivity/source/drivers/hsqldb/exports.dxp
index 7ff56f4f9977..3efc73741d24 100644
--- a/connectivity/source/drivers/hsqldb/exports.dxp
+++ b/connectivity/source/drivers/hsqldb/exports.dxp
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeOutputStream_openStream
Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeOutputStream_write__Ljava_lang_String_2Ljava_lang_String_2_3BII
diff --git a/connectivity/source/drivers/hsqldb/hsqldb.component b/connectivity/source/drivers/hsqldb/hsqldb.component
new file mode 100644
index 000000000000..eb8ae477e749
--- /dev/null
+++ b/connectivity/source/drivers/hsqldb/hsqldb.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.sdbcx.comp.hsqldb.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/hsqldb/hsqldb.map b/connectivity/source/drivers/hsqldb/hsqldb.map
index b4fc53b320ef..b611aba02d5b 100644
--- a/connectivity/source/drivers/hsqldb/hsqldb.map
+++ b/connectivity/source/drivers/hsqldb/hsqldb.map
@@ -1,7 +1,6 @@
UDK_3_0_0 {
global:
component_getImplementationEnvironment;
- component_writeInfo;
component_getFactory;
Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeOutputStream_openStream;
Java_com_sun_star_sdbcx_comp_hsqldb_StorageNativeOutputStream_write__Ljava_lang_String_2Ljava_lang_String_2_3BII;
diff --git a/connectivity/source/drivers/hsqldb/makefile.mk b/connectivity/source/drivers/hsqldb/makefile.mk
index e1a953055c04..5be6fa08cd7b 100644
--- a/connectivity/source/drivers/hsqldb/makefile.mk
+++ b/connectivity/source/drivers/hsqldb/makefile.mk
@@ -115,3 +115,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/hsqldb.component
+
+$(MISC)/hsqldb.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ hsqldb.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt hsqldb.component
diff --git a/connectivity/source/drivers/jdbc/exports.dxp b/connectivity/source/drivers/jdbc/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/jdbc/exports.dxp
+++ b/connectivity/source/drivers/jdbc/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/jdbc/jdbc.component b/connectivity/source/drivers/jdbc/jdbc.component
new file mode 100644
index 000000000000..5d7db4690ba5
--- /dev/null
+++ b/connectivity/source/drivers/jdbc/jdbc.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.JDBCDriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/jdbc/jdbc.mxp.map b/connectivity/source/drivers/jdbc/jdbc.mxp.map
index a4457e2478af..e02823e8c41b 100644
--- a/connectivity/source/drivers/jdbc/jdbc.mxp.map
+++ b/connectivity/source/drivers/jdbc/jdbc.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/drivers/jdbc/jservices.cxx b/connectivity/source/drivers/jdbc/jservices.cxx
index cadbbdcbcd49..85a8d37b9346 100644
--- a/connectivity/source/drivers/jdbc/jservices.cxx
+++ b/connectivity/source/drivers/jdbc/jservices.cxx
@@ -34,7 +34,6 @@ using namespace connectivity;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -47,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pModCount
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "SBA::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -122,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- java_sql_Driver::getImplementationName_Static(),
- java_sql_Driver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "SBA::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/jdbc/makefile.mk b/connectivity/source/drivers/jdbc/makefile.mk
index 46619952163b..510daeac4a9f 100644
--- a/connectivity/source/drivers/jdbc/makefile.mk
+++ b/connectivity/source/drivers/jdbc/makefile.mk
@@ -110,3 +110,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/jdbc.component
+
+$(MISC)/jdbc.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ jdbc.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt jdbc.component
diff --git a/connectivity/source/drivers/kab/KServices.cxx b/connectivity/source/drivers/kab/KServices.cxx
index 5a0f4c3f9917..6b7a1a39a667 100644
--- a/connectivity/source/drivers/kab/KServices.cxx
+++ b/connectivity/source/drivers/kab/KServices.cxx
@@ -30,13 +30,11 @@
#include "KDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::kab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -49,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pTemp
);
-//***************************************************************************************
-//
-// The following C Api must be provided!
-// It consists in three functions that must be exported by the module
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "KAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnviron
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void*,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- KabDriver::getImplementationName_Static(),
- KabDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "KAB::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/kab/exports.dxp b/connectivity/source/drivers/kab/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/kab/exports.dxp
+++ b/connectivity/source/drivers/kab/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/kab/kab1.component b/connectivity/source/drivers/kab/kab1.component
new file mode 100644
index 000000000000..77227501d36c
--- /dev/null
+++ b/connectivity/source/drivers/kab/kab1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.kab.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/kab/makefile.mk b/connectivity/source/drivers/kab/makefile.mk
index 219bdd6cd020..c085cddb2d3b 100644
--- a/connectivity/source/drivers/kab/makefile.mk
+++ b/connectivity/source/drivers/kab/makefile.mk
@@ -138,3 +138,11 @@ dummy:
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/kab1.component
+
+$(MISC)/kab1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ kab1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt kab1.component
diff --git a/connectivity/source/drivers/macab/MacabServices.cxx b/connectivity/source/drivers/macab/MacabServices.cxx
index b3c303324302..9d2e2faa0ca1 100755
--- a/connectivity/source/drivers/macab/MacabServices.cxx
+++ b/connectivity/source/drivers/macab/MacabServices.cxx
@@ -30,13 +30,11 @@
#include "MacabDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::macab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -49,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pTemp
);
-//***************************************************************************************
-//
-// The following C Api must be provided!
-// It consists in three functions that must be exported by the module
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "MACAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnviron
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void*,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- MacabDriver::getImplementationName_Static(),
- MacabDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "MACAB::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/macab/exports.dxp b/connectivity/source/drivers/macab/exports.dxp
index 9630d7e06768..f0e1c69934bc 100755
--- a/connectivity/source/drivers/macab/exports.dxp
+++ b/connectivity/source/drivers/macab/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/macab/macab1.component b/connectivity/source/drivers/macab/macab1.component
new file mode 100644
index 000000000000..0a120c041883
--- /dev/null
+++ b/connectivity/source/drivers/macab/macab1.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.macab.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/macab/makefile.mk b/connectivity/source/drivers/macab/makefile.mk
index 35532b15ec2d..0565d3171329 100755
--- a/connectivity/source/drivers/macab/makefile.mk
+++ b/connectivity/source/drivers/macab/makefile.mk
@@ -127,3 +127,11 @@ dummy:
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/macab1.component
+
+$(MISC)/macab1.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ macab1.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt macab1.component
diff --git a/connectivity/source/drivers/mozab/MServices.cxx b/connectivity/source/drivers/mozab/MServices.cxx
index 4e595dad57ed..d6a280985969 100644
--- a/connectivity/source/drivers/mozab/MServices.cxx
+++ b/connectivity/source/drivers/mozab/MServices.cxx
@@ -39,7 +39,6 @@ using namespace connectivity::mozab;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
using ::com::sun::star::mozilla::XMozillaBootstrap;
@@ -53,31 +52,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pTemp
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString( RTL_CONSTASCII_USTRINGPARAM("/"));
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString( RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "MOZAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -127,37 +101,6 @@ component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
-
- REGISTER_PROVIDER(
- MozabDriver::getImplementationName_Static(),
- MozabDriver::getSupportedServiceNames_Static(), xKey);
-
- Sequence< ::rtl::OUString > aSNS( 1 );
- aSNS[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.mozilla.MozillaBootstrap"));
- REGISTER_PROVIDER(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.mozilla.MozillaBootstrap")),
- aSNS, xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "Mozab::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
typedef void* (SAL_CALL * OMozillaBootstrap_CreateInstanceFunction)(const Reference< XMultiServiceFactory >& _rxFactory );
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL createMozillaBootstrap(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory) throw( ::com::sun::star::uno::Exception )
{
diff --git a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx
index 3a7c169d467d..aeef289bae20 100644
--- a/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx
+++ b/connectivity/source/drivers/mozab/bootstrap/MMozillaBootstrap.cxx
@@ -238,7 +238,6 @@ Sequence< ::rtl::OUString > SAL_CALL MozillaBootstrap::getSupportedServiceNames(
#include <cppuhelper/factory.hxx>
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -251,50 +250,6 @@ component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const ::rtl::OUString& aServiceImplName,
- const Sequence< ::rtl::OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- ::rtl::OUString aMainKeyName;
- aMainKeyName = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/"));
- aMainKeyName += aServiceImplName;
- aMainKeyName += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "MOZAB::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- Sequence< ::rtl::OUString > aSNS( 1 );
- aSNS[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.mozilla.MozillaBootstrap"));
- REGISTER_PROVIDER(
- ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.mozilla.MozillaBootstrap")),
- aSNS, xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "Mozab::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
static Reference< XInterface > SAL_CALL createInstance( const Reference< XMultiServiceFactory >& rServiceManager )
{
MozillaBootstrap * pBootstrap = reinterpret_cast<MozillaBootstrap*>(OMozillaBootstrap_CreateInstance(rServiceManager));
diff --git a/connectivity/source/drivers/mozab/bootstrap/makefile.mk b/connectivity/source/drivers/mozab/bootstrap/makefile.mk
index 6a4172da205d..b44436e488ce 100644
--- a/connectivity/source/drivers/mozab/bootstrap/makefile.mk
+++ b/connectivity/source/drivers/mozab/bootstrap/makefile.mk
@@ -78,6 +78,14 @@ SHL1STDLIBS=\
$(SALLIB) \
$(COMPHELPERLIB)
+ALLTAR : $(MISC)/mozbootstrap.component
+
+$(MISC)/mozbootstrap.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt mozbootstrap.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt mozbootstrap.component
+
.ELSE
SLOFILES += \
$(SLO)$/MNSInit.obj \
@@ -90,4 +98,3 @@ SLOFILES += \
# --- Targets ----------------------------------
.INCLUDE : target.mk
-
diff --git a/connectivity/source/drivers/mozab/bootstrap/mozbootstrap.component b/connectivity/source/drivers/mozab/bootstrap/mozbootstrap.component
new file mode 100644
index 000000000000..5da158924a06
--- /dev/null
+++ b/connectivity/source/drivers/mozab/bootstrap/mozbootstrap.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.mozilla.MozillaBootstrap">
+ <service name="com.sun.star.mozilla.MozillaBootstrap"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/mozab/exports.dxp b/connectivity/source/drivers/mozab/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/mozab/exports.dxp
+++ b/connectivity/source/drivers/mozab/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/mozab/makefile.mk b/connectivity/source/drivers/mozab/makefile.mk
index b1e12fde6f8a..852560f1c9a7 100644
--- a/connectivity/source/drivers/mozab/makefile.mk
+++ b/connectivity/source/drivers/mozab/makefile.mk
@@ -184,3 +184,11 @@ $(MISC)$/$(SHL2TARGET).flt: makefile.mk
@echo _TI >$@
@echo _real >>$@
+
+ALLTAR : $(MISC)/mozab.component
+
+$(MISC)/mozab.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ mozab.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt mozab.component
diff --git a/connectivity/source/drivers/mozab/mozab.component b/connectivity/source/drivers/mozab/mozab.component
new file mode 100644
index 000000000000..70f5da3bfe72
--- /dev/null
+++ b/connectivity/source/drivers/mozab/mozab.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.mozilla.MozillaBootstrap">
+ <service name="com.sun.star.mozilla.MozillaBootstrap"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sdbc.MozabDriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/mysql/Yservices.cxx b/connectivity/source/drivers/mysql/Yservices.cxx
index 0927f191e6e6..b892e2f51066 100644
--- a/connectivity/source/drivers/mysql/Yservices.cxx
+++ b/connectivity/source/drivers/mysql/Yservices.cxx
@@ -29,13 +29,11 @@
#include "precompiled_connectivity.hxx"
#include "mysql/YDriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::mysql;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -48,31 +46,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pT
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ADABAS::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -123,31 +96,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODriverDelegator::getImplementationName_Static(),
- ODriverDelegator::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ODBC::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/drivers/mysql/exports.dxp b/connectivity/source/drivers/mysql/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/drivers/mysql/exports.dxp
+++ b/connectivity/source/drivers/mysql/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/drivers/mysql/makefile.mk b/connectivity/source/drivers/mysql/makefile.mk
index fbb68321cb01..453f4b652f21 100644
--- a/connectivity/source/drivers/mysql/makefile.mk
+++ b/connectivity/source/drivers/mysql/makefile.mk
@@ -82,3 +82,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/mysql.component
+
+$(MISC)/mysql.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ mysql.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt mysql.component
diff --git a/connectivity/source/drivers/mysql/mysql.component b/connectivity/source/drivers/mysql/mysql.component
new file mode 100644
index 000000000000..ced2297fa07f
--- /dev/null
+++ b/connectivity/source/drivers/mysql/mysql.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="org.openoffice.comp.drivers.MySQL.Driver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ <service name="com.sun.star.sdbcx.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/odbc/makefile.mk b/connectivity/source/drivers/odbc/makefile.mk
index 508cbfb6df63..426c75bf0142 100644
--- a/connectivity/source/drivers/odbc/makefile.mk
+++ b/connectivity/source/drivers/odbc/makefile.mk
@@ -76,3 +76,11 @@ SHL1VERSIONMAP=$(SOLARENV)/src/component.map
# --- Targets ----------------------------------
.INCLUDE : $(PRJ)$/target.pmk
+
+ALLTAR : $(MISC)/odbc.component
+
+$(MISC)/odbc.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ odbc.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt odbc.component
diff --git a/connectivity/source/drivers/odbc/odbc.component b/connectivity/source/drivers/odbc/odbc.component
new file mode 100644
index 000000000000..d4e6bc127da2
--- /dev/null
+++ b/connectivity/source/drivers/odbc/odbc.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.ODBCDriver">
+ <service name="com.sun.star.sdbc.Driver"/>
+ </implementation>
+</component>
diff --git a/connectivity/source/drivers/odbc/oservices.cxx b/connectivity/source/drivers/odbc/oservices.cxx
index 21bc448a5708..1347a00ea4d4 100644
--- a/connectivity/source/drivers/odbc/oservices.cxx
+++ b/connectivity/source/drivers/odbc/oservices.cxx
@@ -30,13 +30,11 @@
#include "ORealDriver.hxx"
#include "odbc/ODriver.hxx"
#include <cppuhelper/factory.hxx>
-#include <osl/diagnose.h>
using namespace connectivity::odbc;
using ::rtl::OUString;
using ::com::sun::star::uno::Reference;
using ::com::sun::star::uno::Sequence;
-using ::com::sun::star::registry::XRegistryKey;
using ::com::sun::star::lang::XSingleServiceFactory;
using ::com::sun::star::lang::XMultiServiceFactory;
@@ -49,31 +47,6 @@ typedef Reference< XSingleServiceFactory > (SAL_CALL *createFactoryFunc)
rtl_ModuleCount* _pTemp
);
-//***************************************************************************************
-//
-// Die vorgeschriebene C-Api muss erfuellt werden!
-// Sie besteht aus drei Funktionen, die von dem Modul exportiert werden muessen.
-//
-
-//---------------------------------------------------------------------------------------
-void REGISTER_PROVIDER(
- const OUString& aServiceImplName,
- const Sequence< OUString>& Services,
- const Reference< ::com::sun::star::registry::XRegistryKey > & xKey)
-{
- OUString aMainKeyName;
- aMainKeyName = OUString::createFromAscii("/");
- aMainKeyName += aServiceImplName;
- aMainKeyName += OUString::createFromAscii("/UNO/SERVICES");
-
- Reference< ::com::sun::star::registry::XRegistryKey > xNewKey( xKey->createKey(aMainKeyName) );
- OSL_ENSURE(xNewKey.is(), "ODBC::component_writeInfo : could not create a registry key !");
-
- for (sal_Int32 i=0; i<Services.getLength(); ++i)
- xNewKey->createKey(Services[i]);
-}
-
-
//---------------------------------------------------------------------------------------
struct ProviderRequest
{
@@ -124,31 +97,6 @@ component_getImplementationEnvironment(
}
//---------------------------------------------------------------------------------------
-extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void* /*pServiceManager*/,
- void* pRegistryKey
- )
-{
- if (pRegistryKey)
- try
- {
- Reference< ::com::sun::star::registry::XRegistryKey > xKey(reinterpret_cast< ::com::sun::star::registry::XRegistryKey*>(pRegistryKey));
-
- REGISTER_PROVIDER(
- ODBCDriver::getImplementationName_Static(),
- ODBCDriver::getSupportedServiceNames_Static(), xKey);
-
- return sal_True;
- }
- catch (::com::sun::star::registry::InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "ODBC::component_writeInfo : could not create a registry key ! ## InvalidRegistryException !");
- }
-
- return sal_False;
-}
-
-//---------------------------------------------------------------------------------------
extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName,
void* pServiceManager,
diff --git a/connectivity/source/manager/exports.dxp b/connectivity/source/manager/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/connectivity/source/manager/exports.dxp
+++ b/connectivity/source/manager/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/connectivity/source/manager/makefile.mk b/connectivity/source/manager/makefile.mk
index 52ec191ec836..4880407952f6 100644
--- a/connectivity/source/manager/makefile.mk
+++ b/connectivity/source/manager/makefile.mk
@@ -76,4 +76,10 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : target.mk
+ALLTAR : $(MISC)/sdbc2.component
+$(MISC)/sdbc2.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ sdbc2.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt sdbc2.component
diff --git a/connectivity/source/manager/mregistration.cxx b/connectivity/source/manager/mregistration.cxx
index f3bdf74c9574..16b88c071493 100644
--- a/connectivity/source/manager/mregistration.cxx
+++ b/connectivity/source/manager/mregistration.cxx
@@ -36,7 +36,6 @@
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
-using namespace ::com::sun::star::registry;
//==========================================================================
//= registration
@@ -51,38 +50,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(const
}
//---------------------------------------------------------------------------------------
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(void* /*_pServiceManager*/, com::sun::star::registry::XRegistryKey* _pRegistryKey)
-{
-
-
- sal_Bool bReturn = sal_False;
-
- try
- {
- ::rtl::OUString sMainKeyName = ::rtl::OUString::createFromAscii("/");
- sMainKeyName += ::drivermanager::OSDBCDriverManager::getImplementationName_static();
- sMainKeyName += ::rtl::OUString::createFromAscii("/UNO/SERVICES");
- Reference< XRegistryKey > xMainKey = _pRegistryKey->createKey(sMainKeyName);
- if (xMainKey.is())
- {
- Sequence< ::rtl::OUString > sServices(::drivermanager::OSDBCDriverManager::getSupportedServiceNames_static());
- const ::rtl::OUString* pBegin = sServices.getConstArray();
- const ::rtl::OUString* pEnd = pBegin + sServices.getLength();
- for (;pBegin != pEnd ; ++pBegin)
- xMainKey->createKey(*pBegin);
- bReturn = sal_True;
- }
- }
- catch(InvalidRegistryException&)
- {
- }
- catch(InvalidValueException&)
- {
- }
- return bReturn;
-}
-
-//---------------------------------------------------------------------------------------
SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(const sal_Char* _pImplName, ::com::sun::star::lang::XMultiServiceFactory* _pServiceManager, void* /*_pRegistryKey*/)
{
void* pRet = NULL;
diff --git a/connectivity/source/manager/sdbc.mxp.map b/connectivity/source/manager/sdbc.mxp.map
index 14e33ebafb65..431725adbbec 100644
--- a/connectivity/source/manager/sdbc.mxp.map
+++ b/connectivity/source/manager/sdbc.mxp.map
@@ -1,5 +1,4 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
__mh_dylib_header
___builtin_delete
diff --git a/connectivity/source/manager/sdbc2.component b/connectivity/source/manager/sdbc2.component
new file mode 100644
index 000000000000..6cce2b1d9fde
--- /dev/null
+++ b/connectivity/source/manager/sdbc2.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.sdbc.OSDBCDriverManager">
+ <service name="com.sun.star.sdbc.DriverManager"/>
+ </implementation>
+</component>
diff --git a/desktop/prj/d.lst b/desktop/prj/d.lst
index 92a4853c2bed..b6e14a5ce722 100644
--- a/desktop/prj/d.lst
+++ b/desktop/prj/d.lst
@@ -143,3 +143,11 @@ mkdir: %_DEST%\xml%_EXT%\registry\spool\org\openoffice\Office\Jobs
..\%__SRC%\class\*.jar %_DEST%\bin%_EXT%\*.jar
..\%__SRC%\misc\registry\spool\org\openoffice\Office\Jobs\*.xcu %_DEST%\xml%_EXT%\registry\spool\org\openoffice\Office\Jobs
+..\%__SRC%\misc\deployment.component %_DEST%\xml%_EXT%\deployment.component
+..\%__SRC%\misc\deploymentgui.component %_DEST%\xml%_EXT%\deploymentgui.component
+..\%__SRC%\misc\migrationoo2.component %_DEST%\xml%_EXT%\migrationoo2.component
+..\%__SRC%\misc\migrationoo3.component %_DEST%\xml%_EXT%\migrationoo3.component
+..\%__SRC%\misc\offacc.component %_DEST%\xml%_EXT%\offacc.component
+..\%__SRC%\misc\productregistration.jar.component %_DEST%\xml%_EXT%\productregistration.jar.component
+..\%__SRC%\misc\socomp.component %_DEST%\xml%_EXT%\socomp.component
+..\%__SRC%\misc\spl.component %_DEST%\xml%_EXT%\spl.component
diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh
index 0215f88d1ff0..5083bf285c14 100644
--- a/desktop/scripts/soffice.sh
+++ b/desktop/scripts/soffice.sh
@@ -43,15 +43,14 @@ export SAL_ENABLE_FILE_LOCKING
#@# export JITC_PROCESSOR_TYPE=6
# resolve installation directory
-sd_cwd="`pwd`"
-if [ -h "$0" ] ; then
- sd_basename=`basename "$0"`
- sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"`
- cd "`dirname "$0"`"
- cd "`dirname "$sd_script"`"
-else
- cd "`dirname "$0"`"
-fi
+sd_cwd=`pwd`
+sd_res=$0
+while [ -h "$sd_res" ] ; do
+ cd "`dirname "$sd_res"`"
+ sd_basename=`basename "$sd_res"`
+ sd_res=`ls -l "$sd_basename" | sed "s/.*$sd_basename -> //g"`
+done
+cd "`dirname "$sd_res"`"
sd_prog=`pwd`
cd "$sd_cwd"
diff --git a/desktop/scripts/unoinfo.sh b/desktop/scripts/unoinfo.sh
index 081e414365cf..a7566155aa0d 100644
--- a/desktop/scripts/unoinfo.sh
+++ b/desktop/scripts/unoinfo.sh
@@ -29,14 +29,13 @@
set -e
# resolve installation directory
-if [ -h "$0" ] ; then
- sd_basename=`basename "$0"`
- sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"`
- cd "`dirname "$0"`"
- cd "`dirname "$sd_script"`"
-else
- cd "`dirname "$0"`"
-fi
+sd_res=$0
+while [ -h "$sd_res" ] ; do
+ cd "`dirname "$sd_res"`"
+ sd_basename=`basename "$sd_res"`
+ sd_res=`ls -l "$sd_basename" | sed "s/.*$sd_basename -> //g"`
+done
+cd "`dirname "$sd_res"`"
sd_prog=`pwd`
case $1 in
diff --git a/desktop/scripts/unopkg.sh b/desktop/scripts/unopkg.sh
index 0fe319735c06..055db33da791 100644
--- a/desktop/scripts/unopkg.sh
+++ b/desktop/scripts/unopkg.sh
@@ -31,15 +31,14 @@ SAL_ENABLE_FILE_LOCKING=1
export SAL_ENABLE_FILE_LOCKING
# resolve installation directory
-sd_cwd="`pwd`"
-if [ -h "$0" ] ; then
- sd_basename=`basename "$0"`
- sd_script=`ls -l "$0" | sed "s/.*${sd_basename} -> //g"`
- cd "`dirname "$0"`"
- cd "`dirname "$sd_script"`"
-else
- cd "`dirname "$0"`"
-fi
+sd_cwd=`pwd`
+sd_res=$0
+while [ -h "$sd_res" ] ; do
+ cd "`dirname "$sd_res"`"
+ sd_basename=`basename "$sd_res"`
+ sd_res=`ls -l "$sd_basename" | sed "s/.*$sd_basename -> //g"`
+done
+cd "`dirname "$sd_res"`"
sd_prog=`pwd`
cd "$sd_cwd"
diff --git a/desktop/source/app/exports.dxp b/desktop/source/app/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/desktop/source/app/exports.dxp
+++ b/desktop/source/app/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/desktop/source/deployment/deployment.component b/desktop/source/deployment/deployment.component
new file mode 100644
index 000000000000..11385c7aa8d9
--- /dev/null
+++ b/desktop/source/deployment/deployment.component
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.deployment.ExtensionManager">
+ <service name="com.sun.star.comp.deployment.ExtensionManager"/>
+ <singleton name="com.sun.star.deployment.ExtensionManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.PackageInformationProvider">
+ <service name="com.sun.star.comp.deployment.PackageInformationProvider"/>
+ <singleton name="com.sun.star.deployment.PackageInformationProvider"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.PackageManagerFactory">
+ <service name="com.sun.star.comp.deployment.PackageManagerFactory"/>
+ <singleton name="com.sun.star.deployment.thePackageManagerFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.ProgressLog">
+ <service name="com.sun.star.comp.deployment.ProgressLog"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.component.PackageRegistryBackend">
+ <service name="com.sun.star.deployment.PackageRegistryBackend"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.configuration.PackageRegistryBackend">
+ <service name="com.sun.star.deployment.PackageRegistryBackend"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.executable.PackageRegistryBackend">
+ <service name="com.sun.star.deployment.PackageRegistryBackend"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.help.PackageRegistryBackend">
+ <service name="com.sun.star.deployment.PackageRegistryBackend"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.script.PackageRegistryBackend">
+ <service name="com.sun.star.deployment.PackageRegistryBackend"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.sfwk.PackageRegistryBackend">
+ <service name="com.sun.star.deployment.PackageRegistryBackend"/>
+ </implementation>
+</component>
diff --git a/desktop/source/deployment/dp_services.cxx b/desktop/source/deployment/dp_services.cxx
index f7ebf66355ba..f3dc75ae39c5 100644
--- a/desktop/source/deployment/dp_services.cxx
+++ b/desktop/source/deployment/dp_services.cxx
@@ -92,27 +92,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager,
- registry::XRegistryKey * pRegistryKey )
-{
- return component_writeInfoHelper(
- pServiceManager, pRegistryKey,
- dp_registry::backend::configuration::serviceDecl,
- dp_registry::backend::component::serviceDecl,
- dp_registry::backend::help::serviceDecl,
- dp_registry::backend::script::serviceDecl,
- dp_registry::backend::sfwk::serviceDecl,
- dp_registry::backend::executable::serviceDecl,
- dp_manager::factory::serviceDecl,
- dp_log::serviceDecl,
- dp_info::serviceDecl,
- dp_manager::serviceDecl) &&
- dp_manager::factory::singleton_entries( pRegistryKey ) &&
- dp_info::singleton_entries( pRegistryKey ) &&
- dp_manager::singleton_entries( pRegistryKey);
-}
-
void * SAL_CALL component_getFactory(
sal_Char const * pImplName,
lang::XMultiServiceFactory * pServiceManager,
diff --git a/desktop/source/deployment/gui/deploymentgui.component b/desktop/source/deployment/gui/deploymentgui.component
new file mode 100644
index 000000000000..d613f482e791
--- /dev/null
+++ b/desktop/source/deployment/gui/deploymentgui.component
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.deployment.ui.LicenseDialog">
+ <service name="com.sun.star.deployment.ui.LicenseDialog"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.ui.PackageManagerDialog">
+ <service name="com.sun.star.deployment.ui.PackageManagerDialog"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.deployment.ui.UpdateRequiredDialog">
+ <service name="com.sun.star.deployment.ui.UpdateRequiredDialog"/>
+ </implementation>
+</component>
diff --git a/desktop/source/deployment/gui/dp_gui_dialog2.cxx b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
index 78b29624b16e..44d1e30f74b6 100644
--- a/desktop/source/deployment/gui/dp_gui_dialog2.cxx
+++ b/desktop/source/deployment/gui/dp_gui_dialog2.cxx
@@ -363,26 +363,28 @@ bool ExtBoxWithBtns_Impl::HandleTabKey( bool bReverse )
// -----------------------------------------------------------------------
MENU_COMMAND ExtBoxWithBtns_Impl::ShowPopupMenu( const Point & rPos, const long nPos )
{
- if ( nPos >= (long) getItemCount() )
- return CMD_NONE;
+ if ( ( nPos >= 0 ) && ( nPos < (long) getItemCount() ) )
+ {
+ if ( ! GetEntryData( nPos )->m_bLocked )
+ {
+ PopupMenu aPopup;
- PopupMenu aPopup;
+ aPopup.InsertItem( CMD_UPDATE, DialogHelper::getResourceString( RID_CTX_ITEM_CHECK_UPDATE ) );
- aPopup.InsertItem( CMD_UPDATE, DialogHelper::getResourceString( RID_CTX_ITEM_CHECK_UPDATE ) );
+ if ( GetEntryData( nPos )->m_bUser )
+ {
+ if ( GetEntryData( nPos )->m_eState == REGISTERED )
+ aPopup.InsertItem( CMD_DISABLE, DialogHelper::getResourceString( RID_CTX_ITEM_DISABLE ) );
+ else if ( GetEntryData( nPos )->m_eState != NOT_AVAILABLE )
+ aPopup.InsertItem( CMD_ENABLE, DialogHelper::getResourceString( RID_CTX_ITEM_ENABLE ) );
+ }
- if ( ! GetEntryData( nPos )->m_bLocked )
- {
- if ( GetEntryData( nPos )->m_bUser )
- {
- if ( GetEntryData( nPos )->m_eState == REGISTERED )
- aPopup.InsertItem( CMD_DISABLE, DialogHelper::getResourceString( RID_CTX_ITEM_DISABLE ) );
- else if ( GetEntryData( nPos )->m_eState != NOT_AVAILABLE )
- aPopup.InsertItem( CMD_ENABLE, DialogHelper::getResourceString( RID_CTX_ITEM_ENABLE ) );
+ aPopup.InsertItem( CMD_REMOVE, DialogHelper::getResourceString( RID_CTX_ITEM_REMOVE ) );
+
+ return (MENU_COMMAND) aPopup.Execute( this, rPos );
}
- aPopup.InsertItem( CMD_REMOVE, DialogHelper::getResourceString( RID_CTX_ITEM_REMOVE ) );
}
-
- return (MENU_COMMAND) aPopup.Execute( this, rPos );
+ return CMD_NONE;
}
//------------------------------------------------------------------------------
diff --git a/desktop/source/deployment/gui/dp_gui_service.cxx b/desktop/source/deployment/gui/dp_gui_service.cxx
index 29bedf1b229f..567eb9756386 100755..100644
--- a/desktop/source/deployment/gui/dp_gui_service.cxx
+++ b/desktop/source/deployment/gui/dp_gui_service.cxx
@@ -356,14 +356,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager,
- registry::XRegistryKey * pRegistryKey )
-{
- return component_writeInfoHelper(
- pServiceManager, pRegistryKey, dp_gui::serviceDecl, dp_gui::licenseDecl, dp_gui::updateDecl );
-}
-
void * SAL_CALL component_getFactory(
sal_Char const * pImplName,
lang::XMultiServiceFactory * pServiceManager,
diff --git a/desktop/source/deployment/gui/makefile.mk b/desktop/source/deployment/gui/makefile.mk
index 52092a077a4b..fe3921bf506b 100644
--- a/desktop/source/deployment/gui/makefile.mk
+++ b/desktop/source/deployment/gui/makefile.mk
@@ -107,3 +107,11 @@ RESLIB1IMAGES= $(PRJ)$/res
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/deploymentgui.component
+
+$(MISC)/deploymentgui.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt deploymentgui.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt deploymentgui.component
diff --git a/desktop/source/deployment/makefile.mk b/desktop/source/deployment/makefile.mk
index 6d83a5c1004b..991ba7026d72 100644
--- a/desktop/source/deployment/makefile.mk
+++ b/desktop/source/deployment/makefile.mk
@@ -110,3 +110,11 @@ RESLIB1SRSFILES += $(SRS)$/deployment_misc.srs
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/deployment.component
+
+$(MISC)/deployment.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ deployment.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt deployment.component
diff --git a/desktop/source/deployment/misc/dp_update.cxx b/desktop/source/deployment/misc/dp_update.cxx
index 52011f1f0ca0..fb6efe0b79aa 100755..100644
--- a/desktop/source/deployment/misc/dp_update.cxx
+++ b/desktop/source/deployment/misc/dp_update.cxx
@@ -90,8 +90,6 @@ getUpdateInformation( Reference<deployment::XUpdateInformationProvider > const &
Sequence<Reference< xml::dom::XElement > >();
}
-//Put in anonymous namespace
-
void getOwnUpdateInfos(
Reference<uno::XComponentContext> const & xContext,
Reference<deployment::XUpdateInformationProvider > const & updateInformation,
@@ -185,6 +183,56 @@ void getDefaultUpdateInfos(
}
}
+bool containsBundledOnly(Sequence<Reference<deployment::XPackage> > const & sameIdExtensions)
+{
+ OSL_ASSERT(sameIdExtensions.getLength() == 3);
+ if (!sameIdExtensions[0].is() && !sameIdExtensions[1].is() && sameIdExtensions[2].is())
+ return true;
+ else
+ return false;
+}
+/** Returns true if the list of extensions are bundled extensions and there are no
+ other extensions with the same identifier in the shared or user repository.
+ If extensionList is NULL, then it is checked if there are only bundled extensions.
+*/
+bool onlyBundledExtensions(
+ Reference<deployment::XExtensionManager> const & xExtMgr,
+ std::vector< Reference<deployment::XPackage > > const * extensionList)
+{
+ OSL_ASSERT(xExtMgr.is());
+ bool onlyBundled = true;
+ if (extensionList)
+ {
+ typedef std::vector<Reference<deployment::XPackage > >::const_iterator CIT;
+ for (CIT i = extensionList->begin(); i != extensionList->end(); i++)
+ {
+ Sequence<Reference<deployment::XPackage> > seqExt = xExtMgr->getExtensionsWithSameIdentifier(
+ dp_misc::getIdentifier(*i), (*i)->getName(), Reference<ucb::XCommandEnvironment>());
+
+ if (!containsBundledOnly(seqExt))
+ {
+ onlyBundled = false;
+ break;
+ }
+
+ }
+ }
+ else
+ {
+ const uno::Sequence< uno::Sequence< Reference<deployment::XPackage > > > seqAllExt =
+ xExtMgr->getAllExtensions(Reference<task::XAbortChannel>(), Reference<ucb::XCommandEnvironment>());
+
+ for (int pos = seqAllExt.getLength(); pos --; )
+ {
+ if (!containsBundledOnly(seqAllExt[pos]))
+ {
+ onlyBundled = false;
+ break;
+ }
+ }
+ }
+ return onlyBundled;
+}
} // anon namespace
@@ -233,13 +281,14 @@ UPDATE_SOURCE isUpdateUserExtension(
retVal = UPDATE_SOURCE_ONLINE;
}
- else if (bundledVersion.getLength())
- {
- int index = determineHighestVersion(
- OUString(), OUString(), bundledVersion, onlineVersion);
- if (index == 3)
- retVal = UPDATE_SOURCE_ONLINE;
- }
+ //No update for bundled extensions, they are updated only by the setup
+ //else if (bundledVersion.getLength())
+ //{
+ // int index = determineHighestVersion(
+ // OUString(), OUString(), bundledVersion, onlineVersion);
+ // if (index == 3)
+ // retVal = UPDATE_SOURCE_ONLINE;
+ //}
}
else
{
@@ -278,13 +327,14 @@ UPDATE_SOURCE isUpdateSharedExtension(
else if (index == 3)
retVal = UPDATE_SOURCE_ONLINE;
}
- else if (bundledVersion.getLength())
- {
- int index = determineHighestVersion(
- OUString(), OUString(), bundledVersion, onlineVersion);
- if (index == 3)
- retVal = UPDATE_SOURCE_ONLINE;
- }
+ //No update for bundled extensions, they are updated only by the setup
+ //else if (bundledVersion.getLength())
+ //{
+ // int index = determineHighestVersion(
+ // OUString(), OUString(), bundledVersion, onlineVersion);
+ // if (index == 3)
+ // retVal = UPDATE_SOURCE_ONLINE;
+ //}
return retVal;
}
@@ -332,7 +382,7 @@ UpdateInfoMap getOnlineUpdateInfos(
{
OSL_ASSERT(xExtMgr.is());
UpdateInfoMap infoMap;
- if (!xExtMgr.is())
+ if (!xExtMgr.is() || onlyBundledExtensions(xExtMgr, extensionList))
return infoMap;
if (!extensionList)
diff --git a/desktop/source/migration/services/cexports.cxx b/desktop/source/migration/services/cexports.cxx
index cf9a9ab30b0c..d869993f39c3 100644
--- a/desktop/source/migration/services/cexports.cxx
+++ b/desktop/source/migration/services/cexports.cxx
@@ -63,13 +63,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, entries );
-}
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/desktop/source/migration/services/cexportsoo3.cxx b/desktop/source/migration/services/cexportsoo3.cxx
index 695b6b810808..589701d534d5 100755..100644
--- a/desktop/source/migration/services/cexportsoo3.cxx
+++ b/desktop/source/migration/services/cexportsoo3.cxx
@@ -51,13 +51,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey )
-{
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, entries );
-}
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/desktop/source/migration/services/makefile.mk b/desktop/source/migration/services/makefile.mk
index 2f3eb9308ebd..38f97084b36e 100644
--- a/desktop/source/migration/services/makefile.mk
+++ b/desktop/source/migration/services/makefile.mk
@@ -87,7 +87,7 @@ DEF1NAME=$(SHL1TARGET)
COMP2TYPELIST = migrationoo3
SHL2TARGET=migrationoo3.uno
-SHL2VERSIONMAP = migrationoo3.map
+SHL2VERSIONMAP = $(SOLARENV)/src/component.map
SHL2OBJS= \
$(SLO)$/cexportsoo3.obj \
@@ -117,3 +117,18 @@ DEF2NAME=$(SHL2TARGET)
.INCLUDE : target.mk
+ALLTAR : $(MISC)/migrationoo3.component
+
+$(MISC)/migrationoo3.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt migrationoo3.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL2TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt migrationoo3.component
+
+ALLTAR : $(MISC)/migrationoo2.component
+
+$(MISC)/migrationoo2.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt migrationoo2.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt migrationoo2.component
diff --git a/desktop/source/migration/services/migrationoo2.component b/desktop/source/migration/services/migrationoo2.component
new file mode 100644
index 000000000000..2b21ab123b9e
--- /dev/null
+++ b/desktop/source/migration/services/migrationoo2.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.desktop.migration.Basic">
+ <service name="com.sun.star.migration.Basic"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.desktop.migration.Wordbooks">
+ <service name="com.sun.star.migration.Wordbooks"/>
+ </implementation>
+</component>
diff --git a/desktop/source/migration/services/migrationoo3.component b/desktop/source/migration/services/migrationoo3.component
new file mode 100644
index 000000000000..380c389ab7b9
--- /dev/null
+++ b/desktop/source/migration/services/migrationoo3.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.desktop.migration.OOo3Extensions">
+ <service name="com.sun.star.migration.Extensions"/>
+ </implementation>
+</component>
diff --git a/desktop/source/migration/services/migrationoo3.map b/desktop/source/migration/services/migrationoo3.map
deleted file mode 100755
index ac2c3750bfe0..000000000000
--- a/desktop/source/migration/services/migrationoo3.map
+++ /dev/null
@@ -1,8 +0,0 @@
-UDK_3_0_0 {
- global:
- component_getImplementationEnvironment;
- component_writeInfo;
- component_getFactory;
- local:
- *;
-};
diff --git a/desktop/source/offacc/acceptor.cxx b/desktop/source/offacc/acceptor.cxx
index 4e100fd99665..430737106a59 100644
--- a/desktop/source/offacc/acceptor.cxx
+++ b/desktop/source/offacc/acceptor.cxx
@@ -317,23 +317,6 @@ component_getImplementationEnvironment(const sal_Char **ppEnvironmentTypeName, u
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
}
-sal_Bool SAL_CALL
-component_writeInfo(void *pServiceManager, void *pRegistryKey)
-{
- Reference< XMultiServiceFactory > xMan(reinterpret_cast< XMultiServiceFactory* >(pServiceManager));
- Reference< XRegistryKey > xKey(reinterpret_cast< XRegistryKey* >(pRegistryKey));
-
- // register service
- ::rtl::OUString aTempStr;
- ::rtl::OUString aImpl(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += Acceptor::impl_getImplementationName();
- aImpl += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- Reference< XRegistryKey > xNewKey = xKey->createKey(aImpl);
- xNewKey->createKey(Acceptor::impl_getSupportedServiceNames()[0]);
-
- return sal_True;
-}
-
void * SAL_CALL
component_getFactory(const sal_Char *pImplementationName, void *pServiceManager, void *)
{
diff --git a/desktop/source/offacc/makefile.mk b/desktop/source/offacc/makefile.mk
index c2d53930b580..809c28414bef 100644
--- a/desktop/source/offacc/makefile.mk
+++ b/desktop/source/offacc/makefile.mk
@@ -60,3 +60,11 @@ SHL1STDLIBS= \
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/offacc.component
+
+$(MISC)/offacc.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ offacc.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt offacc.component
diff --git a/desktop/source/offacc/offacc.component b/desktop/source/offacc/offacc.component
new file mode 100644
index 000000000000..6f0d4a97a2d2
--- /dev/null
+++ b/desktop/source/offacc/offacc.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.office.comp.Acceptor">
+ <service name="com.sun.star.office.Acceptor"/>
+ </implementation>
+</component>
diff --git a/desktop/source/registration/com/sun/star/registration/Registration.java b/desktop/source/registration/com/sun/star/registration/Registration.java
index 7fc24b80398f..e5c98dd51ab8 100644
--- a/desktop/source/registration/com/sun/star/registration/Registration.java
+++ b/desktop/source/registration/com/sun/star/registration/Registration.java
@@ -63,10 +63,6 @@ public class Registration {
return xSingleServiceFactory;
}
- public static boolean __writeRegistryServiceInfo(XRegistryKey regKey) {
- return FactoryHelper.writeRegistryServiceInfo(Registration.class.getName(), _serviceName, regKey);
- }
-
static final String _serviceName = "com.sun.star.comp.framework.DoRegistrationJob";
static public class _Registration implements XJob {
diff --git a/desktop/source/registration/com/sun/star/registration/makefile.mk b/desktop/source/registration/com/sun/star/registration/makefile.mk
index 9784166eb91b..859802256256 100644
--- a/desktop/source/registration/com/sun/star/registration/makefile.mk
+++ b/desktop/source/registration/com/sun/star/registration/makefile.mk
@@ -53,3 +53,10 @@ CUSTOMMANIFESTFILE = manifest
.INCLUDE : target.mk
+ALLTAR : $(MISC)/productregistration.jar.component
+
+$(MISC)/productregistration.jar.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt productregistration.jar.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_JAVA)productregistration.jar' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt productregistration.jar.component
diff --git a/desktop/source/registration/com/sun/star/registration/productregistration.jar.component b/desktop/source/registration/com/sun/star/registration/productregistration.jar.component
new file mode 100644
index 000000000000..c022a98ae010
--- /dev/null
+++ b/desktop/source/registration/com/sun/star/registration/productregistration.jar.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Java2"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.registration.Registration">
+ <service name="com.sun.star.comp.framework.DoRegistrationJob"/>
+ </implementation>
+</component>
diff --git a/desktop/source/so_comp/makefile.mk b/desktop/source/so_comp/makefile.mk
index 590f99518c68..7f9ceb4b646a 100644
--- a/desktop/source/so_comp/makefile.mk
+++ b/desktop/source/so_comp/makefile.mk
@@ -75,3 +75,10 @@ SHL1STDLIBS= \
.INCLUDE : target.mk
+ALLTAR : $(MISC)/socomp.component
+
+$(MISC)/socomp.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ socomp.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt socomp.component
diff --git a/desktop/source/so_comp/services.cxx b/desktop/source/so_comp/services.cxx
index d1a2b3139e91..e28d762fc69b 100644
--- a/desktop/source/so_comp/services.cxx
+++ b/desktop/source/so_comp/services.cxx
@@ -100,32 +100,6 @@ component_getImplementationEnvironment(
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
}
-sal_Bool SAL_CALL
-component_writeInfo(
- void* pServiceManager,
- void* pRegistryKey)
-{
- Reference<XMultiServiceFactory> xMan(
- reinterpret_cast< XMultiServiceFactory* >( pServiceManager ) ) ;
- Reference<XRegistryKey> xKey(
- reinterpret_cast< XRegistryKey* >( pRegistryKey ) ) ;
-
- // iterate over service names and register them...
- OUString aImpl;
- const char* pServiceName = NULL;
- const char* pImplName = NULL;
- for (int i = 0; (pServices[i]!=NULL)&&(pImplementations[i]!=NULL); i++) {
- pServiceName= pServices[i];
- pImplName = pImplementations[i];
- aImpl = OUString::createFromAscii("/")
- + OUString::createFromAscii(pImplName)
- + OUString::createFromAscii("/UNO/SERVICES");
- Reference<XRegistryKey> xNewKey = xKey->createKey(aImpl);
- xNewKey->createKey(OUString::createFromAscii(pServiceName));
- }
- return sal_True;
-}
-
void* SAL_CALL
component_getFactory(
const sal_Char* pImplementationName,
diff --git a/desktop/source/so_comp/socomp.component b/desktop/source/so_comp/socomp.component
new file mode 100644
index 000000000000..a53035223c39
--- /dev/null
+++ b/desktop/source/so_comp/socomp.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.desktop.Evaluation">
+ <service name="com.sun.star.office.Evaluation"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.desktop.OEMPreloadJob">
+ <service name="com.sun.star.office.OEMPreloadJob"/>
+ </implementation>
+</component>
diff --git a/desktop/source/splash/makefile.mk b/desktop/source/splash/makefile.mk
index 89609687438c..02483aae83dd 100644
--- a/desktop/source/splash/makefile.mk
+++ b/desktop/source/splash/makefile.mk
@@ -87,3 +87,11 @@ DO_PHONY=.PHONY
$(INCCOM)$/introbmpnames.hxx $(DO_PHONY):
echo const char INTRO_BITMAP_STRINGLIST[]=$(EMQ)"$(INTRO_BITMAPS:f:t",")$(EMQ)"$(EMQ); > $@
echo LASTTIME_INTRO_BITMAPS=$(INTRO_BITMAPS:f) > $(MISC)$/intro_bmp_names.mk
+
+ALLTAR : $(MISC)/spl.component
+
+$(MISC)/spl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ spl.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt spl.component
diff --git a/desktop/source/splash/services_spl.cxx b/desktop/source/splash/services_spl.cxx
index 349ec2ec0a78..4b1130c71cdf 100755
--- a/desktop/source/splash/services_spl.cxx
+++ b/desktop/source/splash/services_spl.cxx
@@ -97,32 +97,6 @@ component_getImplementationEnvironment(
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
}
-sal_Bool SAL_CALL
-component_writeInfo(
- void* pServiceManager,
- void* pRegistryKey)
-{
- Reference<XMultiServiceFactory> xMan(
- reinterpret_cast< XMultiServiceFactory* >( pServiceManager ) ) ;
- Reference<XRegistryKey> xKey(
- reinterpret_cast< XRegistryKey* >( pRegistryKey ) ) ;
-
- // iterate over service names and register them...
- OUString aImpl;
- const char* pServiceName = NULL;
- const char* pImplName = NULL;
- for (int i = 0; (pServices[i]!=NULL)&&(pImplementations[i]!=NULL); i++) {
- pServiceName= pServices[i];
- pImplName = pImplementations[i];
- aImpl = OUString::createFromAscii("/")
- + OUString::createFromAscii(pImplName)
- + OUString::createFromAscii("/UNO/SERVICES");
- Reference<XRegistryKey> xNewKey = xKey->createKey(aImpl);
- xNewKey->createKey(OUString::createFromAscii(pServiceName));
- }
- return sal_True;
-}
-
void* SAL_CALL
component_getFactory(
const sal_Char* pImplementationName,
diff --git a/desktop/source/splash/spl.component b/desktop/source/splash/spl.component
new file mode 100644
index 000000000000..2caecf5c0e4b
--- /dev/null
+++ b/desktop/source/splash/spl.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.desktop.FirstStart">
+ <service name="com.sun.star.task.Job"/>
+ </implementation>
+ <implementation name="com.sun.star.office.comp.SplashScreen">
+ <service name="com.sun.star.office.SplashScreen"/>
+ </implementation>
+</component>
diff --git a/editeng/util/editeng.dxp b/editeng/util/editeng.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/editeng/util/editeng.dxp
+++ b/editeng/util/editeng.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/embeddedobj/prj/d.lst b/embeddedobj/prj/d.lst
index 69721747166a..e85b439a1e34 100644
--- a/embeddedobj/prj/d.lst
+++ b/embeddedobj/prj/d.lst
@@ -4,3 +4,5 @@ mkdir: %_DEST%\xml%_EXT%\registry\spool
..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%\lib*.so
..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*.dylib
..\dtd\*.dtd %_DEST%\bin%_EXT%\*.*
+..\%__SRC%\misc\embobj.component %_DEST%\xml%_EXT%\embobj.component
+..\%__SRC%\misc\emboleobj.component %_DEST%\xml%_EXT%\emboleobj.component
diff --git a/embeddedobj/source/commonembedding/register.cxx b/embeddedobj/source/commonembedding/register.cxx
index bd2a64b299f1..8dbbd9ee4980 100644
--- a/embeddedobj/source/commonembedding/register.cxx
+++ b/embeddedobj/source/commonembedding/register.cxx
@@ -87,47 +87,5 @@ void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServic
return pRet;
}
-sal_Bool SAL_CALL component_writeInfo( void * /*pServiceManager*/, void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- sal_Int32 nInd = 0;
- uno::Reference< registry::XRegistryKey > xKey( reinterpret_cast< registry::XRegistryKey* >( pRegistryKey ) );
-
- uno::Reference< registry::XRegistryKey > xNewKey;
-
- xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) +
- OOoEmbeddedObjectFactory::impl_staticGetImplementationName() +
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) );
- uno::Sequence< ::rtl::OUString > rServices = OOoEmbeddedObjectFactory::impl_staticGetSupportedServiceNames();
- for( nInd = 0; nInd < rServices.getLength(); nInd++ )
- xNewKey->createKey( rServices.getConstArray()[nInd] );
-
- xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) +
- OOoSpecialEmbeddedObjectFactory::impl_staticGetImplementationName() +
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) );
- rServices = OOoSpecialEmbeddedObjectFactory::impl_staticGetSupportedServiceNames();
- for( nInd = 0; nInd < rServices.getLength(); nInd++ )
- xNewKey->createKey( rServices.getConstArray()[nInd] );
-
- xNewKey = xKey->createKey( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("/") ) +
- UNOEmbeddedObjectCreator::impl_staticGetImplementationName() +
- ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES") ) );
- rServices = UNOEmbeddedObjectCreator::impl_staticGetSupportedServiceNames();
- for( nInd = 0; nInd < rServices.getLength(); nInd++ )
- xNewKey->createKey( rServices.getConstArray()[nInd] );
-
- return sal_True;
- }
- catch (registry::InvalidRegistryException &)
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-
} // extern "C"
diff --git a/embeddedobj/source/msole/emboleobj.component b/embeddedobj/source/msole/emboleobj.component
new file mode 100644
index 000000000000..96f8ed0d8d57
--- /dev/null
+++ b/embeddedobj/source/msole/emboleobj.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory">
+ <service name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory"/>
+ <service name="com.sun.star.embed.OLEEmbeddedObjectFactory"/>
+ </implementation>
+</component>
diff --git a/embeddedobj/source/msole/emboleobj.windows.component b/embeddedobj/source/msole/emboleobj.windows.component
new file mode 100644
index 000000000000..644a1d4f19a1
--- /dev/null
+++ b/embeddedobj/source/msole/emboleobj.windows.component
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.embed.MSOLEObjectSystemCreator">
+ <service name="com.sun.star.comp.embed.MSOLEObjectSystemCreator"/>
+ <service name="com.sun.star.embed.MSOLEObjectSystemCreator"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory">
+ <service name="com.sun.star.comp.embed.OLEEmbeddedObjectFactory"/>
+ <service name="com.sun.star.embed.OLEEmbeddedObjectFactory"/>
+ </implementation>
+</component>
diff --git a/embeddedobj/source/msole/exports.dxp b/embeddedobj/source/msole/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/embeddedobj/source/msole/exports.dxp
+++ b/embeddedobj/source/msole/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/embeddedobj/source/msole/makefile.mk b/embeddedobj/source/msole/makefile.mk
index 07b08bce6984..f40e231bc2dd 100644
--- a/embeddedobj/source/msole/makefile.mk
+++ b/embeddedobj/source/msole/makefile.mk
@@ -130,3 +130,14 @@ DEF1NAME= $(SHL1TARGET)
.INCLUDE : target.mk
+ALLTAR : $(MISC)/emboleobj.component
+
+.IF "$(OS)" == "WNT"
+my_platform = .windows
+.END
+
+$(MISC)/emboleobj.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ emboleobj.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt emboleobj$(my_platform).component
diff --git a/embeddedobj/util/embobj.component b/embeddedobj/util/embobj.component
new file mode 100644
index 000000000000..e46945dcb7e0
--- /dev/null
+++ b/embeddedobj/util/embobj.component
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.embed.EmbeddedObjectCreator">
+ <service name="com.sun.star.comp.embed.EmbeddedObjectCreator"/>
+ <service name="com.sun.star.embed.EmbeddedObjectCreator"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.embed.OOoEmbeddedObjectFactory">
+ <service name="com.sun.star.comp.embed.OOoEmbeddedObjectFactory"/>
+ <service name="com.sun.star.embed.OOoEmbeddedObjectFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.embed.OOoSpecialEmbeddedObjectFactory">
+ <service name="com.sun.star.comp.embed.OOoSpecialEmbeddedObjectFactory"/>
+ <service name="com.sun.star.embed.OOoSpecialEmbeddedObjectFactory"/>
+ </implementation>
+</component>
diff --git a/embeddedobj/util/exports.dxp b/embeddedobj/util/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/embeddedobj/util/exports.dxp
+++ b/embeddedobj/util/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/embeddedobj/util/makefile.mk b/embeddedobj/util/makefile.mk
index 763d64c164c4..eb2416bd4dd5 100644
--- a/embeddedobj/util/makefile.mk
+++ b/embeddedobj/util/makefile.mk
@@ -87,3 +87,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk
@echo CLEAR_THE_FILE > $@
@echo __CT >>$@
+
+ALLTAR : $(MISC)/embobj.component
+
+$(MISC)/embobj.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ embobj.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt embobj.component
diff --git a/eventattacher/prj/d.lst b/eventattacher/prj/d.lst
index 5f9f228eda10..202a0a06aec8 100644
--- a/eventattacher/prj/d.lst
+++ b/eventattacher/prj/d.lst
@@ -1,3 +1,4 @@
..\%__SRC%\bin\*.dll %_DEST%\bin%_EXT%
..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%
..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%
+..\%__SRC%\misc\evtatt.component %_DEST%\xml%_EXT%\evtatt.component
diff --git a/eventattacher/source/eventattacher.cxx b/eventattacher/source/eventattacher.cxx
index 9ff96cbf1087..effa7cb202ae 100644
--- a/eventattacher/source/eventattacher.cxx
+++ b/eventattacher/source/eventattacher.cxx
@@ -842,34 +842,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * , void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- // DefaultRegistry
- Reference< XRegistryKey > xNewKey(
- reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey(
- OUString( RTL_CONSTASCII_USTRINGPARAM( "/" IMPLNAME "/UNO/SERVICES") )));
-
- Sequence< OUString > aSNL
- ( ::comp_EventAttacher::EventAttacherImpl::getSupportedServiceNames_Static() );
- const OUString * pArray = aSNL.getConstArray();
- for ( sal_Int32 nPos = aSNL.getLength(); nPos--; )
- xNewKey->createKey( pArray[nPos] );
-
- return sal_True;
- }
- catch (InvalidRegistryException &)
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * )
{
diff --git a/eventattacher/source/evtatt.component b/eventattacher/source/evtatt.component
new file mode 100644
index 000000000000..3e48d58893fb
--- /dev/null
+++ b/eventattacher/source/evtatt.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.EventAttacher">
+ <service name="com.sun.star.script.EventAttacher"/>
+ </implementation>
+</component>
diff --git a/eventattacher/source/makefile.mk b/eventattacher/source/makefile.mk
index 632a1fa41ad5..360dcdabd7d7 100644
--- a/eventattacher/source/makefile.mk
+++ b/eventattacher/source/makefile.mk
@@ -61,3 +61,11 @@ SHL1LIBS= $(SLB)$/$(TARGET).lib
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/evtatt.component
+
+$(MISC)/evtatt.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ evtatt.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt evtatt.component
diff --git a/fileaccess/prj/d.lst b/fileaccess/prj/d.lst
index 695487c56035..c9b2bdd18f06 100644
--- a/fileaccess/prj/d.lst
+++ b/fileaccess/prj/d.lst
@@ -3,3 +3,4 @@
..\%__SRC%\lib\lib*.so %_DEST%\lib%_EXT%
..\%__SRC%\lib\*.dylib %_DEST%\lib%_EXT%\*
..\source\fileacc.xml %_DEST%\xml%_EXT%\fileacc.xml
+..\%__SRC%\misc\fileacc.component %_DEST%\xml%_EXT%\fileacc.component
diff --git a/fileaccess/source/FileAccess.cxx b/fileaccess/source/FileAccess.cxx
index a7b08778dbdd..ca11639fef33 100644
--- a/fileaccess/source/FileAccess.cxx
+++ b/fileaccess/source/FileAccess.cxx
@@ -914,32 +914,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * /*pServiceManager*/, void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- Reference< XRegistryKey > xNewKey(
- reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey(
- rtl::OUString::createFromAscii("/" IMPLEMENTATION_NAME "/UNO/SERVICES" ) ) );
-
- const Sequence< rtl::OUString > & rSNL = io_FileAccess::FileAccess_getSupportedServiceNames();
- const rtl::OUString * pArray = rSNL.getConstArray();
- for ( sal_Int32 nPos = rSNL.getLength(); nPos--; )
- xNewKey->createKey( pArray[nPos] );
-
- return sal_True;
- }
- catch (InvalidRegistryException &)
- {
- OSL_ENSURE( sal_False, "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-//==================================================================================================
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * /*pRegistryKey*/ )
{
diff --git a/fileaccess/source/fileacc.component b/fileaccess/source/fileacc.component
new file mode 100644
index 000000000000..3f14d4053216
--- /dev/null
+++ b/fileaccess/source/fileacc.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ucb.SimpleFileAccess">
+ <service name="com.sun.star.ucb.SimpleFileAccess"/>
+ </implementation>
+</component>
diff --git a/fileaccess/source/makefile.mk b/fileaccess/source/makefile.mk
index 2b7826534618..8c8a91b0f675 100644
--- a/fileaccess/source/makefile.mk
+++ b/fileaccess/source/makefile.mk
@@ -66,3 +66,11 @@ SHL1LIBS=$(SLB)$/$(TARGET).lib
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/fileacc.component
+
+$(MISC)/fileacc.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fileacc.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fileacc.component
diff --git a/formula/prj/d.lst b/formula/prj/d.lst
index 3ad1e394844f..d2afebacf4d9 100644
--- a/formula/prj/d.lst
+++ b/formula/prj/d.lst
@@ -35,3 +35,4 @@ mkdir: %_DEST%\inc%_EXT%\formula
+..\%__SRC%\misc\for.component %_DEST%\xml%_EXT%\for.component
diff --git a/formula/source/core/api/services.cxx b/formula/source/core/api/services.cxx
index 0b45a0e4d02a..d1811dcfa303 100644
--- a/formula/source/core/api/services.cxx
+++ b/formula/source/core/api/services.cxx
@@ -66,10 +66,4 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment(
*envTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void * serviceManager, void * registryKey)
-{
- return cppu::component_writeInfoHelper(
- serviceManager, registryKey, entries);
-}
} // extern "C"
diff --git a/formula/util/for.component b/formula/util/for.component
new file mode 100644
index 000000000000..99a1adfbf978
--- /dev/null
+++ b/formula/util/for.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="simple.formula.FormulaOpCodeMapperObj">
+ <service name="com.sun.star.sheet.FormulaOpCodeMapper"/>
+ </implementation>
+</component>
diff --git a/formula/util/makefile.mk b/formula/util/makefile.mk
index 7ae30b007d00..3c6f91f6073d 100644
--- a/formula/util/makefile.mk
+++ b/formula/util/makefile.mk
@@ -136,3 +136,11 @@ RESLIB2SRSFILES=$(RES2FILELIST)
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/for.component
+
+$(MISC)/for.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ for.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt for.component
diff --git a/fpicker/prj/d.lst b/fpicker/prj/d.lst
index 7c4e0bf6024a..4fff0467fc87 100644
--- a/fpicker/prj/d.lst
+++ b/fpicker/prj/d.lst
@@ -9,6 +9,10 @@ mkdir: %COMMON_DEST%\bin%_EXT%\hid
..\source\win32\filepicker\*.xml %_DEST%\xml%_EXT%\*.xml
..\source\win32\folderpicker\*.xml %_DEST%\xml%_EXT%\*.xml
-..\source\unx\gnome\fps-gnome-ucd.txt %_DEST%\bin%_EXT%\fps-gnome-ucd.txt
-..\source\unx\kde4\fps-kde4-ucd.txt %_DEST%\bin%_EXT%\fps-kde4-ucd.txt
-..\source\aqua\fps-aqua-ucd.txt %_DEST%\bin%_EXT%\fps-aqua-ucd.txt
+..\%__SRC%\misc\fop.component %_DEST%\xml%_EXT%\fop.component
+..\%__SRC%\misc\fpicker.component %_DEST%\xml%_EXT%\fpicker.component
+..\%__SRC%\misc\fps.component %_DEST%\xml%_EXT%\fps.component
+..\%__SRC%\misc\fps_aqua.component %_DEST%\xml%_EXT%\fps_aqua.component
+..\%__SRC%\misc\fps_gnome.component %_DEST%\xml%_EXT%\fps_gnome.component
+..\%__SRC%\misc\fps_kde4.component %_DEST%\xml%_EXT%\fps_kde4.component
+..\%__SRC%\misc\fps_office.component %_DEST%\xml%_EXT%\fps_office.component
diff --git a/fpicker/source/aqua/FPentry.cxx b/fpicker/source/aqua/FPentry.cxx
index 127d1f5d60bb..5d5dc16c5d32 100644
--- a/fpicker/source/aqua/FPentry.cxx
+++ b/fpicker/source/aqua/FPentry.cxx
@@ -95,32 +95,6 @@ void SAL_CALL component_getImplementationEnvironment(
//
//------------------------------------------------
-sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey )
-{
- sal_Bool bRetVal = sal_True;
-
- if ( pRegistryKey )
- {
- try
- {
- Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) );
- pXNewKey->createKey( OUString::createFromAscii( FILE_PICKER_REGKEY_NAME ) );
- pXNewKey->createKey( OUString::createFromAscii( FOLDER_PICKER_REGKEY_NAME ) );
- }
- catch( InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "InvalidRegistryException caught" );
- bRetVal = sal_False;
- }
- }
-
- return bRetVal;
-}
-
-//------------------------------------------------
-//
-//------------------------------------------------
-
void* SAL_CALL component_getFactory(
const sal_Char* pImplName, uno_Interface* pSrvManager, uno_Interface* /*pRegistryKey*/ )
{
diff --git a/fpicker/source/aqua/fps-aqua-ucd.txt b/fpicker/source/aqua/fps-aqua-ucd.txt
deleted file mode 100644
index d71e8f4a574f..000000000000
--- a/fpicker/source/aqua/fps-aqua-ucd.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-[ComponentDescriptor]
-ImplementationName=com.sun.star.ui.dialogs.SalAquaFilePicker
-ComponentName=fps_aqua.uno.dylib
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ui.dialogs.AquaFilePicker
-
-[ComponentDescriptor]
-ImplementationName=com.sun.star.ui.dialogs.SalAquaFolderPicker
-ComponentName=fps_aqua.uno.dylib
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ui.dialogs.AquaFolderPicker
diff --git a/fpicker/source/aqua/fps_aqua.component b/fpicker/source/aqua/fps_aqua.component
new file mode 100644
index 000000000000..a04443e37ffd
--- /dev/null
+++ b/fpicker/source/aqua/fps_aqua.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.ui.dialogs.SalAquaFilePicker">
+ <service name="com.sun.star.ui.dialogs.AquaFilePicker"/>
+ </implementation>
+ <implementation name="com.sun.star.ui.dialogs.SalAquaFolderPicker">
+ <service name="com.sun.star.ui.dialogs.AquaFolderPicker"/>
+ </implementation>
+</component>
diff --git a/fpicker/source/aqua/makefile.mk b/fpicker/source/aqua/makefile.mk
index 10990e22d5e1..ff0473c8a71e 100644
--- a/fpicker/source/aqua/makefile.mk
+++ b/fpicker/source/aqua/makefile.mk
@@ -83,3 +83,11 @@ DEF1NAME=$(SHL1TARGET)
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/fps_aqua.component
+
+$(MISC)/fps_aqua.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fps_aqua.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fps_aqua.component
diff --git a/fpicker/source/generic/fpicker.component b/fpicker/source/generic/fpicker.component
new file mode 100644
index 000000000000..7d44d006d960
--- /dev/null
+++ b/fpicker/source/generic/fpicker.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.fpicker.FilePicker">
+ <service name="com.sun.star.ui.dialogs.FilePicker"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.fpicker.FolderPicker">
+ <service name="com.sun.star.ui.dialogs.FolderPicker"/>
+ </implementation>
+</component>
diff --git a/fpicker/source/generic/fpicker.cxx b/fpicker/source/generic/fpicker.cxx
index 4589b3319163..7d6417099ae0 100644
--- a/fpicker/source/generic/fpicker.cxx
+++ b/fpicker/source/generic/fpicker.cxx
@@ -216,13 +216,6 @@ SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironment (
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo (
- void * pServiceManager, void * pRegistryKey)
-{
- return cppu::component_writeInfoHelper (
- pServiceManager, pRegistryKey, g_entries);
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory (
const sal_Char * pImplementationName, void * pServiceManager, void * pRegistryKey)
{
diff --git a/fpicker/source/generic/makefile.mk b/fpicker/source/generic/makefile.mk
index bfbfb65f3da6..0b2ad77baac6 100644
--- a/fpicker/source/generic/makefile.mk
+++ b/fpicker/source/generic/makefile.mk
@@ -60,3 +60,11 @@ DEF1NAME= $(SHL1TARGET)
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/fpicker.component
+
+$(MISC)/fpicker.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fpicker.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fpicker.component
diff --git a/fpicker/source/office/fps_office.component b/fpicker/source/office/fps_office.component
new file mode 100644
index 000000000000..3e49f68a49db
--- /dev/null
+++ b/fpicker/source/office/fps_office.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.svtools.OfficeFilePicker">
+ <service name="com.sun.star.ui.dialogs.OfficeFilePicker"/>
+ </implementation>
+ <implementation name="com.sun.star.svtools.OfficeFolderPicker">
+ <service name="com.sun.star.ui.dialogs.OfficeFolderPicker"/>
+ </implementation>
+</component>
diff --git a/fpicker/source/office/fps_office.cxx b/fpicker/source/office/fps_office.cxx
index 52659e1f76f5..3d06873338de 100644
--- a/fpicker/source/office/fps_office.cxx
+++ b/fpicker/source/office/fps_office.cxx
@@ -63,13 +63,6 @@ component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- void * pServiceManager, void * pRegistryKey)
-{
- return cppu::component_writeInfoHelper (
- pServiceManager, pRegistryKey, g_entries);
-}
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplementationName, void * pServiceManager, void * pRegistryKey)
{
diff --git a/fpicker/source/office/makefile.mk b/fpicker/source/office/makefile.mk
index adc3c30f9a3d..7481fd867ca7 100644
--- a/fpicker/source/office/makefile.mk
+++ b/fpicker/source/office/makefile.mk
@@ -86,3 +86,11 @@ RESLIB1SRSFILES=\
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/fps_office.component
+
+$(MISC)/fps_office.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fps_office.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fps_office.component
diff --git a/fpicker/source/unx/gnome/FPentry.cxx b/fpicker/source/unx/gnome/FPentry.cxx
index 7561d1f4e95f..ccca3dabf72c 100644
--- a/fpicker/source/unx/gnome/FPentry.cxx
+++ b/fpicker/source/unx/gnome/FPentry.cxx
@@ -99,32 +99,6 @@ void SAL_CALL component_getImplementationEnvironment(
//
//------------------------------------------------
-sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/, void* pRegistryKey )
-{
- sal_Bool bRetVal = sal_True;
-
- if ( pRegistryKey )
- {
- try
- {
- Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) );
- pXNewKey->createKey( OUString::createFromAscii( FILE_PICKER_REGKEY_NAME ) );
- pXNewKey->createKey( OUString::createFromAscii( FOLDER_PICKER_REGKEY_NAME ) );
- }
- catch( InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "InvalidRegistryException caught" );
- bRetVal = sal_False;
- }
- }
-
- return bRetVal;
-}
-
-//------------------------------------------------
-//
-//------------------------------------------------
-
void* SAL_CALL component_getFactory(
const sal_Char* pImplName, uno_Interface* pSrvManager, uno_Interface* /*pRegistryKey*/ )
{
diff --git a/fpicker/source/unx/gnome/fps-gnome-ucd.txt b/fpicker/source/unx/gnome/fps-gnome-ucd.txt
deleted file mode 100644
index 4a84215dc960..000000000000
--- a/fpicker/source/unx/gnome/fps-gnome-ucd.txt
+++ /dev/null
@@ -1,13 +0,0 @@
-[ComponentDescriptor]
-ImplementationName=com.sun.star.ui.dialogs.SalGtkFilePicker
-ComponentName=fps_gnome.uno.so
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ui.dialogs.GtkFilePicker
-
-[ComponentDescriptor]
-ImplementationName=com.sun.star.ui.dialogs.SalGtkFolderPicker
-ComponentName=fps_gnome.uno.so
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ui.dialogs.GtkFolderPicker
diff --git a/fpicker/source/unx/gnome/fps_gnome.component b/fpicker/source/unx/gnome/fps_gnome.component
new file mode 100644
index 000000000000..72bca42f8acf
--- /dev/null
+++ b/fpicker/source/unx/gnome/fps_gnome.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.ui.dialogs.SalGtkFilePicker">
+ <service name="com.sun.star.ui.dialogs.GtkFilePicker"/>
+ </implementation>
+ <implementation name="com.sun.star.ui.dialogs.SalGtkFolderPicker">
+ <service name="com.sun.star.ui.dialogs.GtkFolderPicker"/>
+ </implementation>
+</component>
diff --git a/fpicker/source/unx/gnome/makefile.mk b/fpicker/source/unx/gnome/makefile.mk
index 04c6e650ff6f..82b2413dd4af 100644
--- a/fpicker/source/unx/gnome/makefile.mk
+++ b/fpicker/source/unx/gnome/makefile.mk
@@ -96,3 +96,11 @@ DEF1NAME=$(SHL1TARGET)
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/fps_gnome.component
+
+$(MISC)/fps_gnome.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fps_gnome.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fps_gnome.component
diff --git a/fpicker/source/unx/kde4/KDE4FPEntry.cxx b/fpicker/source/unx/kde4/KDE4FPEntry.cxx
index 3d74c1a09dca..174b1fc440a6 100644
--- a/fpicker/source/unx/kde4/KDE4FPEntry.cxx
+++ b/fpicker/source/unx/kde4/KDE4FPEntry.cxx
@@ -55,27 +55,6 @@ extern "C"
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
- sal_Bool SAL_CALL component_writeInfo( void*, void* pRegistryKey )
- {
- sal_Bool bRetVal = sal_True;
-
- if ( pRegistryKey )
- {
- try
- {
- Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) );
- pXNewKey->createKey( OUString::createFromAscii( FILE_PICKER_REGKEY_NAME ) );
- }
- catch( InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "InvalidRegistryException caught" );
- bRetVal = sal_False;
- }
- }
-
- return bRetVal;
- }
-
void* SAL_CALL component_getFactory( const sal_Char* pImplName, uno_Interface* pSrvManager, uno_Interface* )
{
void* pRet = 0;
diff --git a/fpicker/source/unx/kde4/fps-kde4-ucd.txt b/fpicker/source/unx/kde4/fps-kde4-ucd.txt
deleted file mode 100644
index 8ecc4e0a0a52..000000000000
--- a/fpicker/source/unx/kde4/fps-kde4-ucd.txt
+++ /dev/null
@@ -1,6 +0,0 @@
-[ComponentDescriptor]
-ImplementationName=com.sun.star.ui.dialogs.KDE4FilePicker
-ComponentName=fps_kde4.uno.so
-LoaderName=com.sun.star.loader.SharedLibrary
-[SupportedServices]
-com.sun.star.ui.dialogs.KDE4FilePicker
diff --git a/fpicker/source/unx/kde4/fps_kde4.component b/fpicker/source/unx/kde4/fps_kde4.component
new file mode 100644
index 000000000000..d627212b75e8
--- /dev/null
+++ b/fpicker/source/unx/kde4/fps_kde4.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.ui.dialogs.KDE4FilePicker">
+ <service name="com.sun.star.ui.dialogs.KDE4FilePicker"/>
+ </implementation>
+</component>
diff --git a/fpicker/source/unx/kde4/makefile.mk b/fpicker/source/unx/kde4/makefile.mk
index e245e6618465..7ccf6df6a0ce 100644
--- a/fpicker/source/unx/kde4/makefile.mk
+++ b/fpicker/source/unx/kde4/makefile.mk
@@ -80,3 +80,11 @@ DEF1VERSIONMAP=exports.map
$(MISC)$/KDE4FilePicker.moc.cxx : KDE4FilePicker.hxx
$(MOC4) $< -o $@
+
+ALLTAR : $(MISC)/fps_kde4.component
+
+$(MISC)/fps_kde4.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fps_kde4.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fps_kde4.component
diff --git a/fpicker/source/win32/filepicker/FPentry.cxx b/fpicker/source/win32/filepicker/FPentry.cxx
index e93c3bec18ba..79a2cf3b2865 100644
--- a/fpicker/source/win32/filepicker/FPentry.cxx
+++ b/fpicker/source/win32/filepicker/FPentry.cxx
@@ -104,31 +104,6 @@ void SAL_CALL component_getImplementationEnvironment(
//
//------------------------------------------------
-sal_Bool SAL_CALL component_writeInfo( void*, void* pRegistryKey )
-{
- sal_Bool bRetVal = sal_True;
-
- if ( pRegistryKey )
- {
- try
- {
- Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) );
- pXNewKey->createKey( OUString::createFromAscii( FILE_PICKER_REGKEY_NAME ) );
- }
- catch( InvalidRegistryException& )
- {
- OSL_ENSURE( sal_False, "InvalidRegistryException caught" );
- bRetVal = sal_False;
- }
- }
-
- return bRetVal;
-}
-
-//------------------------------------------------
-//
-//------------------------------------------------
-
void* SAL_CALL component_getFactory(
const sal_Char* pImplName, uno_Interface* pSrvManager, uno_Interface* )
{
diff --git a/fpicker/source/win32/folderpicker/Fopentry.cxx b/fpicker/source/win32/folderpicker/Fopentry.cxx
index 717359ba511a..3c861cc67ce3 100644
--- a/fpicker/source/win32/folderpicker/Fopentry.cxx
+++ b/fpicker/source/win32/folderpicker/Fopentry.cxx
@@ -87,31 +87,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-//-----------------------------------------------------------------------
-//
-//-----------------------------------------------------------------------
-
-sal_Bool SAL_CALL component_writeInfo( void*, void* pRegistryKey )
-{
- sal_Bool bRetVal = sal_True;
-
- if ( pRegistryKey )
- {
- try
- {
- Reference< XRegistryKey > pXNewKey( static_cast< XRegistryKey* >( pRegistryKey ) );
- pXNewKey->createKey( OUString( RTL_CONSTASCII_USTRINGPARAM( FOLDER_PICKER_REGKEY_NAME ) ) );
- }
- catch( InvalidRegistryException& )
- {
- OSL_ENSURE(sal_False, "InvalidRegistryException caught");
- bRetVal = sal_False;
- }
- }
-
- return bRetVal;
-}
-
//----------------------------------------------------------------------
// component_getFactory
// returns a factory to create XFilePicker-Services
diff --git a/fpicker/util/exports.dxp b/fpicker/util/exports.dxp
index 028ac4175990..f0e1c69934bc 100644
--- a/fpicker/util/exports.dxp
+++ b/fpicker/util/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/fpicker/util/fop.component b/fpicker/util/fop.component
new file mode 100644
index 000000000000..a31c096dd42a
--- /dev/null
+++ b/fpicker/util/fop.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.ui.dialogs.Win32FolderPicker">
+ <service name="com.sun.star.ui.dialogs.SystemFolderPicker"/>
+ </implementation>
+</component>
diff --git a/fpicker/util/fps.component b/fpicker/util/fps.component
new file mode 100644
index 000000000000..cc18d211028c
--- /dev/null
+++ b/fpicker/util/fps.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.ui.dialogs.Win32FilePicker">
+ <service name="com.sun.star.ui.dialogs.SystemFilePicker"/>
+ </implementation>
+</component>
diff --git a/fpicker/util/makefile.mk b/fpicker/util/makefile.mk
index c249e4259e91..60bd3333cb71 100644
--- a/fpicker/util/makefile.mk
+++ b/fpicker/util/makefile.mk
@@ -100,3 +100,16 @@ DEF2EXPORTFILE= exports.dxp
.INCLUDE : target.mk
+ALLTAR : $(MISC)/fop.component $(MISC)/fps.component
+
+$(MISC)/fop.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fop.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL2TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fop.component
+
+$(MISC)/fps.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fps.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fps.component
diff --git a/framework/inc/macros/debug/registration.hxx b/framework/inc/macros/debug/registration.hxx
index e8ea5a0bafe6..afb359348349 100644
--- a/framework/inc/macros/debug/registration.hxx
+++ b/framework/inc/macros/debug/registration.hxx
@@ -53,26 +53,6 @@
"registration.log"
#endif
- /*_____________________________________________________________________________________________________________
- LOG_REGISTRATION_WRITEINFO( SINFOTEXT )
-
- Write informations for component_writeInfo() in log file.
- _____________________________________________________________________________________________________________*/
-
- #define LOG_REGISTRATION_WRITEINFO( SINFOTEXT ) \
- { \
- ::rtl::OStringBuffer sOut( 1024 ); \
- sOut.append( "component_writeInfo():" ); \
- sOut.append( SINFOTEXT ); \
- WRITE_LOGFILE( LOGFILE_REGISTRATION, sOut.makeStringAndClear() ) \
- }
-
- /*_____________________________________________________________________________________________________________
- LOG_REGISTRATION_WRITEINFO( SINFOTEXT )
-
- Write informations for component_getFactory() in log file.
- _____________________________________________________________________________________________________________*/
-
#define LOG_REGISTRATION_GETFACTORY( SINFOTEXT ) \
{ \
::rtl::OStringBuffer sOut( 1024 ); \
@@ -88,7 +68,6 @@
_____________________________________________________________________________________________________________*/
#undef LOGFILE_REGISTRATION
- #define LOG_REGISTRATION_WRITEINFO( SINFOTEXT )
#define LOG_REGISTRATION_GETFACTORY( SINFOTEXT )
#endif // #ifdef ENABLE_REGISTRATIONDEBUG
diff --git a/framework/inc/macros/registration.hxx b/framework/inc/macros/registration.hxx
index 3db6761abc15..11f7c297c645 100644
--- a/framework/inc/macros/registration.hxx
+++ b/framework/inc/macros/registration.hxx
@@ -37,10 +37,8 @@
//_________________________________________________________________________________________________________________
// interface includes
//_________________________________________________________________________________________________________________
-#include <com/sun/star/registry/XRegistryKey.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/registry/InvalidRegistryException.hpp>
//_________________________________________________________________________________________________________________
// other includes
@@ -57,67 +55,14 @@
macros for registration of services
Please use follow public macros only!
- 1) COMPONENTINFO( CLASS ) => use it as parameter for COMPONENT_WRITEINFO( INFOS )
- 2) IFFACTORY( CLASS ) => use it as parameter for COMPONENT_GETFACTORY( IFFACTORIES )
- 3) COMPONENTGETIMPLEMENTATIONENVIRONMENT => use it to define exported function component_getImplementationEnvironment()
- 4) COMPONENTWRITEINFO( INFOS ) => use it to define exported function component_writeInfo()
- 5) COMPONENTGETFACTORY( IFFACTORIES ) => use it to define exported function component_getFactory()
+ IFFACTORY( CLASS ) => use it as parameter for COMPONENT_GETFACTORY( IFFACTORIES )
+ COMPONENTGETIMPLEMENTATIONENVIRONMENT => use it to define exported function component_getImplementationEnvironment()
+ COMPONENTGETFACTORY( IFFACTORIES ) => use it to define exported function component_getFactory()
_________________________________________________________________________________________________________________*/
//*****************************************************************************************************************
// public
-// use it as parameter for COMPONENT_WRITEINFO( INFOS )
-//*****************************************************************************************************************
-
-#define COMPONENTINFO( CLASS ) \
- try \
- { \
- /* Set default result of follow operations !!! */ \
- bReturn = sal_False; \
- /* Do the follow only, if given key is valid ! */ \
- if ( xKey.is() == sal_True ) \
- { \
- LOG_REGISTRATION_WRITEINFO( "\t\t\txKey is valid ...\n" ) \
- /* Build new keyname */ \
- sKeyName = DECLARE_ASCII( "/" ); \
- sKeyName += CLASS::impl_getStaticImplementationName(); \
- sKeyName += DECLARE_ASCII( "/UNO/SERVICES" ); \
- LOG_REGISTRATION_WRITEINFO( "\t\t\tcreate key \"" ) \
- LOG_REGISTRATION_WRITEINFO( U2B( sKeyName ) ) \
- LOG_REGISTRATION_WRITEINFO( "\" ...\n" ) \
- /* Create new key with new name. */ \
- xNewKey = xKey->createKey( sKeyName ); \
- /* If this new key valid ... */ \
- if ( xNewKey.is() == sal_True ) \
- { \
- LOG_REGISTRATION_WRITEINFO( "\t\t\t\ttsuccessful ...\n" ) \
- /* Get information about supported services. */ \
- seqServiceNames = CLASS::impl_getStaticSupportedServiceNames() ; \
- pArray = seqServiceNames.getArray() ; \
- nLength = seqServiceNames.getLength() ; \
- nCounter = 0 ; \
- /* Then set this information on this key. */ \
- for ( nCounter = 0; nCounter < nLength; ++nCounter ) \
- { \
- LOG_REGISTRATION_WRITEINFO( "\t\t\t\twrite key \"" ) \
- LOG_REGISTRATION_WRITEINFO( U2B( pArray[nCounter] ) ) \
- LOG_REGISTRATION_WRITEINFO( "\" to registry ...\n" ) \
- xNewKey->createKey( pArray[nCounter] ); \
- } \
- /* Result of this operations = OK. */ \
- bReturn = sal_True ; \
- } \
- } \
- } \
- catch( ::com::sun::star::registry::InvalidRegistryException& ) \
- { \
- LOG_REGISTRATION_WRITEINFO( "\n\nERROR:\nInvalidRegistryException detected\n\n" ) \
- bReturn = sal_False ; \
- }
-
-//*****************************************************************************************************************
-// public
// use it as parameter for COMPONENT_GETFACTORY( IFFACTORIES )
//*****************************************************************************************************************
#define IFFACTORY( CLASS ) \
@@ -144,41 +89,6 @@ ________________________________________________________________________________
//*****************************************************************************************************************
// public
-// define registration of service
-//*****************************************************************************************************************
-#define COMPONENTWRITEINFO( INFOS ) \
- extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo( void* /*pServiceManager*/ , \
- void* pRegistryKey ) \
- { \
- LOG_REGISTRATION_WRITEINFO( "\t[start]\n" ) \
- /* Set default return value for this operation - if it failed. */ \
- sal_Bool bReturn = sal_False ; \
- if ( pRegistryKey != NULL ) \
- { \
- LOG_REGISTRATION_WRITEINFO( "\t\tpRegistryKey is valid ...\n" ) \
- /* Define variables for following helper macros! */ \
- /* bReturn will set automaticly. */ \
- ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > xKey ; \
- ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > xNewKey ; \
- ::com::sun::star::uno::Sequence< ::rtl::OUString > seqServiceNames ; \
- const ::rtl::OUString* pArray ; \
- sal_Int32 nLength ; \
- sal_Int32 nCounter ; \
- ::rtl::OUString sKeyName ; \
- xKey = reinterpret_cast< ::com::sun::star::registry::XRegistryKey* >( pRegistryKey ); \
- /* This parameter will expand to */ \
- /* "COMPONENT_INFO(a) */ \
- /* ... */ \
- /* COMPONENT_INFO(z)" */ \
- INFOS \
- } \
- LOG_REGISTRATION_WRITEINFO( "\t[end]\n" ) \
- /* Return with result of this operation. */ \
- return bReturn ; \
- }
-
-//*****************************************************************************************************************
-// public
// define method to instanciate new services
//*****************************************************************************************************************
#define COMPONENTGETFACTORY( IFFACTORIES ) \
diff --git a/framework/prj/d.lst b/framework/prj/d.lst
index fe6077f57bc8..d3a3d6dd153c 100644
--- a/framework/prj/d.lst
+++ b/framework/prj/d.lst
@@ -50,3 +50,6 @@ mkdir: %_DEST%\xml%_EXT%\uiconfig\modules\StartModule\statusbar
..\source\unotypes\fw?.xml %_DEST%\xml%_EXT%\*.xml
+..\%__SRC%\misc\fwk.component %_DEST%\xml%_EXT%\fwk.component
+..\%__SRC%\misc\fwl.component %_DEST%\xml%_EXT%\fwl.component
+..\%__SRC%\misc\fwm.component %_DEST%\xml%_EXT%\fwm.component
diff --git a/framework/source/register/register3rdcomponents.cxx b/framework/source/register/register3rdcomponents.cxx
index 0d93c775ff7e..86ef8c16d1ea 100644
--- a/framework/source/register/register3rdcomponents.cxx
+++ b/framework/source/register/register3rdcomponents.cxx
@@ -47,10 +47,6 @@
COMPONENTGETIMPLEMENTATIONENVIRONMENT
- COMPONENTWRITEINFO ( COMPONENTINFO( Service1 )
- COMPONENTINFO( Service2 )
- )
-
COMPONENTGETFACTORY ( IFFACTORIE( Service1 )
else
IFFACTORIE( Service2 )
@@ -63,12 +59,6 @@
COMPONENTGETIMPLEMENTATIONENVIRONMENT
-COMPONENTWRITEINFO ( COMPONENTINFO( ::framework::HelpOnStartup )
- COMPONENTINFO( ::framework::TabWinFactory )
- COMPONENTINFO( ::framework::SystemExec )
- COMPONENTINFO( ::framework::ShellJob )
- )
-
COMPONENTGETFACTORY ( IFFACTORY( ::framework::HelpOnStartup ) else
IFFACTORY( ::framework::TabWinFactory ) else
IFFACTORY( ::framework::SystemExec ) else
diff --git a/framework/source/register/registerlogindialog.cxx b/framework/source/register/registerlogindialog.cxx
index 55e13252570f..0a7e08c8c93a 100644
--- a/framework/source/register/registerlogindialog.cxx
+++ b/framework/source/register/registerlogindialog.cxx
@@ -48,10 +48,6 @@
COMPONENTGETIMPLEMENTATIONENVIRONMENT
- COMPONENTWRITEINFO ( COMPONENTINFO( Service1 )
- COMPONENTINFO( Service2 )
- )
-
COMPONENTGETFACTORY ( IFFACTORIE( Service1 )
else
IFFACTORIE( Service2 )
@@ -64,8 +60,5 @@
COMPONENTGETIMPLEMENTATIONENVIRONMENT
-COMPONENTWRITEINFO ( COMPONENTINFO( ::framework::LoginDialog )
- )
-
COMPONENTGETFACTORY ( IFFACTORY( ::framework::LoginDialog )
)
diff --git a/framework/source/register/registerservices.cxx b/framework/source/register/registerservices.cxx
index 6e3fa878bbb1..4f078d9ab50d 100644
--- a/framework/source/register/registerservices.cxx
+++ b/framework/source/register/registerservices.cxx
@@ -47,10 +47,6 @@
COMPONENTGETIMPLEMENTATIONENVIRONMENT
- COMPONENTWRITEINFO ( COMPONENTINFO( Service1 )
- COMPONENTINFO( Service2 )
- )
-
COMPONENTGETFACTORY ( IFFACTORIE( Service1 )
else
IFFACTORIE( Service2 )
@@ -117,66 +113,6 @@
COMPONENTGETIMPLEMENTATIONENVIRONMENT
-COMPONENTWRITEINFO ( COMPONENTINFO( ::framework::URLTransformer )
- COMPONENTINFO( ::framework::Desktop )
- COMPONENTINFO( ::framework::Frame )
- //COMPONENTINFO( ::framework::Oxt_Handler )
- COMPONENTINFO( ::framework::JobExecutor )
- //COMPONENTINFO( ::framework::DispatchRecorderSupplier )
- //COMPONENTINFO( ::framework::DispatchRecorder )
- //COMPONENTINFO( ::framework::MailToDispatcher )
- //COMPONENTINFO( ::framework::ServiceHandler )
- COMPONENTINFO( ::framework::JobDispatch )
- COMPONENTINFO( ::framework::BackingComp )
- //COMPONENTINFO( ::framework::DispatchHelper )
- COMPONENTINFO( ::framework::LayoutManager )
- //COMPONENTINFO( ::framework::License )
- COMPONENTINFO( ::framework::UIElementFactoryManager )
- COMPONENTINFO( ::framework::PopupMenuControllerFactory )
- //COMPONENTINFO( ::framework::FontMenuController )
- //COMPONENTINFO( ::framework::FontSizeMenuController )
- COMPONENTINFO( ::framework::ObjectMenuController )
- //COMPONENTINFO( ::framework::HeaderMenuController )
- //COMPONENTINFO( ::framework::FooterMenuController )
- COMPONENTINFO( ::framework::ControlMenuController )
- //COMPONENTINFO( ::framework::MacrosMenuController )
- COMPONENTINFO( ::framework::UICommandDescription )
- COMPONENTINFO( ::framework::ModuleManager )
- COMPONENTINFO( ::framework::UIConfigurationManager )
- COMPONENTINFO( ::framework::ModuleUIConfigurationManagerSupplier )
- COMPONENTINFO( ::framework::ModuleUIConfigurationManager )
- COMPONENTINFO( ::framework::MenuBarFactory )
- COMPONENTINFO( ::framework::GlobalAcceleratorConfiguration )
- COMPONENTINFO( ::framework::ModuleAcceleratorConfiguration )
- COMPONENTINFO( ::framework::DocumentAcceleratorConfiguration )
- COMPONENTINFO( ::framework::ToolBoxFactory )
- COMPONENTINFO( ::framework::AddonsToolBoxFactory )
- COMPONENTINFO( ::framework::WindowStateConfiguration )
- COMPONENTINFO( ::framework::ToolbarControllerFactory )
- //COMPONENTINFO( ::framework::ToolbarsMenuController )
- COMPONENTINFO( ::framework::AutoRecovery )
- COMPONENTINFO( ::framework::StatusIndicatorFactory )
- COMPONENTINFO( ::framework::RecentFilesMenuController )
- COMPONENTINFO( ::framework::StatusBarFactory )
- COMPONENTINFO( ::framework::UICategoryDescription )
- COMPONENTINFO( ::framework::StatusbarControllerFactory )
- COMPONENTINFO( ::framework::SessionListener )
- //COMPONENTINFO( ::framework::LogoImageStatusbarController )
- //COMPONENTINFO( ::framework::LogoTextStatusbarController )
- //COMPONENTINFO( ::framework::NewMenuController )
- COMPONENTINFO( ::framework::TaskCreatorService )
- //COMPONENTINFO( ::framework::SimpleTextStatusbarController )
- //COMPONENTINFO( ::framework::UriAbbreviation )
- //COMPONENTINFO( ::framework::PopupMenuDispatcher )
- COMPONENTINFO( ::framework::ImageManager )
- COMPONENTINFO( ::framework::LangSelectionStatusbarController )
- //COMPONENTINFO( ::framework::LanguageSelectionMenuController )
- //COMPONENTINFO( ::framework::TabWindowService )
- COMPONENTINFO( ::framework::WindowContentFactoryManager )
- COMPONENTINFO( ::framework::SubstitutePathVariables )
- COMPONENTINFO( ::framework::PathSettings )
- )
-
COMPONENTGETFACTORY ( IFFACTORY( ::framework::URLTransformer ) else
IFFACTORY( ::framework::Desktop ) else
IFFACTORY( ::framework::Frame ) else
diff --git a/framework/source/register/registertemp.cxx b/framework/source/register/registertemp.cxx
index 7382380ef525..111b3550559d 100644
--- a/framework/source/register/registertemp.cxx
+++ b/framework/source/register/registertemp.cxx
@@ -47,10 +47,6 @@
COMPONENTGETIMPLEMENTATIONENVIRONMENT
- COMPONENTWRITEINFO ( COMPONENTINFO( Service1 )
- COMPONENTINFO( Service2 )
- )
-
COMPONENTGETFACTORY ( IFFACTORIE( Service1 )
else
IFFACTORIE( Service2 )
@@ -82,31 +78,6 @@
COMPONENTGETIMPLEMENTATIONENVIRONMENT
-COMPONENTWRITEINFO ( COMPONENTINFO( ::framework::MediaTypeDetectionHelper )
- COMPONENTINFO( ::framework::MailToDispatcher )
- COMPONENTINFO( ::framework::NewMenuController )
- COMPONENTINFO( ::framework::ToolbarsMenuController )
- COMPONENTINFO( ::framework::MacrosMenuController )
- COMPONENTINFO( ::framework::FontSizeMenuController )
- COMPONENTINFO( ::framework::HeaderMenuController )
- COMPONENTINFO( ::framework::FooterMenuController )
- COMPONENTINFO( ::framework::FontMenuController )
- COMPONENTINFO( ::framework::ServiceHandler )
- COMPONENTINFO( ::framework::LogoImageStatusbarController )
- COMPONENTINFO( ::framework::LogoTextStatusbarController )
- COMPONENTINFO( ::framework::SimpleTextStatusbarController )
- COMPONENTINFO( ::framework::UriAbbreviation )
- COMPONENTINFO( ::framework::LanguageSelectionMenuController )
- COMPONENTINFO( ::framework::PopupMenuDispatcher )
- COMPONENTINFO( ::framework::DispatchHelper )
- COMPONENTINFO( ::framework::TabWindowService )
- COMPONENTINFO( ::framework::DispatchRecorder )
- COMPONENTINFO( ::framework::DispatchRecorderSupplier )
- COMPONENTINFO( ::framework::Oxt_Handler )
- COMPONENTINFO( ::framework::License )
- COMPONENTINFO( ::framework::PopupMenuController )
- )
-
COMPONENTGETFACTORY ( IFFACTORY( ::framework::MediaTypeDetectionHelper )
IFFACTORY( ::framework::MailToDispatcher ) else
IFFACTORY( ::framework::ServiceHandler ) else
diff --git a/framework/util/fwk.component b/framework/util/fwk.component
new file mode 100644
index 000000000000..e6ceb91e8090
--- /dev/null
+++ b/framework/util/fwk.component
@@ -0,0 +1,142 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.frame.SessionListener">
+ <service name="com.sun.star.frame.SessionListener"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.AddonsToolBarFactory">
+ <service name="com.sun.star.ui.ToolBarFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.AutoRecovery">
+ <service name="com.sun.star.frame.AutoRecovery"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.BackingComp">
+ <service name="com.sun.star.frame.StartModule"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ControlMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.Desktop">
+ <service name="com.sun.star.frame.Desktop"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.DocumentAcceleratorConfiguration">
+ <service name="com.sun.star.ui.DocumentAcceleratorConfiguration"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.Frame">
+ <service name="com.sun.star.frame.Frame"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.GlobalAcceleratorConfiguration">
+ <service name="com.sun.star.ui.GlobalAcceleratorConfiguration"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ImageManager">
+ <service name="com.sun.star.ui.ImageManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.JobExecutor">
+ <service name="com.sun.star.task.JobExecutor"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.LangSelectionStatusbarController">
+ <service name="com.sun.star.frame.StatusbarController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.LayoutManager">
+ <service name="com.sun.star.frame.LayoutManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.MenuBarFactory">
+ <service name="com.sun.star.ui.UIElementFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ModuleAcceleratorConfiguration">
+ <service name="com.sun.star.ui.ModuleAcceleratorConfiguration"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ModuleManager">
+ <service name="com.sun.star.frame.ModuleManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ModuleUIConfigurationManager">
+ <service name="com.sun.star.ui.ModuleUIConfigurationManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ModuleUIConfigurationManagerSupplier">
+ <service name="com.sun.star.ui.ModuleUIConfigurationManagerSupplier"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ObjectMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.PathSettings">
+ <service name="com.sun.star.util.PathSettings"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.PathSubstitution">
+ <service name="com.sun.star.util.PathSubstitution"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.PopupMenuControllerFactory">
+ <service name="com.sun.star.frame.PopupMenuControllerFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.RecentFilesMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.StatusBarControllerFactory">
+ <service name="com.sun.star.frame.StatusbarControllerFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.StatusBarFactory">
+ <service name="com.sun.star.ui.StatusBarFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.StatusIndicatorFactory">
+ <service name="com.sun.star.task.StatusIndicatorFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.TaskCreator">
+ <service name="com.sun.star.frame.TaskCreator"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ToolBarControllerFactory">
+ <service name="com.sun.star.frame.ToolBarControllerFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ToolBarFactory">
+ <service name="com.sun.star.ui.ToolBarFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.UICategoryDescription">
+ <service name="com.sun.star.ui.UICategoryDescription"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.UICommandDescription">
+ <service name="com.sun.star.frame.UICommandDescription"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.UIConfigurationManager">
+ <service name="com.sun.star.ui.UIConfigurationManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.UIElementFactoryManager">
+ <service name="com.sun.star.ui.UIElementFactoryManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.URLTransformer">
+ <service name="com.sun.star.util.URLTransformer"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.WindowContentFactoryManager">
+ <service name="com.sun.star.ui.WindowContentFactoryManager"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.WindowStateConfiguration">
+ <service name="com.sun.star.ui.WindowStateConfiguration"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.jobs.JobDispatch">
+ <service name="com.sun.star.frame.ProtocolHandler"/>
+ </implementation>
+</component>
diff --git a/framework/util/fwl.component b/framework/util/fwl.component
new file mode 100644
index 000000000000..aa124d1cdc4b
--- /dev/null
+++ b/framework/util/fwl.component
@@ -0,0 +1,100 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sum.star.comp.framework.LanguageSelectionMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.DispatchRecorder">
+ <service name="com.sun.star.frame.DispatchRecorder"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.DispatchRecorderSupplier">
+ <service name="com.sun.star.frame.DispatchRecorderSupplier"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.FontMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.FontSizeMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.FooterMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.HeaderMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.License">
+ <service name="com.sun.star.task.Job"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.LogoImageStatusbarController">
+ <service name="com.sun.star.frame.StatusbarController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.LogoTextStatusbarController">
+ <service name="com.sun.star.frame.StatusbarController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.MacrosMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.MailToDispatcher">
+ <service name="com.sun.star.frame.ProtocolHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.MediaTypeDetectionHelper">
+ <service name="com.sun.star.frame.MediaTypeDetectionHelper"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.NewMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.OXTFileHandler">
+ <service name="com.sun.star.frame.ContentHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.PopupMenuController">
+ <service name="com.sun.star.frame.ToolbarController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.PopupMenuControllerDispatcher">
+ <service name="com.sun.star.frame.ProtocolHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ServiceHandler">
+ <service name="com.sun.star.frame.ProtocolHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.SimpleTextStatusbarController">
+ <service name="com.sun.star.frame.StatusbarController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.TabWindowService">
+ <service name="com.sun.star.ui.dialogs.TabContainerWindow"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ToolBarsMenuController">
+ <service name="com.sun.star.frame.PopupMenuController"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.UriAbbreviation">
+ <service name="com.sun.star.util.UriAbbreviation"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.services.DispatchHelper">
+ <service name="com.sun.star.frame.DispatchHelper"/>
+ </implementation>
+</component>
diff --git a/framework/util/fwm.component b/framework/util/fwm.component
new file mode 100644
index 000000000000..624249ff4382
--- /dev/null
+++ b/framework/util/fwm.component
@@ -0,0 +1,43 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.framework.HelpOnStartup">
+ <service name="com.sun.star.task.Job"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.ShellJob">
+ <service name="com.sun.star.task.Job"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.SystemExecute">
+ <service name="com.sun.star.frame.ProtocolHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.framework.TabWindowFactory">
+ <service name="com.sun.star.frame.TabWindowFactory"/>
+ </implementation>
+</component>
diff --git a/framework/util/makefile.mk b/framework/util/makefile.mk
index edc5f67ce60a..a3f14341d3f3 100644
--- a/framework/util/makefile.mk
+++ b/framework/util/makefile.mk
@@ -423,3 +423,23 @@ $(MISC)$/$(SHL2TARGET).flt: makefile.mk
@echo _TI2>>$@
@echo LIBMAIN>>$@
@echo LibMain>>$@
+
+ALLTAR : $(MISC)/fwk.component $(MISC)/fwl.component $(MISC)/fwm.component
+
+$(MISC)/fwk.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fwk.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL4TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fwk.component
+
+$(MISC)/fwl.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fwl.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL3TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fwl.component
+
+$(MISC)/fwm.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ fwm.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL5TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt fwm.component
diff --git a/linguistic/prj/d.lst b/linguistic/prj/d.lst
index 01a755e53cc6..0e0534feafd8 100644
--- a/linguistic/prj/d.lst
+++ b/linguistic/prj/d.lst
@@ -8,3 +8,4 @@
mkdir: %_DEST%\inc%_EXT%\linguistic
..\inc\*.hxx %_DEST%\inc%_EXT%\linguistic\*.hxx
+..\%__SRC%\misc\lng.component %_DEST%\xml%_EXT%\lng.component
diff --git a/linguistic/source/convdiclist.cxx b/linguistic/source/convdiclist.cxx
index 2916b2ee6eec..c842893d66f1 100644
--- a/linguistic/source/convdiclist.cxx
+++ b/linguistic/source/convdiclist.cxx
@@ -692,31 +692,6 @@ uno::Reference< uno::XInterface > SAL_CALL ConvDicList_CreateInstance(
return StaticConvDicList::get();
}
-
-sal_Bool SAL_CALL ConvDicList_writeInfo(
- void * /*pServiceManager*/, registry::XRegistryKey * pRegistryKey )
-{
- try
- {
- String aImpl( '/' );
- aImpl += ConvDicList::getImplementationName_Static().getStr();
- aImpl.AppendAscii( "/UNO/SERVICES" );
- uno::Reference< registry::XRegistryKey > xNewKey =
- pRegistryKey->createKey(aImpl );
- uno::Sequence< OUString > aServices =
- ConvDicList::getSupportedServiceNames_Static();
- for( INT32 i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i]);
-
- return sal_True;
- }
- catch(Exception &)
- {
- return sal_False;
- }
-}
-
-
void * SAL_CALL ConvDicList_getFactory(
const sal_Char * pImplName,
XMultiServiceFactory * pServiceManager, void * )
diff --git a/linguistic/source/dicimp.cxx b/linguistic/source/dicimp.cxx
index fe53bf344ac3..01c6838a4d3d 100755
--- a/linguistic/source/dicimp.cxx
+++ b/linguistic/source/dicimp.cxx
@@ -438,101 +438,48 @@ ULONG DictionaryNeo::saveEntries(const OUString &rURL)
return static_cast< ULONG >(-1);
SvStreamPtr pStream = SvStreamPtr( utl::UcbStreamHelper::CreateStream( xStream ) );
-
ULONG nErr = sal::static_int_cast< ULONG >(-1);
- rtl_TextEncoding eEnc = osl_getThreadTextEncoding();
- if (nDicVersion >= DIC_VERSION_6)
- eEnc = RTL_TEXTENCODING_UTF8;
-
- if (nDicVersion == DIC_VERSION_7)
+ //
+ // Always write as the latest version, i.e. DIC_VERSION_7
+ //
+ rtl_TextEncoding eEnc = RTL_TEXTENCODING_UTF8;
+ pStream->WriteLine(ByteString (pVerOOo7));
+ if (0 != (nErr = pStream->GetError()))
+ return nErr;
+ if (nLanguage == LANGUAGE_NONE)
+ pStream->WriteLine(ByteString("lang: <none>"));
+ else
{
- pStream->WriteLine(ByteString (pVerOOo7));
- if (0 != (nErr = pStream->GetError()))
- return nErr;
-
- if (nLanguage == LANGUAGE_NONE)
- pStream->WriteLine(ByteString("lang: <none>"));
- else
- {
- ByteString aLine("lang: ");
- aLine += ByteString( String( MsLangId::convertLanguageToIsoString( nLanguage ) ), eEnc);
- pStream->WriteLine( aLine );
- }
- if (0 != (nErr = pStream->GetError()))
- return nErr;
-
- if (eDicType == DictionaryType_POSITIVE)
- pStream->WriteLine(ByteString("type: positive"));
- else
- pStream->WriteLine(ByteString("type: negative"));
- if (0 != (nErr = pStream->GetError()))
- return nErr;
-
- pStream->WriteLine(ByteString("---"));
- if (0 != (nErr = pStream->GetError()))
- return nErr;
-
- const uno::Reference< XDictionaryEntry > *pEntry = aEntries.getConstArray();
- for (INT32 i = 0; i < nCount; i++)
- {
- ByteString aOutStr = formatForSave(pEntry[i], eEnc);
- pStream->WriteLine (aOutStr);
- if (0 != (nErr = pStream->GetError()))
- return nErr;
- }
+ ByteString aLine("lang: ");
+ aLine += ByteString( String( MsLangId::convertLanguageToIsoString( nLanguage ) ), eEnc);
+ pStream->WriteLine( aLine );
}
+ if (0 != (nErr = pStream->GetError()))
+ return nErr;
+ if (eDicType == DictionaryType_POSITIVE)
+ pStream->WriteLine(ByteString("type: positive"));
else
+ pStream->WriteLine(ByteString("type: negative"));
+ if (0 != (nErr = pStream->GetError()))
+ return nErr;
+ pStream->WriteLine(ByteString("---"));
+ if (0 != (nErr = pStream->GetError()))
+ return nErr;
+ const uno::Reference< XDictionaryEntry > *pEntry = aEntries.getConstArray();
+ for (INT32 i = 0; i < nCount; i++)
{
- sal_Char aWordBuf[BUFSIZE];
-
- // write version
- const sal_Char *pVerStr = NULL;
- if (DIC_VERSION_6 == nDicVersion)
- pVerStr = pVerStr6;
- else
- pVerStr = eDicType == DictionaryType_POSITIVE ? pVerStr2 : pVerStr5;
- strcpy( aWordBuf, pVerStr ); // #100211# - checked
- USHORT nLen = sal::static_int_cast< USHORT >(strlen( aWordBuf ));
- *pStream << nLen;
+ ByteString aOutStr = formatForSave(pEntry[i], eEnc);
+ pStream->WriteLine (aOutStr);
if (0 != (nErr = pStream->GetError()))
return nErr;
- pStream->Write(aWordBuf, nLen);
- if (0 != (nErr = pStream->GetError()))
- return nErr;
-
- *pStream << nLanguage;
- if (0 != (nErr = pStream->GetError()))
- return nErr;
- *pStream << (sal_Char) (eDicType == DictionaryType_NEGATIVE ? TRUE : FALSE);
- if (0 != (nErr = pStream->GetError()))
- return nErr;
-
- const uno::Reference< XDictionaryEntry > *pEntry = aEntries.getConstArray();
- for (INT32 i = 0; i < nCount; i++)
- {
- ByteString aOutStr = formatForSave(pEntry[i], eEnc);
-
- // the old format would fail (mis-calculation of nLen) and write
- // uninitialized junk for combined len >= BUFSIZE - we truncate
- // silently here, but BUFSIZE is large anyway.
- nLen = aOutStr.Len();
- if (nLen >= BUFSIZE)
- nLen = BUFSIZE - 1;
-
- *pStream << nLen;
- if (0 != (nErr = pStream->GetError()))
- return nErr;
- pStream->Write(aOutStr.GetBuffer(), nLen);
- if (0 != (nErr = pStream->GetError()))
- return nErr;
- }
}
- //! get return value before Stream is destroyed
- ULONG nError = pStream->GetError();
+ //If we are migrating from an older version, then on first successful
+ //write, we're now converted to the latest version, i.e. DIC_VERSION_7
+ nDicVersion = DIC_VERSION_7;
- return nError;
+ return nErr;
}
void DictionaryNeo::launchEvent(INT16 nEvent,
diff --git a/linguistic/source/dlistimp.cxx b/linguistic/source/dlistimp.cxx
index 817dbeb311ca..0e1a045bb98e 100644
--- a/linguistic/source/dlistimp.cxx
+++ b/linguistic/source/dlistimp.cxx
@@ -796,31 +796,6 @@ uno::Sequence< rtl::OUString > DicList::getSupportedServiceNames_Static() throw(
return aSNS;
}
-
-sal_Bool SAL_CALL DicList_writeInfo(
- void * /*pServiceManager*/, registry::XRegistryKey * pRegistryKey )
-{
- try
- {
- String aImpl( '/' );
- aImpl += DicList::getImplementationName_Static().getStr();
- aImpl.AppendAscii( "/UNO/SERVICES" );
- uno::Reference< registry::XRegistryKey > xNewKey =
- pRegistryKey->createKey(aImpl );
- uno::Sequence< rtl::OUString > aServices =
- DicList::getSupportedServiceNames_Static();
- for( INT32 i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i]);
-
- return sal_True;
- }
- catch(Exception &)
- {
- return sal_False;
- }
-}
-
-
void * SAL_CALL DicList_getFactory( const sal_Char * pImplName,
XMultiServiceFactory * pServiceManager, void * )
{
diff --git a/linguistic/source/gciterator.cxx b/linguistic/source/gciterator.cxx
index 6485e6e841b7..afcf1503bbe9 100644
--- a/linguistic/source/gciterator.cxx
+++ b/linguistic/source/gciterator.cxx
@@ -1333,27 +1333,3 @@ void * SAL_CALL GrammarCheckingIterator_getFactory(
}
return pRet;
}
-
-
-sal_Bool SAL_CALL GrammarCheckingIterator_writeInfo(
- void * /*pServiceManager*/,
- registry::XRegistryKey * pRegistryKey )
-{
- try
- {
- OUString aImpl( '/' );
- aImpl += GrammarCheckingIterator_getImplementationName().getStr();
- aImpl += A2OU( "/UNO/SERVICES" );
- uno::Reference< registry::XRegistryKey > xNewKey = pRegistryKey->createKey( aImpl );
- uno::Sequence< OUString > aServices = GrammarCheckingIterator_getSupportedServiceNames();
- for( sal_Int32 i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i] );
-
- return sal_True;
- }
- catch (uno::Exception &)
- {
- return sal_False;
- }
-}
-
diff --git a/linguistic/source/grammarchecker.cxx b/linguistic/source/grammarchecker.cxx
index 21e1b7a58a3c..57041b7c1e4a 100644
--- a/linguistic/source/grammarchecker.cxx
+++ b/linguistic/source/grammarchecker.cxx
@@ -276,27 +276,6 @@ OUString SAL_CALL GrammarChecker::getImplementationName( ) throw(uno::RuntimeEx
return getImplementationName_Static();
}
-sal_Bool SAL_CALL GrammarChecker_writeInfo( void * /*pServiceManager*/, registry::XRegistryKey * pRegistryKey )
-{
- try
- {
- String aImpl( '/' );
- aImpl += GrammarChecker::getImplementationName_Static().getStr();
- aImpl.AppendAscii( "/UNO/SERVICES" );
- uno::Reference< registry::XRegistryKey > xNewKey =
- pRegistryKey->createKey( aImpl );
- uno::Sequence< OUString > aServices = GrammarChecker::getSupportedServiceNames_Static();
- for( INT32 i = 0; i < aServices.getLength(); ++i )
- xNewKey->createKey( aServices.getConstArray()[i] );
-
- return sal_True;
- }
- catch(uno::Exception &)
- {
- return sal_False;
- }
-}
-
uno::Reference< uno::XInterface > SAL_CALL GrammarChecker_CreateInstance(
const uno::Reference< lang::XMultiServiceFactory > & /*rSMgr*/ )
throw(uno::Exception)
diff --git a/linguistic/source/lng.component b/linguistic/source/lng.component
new file mode 100644
index 000000000000..f4f3ca603a88
--- /dev/null
+++ b/linguistic/source/lng.component
@@ -0,0 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.lingu2.ConvDicList">
+ <service name="com.sun.star.linguistic2.ConversionDictionaryList"/>
+ </implementation>
+ <implementation name="com.sun.star.lingu2.DicList">
+ <service name="com.sun.star.linguistic2.DictionaryList"/>
+ </implementation>
+ <implementation name="com.sun.star.lingu2.LinguProps">
+ <service name="com.sun.star.linguistic2.LinguProperties"/>
+ </implementation>
+ <implementation name="com.sun.star.lingu2.LngSvcMgr">
+ <service name="com.sun.star.linguistic2.LinguServiceManager"/>
+ </implementation>
+ <implementation name="com.sun.star.lingu2.ProofreadingIterator">
+ <service name="com.sun.star.linguistic2.ProofreadingIterator"/>
+ </implementation>
+</component>
diff --git a/linguistic/source/lngopt.cxx b/linguistic/source/lngopt.cxx
index 77a1fcbd57b0..9cefa6179316 100644
--- a/linguistic/source/lngopt.cxx
+++ b/linguistic/source/lngopt.cxx
@@ -665,29 +665,6 @@ uno::Sequence< OUString > LinguProps::getSupportedServiceNames_Static()
return aSNS;
}
-
-sal_Bool SAL_CALL LinguProps_writeInfo( void * /*pServiceManager*/,
- XRegistryKey * pRegistryKey )
-{
- try
- {
- String aImpl( '/' );
- aImpl += LinguProps::getImplementationName_Static().getStr();
- aImpl.AppendAscii( "/UNO/SERVICES" );
- Reference< XRegistryKey > xNewKey =
- pRegistryKey->createKey(aImpl );
- uno::Sequence< OUString > aServices = LinguProps::getSupportedServiceNames_Static();
- for( INT32 i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i]);
-
- return sal_True;
- }
- catch(Exception &)
- {
- return sal_False;
- }
-}
-
void * SAL_CALL LinguProps_getFactory( const sal_Char * pImplName,
XMultiServiceFactory *pServiceManager, void * )
{
diff --git a/linguistic/source/lngreg.cxx b/linguistic/source/lngreg.cxx
index 6ab3db60d268..0f6add07b466 100644
--- a/linguistic/source/lngreg.cxx
+++ b/linguistic/source/lngreg.cxx
@@ -38,42 +38,6 @@ using namespace com::sun::star::lang;
using namespace com::sun::star::registry;
-////////////////////////////////////////
-// declaration of external RegEntry-functions defined by the service objects
-//
-
-extern sal_Bool SAL_CALL LngSvcMgr_writeInfo
-(
- void * /*pServiceManager*/,
- XRegistryKey * pRegistryKey
-);
-
-extern sal_Bool SAL_CALL DicList_writeInfo
-(
- void * /*pServiceManager*/, XRegistryKey * pRegistryKey
-);
-
-extern sal_Bool SAL_CALL LinguProps_writeInfo
-(
- void * /*pServiceManager*/,
- XRegistryKey * pRegistryKey
-);
-
-extern sal_Bool SAL_CALL ConvDicList_writeInfo
-(
- void * /*pServiceManager*/, XRegistryKey * pRegistryKey
-);
-
-extern sal_Bool SAL_CALL GrammarCheckingIterator_writeInfo
-(
- void * /*pServiceManager*/, XRegistryKey * pRegistryKey
-);
-
-//extern sal_Bool SAL_CALL GrammarChecker_writeInfo
-//(
-// void * /*pServiceManager*/, XRegistryKey * pRegistryKey
-//);
-
extern void * SAL_CALL LngSvcMgr_getFactory
(
const sal_Char * pImplName,
@@ -129,28 +93,6 @@ void SAL_CALL component_getImplementationEnvironment(
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
-sal_Bool SAL_CALL component_writeInfo
-(
- void * pServiceManager,
- XRegistryKey * pRegistryKey
-)
-{
- sal_Bool bRet = LngSvcMgr_writeInfo( pServiceManager, pRegistryKey );
- if(bRet)
- bRet = LinguProps_writeInfo( pServiceManager, pRegistryKey );
- if(bRet)
- bRet = DicList_writeInfo( pServiceManager, pRegistryKey );
- if(bRet)
- bRet = ConvDicList_writeInfo( pServiceManager, pRegistryKey );
- if(bRet)
- bRet = GrammarCheckingIterator_writeInfo( pServiceManager, pRegistryKey );
-/*
- if(bRet)
- bRet = GrammarChecker_writeInfo( pServiceManager, pRegistryKey );
-*/
- return bRet;
-}
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
{
diff --git a/linguistic/source/lngsvcmgr.cxx b/linguistic/source/lngsvcmgr.cxx
index 90e433f50f07..9a9f680b4ea2 100644
--- a/linguistic/source/lngsvcmgr.cxx
+++ b/linguistic/source/lngsvcmgr.cxx
@@ -45,6 +45,8 @@
#include <cppuhelper/extract.hxx>
#include <rtl/logfile.hxx>
+#include <boost/checked_delete.hpp>
+
#include "lngsvcmgr.hxx"
#include "lngopt.hxx"
#include "misc.hxx"
@@ -605,6 +607,14 @@ LngSvcMgr::LngSvcMgr() :
EnableNotification( aNames );
}
+void LngSvcMgr::clearSvcInfoArray(SvcInfoArray* pInfo)
+{
+ if (pInfo)
+ {
+ std::for_each(pInfo->begin(), pInfo->end(), boost::checked_deleter<SvcInfo>());
+ delete pInfo;
+ }
+}
LngSvcMgr::~LngSvcMgr()
{
@@ -612,10 +622,10 @@ LngSvcMgr::~LngSvcMgr()
// will be freed in the destructor of the respective Reference's
// xSpellDsp, xGrammarDsp, xHyphDsp, xThesDsp
- delete pAvailSpellSvcs;
- delete pAvailGrammarSvcs;
- delete pAvailHyphSvcs;
- delete pAvailThesSvcs;
+ clearSvcInfoArray(pAvailSpellSvcs);
+ clearSvcInfoArray(pAvailGrammarSvcs);
+ clearSvcInfoArray(pAvailHyphSvcs);
+ clearSvcInfoArray(pAvailThesSvcs);
}
@@ -652,7 +662,7 @@ void LngSvcMgr::Notify( const uno::Sequence< OUString > &rPropertyNames )
if (0 == rName.compareTo( aSpellCheckerList, aSpellCheckerList.getLength() ))
{
// delete old cached data, needs to be acquired new on demand
- delete pAvailSpellSvcs; pAvailSpellSvcs = 0;
+ clearSvcInfoArray(pAvailSpellSvcs); pAvailSpellSvcs = 0;
OUString aNode( aSpellCheckerList );
if (lcl_SeqHasString( aSpellCheckerListEntries, aKeyText ))
@@ -677,7 +687,7 @@ void LngSvcMgr::Notify( const uno::Sequence< OUString > &rPropertyNames )
else if (0 == rName.compareTo( aGrammarCheckerList, aGrammarCheckerList.getLength() ))
{
// delete old cached data, needs to be acquired new on demand
- delete pAvailGrammarSvcs; pAvailGrammarSvcs = 0;
+ clearSvcInfoArray(pAvailGrammarSvcs); pAvailGrammarSvcs = 0;
OUString aNode( aGrammarCheckerList );
if (lcl_SeqHasString( aGrammarCheckerListEntries, aKeyText ))
@@ -705,7 +715,7 @@ void LngSvcMgr::Notify( const uno::Sequence< OUString > &rPropertyNames )
else if (0 == rName.compareTo( aHyphenatorList, aHyphenatorList.getLength() ))
{
// delete old cached data, needs to be acquired new on demand
- delete pAvailHyphSvcs; pAvailHyphSvcs = 0;
+ clearSvcInfoArray(pAvailHyphSvcs); pAvailHyphSvcs = 0;
OUString aNode( aHyphenatorList );
if (lcl_SeqHasString( aHyphenatorListEntries, aKeyText ))
@@ -730,7 +740,7 @@ void LngSvcMgr::Notify( const uno::Sequence< OUString > &rPropertyNames )
else if (0 == rName.compareTo( aThesaurusList, aThesaurusList.getLength() ))
{
// delete old cached data, needs to be acquired new on demand
- delete pAvailThesSvcs; pAvailThesSvcs = 0;
+ clearSvcInfoArray(pAvailThesSvcs); pAvailThesSvcs = 0;
OUString aNode( aThesaurusList );
if (lcl_SeqHasString( aThesaurusListEntries, aKeyText ))
@@ -1402,7 +1412,7 @@ uno::Sequence< OUString > SAL_CALL
{
// don't used cached data here (force re-evaluation in order to have downloaded dictionaries
// already found without the need to restart the office
- delete pAvailSpellSvcs; pAvailSpellSvcs = 0;
+ clearSvcInfoArray(pAvailSpellSvcs); pAvailSpellSvcs = 0;
GetAvailableSpellSvcs_Impl();
pInfoArray = pAvailSpellSvcs;
}
@@ -1410,7 +1420,7 @@ uno::Sequence< OUString > SAL_CALL
{
// don't used cached data here (force re-evaluation in order to have downloaded dictionaries
// already found without the need to restart the office
- delete pAvailGrammarSvcs; pAvailGrammarSvcs = 0;
+ clearSvcInfoArray(pAvailGrammarSvcs); pAvailGrammarSvcs = 0;
GetAvailableGrammarSvcs_Impl();
pInfoArray = pAvailGrammarSvcs;
}
@@ -1418,7 +1428,7 @@ uno::Sequence< OUString > SAL_CALL
{
// don't used cached data here (force re-evaluation in order to have downloaded dictionaries
// already found without the need to restart the office
- delete pAvailHyphSvcs; pAvailHyphSvcs = 0;
+ clearSvcInfoArray(pAvailHyphSvcs); pAvailHyphSvcs = 0;
GetAvailableHyphSvcs_Impl();
pInfoArray = pAvailHyphSvcs;
}
@@ -1426,7 +1436,7 @@ uno::Sequence< OUString > SAL_CALL
{
// don't used cached data here (force re-evaluation in order to have downloaded dictionaries
// already found without the need to restart the office
- delete pAvailThesSvcs; pAvailThesSvcs = 0;
+ clearSvcInfoArray(pAvailThesSvcs); pAvailThesSvcs = 0;
GetAvailableThesSvcs_Impl();
pInfoArray = pAvailThesSvcs;
}
@@ -1990,31 +2000,6 @@ uno::Reference< uno::XInterface > SAL_CALL LngSvcMgr_CreateInstance(
return xService;
}
-
-
-sal_Bool SAL_CALL LngSvcMgr_writeInfo(
- void * /*pServiceManager*/,
- registry::XRegistryKey * pRegistryKey )
-{
- try
- {
- String aImpl( '/' );
- aImpl += LngSvcMgr::getImplementationName_Static().getStr();
- aImpl.AppendAscii( "/UNO/SERVICES" );
- uno::Reference< registry::XRegistryKey > xNewKey =
- pRegistryKey->createKey( aImpl );
- uno::Sequence< OUString > aServices = LngSvcMgr::getSupportedServiceNames_Static();
- for( INT32 i = 0; i < aServices.getLength(); i++ )
- xNewKey->createKey( aServices.getConstArray()[i] );
-
- return sal_True;
- }
- catch(uno::Exception &)
- {
- return sal_False;
- }
-}
-
void * SAL_CALL LngSvcMgr_getFactory(
const sal_Char * pImplName,
lang::XMultiServiceFactory * pServiceManager,
diff --git a/linguistic/source/lngsvcmgr.hxx b/linguistic/source/lngsvcmgr.hxx
index 953e531960bf..bb6f6cf93732 100644
--- a/linguistic/source/lngsvcmgr.hxx
+++ b/linguistic/source/lngsvcmgr.hxx
@@ -143,6 +143,8 @@ class LngSvcMgr :
void SetAvailableCfgServiceLists( LinguDispatcher &rDispatcher,
const SvcInfoArray &rAvailSvcs );
+ static void clearSvcInfoArray(SvcInfoArray *pInfo);
+
// utl::ConfigItem (to allow for listening of changes of relevant properties)
virtual void Notify( const com::sun::star::uno::Sequence< rtl::OUString > &rPropertyNames );
virtual void Commit();
diff --git a/linguistic/source/makefile.mk b/linguistic/source/makefile.mk
index 3f68afb30575..9bbd456ce89d 100644
--- a/linguistic/source/makefile.mk
+++ b/linguistic/source/makefile.mk
@@ -91,9 +91,8 @@ DEF1DES =Linguistic main DLL
.IF "$(GUI)"=="WNT"
-DEF1EXPORT1 = component_writeInfo
-DEF1EXPORT2 = component_getFactory
-DEF1EXPORT3 = component_getImplementationEnvironment
+DEF1EXPORT1 = component_getFactory
+DEF1EXPORT2 = component_getImplementationEnvironment
.ENDIF
# --- Targets ------------------------------------------------------
@@ -109,3 +108,11 @@ $(MISC)$/$(SHL1TARGET).flt: makefile.mk
@echo component >> $@
@echo __CT >> $@
+
+ALLTAR : $(MISC)/lng.component
+
+$(MISC)/lng.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ lng.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt lng.component
diff --git a/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu b/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu
index 7570fda066ca..4ed9be5a3d27 100644..100755
--- a/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu
+++ b/officecfg/registry/data/org/openoffice/Office/UI/MathCommands.xcu
@@ -38,7 +38,7 @@
<value xml:lang="en-US">~Text Mode</value>
</prop>
</node>
- <node oor:name=".uno:InsertFormula" oor:op="replace">
+ <node oor:name=".uno:ImportFormula" oor:op="replace">
<prop oor:name="Label" oor:type="xs:string">
<value xml:lang="en-US">~Import Formula...</value>
</prop>
diff --git a/scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java b/scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java
index c90e58881835..242c800b48db 100644
--- a/scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java
+++ b/scripting/java/Framework/com/sun/star/script/framework/security/SecurityDialog.java
@@ -215,11 +215,6 @@ XInitialization {
return xSingleServiceFactory;
}
- public static boolean __writeRegistryServiceInfo( XRegistryKey regKey ) {
- return FactoryHelper.writeRegistryServiceInfo(
- SecurityDialog.class.getName(), SecurityDialog.__serviceName, regKey );
- }
-
// XServiceInfo
public String getImplementationName( ) {
return getClass().getName();
diff --git a/scripting/java/ScriptFramework.component b/scripting/java/ScriptFramework.component
new file mode 100644
index 000000000000..d6f9a8f62bf4
--- /dev/null
+++ b/scripting/java/ScriptFramework.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Java2"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.script.framework.security.SecurityDialog">
+ <service name="com.sun.star.script.framework.security.SecurityDialog"/>
+ </implementation>
+</component>
diff --git a/scripting/java/ScriptProviderForBeanShell.component b/scripting/java/ScriptProviderForBeanShell.component
new file mode 100644
index 000000000000..fe040d71d90d
--- /dev/null
+++ b/scripting/java/ScriptProviderForBeanShell.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Java2"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.script.framework.provider.beanshell.ScriptProviderForBeanShell$_ScriptProviderForBeanShell">
+ <service name="com.sun.star.script.browse.BrowseNode"/>
+ <service name="com.sun.star.script.provider.LanguageScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProviderForBeanShell"/>
+ </implementation>
+</component>
diff --git a/scripting/java/ScriptProviderForJava.component b/scripting/java/ScriptProviderForJava.component
new file mode 100644
index 000000000000..4ea6ea8a1086
--- /dev/null
+++ b/scripting/java/ScriptProviderForJava.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Java2"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.script.framework.provider.java.ScriptProviderForJava$_ScriptProviderForJava">
+ <service name="com.sun.star.script.browse.BrowseNode"/>
+ <service name="com.sun.star.script.provider.LanguageScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProviderForJava"/>
+ </implementation>
+</component>
diff --git a/scripting/java/ScriptProviderForJavaScript.component b/scripting/java/ScriptProviderForJavaScript.component
new file mode 100644
index 000000000000..e9725d865983
--- /dev/null
+++ b/scripting/java/ScriptProviderForJavaScript.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Java2"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.script.framework.provider.javascript.ScriptProviderForJavaScript$_ScriptProviderForJavaScript">
+ <service name="com.sun.star.script.browse.BrowseNode"/>
+ <service name="com.sun.star.script.provider.LanguageScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProviderForJavaScript"/>
+ </implementation>
+</component>
diff --git a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java
index d3a0fdf3bc82..95c727881427 100755
--- a/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java
+++ b/scripting/java/com/sun/star/script/framework/provider/beanshell/ScriptProviderForBeanShell.java
@@ -123,41 +123,6 @@ public class ScriptProviderForBeanShell
return xSingleServiceFactory;
}
-
-
- /**
- * Writes the service information into the given registry key.
- * This method is called by the <code>JavaLoader</code>
- * <p>
- *
- * @param regKey the registryKey
- * @return returns true if the operation succeeded
- * @see com.sun.star.comp.loader.JavaLoader
- */
- public static boolean __writeRegistryServiceInfo( XRegistryKey regKey )
- {
- String impl = "com.sun.star.script.framework.provider.beanshell." +
- "ScriptProviderForBeanShell$_ScriptProviderForBeanShell";
-
- String service1 = "com.sun.star.script.provider." +
- "ScriptProvider";
- String service2 = "com.sun.star.script.provider." +
- "LanguageScriptProvider";
- String service3 = "com.sun.star.script.provider." +
- "ScriptProviderForBeanShell";
- String service4 = "com.sun.star.script.browse." +
- "BrowseNode";
-
- if ( FactoryHelper.writeRegistryServiceInfo(impl, service1, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service2, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service3, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service4, regKey) )
- {
- return true;
- }
- return false;
- }
-
}
class ScriptImpl implements XScript
diff --git a/scripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java b/scripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java
index f4160531c9db..707ea05624d9 100755
--- a/scripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java
+++ b/scripting/java/com/sun/star/script/framework/provider/java/ScriptProviderForJava.java
@@ -134,41 +134,6 @@ public class ScriptProviderForJava
return xSingleServiceFactory;
}
-
-
- /**
- * Writes the service information into the given registry key.
- * This method is called by the <code>JavaLoader</code>
- * <p>
- *
- * @param regKey the registryKey
- * @return returns true if the operation succeeded
- * @see com.sun.star.comp.loader.JavaLoader
- */
- public static boolean __writeRegistryServiceInfo( XRegistryKey regKey )
- {
- String impl = "com.sun.star.script.framework.provider.java." +
- "ScriptProviderForJava$_ScriptProviderForJava";
-
- String service1 = "com.sun.star.script.provider." +
- "ScriptProvider";
- String service2 = "com.sun.star.script.provider." +
- "LanguageScriptProvider";
- String service3 = "com.sun.star.script.provider." +
- "ScriptProviderForJava";
- String service4 = "com.sun.star.script.browse." +
- "BrowseNode";
-
- if ( FactoryHelper.writeRegistryServiceInfo(impl, service1, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service2, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service3, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service4, regKey) )
- {
- return true;
- }
- return false;
- }
-
}
class ScriptImpl implements XScript
diff --git a/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java b/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java
index c053b4166063..9f04d9105374 100755
--- a/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java
+++ b/scripting/java/com/sun/star/script/framework/provider/javascript/ScriptProviderForJavaScript.java
@@ -124,40 +124,6 @@ public class ScriptProviderForJavaScript
return xSingleServiceFactory;
}
-
-
- /**
- * Writes the service information into the given registry key.
- * This method is called by the <code>JavaLoader</code>
- * <p>
- *
- * @param regKey the registryKey
- * @return returns true if the operation succeeded
- * @see com.sun.star.comp.loader.JavaLoader
- */
- public static boolean __writeRegistryServiceInfo( XRegistryKey regKey )
- {
- String impl = "com.sun.star.script.framework.provider.javascript." +
- "ScriptProviderForJavaScript$_ScriptProviderForJavaScript";
-
- String service1 = "com.sun.star.script.provider." +
- "ScriptProvider";
- String service2 = "com.sun.star.script.provider." +
- "LanguageScriptProvider";
- String service3 = "com.sun.star.script.provider." +
- "ScriptProviderForJavaScript";
- String service4 = "com.sun.star.script.browse." +
- "BrowseNode";
-
- if ( FactoryHelper.writeRegistryServiceInfo(impl, service1, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service2, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service3, regKey) &&
- FactoryHelper.writeRegistryServiceInfo(impl, service4, regKey) )
- {
- return true;
- }
- return false;
- }
}
class ScriptImpl implements XScript
{
diff --git a/scripting/java/makefile.mk b/scripting/java/makefile.mk
index 6a5a81bf978c..dc8ee1abdc46 100755
--- a/scripting/java/makefile.mk
+++ b/scripting/java/makefile.mk
@@ -36,3 +36,37 @@ TARGET=scriptruntimeforjava
ALLTAR : ANTBUILD
.ENDIF
.ENDIF
+
+ALLTAR : \
+ $(MISC)/ScriptFramework.component \
+ $(MISC)/ScriptProviderForBeanShell.component \
+ $(MISC)/ScriptProviderForJava.component \
+ $(MISC)/ScriptProviderForJavaScript.component
+
+$(MISC)/ScriptFramework.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt ScriptFramework.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_JAVA)ScriptFramework.jar' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ScriptFramework.component
+
+$(MISC)/ScriptProviderForBeanShell.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt \
+ ScriptProviderForBeanShell.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_JAVA)ScriptProviderForBeanShell.jar' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt \
+ ScriptProviderForBeanShell.component
+
+$(MISC)/ScriptProviderForJava.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt ScriptProviderForJava.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_JAVA)ScriptProviderForJava.jar' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt ScriptProviderForJava.component
+
+$(MISC)/ScriptProviderForJavaScript.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt \
+ ScriptProviderForJavaScript.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_JAVA)ScriptProviderForJavaScript.jar' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt \
+ ScriptProviderForJavaScript.component
diff --git a/scripting/prj/d.lst b/scripting/prj/d.lst
index ef216fe84f8a..4b9d435af7a0 100644
--- a/scripting/prj/d.lst
+++ b/scripting/prj/d.lst
@@ -15,3 +15,15 @@ mkdir: %_DEST%\bin%_EXT%\pyuno
..\source\storage\storage.xml %_DEST%\xml%_EXT%\storage.xml
..\%__SRC%\lib\lib*static*.dylib %_DEST%\lib%_EXT%\lib*static*.dylib
+..\%__SRC%\misc\mailmerge.component %_DEST%\xml%_EXT%\mailmerge.component
+..\%__SRC%\misc\pythonscript.component %_DEST%\xml%_EXT%\pythonscript.component
+..\%__SRC%\misc\ScriptFramework.component %_DEST%\xml%_EXT%\ScriptFramework.component
+..\%__SRC%\misc\ScriptProviderForBeanShell.component %_DEST%\xml%_EXT%\ScriptProviderForBeanShell.component
+..\%__SRC%\misc\ScriptProviderForJava.component %_DEST%\xml%_EXT%\ScriptProviderForJava.component
+..\%__SRC%\misc\ScriptProviderForJavaScript.component %_DEST%\xml%_EXT%\ScriptProviderForJavaScript.component
+..\%__SRC%\misc\basprov.component %_DEST%\xml%_EXT%\basprov.component
+..\%__SRC%\misc\dlgprov.component %_DEST%\xml%_EXT%\dlgprov.component
+..\%__SRC%\misc\protocolhandler.component %_DEST%\xml%_EXT%\protocolhandler.component
+..\%__SRC%\misc\scriptframe.component %_DEST%\xml%_EXT%\scriptframe.component
+..\%__SRC%\misc\stringresource.component %_DEST%\xml%_EXT%\stringresource.component
+..\%__SRC%\misc\vbaevents.component %_DEST%\xml%_EXT%\vbaevents.component
diff --git a/scripting/source/basprov/basprov.component b/scripting/source/basprov/basprov.component
new file mode 100644
index 000000000000..528ab6544e1e
--- /dev/null
+++ b/scripting/source/basprov/basprov.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.scripting.ScriptProviderForBasic">
+ <service name="com.sun.star.script.browse.BrowseNode"/>
+ <service name="com.sun.star.script.provider.LanguageScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProviderForBasic"/>
+ </implementation>
+</component>
diff --git a/scripting/source/basprov/basprov.cxx b/scripting/source/basprov/basprov.cxx
index 69cc6f40cd3d..ed6c9d7e6a5b 100644
--- a/scripting/source/basprov/basprov.cxx
+++ b/scripting/source/basprov/basprov.cxx
@@ -589,13 +589,6 @@ extern "C"
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
- SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
- {
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, ::basprov::s_component_entries );
- }
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, lang::XMultiServiceFactory * pServiceManager,
registry::XRegistryKey * pRegistryKey )
diff --git a/scripting/source/basprov/makefile.mk b/scripting/source/basprov/makefile.mk
index 5001e5db288e..c98f961e6bd3 100644
--- a/scripting/source/basprov/makefile.mk
+++ b/scripting/source/basprov/makefile.mk
@@ -71,3 +71,11 @@ SHL1LIBS=$(SLB)$/$(TARGET).lib
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/basprov.component
+
+$(MISC)/basprov.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ basprov.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt basprov.component
diff --git a/scripting/source/dlgprov/dlgprov.component b/scripting/source/dlgprov/dlgprov.component
new file mode 100644
index 000000000000..f7ceed336cf6
--- /dev/null
+++ b/scripting/source/dlgprov/dlgprov.component
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.scripting.DialogProvider">
+ <service name="com.sun.star.awt.ContainerWindowProvider"/>
+ <service name="com.sun.star.awt.DialogProvider"/>
+ <service name="com.sun.star.awt.DialogProvider2"/>
+ </implementation>
+</component>
diff --git a/scripting/source/dlgprov/dlgprov.cxx b/scripting/source/dlgprov/dlgprov.cxx
index 0fc0778c71d9..ffa128381d39 100644
--- a/scripting/source/dlgprov/dlgprov.cxx
+++ b/scripting/source/dlgprov/dlgprov.cxx
@@ -853,13 +853,6 @@ extern "C"
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
- sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
- {
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, ::dlgprov::s_component_entries );
- }
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, lang::XMultiServiceFactory * pServiceManager,
registry::XRegistryKey * pRegistryKey )
diff --git a/scripting/source/dlgprov/makefile.mk b/scripting/source/dlgprov/makefile.mk
index 6c8ec298c760..111dca58edc2 100644
--- a/scripting/source/dlgprov/makefile.mk
+++ b/scripting/source/dlgprov/makefile.mk
@@ -80,3 +80,11 @@ $(MISC)$/$(TARGET).don : $(SOLARBINDIR)$/oovbaapi.rdb
+$(CPPUMAKER) -O$(INCCOM)$/$(TARGET) -BUCR $(SOLARBINDIR)$/oovbaapi.rdb -X$(SOLARBINDIR)$/types.rdb && echo > $@
echo $@
+
+ALLTAR : $(MISC)/dlgprov.component
+
+$(MISC)/dlgprov.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ dlgprov.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt dlgprov.component
diff --git a/scripting/source/protocolhandler/exports.dxp b/scripting/source/protocolhandler/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/scripting/source/protocolhandler/exports.dxp
+++ b/scripting/source/protocolhandler/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/scripting/source/protocolhandler/makefile.mk b/scripting/source/protocolhandler/makefile.mk
index c782c1a188f5..ec69c00b209d 100644
--- a/scripting/source/protocolhandler/makefile.mk
+++ b/scripting/source/protocolhandler/makefile.mk
@@ -61,3 +61,11 @@ DEF1EXPORTFILE= exports.dxp
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/protocolhandler.component
+
+$(MISC)/protocolhandler.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt protocolhandler.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt protocolhandler.component
diff --git a/scripting/source/protocolhandler/protocolhandler.component b/scripting/source/protocolhandler/protocolhandler.component
new file mode 100644
index 000000000000..db177a896ca4
--- /dev/null
+++ b/scripting/source/protocolhandler/protocolhandler.component
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.ScriptProtocolHandler">
+ <service name="com.sun.star.frame.ProtocolHandler"/>
+ </implementation>
+</component>
diff --git a/scripting/source/protocolhandler/scripthandler.cxx b/scripting/source/protocolhandler/scripthandler.cxx
index 1e6adb6e7804..4e81426d7d53 100644
--- a/scripting/source/protocolhandler/scripthandler.cxx
+++ b/scripting/source/protocolhandler/scripthandler.cxx
@@ -537,27 +537,6 @@ extern "C"
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
}
- sal_Bool SAL_CALL component_writeInfo( void * pServiceManager ,
- void * pRegistryKey )
- {
- (void)pServiceManager;
-
- Reference< css::registry::XRegistryKey > xKey(
- reinterpret_cast< css::registry::XRegistryKey* >( pRegistryKey ) ) ;
-
- ::rtl::OUString aStr = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
- aStr +=
- ::scripting_protocolhandler::ScriptProtocolHandler::impl_getStaticImplementationName();
-
- aStr += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/UNO/SERVICES" ) );
- Reference< css::registry::XRegistryKey > xNewKey = xKey->createKey( aStr );
- xNewKey->createKey(
- ::rtl::OUString::createFromAscii( ::scripting_protocolhandler::MYSERVICENAME )
- );
-
- return sal_True;
- }
-
void* SAL_CALL component_getFactory( const sal_Char * pImplementationName ,
void * pServiceManager ,
void * pRegistryKey )
diff --git a/scripting/source/provider/MasterScriptProvider.cxx b/scripting/source/provider/MasterScriptProvider.cxx
index dbade7172e6e..94ea78f80c73 100755
--- a/scripting/source/provider/MasterScriptProvider.cxx
+++ b/scripting/source/provider/MasterScriptProvider.cxx
@@ -982,42 +982,6 @@ extern "C"
}
/**
- * This function creates an implementation section in the registry and another subkey
- *
- * for each supported service.
- * @param pServiceManager the service manager
- * @param pRegistryKey the registry key
- */
- SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager,
- registry::XRegistryKey * pRegistryKey )
- {
- if (::cppu::component_writeInfoHelper( pServiceManager, pRegistryKey,
- ::scripting_runtimemgr::s_entries ))
- {
- try
- {
- // MasterScriptProviderFactory Mangager singleton
- registry::XRegistryKey * pKey =
- reinterpret_cast< registry::XRegistryKey * >(pRegistryKey);
-
- Reference< registry::XRegistryKey >xKey = pKey->createKey(
- OUSTR("com.sun.star.script.provider.MasterScriptProviderFactory/UNO/SINGLETONS/com.sun.star.script.provider.theMasterScriptProviderFactory"));
- xKey->setStringValue( OUSTR("com.sun.star.script.provider.MasterScriptProviderFactory") );
- // BrowseNodeFactory Mangager singleton
- xKey = pKey->createKey(
- OUSTR("com.sun.star.script.browse.BrowseNodeFactory/UNO/SINGLETONS/com.sun.star.script.browse.theBrowseNodeFactory"));
- xKey->setStringValue( OUSTR("com.sun.star.script.browse.BrowseNodeFactory") );
- return sal_True;
- }
- catch (Exception &)
- {
- }
- }
- return sal_False;
- }
-
- /**
* This function is called to get service factories for an implementation.
*
* @param pImplName name of implementation
diff --git a/scripting/source/provider/exports.dxp b/scripting/source/provider/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/scripting/source/provider/exports.dxp
+++ b/scripting/source/provider/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/scripting/source/pyprov/mailmerge.component b/scripting/source/pyprov/mailmerge.component
new file mode 100644
index 000000000000..dd6a65e9a1ce
--- /dev/null
+++ b/scripting/source/pyprov/mailmerge.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Python"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="org.openoffice.pyuno.MailMessage">
+ <service name="com.sun.star.mail.MailMessage"/>
+ </implementation>
+ <implementation name="org.openoffice.pyuno.MailServiceProvider">
+ <service name="com.sun.star.mail.MailServiceProvider"/>
+ </implementation>
+</component>
diff --git a/scripting/source/pyprov/makefile.mk b/scripting/source/pyprov/makefile.mk
index 3c0278595181..42c161adbbc8 100644
--- a/scripting/source/pyprov/makefile.mk
+++ b/scripting/source/pyprov/makefile.mk
@@ -47,3 +47,17 @@ $(DLLDEST)$/%.py: %.py
cp $? $@
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/mailmerge.component $(MISC)/pythonscript.component
+
+$(MISC)/mailmerge.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ mailmerge.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_PYTHON)mailmerge' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt mailmerge.component
+
+$(MISC)/pythonscript.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt pythonscript.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_PYTHON)pythonscript' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt pythonscript.component
diff --git a/scripting/source/pyprov/pythonscript.component b/scripting/source/pyprov/pythonscript.component
new file mode 100644
index 000000000000..08f895097203
--- /dev/null
+++ b/scripting/source/pyprov/pythonscript.component
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.Python"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="org.openoffice.pyuno.LanguageScriptProviderForPython">
+ <service name="com.sun.star.script.provider.LanguageScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProviderForPython"/>
+ </implementation>
+</component>
diff --git a/scripting/source/runtimemgr/ScriptRuntimeManager.cxx b/scripting/source/runtimemgr/ScriptRuntimeManager.cxx
index 48f21367e762..4780d58acc88 100755
--- a/scripting/source/runtimemgr/ScriptRuntimeManager.cxx
+++ b/scripting/source/runtimemgr/ScriptRuntimeManager.cxx
@@ -486,68 +486,6 @@ extern "C"
}
/**
- * This function creates an implementation section in the registry and another subkey
- *
- * for each supported service.
- * @param pServiceManager the service manager
- * @param pRegistryKey the registry key
- */
- sal_Bool SAL_CALL component_writeInfo( lang::XMultiServiceFactory * pServiceManager,
- registry::XRegistryKey * pRegistryKey )
- {
- if (::cppu::component_writeInfoHelper( pServiceManager, pRegistryKey,
- ::scripting_runtimemgr::s_entries ))
- {
- try
- {
- // register RuntimeManager singleton
-
- registry::XRegistryKey * pKey =
- reinterpret_cast< registry::XRegistryKey * >(pRegistryKey);
-
- Reference< registry::XRegistryKey > xKey(
- pKey->createKey(
-
- OUSTR("drafts.com.sun.star.script.framework.runtime.ScriptRuntimeManager/UNO/SINGLETONS/drafts.com.sun.star.script.framework.runtime.theScriptRuntimeManager")));
- xKey->setStringValue( OUSTR("drafts.com.sun.star.script.framework.runtime.ScriptRuntimeManager") );
-
- // ScriptStorage Mangaer singleton
-
- xKey = pKey->createKey(
- OUSTR("drafts.com.sun.star.script.framework.storage.ScriptStorageManager/UNO/SINGLETONS/drafts.com.sun.star.script.framework.storage.theScriptStorageManager"));
- xKey->setStringValue( OUSTR("drafts.com.sun.star.script.framework.storage.ScriptStorageManager") );
- // Singleton entries are not handled by the setup process
- // below is the only alternative at the momement which
- // is to programmatically do this.
-
- // "Java" Runtime singleton entry
-
- xKey = pKey->createKey(
- OUSTR("com.sun.star.scripting.runtime.java.ScriptRuntimeForJava$_ScriptRuntimeForJava/UNO/SINGLETONS/drafts.com.sun.star.script.framework.runtime.theScriptRuntimeForJava"));
- xKey->setStringValue( OUSTR("drafts.com.sun.star.script.framework.runtime.ScriptRuntimeForJava") );
-
- // "JavaScript" Runtime singleton entry
-
- xKey = pKey->createKey(
- OUSTR("com.sun.star.scripting.runtime.javascript.ScriptRuntimeForJavaScript$_ScriptRuntimeForJavaScript/UNO/SINGLETONS/drafts.com.sun.star.script.framework.runtime.theScriptRuntimeForJavaScript"));
- xKey->setStringValue( OUSTR("drafts.com.sun.star.script.framework.runtime.ScriptRuntimeForJavaScript") );
-
- // "BeanShell" Runtime singleton entry
-
- xKey = pKey->createKey(
- OUSTR("com.sun.star.scripting.runtime.beanshell.ScriptRuntimeForBeanShell$_ScriptRuntimeForBeanShell/UNO/SINGLETONS/drafts.com.sun.star.script.framework.runtime.theScriptRuntimeForBeanShell"));
- xKey->setStringValue( OUSTR("drafts.com.sun.star.script.framework.runtime.ScriptRuntimeForBeanShell") );
-
- return sal_True;
- }
- catch (Exception & exc)
- {
- }
- }
- return sal_False;
- }
-
- /**
* This function is called to get service factories for an implementation.
*
* @param pImplName name of implementation
diff --git a/scripting/source/runtimemgr/exports.dxp b/scripting/source/runtimemgr/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/scripting/source/runtimemgr/exports.dxp
+++ b/scripting/source/runtimemgr/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/scripting/source/storage/exports.dxp b/scripting/source/storage/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/scripting/source/storage/exports.dxp
+++ b/scripting/source/storage/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/scripting/source/stringresource/makefile.mk b/scripting/source/stringresource/makefile.mk
index dfc2d1979190..71f8ee39e748 100644
--- a/scripting/source/stringresource/makefile.mk
+++ b/scripting/source/stringresource/makefile.mk
@@ -60,3 +60,11 @@ SHL1LIBS=$(SLB)$/$(TARGET).lib
# --- Targets ------------------------------------------------------
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/stringresource.component
+
+$(MISC)/stringresource.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt stringresource.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt stringresource.component
diff --git a/scripting/source/stringresource/stringresource.component b/scripting/source/stringresource/stringresource.component
new file mode 100644
index 000000000000..6d64d9553945
--- /dev/null
+++ b/scripting/source/stringresource/stringresource.component
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.comp.scripting.StringResource">
+ <service name="com.sun.star.resource.StringResource"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.scripting.StringResourceWithLocation">
+ <service name="com.sun.star.resource.StringResourceWithLocation"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.scripting.StringResourceWithStorage">
+ <service name="com.sun.star.resource.StringResourceWithStorage"/>
+ </implementation>
+</component>
diff --git a/scripting/source/stringresource/stringresource.cxx b/scripting/source/stringresource/stringresource.cxx
index 58b6c21b522f..0c0e9dd454ca 100644
--- a/scripting/source/stringresource/stringresource.cxx
+++ b/scripting/source/stringresource/stringresource.cxx
@@ -3080,13 +3080,6 @@ extern "C"
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
- sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
- {
- return ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, ::stringresource::s_component_entries );
- }
-
void * SAL_CALL component_getFactory(
const sal_Char * pImplName, lang::XMultiServiceFactory * pServiceManager,
registry::XRegistryKey * pRegistryKey )
diff --git a/scripting/source/vbaevents/makefile.mk b/scripting/source/vbaevents/makefile.mk
index 1946c61d1e0b..287bbe2b052b 100644..100755
--- a/scripting/source/vbaevents/makefile.mk
+++ b/scripting/source/vbaevents/makefile.mk
@@ -91,3 +91,11 @@ $(MISC)$/$(TARGET).don : $(SOLARBINDIR)$/oovbaapi.rdb
+$(CPPUMAKER) -O$(INCCOM)$/$(TARGET) -BUCR $(SOLARBINDIR)$/oovbaapi.rdb -X$(SOLARBINDIR)$/types.rdb && echo > $@
echo $@
+
+ALLTAR : $(MISC)/vbaevents.component
+
+$(MISC)/vbaevents.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ vbaevents.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt vbaevents.component
diff --git a/scripting/source/vbaevents/service.cxx b/scripting/source/vbaevents/service.cxx
index 9f38acb7e2a6..a6d4b287cfd6 100755
--- a/scripting/source/vbaevents/service.cxx
+++ b/scripting/source/vbaevents/service.cxx
@@ -110,16 +110,6 @@ extern "C"
*ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
}
- SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
- lang::XMultiServiceFactory * pServiceManager, registry::XRegistryKey * pRegistryKey )
- {
- OSL_TRACE("In component_writeInfo");
- if ( ::cppu::component_writeInfoHelper(
- pServiceManager, pRegistryKey, s_component_entries ) )
- return sal_True;
- return sal_False;
- }
-
SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
const sal_Char * pImplName, lang::XMultiServiceFactory * pServiceManager,
registry::XRegistryKey * pRegistryKey )
diff --git a/scripting/source/vbaevents/vbaevents.component b/scripting/source/vbaevents/vbaevents.component
new file mode 100644
index 000000000000..e8cbf3d88ff7
--- /dev/null
+++ b/scripting/source/vbaevents/vbaevents.component
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="ooo.vba.EventListener">
+ <service name="ooo.vba.EventListener"/>
+ </implementation>
+ <implementation name="ooo.vba.VBAToOOEventDesc">
+ <service name="ooo.vba.VBAToOOEventDesc"/>
+ </implementation>
+</component>
diff --git a/scripting/util/exports.dxp b/scripting/util/exports.dxp
index 9630d7e06768..f0e1c69934bc 100644
--- a/scripting/util/exports.dxp
+++ b/scripting/util/exports.dxp
@@ -1,3 +1,2 @@
component_getImplementationEnvironment
-component_writeInfo
component_getFactory
diff --git a/scripting/util/makefile.mk b/scripting/util/makefile.mk
index f18970f164f8..04435caab11f 100644
--- a/scripting/util/makefile.mk
+++ b/scripting/util/makefile.mk
@@ -65,3 +65,11 @@ DEF1EXPORTFILE= exports.dxp
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/scriptframe.component
+
+$(MISC)/scriptframe.component .ERRREMOVE : \
+ $(SOLARENV)/bin/createcomponent.xslt scriptframe.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt scriptframe.component
diff --git a/scripting/util/scriptframe.component b/scripting/util/scriptframe.component
new file mode 100644
index 000000000000..5b3fe8c396d5
--- /dev/null
+++ b/scripting/util/scriptframe.component
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="com.sun.star.script.browse.BrowseNodeFactory">
+ <service name="com.sun.star.script.browse.BrowseNodeFactory"/>
+ <singleton name="com.sun.star.script.browse.theBrowseNodeFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.script.provider.MasterScriptProvider">
+ <service name="com.sun.star.script.browse.BrowseNode"/>
+ <service name="com.sun.star.script.provider.MasterScriptProvider"/>
+ <service name="com.sun.star.script.provider.ScriptProvider"/>
+ </implementation>
+ <implementation
+ name="com.sun.star.script.provider.MasterScriptProviderFactory">
+ <service name="com.sun.star.script.provider.MasterScriptProviderFactory"/>
+ <singleton
+ name="com.sun.star.script.provider.theMasterScriptProviderFactory"/>
+ </implementation>
+ <implementation name="com.sun.star.script.provider.ScriptURIHelper">
+ <service name="com.sun.star.script.provider.ScriptURIHelper"/>
+ </implementation>
+</component>
diff --git a/sfx2/inc/sfx2/sfxuno.hxx b/sfx2/inc/sfx2/sfxuno.hxx
index fb331889a573..f9702063713a 100644
--- a/sfx2/inc/sfx2/sfxuno.hxx
+++ b/sfx2/inc/sfx2/sfxuno.hxx
@@ -73,7 +73,6 @@
#define UNOPROPERTYVALUE ::com::sun::star::beans::PropertyValue
#define UNOREFERENCE ::com::sun::star::uno::Reference
#define UNORUNTIMEEXCEPTION ::com::sun::star::uno::RuntimeException
-#define UNOINVALIDREGISTRYEXCEPTION ::com::sun::star::registry::InvalidRegistryException
#define UNOSEQUENCE ::com::sun::star::uno::Sequence
#define UNOTYPE ::com::sun::star::uno::Type
#define UNOURL ::com::sun::star::util::URL
@@ -591,52 +590,6 @@ sal_Bool GetPasswd_Impl( const SfxItemSet* pSet, ::rtl::OUString& rPasswd );
}
//************************************************************************************************************************
-// definition for "extern c component_writeInfo()"
-//************************************************************************************************************************
-#define COMPONENT_INFO(CLASS) \
- \
- try \
- { \
- /* Set default result of follow operations !!! */ \
- bReturn = sal_False ; \
- \
- /* Do the follow only, if given key is valid ! */ \
- if ( xKey.is () ) \
- { \
- /* Build new keyname */ \
- sKeyName = UNOOUSTRING::createFromAscii( "/" ) ; \
- sKeyName += CLASS::impl_getStaticImplementationName() ; \
- sKeyName += UNOOUSTRING::createFromAscii( "/UNO/SERVICES" ); \
- \
- /* Create new key with new name. */ \
- xNewKey = xKey->createKey( sKeyName ); \
- \
- /* If this new key valid ... */ \
- if ( xNewKey.is () ) \
- { \
- /* Get information about supported services. */ \
- seqServiceNames = CLASS::impl_getStaticSupportedServiceNames() ; \
- pArray = seqServiceNames.getArray() ; \
- nLength = seqServiceNames.getLength() ; \
- nCounter = 0 ; \
- \
- /* Then set this information on this key. */ \
- for ( nCounter = 0; nCounter < nLength; ++nCounter ) \
- { \
- xNewKey->createKey( pArray [nCounter] ); \
- } \
- \
- /* Result of this operations = OK. */ \
- bReturn = sal_True ; \
- } \
- } \
- } \
- catch( UNOINVALIDREGISTRYEXCEPTION& ) \
- { \
- bReturn = sal_False ; \
- } \
-
-//************************************************************************************************************************
// definition for "extern c component_getFactory()"
//************************************************************************************************************************
#define CREATEFACTORY(CLASS) \
diff --git a/sfx2/prj/d.lst b/sfx2/prj/d.lst
index 0748aa19cd65..0768000425eb 100644
--- a/sfx2/prj/d.lst
+++ b/sfx2/prj/d.lst
@@ -44,3 +44,4 @@ mkdir: %_DEST%\inc%_EXT%\sfx2
..\inc\mailmodelapi.hxx %_DEST%\inc%_EXT%\sfx2\mailmodelapi.hxx
..\inc\docinsert.hxx %_DEST%\inc%_EXT%\sfx2\docinsert.hxx
+..\%__SRC%\misc\sfx.component %_DEST%\xml%_EXT%\sfx.component
diff --git a/sfx2/source/appl/appuno.cxx b/sfx2/source/appl/appuno.cxx
index 6f9d3b258745..b0aae115aa9b 100755..100644
--- a/sfx2/source/appl/appuno.cxx
+++ b/sfx2/source/appl/appuno.cxx
@@ -2124,166 +2124,6 @@ SFX2_DLLPUBLIC void SAL_CALL component_getImplementationEnvironment(
*ppEnvironmentTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME ;
}
-SFX2_DLLPUBLIC sal_Bool SAL_CALL component_writeInfo(
- void* ,
- void* pRegistryKey )
-{
- ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > xKey( reinterpret_cast< ::com::sun::star::registry::XRegistryKey* >( pRegistryKey ) ) ;
-
- // register actual implementations and their services
- ::rtl::OUString aImpl;
- ::rtl::OUString aTempStr;
- ::rtl::OUString aKeyStr;
- Reference< XRegistryKey > xNewKey;
- Reference< XRegistryKey > xLoaderKey;
-
- // PluginObject
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ::sfx2::PluginObject::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.SpecialEmbeddedObject") );
-
- #if 0
- // AppletObject
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ::sfx2::AppletObject::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.SpecialEmbeddedObject") );
- #endif
-
- // IFrameObject
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ::sfx2::IFrameObject::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.SpecialEmbeddedObject") );
-
- // global app event broadcaster
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxGlobalEvents_Impl::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.GlobalEventBroadcaster") );
-
- // global app dispatcher
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxAppDispatchProvider::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.ProtocolHandler") );
-
- // standalone document info
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxStandaloneDocumentInfoObject::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.document.StandaloneDocumentInfo") );
-
- // frame loader
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxFrameLoader_Impl::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- Sequence < ::rtl::OUString > aServices = SfxFrameLoader_Impl::impl_getStaticSupportedServiceNames();
- sal_Int32 nCount = aServices.getLength();
- for ( sal_Int16 i=0; i<nCount; i++ )
- xNewKey->createKey( aServices.getConstArray()[i] );
-
- // macro loader
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxMacroLoader::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.ProtocolHandler") );
-
- // - sfx document templates
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxDocTplService::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.frame.DocumentTemplates") );
-
- // quickstart wrapper service
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ShutdownIcon::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.office.Quickstart") );
-
- // application script library container service
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxApplicationScriptLibraryContainer::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.script.ApplicationScriptLibraryContainer") );
-
- // application dialog library container service
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += SfxApplicationDialogLibraryContainer::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.script.ApplicationDialogLibraryContainer") );
-
- // converter of fs folders to packages
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += OPackageStructureCreator::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- Sequence< ::rtl::OUString > rServices = OPackageStructureCreator::impl_getStaticSupportedServiceNames();
- for( sal_Int32 ind = 0; ind < rServices.getLength(); ind++ )
- xNewKey->createKey( rServices.getConstArray()[ind] );
-
- // subfilter to parse a stream in OASIS format generated by the filter
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += ::sfx2::OwnSubFilterService::impl_getStaticImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- rServices = ::sfx2::OwnSubFilterService::impl_getStaticSupportedServiceNames();
- for( sal_Int32 ind = 0; ind < rServices.getLength(); ind++ )
- xNewKey->createKey( rServices.getConstArray()[ind] );
-
- // document meta data
- aImpl = ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/"));
- aImpl += comp_SfxDocumentMetaData::_getImplementationName();
-
- aTempStr = aImpl;
- aTempStr += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("/UNO/SERVICES"));
- xNewKey = xKey->createKey( aTempStr );
- xNewKey->createKey( ::rtl::OUString::createFromAscii("com.sun.star.document.DocumentProperties") );
-
- return sal_True;
-}
-
SFX2_DLLPUBLIC void* SAL_CALL component_getFactory(
const sal_Char* pImplementationName ,
void* pServiceManager ,
diff --git a/sfx2/source/doc/SfxDocumentMetaData.cxx b/sfx2/source/doc/SfxDocumentMetaData.cxx
index 14474dd2904d..f18e903eb6e4 100644
--- a/sfx2/source/doc/SfxDocumentMetaData.cxx
+++ b/sfx2/source/doc/SfxDocumentMetaData.cxx
@@ -2380,12 +2380,5 @@ extern "C" void * SAL_CALL component_getFactory(
return ::cppu::component_getFactoryHelper(
implName, serviceManager, registryKey, entries);
}
-
-extern "C" sal_Bool SAL_CALL component_writeInfo(
- void * serviceManager, void * registryKey)
-{
- return ::cppu::component_writeInfoHelper(serviceManager, registryKey,
- entries);
-}
#endif
diff --git a/sfx2/source/menu/mnumgr.cxx b/sfx2/source/menu/mnumgr.cxx
index bc765b95340c..031594c647fb 100755
--- a/sfx2/source/menu/mnumgr.cxx
+++ b/sfx2/source/menu/mnumgr.cxx
@@ -60,6 +60,7 @@
#include <osl/file.hxx>
#include <vcl/graph.hxx>
#include <svtools/filter.hxx>
+#include <svl/lngmisc.hxx>
#include <sfx2/mnumgr.hxx>
@@ -244,7 +245,7 @@ PopupMenu* InsertThesaurusSubmenu_Impl( SfxBindings* pBindings, Menu* pSVMenu )
//! item ids should start with values > 0, since 0 has special meaning
const USHORT nId = i + 1;
- String aItemText( GetThesaurusReplaceText_Impl( aSynonyms[i] ) );
+ String aItemText( linguistic::GetThesaurusReplaceText( aSynonyms[i] ) );
pThesSubMenu->InsertItem( nId, aItemText );
::rtl::OUString aCmd( ::rtl::OUString::createFromAscii( ".uno:ThesaurusFromContext?WordReplace:string=" ) );
aCmd += aItemText;
diff --git a/sfx2/source/menu/thessubmenu.cxx b/sfx2/source/menu/thessubmenu.cxx
index de1137bd6a74..d82c0a6dbdf3 100755
--- a/sfx2/source/menu/thessubmenu.cxx
+++ b/sfx2/source/menu/thessubmenu.cxx
@@ -61,39 +61,6 @@ SFX_IMPL_MENU_CONTROL(SfxThesSubMenuControl, SfxStringItem);
////////////////////////////////////////////////////////////
-String GetThesaurusReplaceText_Impl( const ::rtl::OUString &rText )
-{
- // The strings returned by the thesaurus sometimes have some
- // explanation text put in between '(' and ')' or a trailing '*'.
- // These parts should not be put in the ReplaceEdit Text that may get
- // inserted into the document. Thus we strip them from the text.
-
- String aText( rText );
-
- xub_StrLen nPos = aText.Search( sal_Unicode('(') );
- while (STRING_NOTFOUND != nPos)
- {
- xub_StrLen nEnd = aText.Search( sal_Unicode(')'), nPos );
- if (STRING_NOTFOUND != nEnd)
- aText.Erase( nPos, nEnd-nPos+1 );
- else
- break;
- nPos = aText.Search( sal_Unicode('(') );
- }
-
- nPos = aText.Search( sal_Unicode('*') );
- if (STRING_NOTFOUND != nPos)
- aText.Erase( nPos );
-
- // remove any possible remaining ' ' that may confuse the thesaurus
- // when it gets called with the text
- aText.EraseLeadingAndTrailingChars( sal_Unicode(' ') );
-
- return aText;
-}
-
-////////////////////////////////////////////////////////////
-
/*
Ctor; setzt Select-Handler am Menu und traegt Menu
diff --git a/sfx2/source/menu/thessubmenu.hxx b/sfx2/source/menu/thessubmenu.hxx
index 14d7473cb7c0..0b86a534de52 100644..100755
--- a/sfx2/source/menu/thessubmenu.hxx
+++ b/sfx2/source/menu/thessubmenu.hxx
@@ -46,10 +46,6 @@ namespace css = ::com::sun::star;
////////////////////////////////////////////////////////////
-String GetThesaurusReplaceText_Impl( const ::rtl::OUString &rText );
-
-////////////////////////////////////////////////////////////
-
class SfxThesSubMenuControl : public SfxMenuControl
{
PopupMenu* pMenu;
diff --git a/sfx2/util/makefile.mk b/sfx2/util/makefile.mk
index 2d93e7692d86..f520e2097e7e 100644
--- a/sfx2/util/makefile.mk
+++ b/sfx2/util/makefile.mk
@@ -162,3 +162,11 @@ SHL3NOCHECK=TRUE
.INCLUDE : target.mk
+
+ALLTAR : $(MISC)/sfx.component
+
+$(MISC)/sfx.component .ERRREMOVE : $(SOLARENV)/bin/createcomponent.xslt \
+ sfx.component
+ $(XSLTPROC) --nonet --stringparam uri \
+ '$(COMPONENTPREFIX_BASIS_NATIVE)$(SHL1TARGETN:f)' -o $@ \
+ $(SOLARENV)/bin/createcomponent.xslt sfx.component
diff --git a/sfx2/util/sfx.component b/sfx2/util/sfx.component
new file mode 100644
index 000000000000..1c28afd4177f
--- /dev/null
+++ b/sfx2/util/sfx.component
@@ -0,0 +1,75 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--**********************************************************************
+*
+* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+*
+* Copyright 2000, 2010 Oracle and/or its affiliates.
+*
+* OpenOffice.org - a multi-platform office productivity suite
+*
+* This file is part of OpenOffice.org.
+*
+* OpenOffice.org is free software: you can redistribute it and/or modify
+* it under the terms of the GNU Lesser General Public License version 3
+* only, as published by the Free Software Foundation.
+*
+* OpenOffice.org is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU Lesser General Public License version 3 for more details
+* (a copy is included in the LICENSE file that accompanied this code).
+*
+* You should have received a copy of the GNU Lesser General Public License
+* version 3 along with OpenOffice.org. If not, see
+* <http://www.openoffice.org/license.html>
+* for a copy of the LGPLv3 License.
+*
+**********************************************************************-->
+
+<component loader="com.sun.star.loader.SharedLibrary"
+ xmlns="http://openoffice.org/2010/uno-components">
+ <implementation name="SfxDocumentMetaData">
+ <service name="com.sun.star.document.DocumentProperties"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.desktop.QuickstartWrapper">
+ <service name="com.sun.star.office.Quickstart"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.document.OwnSubFilter">
+ <service name="com.sun.star.comp.document.OwnSubFilter"/>
+ <service name="com.sun.star.document.OwnSubFilter"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.embed.PackageStructureCreator">
+ <service name="com.sun.star.comp.embed.PackageStructureCreator"/>
+ <service name="com.sun.star.embed.PackageStructureCreator"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.office.FrameLoader">
+ <service name="com.sun.star.frame.SynchronousFrameLoader"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.AppDispatchProvider">
+ <service name="com.sun.star.frame.ProtocolHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.ApplicationDialogLibraryContainer">
+ <service name="com.sun.star.script.ApplicationDialogLibraryContainer"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.ApplicationScriptLibraryContainer">
+ <service name="com.sun.star.script.ApplicationScriptLibraryContainer"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.DocumentTemplates">
+ <service name="com.sun.star.frame.DocumentTemplates"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.GlobalEventBroadcaster">
+ <service name="com.sun.star.frame.GlobalEventBroadcaster"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.IFrameObject">
+ <service name="com.sun.star.frame.SpecialEmbeddedObject"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.PluginObject">
+ <service name="com.sun.star.frame.SpecialEmbeddedObject"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.SfxMacroLoader">
+ <service name="com.sun.star.frame.ProtocolHandler"/>
+ </implementation>
+ <implementation name="com.sun.star.comp.sfx2.StandaloneDocumentInfo">
+ <service name="com.sun.star.document.StandaloneDocumentInfo"/>
+ </implementation>
+</component>
diff --git a/shell/prj/d.lst b/shell/prj/d.lst
index ea8be0bbaf04..3ef183dbdf42 100644
--- a/shell/prj/d.lst
+++ b/