[Libreoffice-commits] core.git: Branch 'feature/formula-core-rework' - 1695 commits - accessibility/AllLangResTarget_acc.mk accessibility/CustomTarget_bridge_inc.mk accessibility/CustomTarget_bridge.mk accessibility/inc accessibility/Jar_uno_accessbridge.mk accessibility/Library_acc.mk accessibility/Library_java_uno_accessbridge.mk accessibility/Module_accessibility.mk accessibility/prj accessibility/source afms/Zip_fontunxafm.mk android/abs-lib android/Bootstrap android/experimental android/qa android/sdremote animations/source apple_remote/inc apple_remote/Library_AppleRemote.mk apple_remote/Module_apple_remote.mk apple_remote/Package_inc.mk apple_remote/source autogen.sh avmedia/inc avmedia/Library_avmedia.mk avmedia/source basctl/Library_basctl.mk basctl/Module_basctl.mk basctl/Package_uiconfig.mk basctl/source basctl/UI_basicide.mk basctl/uiconfig basctl/UIConfig_basicide.mk basebmp/CppunitTest_basebmp.mk basebmp/inc basebmp/source basegfx/inc basegfx/source basegfx/test basic/Cppuni tTest_basic_coverage.mk basic/CppunitTest_basic_scanner.mk basic/CppunitTest_basic_vba.mk basic/inc basic/Library_sb.mk basic/qa basic/source bean/com bean/qa binaryurp/Library_binaryurp.mk binaryurp/source bin/convwatch.py bin/distro-install-sdk bin/get-bugzilla-attachments-by-mimetype bin/module-deps.pl boost/boost.4874.patch boost/boost.6139.clang.patch boost/boost.6142.warnings.patch.1 boost/boost.6369.warnings.patch boost/boost.ptree.patch boost/boost.wundef.patch.1 boost/UnpackedTarball_boost.mk bridges/inc bridges/Library_cpp_uno.mk bridges/source bridges/test canvas/inc canvas/Library_cairocanvas.mk canvas/Library_directx9canvas.mk canvas/Library_gdipluscanvas.mk canvas/Library_vclcanvas.mk canvas/source canvas/StaticLibrary_directxcanvas.mk chart2/AllLangResTarget_chartcontroller.mk chart2/CppunitTest_chart2_importtest.mk chart2/JunitTest_chart2_unoapi.mk chart2/Library_chartcontroller.mk chart2/Library_chartcore.mk chart2/Module_chart2.mk chart2/Package_uiconfig.mk chart2/qa chart2/source chart2/UI_chart2.mk chart2/uiconfig chart2/UIConfig_chart2.mk chart2/workbench cli_ure/Executable_climaker.mk cli_ure/Library_cli_cppuhelper_native.mk cli_ure/Library_cli_uno.mk cli_ure/source clucene/ExternalPackage_clucene.mk clucene/Library_clucene.mk clucene/Module_clucene.mk clucene/patches clucene/UnpackedTarball_clucene.mk codemaker/Executable_cppumaker.mk codemaker/Executable_javamaker.mk codemaker/inc codemaker/Package_inc.mk codemaker/README codemaker/source codemaker/StaticLibrary_codemaker_cpp.mk codemaker/StaticLibrary_codemaker_java.mk codemaker/StaticLibrary_codemaker.mk comphelper/CppunitTest_comphelper_test.mk comphelper/inc comphelper/Library_comphelper.mk comphelper/qa comphelper/source compilerplugins/clang compilerplugins/Makefile-clang.mk config_host/config_global.h.in config_host/config_oox.h.in config_host.mk.in configmgr/JunitTest_configmgr_unoapi.mk configmgr/Library_configmgr.mk configmgr/Module_configmgr.mk configmgr/qa co nfigmgr/source configure.ac connectivity/AllLangResTarget_hsqldb.mk connectivity/AllLangResTarget_sdbcl.mk connectivity/AllLangResTarget_sdberr.mk connectivity/com connectivity/Configuration_ado.mk connectivity/Configuration_calc.mk connectivity/Configuration_dbase.mk connectivity/Configuration_evoab.mk connectivity/Configuration_flat.mk connectivity/Configuration_hsqldb.mk connectivity/Configuration_jdbc.mk connectivity/Configuration_kab.mk connectivity/Configuration_macab.mk connectivity/Configuration_mozab.mk connectivity/Configuration_mysql.mk connectivity/Configuration_odbc.mk connectivity/Configuration_postgresql.mk connectivity/Configuration_tdeab.mk connectivity/CppunitTest_connectivity_ado.mk connectivity/CppunitTest_connectivity_commontools.mk connectivity/CppunitTest_connectivity_mork.mk connectivity/inc connectivity/JunitTest_complex.mk connectivity/Library_dbtools.mk connectivity/Library_flat.mk connectivity/Library_hsqldb.mk connectivity/Library_mozabdrv.mk con nectivity/Library_mozab.mk connectivity/Library_mozbootstrap.mk connectivity/Library_postgresql-sdbc-impl.mk connectivity/Library_postgresql-sdbc.mk connectivity/Package_generated.mk connectivity/Package_postgresql-sdbc.mk connectivity/Rdb_postgresql-sdbc.mk connectivity/source connectivity/workben cosv/inc cppcanvas/inc cppcanvas/Library_cppcanvas.mk cppcanvas/source cppu/CppunitTest_cppu_checkapi.mk cppu/CustomTarget_cppu_allheaders.mk cppuhelper/CppunitTest_cppuhelper_checkapi.mk cppuhelper/CustomTarget_cppuhelper_allheaders.mk cppuhelper/inc cppuhelper/InternalUnoApi_cppuhelper.mk cppuhelper/Library_cppuhelper.mk cppuhelper/Module_cppuhelper.mk cppuhelper/Package_cppuhelper_odk_headers.mk cppuhelper/source cppuhelper/ZipPackage_cppuhelper_odk_headers.mk cppu/InternalUnoApi_cppu.mk cppu/Module_cppu.mk cppunit/ExternalPackage_cppunit.mk cppunit/ExternalProject_cppunit.mk cppunit/Module_cppunit.mk cppu/Package_cppu_odk_headers.mk cppu/qa cppu/source cpputools/Package_bin.mk cpputools/source cppu/ZipPackage_cppu_odk_headers.mk crashrep/source ct2n/ExternalPackage_ct2n.mk ct2n/Module_ct2n.mk ct2n/Zip_ct2n.mk cui/AllLangResTarget_cui.mk cui/Library_cui.mk cui/Module_cui.mk cui/source cui/uiconfig cui/UIConfig_cui.mk cui/UI_cui.mk curl/curl-7.26.0_win.patch curl/ExternalPackage_curl.mk curl/ExternalProject_curl.mk dbaccess/AllLangResTarget_dba.mk dbaccess/AllLangResTarget_dbmm.mk dbaccess/AllLangResTarget_dbu.mk dbaccess/AllLangResTarget_sdbt.mk dbaccess/CppunitTest_dbaccess_macros_test.mk dbaccess/Executable_odbcconfig.mk dbaccess/inc dbaccess/JunitTest_dbaccess_unoapi.mk dbaccess/Library_dba.mk dbaccess/Library_dbaxml.mk dbaccess/Library_dbmm.mk dbaccess/Library_dbu.mk dbaccess/Library_sdbt.mk dbaccess/Module_dbaccess.mk dbaccess/Package_inc.mk dbaccess/Package_uiconfig.mk dbaccess/qa dbaccess/source dbaccess/uiconfig dbaccess/UIConfig_dbaccess.mk dbaccess/UIConfig_dbapp.mk dbaccess/UIConfig_dbbrowser.mk dbaccess/UIConfig_dbquery.mk dbaccess/UIC onfig_dbrelation.mk dbaccess/UIConfig_dbtable.mk dbaccess/UIConfig_dbtdata.mk dbaccess/UI_dbaccess.mk desktop/AllLangResTarget_deploymentgui.mk desktop/AllLangResTarget_deployment.mk desktop/AllLangResTarget_dkt.mk desktop/CustomTarget_soffice.mk desktop/Executable_crashrep.com.mk desktop/Executable_officeloader.mk desktop/Executable_oosplash.mk desktop/Executable_quickstart.mk desktop/Executable_sbase.mk desktop/Executable_scalc.mk desktop/Executable_sdraw.mk desktop/Executable_simpress.mk desktop/Executable_smath.mk desktop/Executable_soffice_bin.mk desktop/Executable_soffice.bin.mk desktop/Executable_soffice.mk desktop/Executable_sweb.mk desktop/Executable_swriter.mk desktop/Executable_unoinfo.mk desktop/Executable_unopkg.bin.mk desktop/Executable_unopkg.com.mk desktop/Executable_unopkg.mk desktop/inc desktop/Library_deploymentgui.mk desktop/Library_deploymentmisc.mk desktop/Library_deployment.mk desktop/Library_migrationoo2.mk desktop/Library_migrationoo3.mk desktop/Libr ary_offacc.mk desktop/Library_sofficeapp.mk desktop/Library_spl.mk desktop/Library_spl_unx.mk desktop/Library_unopkgapp.mk desktop/Module_desktop.mk desktop/Package_intro.mk desktop/Package_scripts.mk desktop/Package_soffice_bin.mk desktop/Package_soffice_sh.mk desktop/Pagein_calc.mk desktop/Pagein_common.mk desktop/Pagein_draw.mk desktop/Pagein_impress.mk desktop/Pagein_writer.mk desktop/Pyuno_passive_python.mk desktop/qa desktop/source desktop/StaticLibrary_winextendloaderenv.mk desktop/StaticLibrary_winlauncher.mk desktop/test desktop/UIConfig_deployment.mk desktop/UI_deployment.mk desktop/unx desktop/WinResTarget_quickstart.mk desktop/WinResTarget_sbase.mk desktop/WinResTarget_scalc.mk desktop/WinResTarget_sdraw.mk desktop/WinResTarget_simpress.mk desktop/WinResTarget_smath.mk desktop/WinResTarget_sofficebin.mk desktop/WinResTarget_soffice.mk desktop/WinResTarget_sweb.mk desktop/WinResTarget_swriter.mk desktop/Zip_brand_dev.mk desktop/Zip_brand.mk desktop/Zip_shell.mk di ctionaries distro-configs/LibreOfficeLinux.conf distro-configs/LibreOfficeWin32.conf distro-configs/LibreOfficeWin64.conf download.lst drawinglayer/drawinglayer.component drawinglayer/inc drawinglayer/Library_drawinglayer.mk drawinglayer/Module_drawinglayer.mk drawinglayer/Package_inc.mk drawinglayer/source dtrans/source dtrans/test editeng/CppunitTest_editeng_borderline.mk editeng/CppunitTest_editeng_core.mk editeng/CppunitTest_editeng_lookuptree.mk editeng/inc editeng/Library_editeng.mk editeng/qa editeng/source embeddedobj/source embeddedobj/test embedserv/Library_emser.mk embedserv/source epm/ExternalProject_epm.mk eventattacher/source expat/StaticLibrary_expat.mk extensions/AllLangResTarget_pcr.mk extensions/AllLangResTarget_scn.mk extensions/AllLangResTarget_updchk.mk extensions/AllLangResTarget_upd.mk extensions/CustomTarget_so_activex_idl.mk extensions/CustomTarget_so_activex_x64.mk extensions/Library_abp.mk extensions/Library_bib.mk extensions/Library_dbp.mk extensi ons/Library_oleautobridge.mk extensions/Library_pcr.mk extensions/Library_res.mk extensions/Library_scn.mk extensions/Library_so_activex.mk extensions/Library_so_activex_x64.mk extensions/Library_updatecheckui.mk extensions/Library_updatefeed.mk extensions/Module_extensions.mk extensions/Package_uiconfig.mk extensions/qa extensions/source extensions/StaticLibrary_npsoenv.mk extensions/StaticLibrary_plugcon.mk extensions/test extensions/UIConfig_sbibliography.mk extensions/workben external/Module_external.mk external/Package_mingw_dlls.mk external/Package_mingw_gccdlls.mk external/Package_msvc_dlls_debug.mk extras/AllLangPackage_accessoriessamplesadvertisement.mk extras/AllLangPackage_accessoriessamplesdocumentation.mk extras/AllLangPackage_accessoriessamples.mk extras/AllLangPackage_accessoriessamplesnonfreeadvertisement.mk extras/AllLangPackage_accessoriessamplesnonfreedocumentation.mk extras/AllLangPackage_accessoriessamplesnonfree.mk extras/AllLangPackage_accessoriestempl ateseducate.mk extras/AllLangPackage_accessoriestemplatesfinance.mk extras/AllLangPackage_accessoriestemplatesforms.mk extras/AllLangPackage_accessoriestemplateslabels.mk extras/AllLangPackage_accessoriestemplateslayout.mk extras/AllLangPackage_accessoriestemplatesmisc.mk extras/AllLangPackage_accessoriestemplates.mk extras/AllLangPackage_accessoriestemplatesnonfreeeducate.mk extras/AllLangPackage_accessoriestemplatesnonfreefinance.mk extras/AllLangPackage_accessoriestemplatesnonfreeforms.mk extras/AllLangPackage_accessoriestemplatesnonfreelabels.mk extras/AllLangPackage_accessoriestemplatesnonfreelayout.mk extras/AllLangPackage_accessoriestemplatesnonfreemisc.mk extras/AllLangPackage_accessoriestemplatesnonfree.mk extras/AllLangPackage_accessoriestemplatesnonfreeofficorr.mk extras/AllLangPackage_accessoriestemplatesnonfreeoffimisc.mk extras/AllLangPackage_accessoriestemplatesnonfreepersonal.mk extras/AllLangPackage_accessoriestemplatesnonfreepresent.mk extras/AllLangPackage _accessoriestemplatesofficorr.mk extras/AllLangPackage_accessoriestemplatesoffimisc.mk extras/AllLangPackage_accessoriestemplatespersonal.mk extras/AllLangPackage_accessoriestemplatespresent.mk extras/AllLangPackage_autotextshare.mk extras/AllLangZip_accessoriessamplesadvertisement.mk extras/AllLangZip_accessoriessamplesdocumentation.mk extras/AllLangZip_accessoriessamples.mk extras/AllLangZip_accessoriessamplesnonfreeadvertisement.mk extras/AllLangZip_accessoriessamplesnonfreedocumentation.mk extras/AllLangZip_accessoriessamplesnonfree.mk extras/AllLangZip_accessoriestemplateseducate.mk extras/AllLangZip_accessoriestemplatesfinance.mk extras/AllLangZip_accessoriestemplatesforms.mk extras/AllLangZip_accessoriestemplateslabels.mk extras/AllLangZip_accessoriestemplateslayout.mk extras/AllLangZip_accessoriestemplatesmisc.mk extras/AllLangZip_accessoriestemplates.mk extras/AllLangZip_accessoriestemplatesnonfreeeducate.mk extras/AllLangZip_accessoriestemplatesnonfreefinance.mk ex tras/AllLangZip_accessoriestemplatesnonfreeforms.mk extras/AllLangZip_accessoriestemplatesnonfreelabels.mk extras/AllLangZip_accessoriestemplatesnonfreelayout.mk extras/AllLangZip_accessoriestemplatesnonfreemisc.mk extras/AllLangZip_accessoriestemplatesnonfree.mk extras/AllLangZip_accessoriestemplatesnonfreeofficorr.mk extras/AllLangZip_accessoriestemplatesnonfreeoffimisc.mk extras/AllLangZip_accessoriestemplatesnonfreepersonal.mk extras/AllLangZip_accessoriestemplatesnonfreepresent.mk extras/AllLangZip_accessoriestemplatesofficorr.mk extras/AllLangZip_accessoriestemplatesoffimisc.mk extras/AllLangZip_accessoriestemplatespersonal.mk extras/AllLangZip_accessoriestemplatespresent.mk extras/AllLangZip_autotextshare.mk extras/ExternalPackage_accessoriesgallerydrawspeople.mk extras/ExternalPackage_accessoriesgalleryelementsbullets2.mk extras/ExternalPackage_accessoriesgallery.mk extras/ExternalPackage_accessoriesgallerynonfree.mk extras/ExternalPackage_accessoriesgalleryphotosbui ldings.mk extras/ExternalPackage_accessoriesgalleryphotoscelebration.mk extras/ExternalPackage_accessoriesgalleryphotoscities.mk extras/ExternalPackage_accessoriesgalleryphotosfauna.mk extras/ExternalPackage_accessoriesgalleryphotosflowers.mk extras/ExternalPackage_accessoriesgalleryphotosfoodsanddrinks.mk extras/ExternalPackage_accessoriesgalleryphotoshumans.mk extras/ExternalPackage_accessoriesgalleryphotoslandscapes.mk extras/ExternalPackage_accessoriesgalleryphotosobjects.mk extras/ExternalPackage_accessoriesgalleryphotosplants.mk extras/ExternalPackage_accessoriesgalleryphotosspace.mk extras/ExternalPackage_accessoriesgalleryphotosstatues.mk extras/ExternalPackage_accessoriesgalleryphotostravel.mk extras/ExternalPackage_accessoriestemplatescommoneducate.mk extras/ExternalPackage_accessoriestemplatescommonfinance.mk extras/ExternalPackage_accessoriestemplatescommonforms.mk extras/ExternalPackage_accessoriestemplatescommonlabels.mk extras/ExternalPackage_accessoriestempla tescommonlayout.mk extras/ExternalPackage_accessoriestemplatescommonmisc.mk extras/ExternalPackage_accessoriestemplatescommon.mk extras/ExternalPackage_accessoriestemplatescommonofficorr.mk extras/ExternalPackage_accessoriestemplatescommonoffimisc.mk extras/ExternalPackage_accessoriestemplatescommonpersonal.mk extras/ExternalPackage_accessoriestemplatescommonpresent.mk extras/ExternalPackage_extra_fonts.mk extras/Module_extras.mk extras/Package_autocorr.mk extras/Package_autotextuser.mk extras/Package_cfgsrvbitmapunx.mk extras/Package_cfgsrvnolang.mk extras/Package_cfgusr.mk extras/Package_databasebiblio.mk extras/Package_database.mk extras/Package_fonts.mk extras/Package_gallbullets.mk extras/Package_gallhtmlexpo.mk extras/Package_gallroot.mk extras/Package_gallsound.mk extras/Package_gallsounds.mk extras/Package_gallsystem.mk extras/Package_gallwwwback.mk extras/Package_gallwwwgraf.mk extras/Package_palettes.mk extras/Package_tpllayoutimpr.mk extras/Package_tplwizagenda.mk extras/Package_tplwizbitmap.mk extras/Package_tplwizdesktop.mk extras/Package_tplwizfax.mk extras/Package_tplwizletter.mk extras/Package_tplwizreport.mk extras/Package_tplwizstyles.mk extras/source extras/unx extras/Zip_accessoriesgallerydrawspeople.mk extras/Zip_accessoriesgalleryelementsbullets2.mk extras/Zip_accessoriesgallery.mk extras/Zip_accessoriesgallerynonfree.mk extras/Zip_accessoriesgalleryphotosbuildings.mk extras/Zip_accessoriesgalleryphotoscelebration.mk extras/Zip_accessoriesgalleryphotoscities.mk extras/Zip_accessoriesgalleryphotosfauna.mk extras/Zip_accessoriesgalleryphotosflowers.mk extras/Zip_accessoriesgalleryphotosfoodsanddrinks.mk extras/Zip_accessoriesgalleryphotoshumans.mk extras/Zip_accessoriesgalleryphotoslandscapes.mk extras/Zip_accessoriesgalleryphotosobjects.mk extras/Zip_accessoriesgalleryphotosplants.mk extras/Zip_accessoriesgalleryphotosspace.mk extras/Zip_accessoriesgalleryphotosstatues.mk extras/Zip_accessoriesgalleryphotostravel.mk extras/ Zip_accessoriestemplatescommoneducate.mk extras/Zip_accessoriestemplatescommonfinance.mk extras/Zip_accessoriestemplatescommonforms.mk extras/Zip_accessoriestemplatescommonlabels.mk extras/Zip_accessoriestemplatescommonlayout.mk extras/Zip_accessoriestemplatescommonmisc.mk extras/Zip_accessoriestemplatescommon.mk extras/Zip_accessoriestemplatescommonofficorr.mk extras/Zip_accessoriestemplatescommonoffimisc.mk extras/Zip_accessoriestemplatescommonpersonal.mk extras/Zip_accessoriestemplatescommonpresent.mk extras/Zip_autocorr.mk extras/Zip_autotextuser.mk extras/Zip_cfgsrvbitmapunx.mk extras/Zip_cfgsrvnolang.mk extras/Zip_cfgusr.mk extras/Zip_databasebiblio.mk extras/Zip_database.mk extras/Zip_gallbullets.mk extras/Zip_gallhtmlexpo.mk extras/Zip_gallroot.mk extras/Zip_gallsound.mk extras/Zip_gallsounds.mk extras/Zip_gallsystem.mk extras/Zip_gallwwwback.mk extras/Zip_gallwwwgraf.mk extras/Zip_palettes.mk extras/Zip_tpllayoutimpr.mk extras/Zip_tplwizagenda.mk extras/Zip_tplwizbi tmap.mk extras/Zip_tplwizdesktop.mk extras/Zip_tplwizfax.mk extras/Zip_tplwizletter.mk extras/Zip_tplwizreport.mk extras/Zip_tplwizstyles.mk fileaccess/Library_fileacc.mk fileaccess/Module_fileaccess.mk fileaccess/source filter/Configuration_filter.mk filter/CppunitTest_filter_tga_test.mk filter/CppunitTest_filter_tiff_test.mk filter/CustomTarget_svg.mk filter/inc filter/Library_eps.mk filter/Library_filterconfig.mk filter/Library_flash.mk filter/Library_graphicfilter.mk filter/Library_odfflatxml.mk filter/Library_pdffilter.mk filter/Library_svgfilter.mk filter/Library_t602filter.mk filter/Library_textfd.mk filter/Library_xsltdlg.mk filter/Module_filter.mk filter/qa filter/README filter/source filter/UIConfig_xsltdlg.mk filter/UI_xsltdlg.mk firefoxos/sdremote forms/AllLangResTarget_frm.mk forms/JunitTest_forms_complex.mk forms/JunitTest_forms_unoapi.mk forms/Library_frm.mk forms/Module_forms.mk forms/qa forms/source formula/AllLangResTarget_for.mk formula/AllLangResTarget_fo rui.mk formula/inc formula/Library_for.mk formula/Library_forui.mk formula/Module_formula.mk formula/Package_inc.mk formula/source fpicker/Library_fps_aqua.mk fpicker/Library_fps.mk fpicker/Library_fps_office.mk fpicker/source fpicker/test fpicker/WinResTarget_fps.mk framework/inc framework/Library_fwe.mk framework/Library_fwi.mk framework/Library_fwk.mk framework/Library_fwl.mk framework/Module_framework.mk framework/Package_uiconfig.mk framework/source framework/uiconfig framework/UIConfig_startmodule.mk .gitignore graphite/StaticLibrary_graphite.mk helpcompiler/Executable_helpindexer.mk helpcompiler/Executable_helplinker.mk helpcompiler/inc helpcompiler/Library_helplinker.mk helpcompiler/source helpcontent2 hunspell/hunspell-wundef.patch.1 hunspell/UnpackedTarball_hunspell.mk hwpfilter/CppunitTest_hwpfilter_test_hwpfilter.mk hwpfilter/Library_hwp.mk hwpfilter/Module_hwpfilter.mk hwpfilter/qa hwpfilter/source i18nlangtag/CppunitTest_i18nlangtag_test_languagetag.mk i18nlang tag/inc i18nlangtag/Library_i18nlangtag.mk i18nlangtag/Makefile i18nlangtag/Module_i18nlangtag.mk i18nlangtag/Package_inc.mk i18nlangtag/qa i18nlangtag/README i18nlangtag/source i18npool/CppunitTest_i18npool_test_languagetag.mk i18npool/inc i18npool/Library_i18nisolang1.mk i18npool/Library_i18npool.mk i18npool/Library_i18nsearch.mk i18npool/Module_i18npool.mk i18npool/Package_inc.mk i18npool/qa i18npool/source i18nutil/inc i18nutil/source icon-themes/crystal icon-themes/galaxy icon-themes/hicontrast icon-themes/human icon-themes/industrial icon-themes/oxygen icon-themes/tango icu/ExternalPackage_icu.mk icu/ExternalProject_icu.mk icu/icu4c.9313.cygwin.patch icu/icu4c.9737.CVE-2013-0900_changesets_32865_32908.patch icu/icu4c-aix.patch icu/icu4c-android.patch icu/icu4c-bsd.patch icu/icu4c-build.patch icu/icu4c-CVE-2013-0900_umutex.patch icu/icu4c-solarisgcc.patch icu/UnpackedTarball_icu.mk idlc/CustomTarget_parser_test.mk idlc/Executable_idlc.mk idlc/inc idlc/source idlc/test i dl/inc idl/source include/postmac.h include/postwin.h include/postx.h include/premac.h include/prewin.h include/prex.h include/shlinfo.rc include/version.hrc include/wntgcci instsetoo_native/CustomTarget_install.mk instsetoo_native/util io/Library_acceptor.mk io/Library_connector.mk io/Library_streams.mk io/Library_textinstream.mk io/Library_textoutstream.mk io/Module_io.mk ios/CustomTarget_LibreOffice_app.mk ios/CustomTarget_Viewer_app.mk ios/Executable_LibreOffice.mk ios/Executable_Viewer.mk ios/experimental ios/Module_ios.mk io/source ios/qa javaunohelper/com javaunohelper/Jar_juh.mk javaunohelper/Library_juh.mk javaunohelper/Library_juhx.mk javaunohelper/Module_javaunohelper.mk javaunohelper/source javaunohelper/test jfreereport/Module_jfreereport.mk jfreereport/Package_jfreereport_version.mk jpeg/patches jpeg/UnpackedTarball_jpeg.mk jurt/com jurt/CustomTarget_jnilib.mk jurt/CustomTarget_test_urp.mk jurt/Jar_jurt.mk jurt/JunitTest_bridgefactory.mk jurt/JunitTest_connecti ons.mk jurt/JunitTest_java.mk jurt/JunitTest_java_remote.mk jurt/JunitTest_remote.mk jurt/JunitTest_uno.mk jurt/JunitTest_urp.mk jurt/JunitTest_util.mk jurt/Library_jpipe.mk jurt/Library_jpipx.mk jurt/Module_jurt.mk jurt/Package_jnilib.mk jvmaccess/inc jvmaccess/Library_jvmaccess.mk jvmaccess/Module_jvmaccess.mk jvmaccess/Package_inc.mk jvmaccess/source jvmaccess/util jvmaccess/workbench jvmfwk/CustomTarget_jreproperties.mk jvmfwk/distributions jvmfwk/Executable_javaldx.mk jvmfwk/inc jvmfwk/Library_jvmfwk.mk jvmfwk/Library_sunjavaplugin.mk jvmfwk/Module_jvmfwk.mk jvmfwk/Package_inc.mk jvmfwk/Package_jreproperties.mk jvmfwk/Package_rcfiles.mk jvmfwk/plugins jvmfwk/source l10ntools/Executable_cfgex.mk l10ntools/Executable_helpex.mk l10ntools/Executable_idxdict.mk l10ntools/Executable_localize.mk l10ntools/Executable_propex.mk l10ntools/Executable_stringex.mk l10ntools/Executable_transex3.mk l10ntools/Executable_treex.mk l10ntools/Executable_uiex.mk l10ntools/Executable_ulfex.m k l10ntools/inc l10ntools/source l10ntools/StaticLibrary_transex.mk lcms2/ExternalPackage_lcms2.mk lcms2/ExternalProject_lcms2.mk libcdr/ExternalProject_libcdr.mk libcdr/libcdr-0.0.11-encoding.patch libcdr/libcdr-0.0.13.patch libcdr/UnpackedTarball_cdr.mk libcmis/libcmis-0.3.0-warnings.patch libexttextcat/Zip_fingerprint.mk liblangtag/ExternalPackage_langtag_data.mk liblangtag/UnpackedTarball_langtag.mk liblangtag/Zip_liblangtag_data.mk libmariadb/mariadb-msvc.patch.1 libmariadb/mariadb-trunk-40.patch libmariadb/StaticLibrary_mariadb.mk libmariadb/UnpackedTarball_mariadb.mk libmspub/ExternalProject_libmspub.mk liborcus/ExternalPackage_liborcus.mk liborcus/ExternalProject_liborcus.mk liborcus/liborcus_0.1.0-boost-include.patch.1 liborcus/liborcus_0.1.0-dllimport.patch liborcus/liborcus_0.1.0-tac.patch liborcus/UnpackedTarball_orcus.mk Library_merged.mk Library_urelibs.mk librelogo/CustomTarget_librelogo.mk librelogo/Module_librelogo.mk librelogo/Package_librelogo.mk librelogo /Package_librelogo_properties.mk librelogo/source librelogo/Zip_librelogo.mk libvisio/ExternalProject_libvisio.mk libvisio/libvisio-0.0.25.patch libvisio/UnpackedTarball_visio.mk libwpg/ExternalPackage_libwpg.mk libwpg/ExternalProject_libwpg.mk libwpg/libwpg-0.2.1-warning.patch libwpg/Module_libwpg.mk libwpg/StaticLibrary_wpg.mk libwpg/UnpackedTarball_wpg.mk libwps/ExternalPackage_libwps.mk libwps/ExternalProject_libwps.mk libwps/libwps.gcc.warnings.patch libwps/libwps.msvc.warnings.patch libwps/Module_libwps.mk libwps/StaticLibrary_wps.mk libwps/UnpackedTarball_wps.mk libxml2/ExternalProject_xml2.mk libxml2/libxml2-configure.patch libxmlsec/ExternalPackage_xmlsec.mk libxmlsec/ExternalProject_xmlsec.mk libxmlsec/UnpackedTarball_xmlsec.mk libxmlsec/xmlsec1-1.2.14_old_automake.patch libxmlsec/xmlsec1-vc.patch libxslt/ExternalProject_xslt.mk libxslt/libxslt-configure.patch lingucomponent/Library_hyphen.mk lingucomponent/Library_lnth.mk lingucomponent/Library_MacOSXSpell.mk ling ucomponent/Library_spell.mk lingucomponent/source lingucomponent/StaticLibrary_ulingu.mk linguistic/inc linguistic/Library_lng.mk linguistic/Module_linguistic.mk linguistic/source linguistic/workben logerrit lotuswordpro/CppunitTest_lotuswordpro_test_lotuswordpro.mk lotuswordpro/Library_lwpft.mk lotuswordpro/Module_lotuswordpro.mk lotuswordpro/qa lotuswordpro/source lpsolve/ExternalProject_lpsolve.mk lpsolve/lp_solve_5.5-windows.patch m4/libgcrypt.m4 m4/mingw.m4 Makefile.in mdds/UnpackedTarball_mdds.mk more_fonts/ExternalPackage_dejavu.mk more_fonts/ExternalPackage_gentium.mk more_fonts/ExternalPackage_liberation.mk more_fonts/ExternalPackage_liberation_narrow.mk more_fonts/ExternalPackage_libertineg.mk more_fonts/ExternalPackage_opensans.mk more_fonts/ExternalPackage_ptserif.mk more_fonts/ExternalPackage_sourcecode.mk more_fonts/ExternalPackage_sourcesans.mk more_fonts/Package_conf.mk mysqlc/source neon/configs neon/Library_neon.mk neon/neon_with_gnutls.patch neon/UnpackedT arball_neon.mk nlpsolver/help nlpsolver/src np_sdk/inc nss/ExternalProject_nss.mk nss/nss.patch odk/config odk/CustomTarget_bin.mk odk/CustomTarget_check.mk odk/CustomTarget_classes.mk odk/CustomTarget_cli.mk odk/CustomTarget_config_win.mk odk/CustomTarget_doxygen.mk odk/CustomTarget_html.mk odk/CustomTarget_lib.mk odk/CustomTarget_odkcommon.mk odk/CustomTarget_settings.mk odk/CustomTarget_unowinreg.mk odk/docs odk/examples odk/Module_odk.mk odk/pack odk/Package_bin.mk odk/Package_cli.mk odk/Package_config.mk odk/Package_config_notwin.mk odk/Package_config_win.mk odk/Package_docs.mk odk/Package_examples.mk odk/Package_html.mk odk/Package_lib.mk odk/Package_macosx.mk odk/Package_settings_generated.mk odk/Package_settings.mk odk/Package_unowinreg.mk odk/settings odk/util odk/Zip_odkcommon.mk odk/Zip_odkexamples.mk odk/Zip_uno_loader_classes.mk offapi/com offapi/type_reference offapi/UnoApi_offapi.mk officecfg/qa officecfg/registry oovbaapi/ooo oox/inc oox/Library_oox.mk oox/Mo dule_oox.mk oox/Package_generated.mk oox/Package_inc.mk oox/Package_tokens.mk oox/source openldap/ExternalProject_openldap.mk openssl/ExternalProject_openssl.mk openssl/opensslwnt.patch package/inc package/source padmin/Library_spa.mk padmin/Module_padmin.mk padmin/source padmin/UIConfig_spa.mk padmin/UI_spa.mk postgresql/ExternalProject_postgresql.mk postprocess/CustomTarget_config.mk postprocess/CustomTarget_images.mk postprocess/CustomTarget_registry.mk postprocess/Module_postprocess.mk postprocess/Package_config.mk postprocess/packconfig postprocess/packimages psprint_config/Module_psprint_config.mk psprint_config/Package_fontunxppds.mk psprint_config/Package_fontunxpsprint.mk psprint_config/Zip_fontunxppds.mk psprint_config/Zip_fontunxpsprint.mk python3/ExternalPackage_python3.mk python3/ExternalProject_python3.mk python3/python-3.3.0-aix.patch.1 python3/python-3.3.0-elf-rpath.patch.1 python3/python-3.3.0-pythreadstate.patch.1 python3/UnpackedTarball_python3.mk pyuno/Cu stomTarget_python_shell.mk pyuno/CustomTarget_zipcore.mk pyuno/Module_pyuno.mk pyuno/source pyuno/zipcore qadevOOo/JunitTest_qadevOOo_unoapi.mk qadevOOo/Module_qadevOOo.mk qadevOOo/runner qadevOOo/tests README.Code README.cross redland/ExternalPackage_raptor.mk redland/ExternalPackage_rasqal.mk redland/ExternalPackage_redland.mk redland/ExternalProject_raptor.mk redland/ExternalProject_rasqal.mk redland/ExternalProject_redland.mk redland/Library_raptor.mk redland/Library_rasqal.mk redland/Library_rdf.mk redland/LICENSE.txt redland/Module_redland.mk redland/raptor redland/rasqal redland/README redland/redland redland/UnpackedTarball_raptor.mk redland/UnpackedTarball_rasqal.mk redland/UnpackedTarball_redland.mk registry/inc registry/Library_reg.mk registry/Module_registry.mk registry/Package_inc.mk registry/source registry/test registry/tools registry/util registry/workben registry/ZipPackage_registry_odk_headers.mk remotebridges/Library_uuresolver.mk remotebridges/Module_remo tebridges.mk remotebridges/source reportbuilder/Jar_reportbuilder.mk reportbuilder/java reportbuilder/Module_reportbuilder.mk reportdesign/AllLangResTarget_rpt.mk reportdesign/inc reportdesign/Library_rpt.mk reportdesign/Library_rptui.mk reportdesign/Library_rptxml.mk reportdesign/Module_reportdesign.mk reportdesign/Package_uiconfig.mk reportdesign/qa reportdesign/source reportdesign/uiconfig reportdesign/UIConfig_dbreport.mk RepositoryExternal.mk RepositoryFixes.mk Repository.mk RepositoryModule_build.mk RepositoryModule_host.mk ridljar/com ridljar/CustomTarget_javamaker.mk ridljar/Jar_ridl.mk ridljar/Jar_unoloader.mk ridljar/JunitTest_typedesc.mk ridljar/JunitTest_uno.mk ridljar/JunitTest_util.mk ridljar/Module_ridljar.mk rsc/Executable_rsc.mk rsc/inc rsc/source sal/android sal/cpprt sal/CppunitTest_sal_checkapi.mk sal/CppunitTest_sal_osl_mutex.mk sal/CppunitTest_sal_osl_pipe.mk sal/CppunitTest_sal_osl_profile.mk sal/CppunitTest_sal_osl_setthreadname.mk sal/CppunitTest_sal _rtl_math.mk sal/CppunitTest_sal_rtl_strings.mk sal/CppunitTest_sal_rtl_textenc.mk sal/CppunitTest_sal_rtl_uri.mk sal/CustomTarget_sal_allheaders.mk salhelper/CppunitTest_salhelper_checkapi.mk salhelper/CustomTarget_salhelper_allheaders.mk salhelper/inc salhelper/Module_salhelper.mk salhelper/Package_salhelper_odk_headers.mk salhelper/source salhelper/ZipPackage_salhelper_odk_headers.mk sal/inc sal/Module_sal.mk sal/osl sal/Package_sal_generated.mk sal/Package_sal_odk_headers.mk sal/qa sal/rtl sal/systools sal/test sal/textenc sal/workben sal/ZipPackage_sal_generated.mk sal/ZipPackage_sal_odk_headers.mk sax/inc sax/Library_expwrap.mk sax/Library_fastsax.mk sax/qa sax/source scaddins/InternalUnoApi_scaddins.mk scaddins/Library_analysis.mk scaddins/Library_date.mk scaddins/Library_pricing.mk scaddins/source sc/AllLangResTarget_sc.mk sccomp/Library_solver.mk sccomp/source sc/CppunitTest_sc_annotationobj.mk sc/CppunitTest_sc_annotationshapeobj.mk sc/CppunitTest_sc_annotationsobj .mk sc/CppunitTest_sc_cellrangeobj.mk sc/CppunitTest_sc_chart_regression_test.mk sc/CppunitTest_sc_databaserangeobj.mk sc/CppunitTest_sc_datapilotfieldobj.mk sc/CppunitTest_sc_datapilottableobj.mk sc/CppunitTest_sc_editfieldobj_cell.mk sc/CppunitTest_sc_editfieldobj_header.mk sc/CppunitTest_sc_filters_test.mk sc/CppunitTest_sc_macros_test.mk sc/CppunitTest_sc_modelobj.mk sc/CppunitTest_sc_namedrangeobj.mk sc/CppunitTest_sc_namedrangesobj.mk sc/CppunitTest_sc_outlineobj.mk sc/CppunitTest_sc_rangelst_test.mk sc/CppunitTest_sc_subsequent_export_test.mk sc/CppunitTest_sc_subsequent_filters_test.mk sc/CppunitTest_sc_tableautoformatfield.mk sc/CppunitTest_sc_tablesheetobj.mk sc/CppunitTest_sc_tablesheetsobj.mk sc/CppunitTest_sc_ucalc.mk sc/CustomTarget_uiconfig.mk sc/inc sc/JunitTest_sc_complex.mk sc/JunitTest_sc_unoapi.mk sc/Library_scd.mk sc/Library_scfilt.mk sc/Library_sc.mk sc/Library_scui.mk sc/Library_vbaobj.mk sc/Module_sc.mk scp2/AutoInstallLibs_ooo.mk scp2/AutoInstallLibs _ure.mk scp2/AutoInstallLibs_writer.mk scp2/CustomTarget_langmacros.mk scp2/inc scp2/InstallModule_accessories.mk scp2/InstallModule_activex.mk scp2/InstallModule_base.mk scp2/InstallModule_calc.mk scp2/InstallModule_canvas.mk scp2/InstallModule_crashrep.mk scp2/InstallModule_draw.mk scp2/InstallModule_extensions.mk scp2/InstallModule_gnome.mk scp2/InstallModule_graphicfilter.mk scp2/InstallModule_impress.mk scp2/InstallModule_kde.mk scp2/InstallModule_math.mk scp2/InstallModule_onlineupdate.mk scp2/InstallModule_ooo.mk scp2/InstallModule_python.mk scp2/InstallModule_quickstart.mk scp2/InstallModule_sdkoo.mk scp2/InstallModule_smoketest.mk scp2/InstallModule_tde.mk scp2/InstallModule_ure.mk scp2/InstallModule_windows.mk scp2/InstallModule_winexplorerext.mk scp2/InstallModule_writer.mk scp2/InstallModule_xsltfilter.mk scp2/InstallScript_sdkoo.mk scp2/InstallScript_setup_osl.mk scp2/InstallScript_test.mk scp2/macros scp2/Module_scp2.mk scp2/source sc/Package_uiconfig.mk sc/qa scripting/java scripting/Library_dlgprov.mk scripting/Module_scripting.mk scripting/Package_scriptbindinglib.mk scripting/Package_ScriptsBeanShell.mk scripting/Package_ScriptsJavaScript.mk scripting/Package_ScriptsPython.mk scripting/Pyuno_mailmerge.mk scripting/source scripting/workben scripting/Zip_scriptbindinglib.mk scripting/Zip_ScriptsBeanShell.mk scripting/Zip_ScriptsJavaScript.mk scripting/Zip_ScriptsPython.mk sc/sdi sc/source sc/uiconfig sc/UIConfig_scalc.mk sc/UI_scalc.mk sc/util sc/workben sd/AllLangResTarget_sd.mk sd/CppunitTest_sd_filters_test.mk sd/CppunitTest_sd_regression_test.mk sd/CppunitTest_sd_uimpress.mk sdext/Configuration_minimizer.mk sdext/CppunitTest_pdfimport.mk sdext/CustomTarget_pdfimport.mk sdext/Executable_pdf2xml.mk sdext/Executable_pdfunzip.mk sdext/Executable_xpdfimport.mk sdext/Extension_minimizer.mk sdext/Library_minimizer.mk sdext/Library_pdfimport.mk sdext/Library_presenter.mk sdext/Library_PresenterScreen.mk sdext/Module_sdext.mk sdext/R db_minimizer.mk sdext/source sdext/StaticLibrary_pdfimport_s.mk sd/inc sd/JunitTest_sd_unoapi.mk sd/Library_sdd.mk sd/Library_sdfilt.mk sd/Library_sd.mk sd/Library_sdui.mk sd/Module_sd.mk sd/Package_inc.mk sd/Package_uiconfig.mk sd/Package_web.mk sd/Package_xml.mk sd/qa sd/README_REMOTE sd/sdi sd/source sd/uiconfig sd/UIConfig_sdraw.mk sd/UIConfig_simpress.mk sd/UI_sdraw.mk sd/UI_simpress.mk sd/workben setup_native/Library_instooofiltmsi.mk setup_native/Library_qslnkmsi.mk setup_native/Library_reg4allmsdoc.mk setup_native/Library_regactivex.mk setup_native/Library_regpatchactivex.mk setup_native/Library_sdqsmsi.mk setup_native/Library_sellangmsi.mk setup_native/Library_shlxtmsi.mk setup_native/Library_sn_tools.mk setup_native/scripts setup_native/StaticLibrary_quickstarter.mk setup_native/StaticLibrary_seterror.mk sfx2/inc sfx2/Library_qstart_gtk.mk sfx2/Library_qstart.mk sfx2/Library_sfx.mk sfx2/Module_sfx2.mk sfx2/Package_inc.mk sfx2/qa sfx2/sdi sfx2/source sfx2/uiconfig s fx2/UIConfig_sfx.mk sfx2/UI_sfx.mk sfx2/workben shell/CustomTarget_shlxthdl_res.mk shell/CustomTarget_x64.mk shell/Executable_gnome_open_url.mk shell/Executable_lngconvex.mk shell/Executable_regsvrex.mk shell/Executable_senddoc.mk shell/Executable_uri_encode.mk shell/Library_cmdmail.mk shell/Library_desktopbe.mk shell/Library_gconfbe.mk shell/Library_kde4be.mk shell/Library_kdebe.mk shell/Library_localebe.mk shell/Library_macbe.mk shell/Library_ooofilt.mk shell/Library_ooofilt_x64.mk shell/Library_propertyhdl.mk shell/Library_propertyhdl_x64.mk shell/Library_recentfile.mk shell/Library_shlxthdl.mk shell/Library_shlxthdl_x64.mk shell/Library_smplmail.mk shell/Library_syssh.mk shell/Library_syssh_win.mk shell/Library_tdebe.mk shell/Library_wininetbe.mk shell/Module_shell.mk shell/Package_inc.mk shell/Package_scripts.mk shell/qa shell/source shell/StaticLibrary_shlxthandler_common.mk shell/StaticLibrary_shlxthandler_common_x64.mk shell/StaticLibrary_simplemapi.mk shell/StaticLi brary_xmlparser.mk shell/StaticLibrary_xmlparser_x64.mk shell/WinResTarget_shlxthdl.mk slideshow/CppunitTest_slideshow.mk slideshow/Executable_demoshow.mk slideshow/Library_OGLTrans.mk slideshow/Library_slideshow.mk slideshow/Module_slideshow.mk slideshow/source slideshow/test smoketest/com smoketest/data smoketest/Extension_TestExtension.mk smoketest/Module_smoketest.mk smoketest/Package_smoketestdoc.mk smoketest/smoketest.cxx smoketest/Zip_smoketestdoc.mk smoketest/Zip_TestExtension.mk solenv/bin solenv/CustomTarget_gdb.mk solenv/gbuild solenv/gcc-wrappers solenv/gdb solenv/inc solenv/lldb solenv/Module_solenv.mk solenv/Package_gdb.mk soltools/Executable_cpp.mk soltools/Executable_makedepend.mk sot/CppunitTest_sot_test_sot.mk sot/inc sot/Library_sot.mk sot/Package_inc.mk sot/qa sot/source starmath/AllLangResTarget_sm.mk starmath/CppunitTest_starmath_qa_cppunit.mk starmath/inc starmath/JunitTest_starmath_unoapi.mk starmath/Library_smd.mk starmath/Library_sm.mk starmath/Modu le_starmath.mk starmath/Package_uiconfig.mk starmath/qa starmath/source starmath/uiconfig starmath/UIConfig_smath.mk starmath/UI_smath.mk stoc/inc stoc/Library_bootstrap.mk stoc/Library_introspection.mk stoc/Library_invocadapt.mk stoc/Library_invocation.mk stoc/Library_javaloader.mk stoc/Library_javavm.mk stoc/Library_namingservice.mk stoc/Library_proxyfac.mk stoc/Library_reflection.mk stoc/Library_stocservices.mk stoc/Module_stoc.mk stoc/source stoc/test stoc/util store/inc store/Library_store.mk store/Module_store.mk store/Package_inc.mk store/source store/util store/workben store/ZipPackage_store_odk_headers.mk svgio/inc svgio/source svl/CppunitTest_svl_qa_cppunit.mk svl/CppunitTest_svl_urihelper.mk svl/inc svl/Library_svl.mk svl/Package_inc.mk svl/qa svl/source svl/unx svtools/AllLangResTarget_svt.mk svtools/Executable_langsupport.mk svtools/inc svtools/langsupport svtools/Library_svt.mk svtools/Module_svtools.mk svtools/Package_inc.mk svtools/source svtools/uiconfig svt ools/UIConfig_svt.mk svtools/UI_svt.mk svx/inc svx/Library_svxcore.mk svx/Library_svx.mk svx/Library_textconversiondlgs.mk svx/Module_svx.mk svx/Package_globlmn_hrc.mk svx/Package_inc.mk svx/sdi svx/source svx/UIConfig_svx.mk svx/UI_svx.mk svx/workben sw/AllLangResTarget_sw.mk sw/CppunitTest_sw_filters_test.mk sw/CppunitTest_sw_layout_test.mk sw/CppunitTest_sw_macros_test.mk sw/CppunitTest_sw_odfexport.mk sw/CppunitTest_sw_odfimport.mk sw/CppunitTest_sw_ooxmlexport.mk sw/CppunitTest_sw_ooxmlimport.mk sw/CppunitTest_sw_rtfexport.mk sw/CppunitTest_sw_rtfimport.mk sw/CppunitTest_sw_uwriter.mk sw/CppunitTest_sw_ww8export.mk sw/CppunitTest_sw_ww8import.mk swext/mediawiki sw/inc sw/Library_msword.mk sw/Library_sw.mk sw/Library_swui.mk sw/Library_vbaswobj.mk sw/Module_sw.mk sw/Package_uiconfig.mk sw/PythonTest_sw_python.mk sw/qa sw/README sw/sdi sw/source sw/uiconfig sw/UIConfig_sglobal.mk sw/UIConfig_sweb.mk sw/UIConfig_swform.mk sw/UIConfig_swreport.mk sw/UIConfig_swriter.mk sw/U IConfig_swxform.mk sw/UI_swriter.mk sysui/CustomTarget_share.mk sysui/desktop sysui/Module_sysui.mk sysui/Package_osxicons.mk sysui/Zip_osxicons.mk test/inc test/Library_subsequenttest.mk test/Library_test.mk test/Module_test.mk test/Package_inc.mk test/Package_unittest.mk test/source testtools/CustomTarget_bridgetest_javamaker.mk testtools/CustomTarget_uno_test.mk testtools/Module_testtools.mk testtools/source toolkit/inc toolkit/Library_tk.mk toolkit/README toolkit/source toolkit/test tools/CppunitTest_tools_test.mk tools/CustomTarget_reversemap.mk tools/Executable_bestreversemap.mk tools/inc tools/Library_tl.mk tools/Package_inc.mk tools/qa tools/README tools/source tools/unx tools/win touch/CustomTarget_touch_javamaker.mk touch/inc touch/Library_libotouch.mk touch/Module_touch.mk touch/Package_inc.mk touch/README touch/source translations tubes/CppunitTest_tubes_test.mk tubes/inc tubes/Library_tubes.mk tubes/Module_tubes.mk tubes/Package_inc.mk tubes/qa tubes/source tube s/UIConfig_tubes.mk tubes/UI_tubes.mk twain/inc ucbhelper/inc ucbhelper/source ucb/JunitTest_ucb_complex.mk ucb/JunitTest_ucb_unoapi.mk ucb/Module_ucb.mk ucb/qa ucb/source ucb/test ucb/workben udkapi/com udkapi/UnoApi_udkapi.mk UnoControls/Library_ctl.mk UnoControls/Module_UnoControls.mk UnoControls/source unodevtools/Executable_skeletonmaker.mk unodevtools/inc unodevtools/source unoidl/inc unoidl/source unoil/CustomTarget_climaker.mk unoil/CustomTarget_javamaker.mk unoil/Jar_unoil.mk unoil/Module_unoil.mk unoil/Package_climaker.mk unoil/Package_clioootypesversion.mk unotest/inc unotest/Module_unotest.mk unotest/source unotools/inc unotools/Library_utl.mk unotools/Module_unotools.mk unotools/Package_inc.mk unotools/source unoxml/qa unoxml/source unoxml/test unusedcode.easy ure/Module_ure.mk ure/Package_distribution.mk ure/Package_uretest.mk ure/Rdb_ure.mk ure/source ure/Zip_uretest.mk uui/Library_uui.mk uui/Module_uui.mk uui/source uui/UIConfig_uui.mk uui/UI_uui.mk vbahelper /inc vbahelper/Library_msforms.mk vbahelper/source vcl/AllLangResTarget_vcl.mk vcl/android vcl/aqua vcl/coretext vcl/CppunitTest_vcl_filters_test.mk vcl/CustomTarget_afm_hash.mk vcl/CustomTarget_kde4_moc.mk vcl/CustomTarget_kde_moc.mk vcl/CustomTarget_tde_moc.mk vcl/Executable_ui-previewer.mk vcl/generic vcl/headless vcl/inc vcl/ios vcl/Library_desktop_detector.mk vcl/Library_vcl.mk vcl/Library_vclplug_gen.mk vcl/Library_vclplug_gtk3.mk vcl/Library_vclplug_gtk.mk vcl/Library_vclplug_kde4.mk vcl/Library_vclplug_kde.mk vcl/Library_vclplug_svp.mk vcl/Library_vclplug_tde.mk vcl/Module_vcl.mk vcl/null vcl/Package_inc.mk vcl/qa vcl/quartz vcl/README vcl/source vcl/StaticLibrary_headless.mk vcl/test vcl/UIConfig_vcl.mk vcl/UI_vcl.mk vcl/unx vcl/win vcl/workben vcl/Zip_osxres.mk vigra/UnpackedTarball_vigra.mk wizards/com wizards/Module_wizards.mk wizards/Package_depot.mk wizards/Package_euro.mk wizards/Package_form.mk wizards/Package_gimmicks.mk wizards/Package_import.mk wizards/Pac kage_share.mk wizards/Package_standard.mk wizards/Package_template.mk wizards/Package_tools.mk wizards/Package_tutorials.mk wizards/Package_usr.mk wizards/Pyuno_agenda.mk wizards/Pyuno_commonwizards.mk wizards/Pyuno_fax.mk wizards/Pyuno_letter.mk wizards/Pyuno_web.mk wizards/source wizards/Zip_depot.mk wizards/Zip_euro.mk wizards/Zip_form.mk wizards/Zip_gimmicks.mk wizards/Zip_import.mk wizards/Zip_launcher.mk wizards/Zip_share.mk wizards/Zip_standard.mk wizards/Zip_template.mk wizards/Zip_tools.mk wizards/Zip_tutorials.mk wizards/Zip_usr.mk wizards/Zip_web.mk writerfilter/CppunitTest_writerfilter_rtftok.mk writerfilter/inc writerfilter/Library_writerfilter.mk writerfilter/Module_writerfilter.mk writerfilter/qa writerfilter/source writerperfect/source x11_extensions/Module_x11_extensions.mk x11_extensions/Package_inc.mk xmlhelp/Library_tvhlp1.mk xmlhelp/Library_ucpchelp1.mk xmlhelp/Module_xmlhelp.mk xmlhelp/Package_xsl.mk xmlhelp/source xmlhelp/util xmlhelp/Zip_helpxsl.mk xm loff/CppunitTest_xmloff_uxmloff.mk xmloff/inc xmloff/Library_xo.mk xmloff/Package_inc.mk xmloff/source xmlreader/inc xmlreader/README xmlreader/source xmlscript/Module_xmlscript.mk xmlscript/Package_dtd.mk xmlscript/Package_inc.mk xmlscript/source xmlsecurity/inc xmlsecurity/Library_xmlsecurity.mk xmlsecurity/Module_xmlsecurity.mk xmlsecurity/qa xmlsecurity/source xmlsecurity/UIConfig_xmlsec.mk xmlsecurity/UI_xmlsec.mk xmlsecurity/workben xpdf/ExternalProject_xpdf.mk
Michael Stahl
mstahl at redhat.com
Mon Apr 22 17:39:01 PDT 2013
Rebased ref, commits from common ancestor:
commit 84217e299724b8ee80dff63cb561b4bae0f44835
Author: Michael Stahl <mstahl at redhat.com>
Date: Tue Apr 23 00:17:03 2013 +0200
fdo#62147: sw: ODF import: apply styles in cells with string-value
Apply the table-cell-style to paragraphs inside the table cell
for cells with value-type="string" and office:string-value attribute.
This should complete commit 1b5839f49c07beb6fbde6c7370a5636d22f9ab77.
Change-Id: Ief34de1e7c5087906ea597ce3ca96e020f6eebe6
diff --git a/sw/source/filter/xml/xmltbli.cxx b/sw/source/filter/xml/xmltbli.cxx
index ec43a0c..d30cccf 100644
--- a/sw/source/filter/xml/xmltbli.cxx
+++ b/sw/source/filter/xml/xmltbli.cxx
@@ -587,8 +587,11 @@ SwXMLTableCellContext_Impl::~SwXMLTableCellContext_Impl()
inline void SwXMLTableCellContext_Impl::_InsertContent()
{
+ SwStartNode const*const pStartNode( GetTable()->InsertTableSection(0,
+ (m_bHasStringValue && m_bValueTypeIsString &&
+ !aStyleName.isEmpty()) ? & aStyleName : 0) );
GetTable()->InsertCell( aStyleName, nRowSpan, nColSpan,
- GetTable()->InsertTableSection(),
+ pStartNode,
mXmlId,
NULL, bProtect, &sFormula, bHasValue, fValue,
(m_bHasStringValue && m_bValueTypeIsString) ? &m_StringValue : 0);
@@ -2881,12 +2884,14 @@ void SwXMLTableContext::MakeTable( SwTableBox *pBox, sal_Int32 nW )
}
const SwStartNode *SwXMLTableContext::InsertTableSection(
- const SwStartNode *pPrevSttNd )
+ const SwStartNode *const pPrevSttNd,
+ OUString const*const pStringValueStyleName)
{
// The topmost table is the only table that maintains the two members
// pBox1 and bFirstSection.
if( xParentTable.Is() )
- return ((SwXMLTableContext *)&xParentTable)->InsertTableSection( pPrevSttNd );
+ return static_cast<SwXMLTableContext *>(&xParentTable)
+ ->InsertTableSection(pPrevSttNd, pStringValueStyleName);
const SwStartNode *pStNd;
Reference<XUnoTunnel> xCrsrTunnel( GetImport().GetTextImport()->GetCursor(),
@@ -2941,6 +2946,13 @@ const SwStartNode *SwXMLTableContext::InsertTableSection(
}
}
+ if (pStringValueStyleName)
+ { // fdo#62147: apply style to paragraph on string-value cell
+ GetImport().GetTextImport()->SetStyleAndAttrs( GetImport(),
+ GetImport().GetTextImport()->GetCursor(), *pStringValueStyleName,
+ true, false, -1, false); // parameters same as sCellParaStyleName
+ }
+
return pStNd;
}
diff --git a/sw/source/filter/xml/xmltbli.hxx b/sw/source/filter/xml/xmltbli.hxx
index 7062dc4..0ba3130 100644
--- a/sw/source/filter/xml/xmltbli.hxx
+++ b/sw/source/filter/xml/xmltbli.hxx
@@ -186,7 +186,8 @@ public:
void InsertRepRows( sal_uInt32 nCount );
const SwXMLTableCell_Impl *GetCell( sal_uInt32 nRow, sal_uInt32 nCol ) const;
SwXMLTableCell_Impl *GetCell( sal_uInt32 nRow, sal_uInt32 nCol );
- const SwStartNode *InsertTableSection( const SwStartNode *pPrevSttNd=0 );
+ const SwStartNode *InsertTableSection(const SwStartNode *pPrevSttNd = 0,
+ OUString const* pStringValueStyleName = 0);
virtual void EndElement();
commit 1d80c1cf22c1cb673da91b8aa59d770fc30dffdc
Author: Marco Cecchetti <mrcekets at gmail.com>
Date: Mon Apr 22 23:14:53 2013 +0200
Changed the MPL header from v1 to v2
diff --git a/filter/source/svg/js2hxx.py b/filter/source/svg/js2hxx.py
index 8aeb94c..5d6ddd5 100755
--- a/filter/source/svg/js2hxx.py
+++ b/filter/source/svg/js2hxx.py
@@ -1,11 +1,10 @@
#!/usr/bin/env python
#
-# Version: MPL 1.1 / GPLv3+ / LGPLv3+
+# This file is part of the LibreOffice project.
#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License or as specified alternatively below. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
# Software distributed under the License is distributed on an "AS IS" basis,
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
@@ -18,13 +17,6 @@
# All Rights Reserved.
#
# For minor contributions see the git repository.
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
-# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
-# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
-# instead of those above.
-#
import os, sys
commit 5cd4300f7ffc24d6bc0ed5704f37a04852fd322b
Author: Eike Rathke <erack at redhat.com>
Date: Mon Apr 22 23:06:50 2013 +0200
fixed a mess of out of bounds string accesses
Change-Id: I800840e1b3c0d97a049b3ceba0ec244365dc8e6b
diff --git a/svl/source/numbers/zformat.cxx b/svl/source/numbers/zformat.cxx
index 88f55d0..85a9d2a 100644
--- a/svl/source/numbers/zformat.cxx
+++ b/svl/source/numbers/zformat.cxx
@@ -1416,6 +1416,21 @@ SvNumberformat::LocaleType SvNumberformat::ImpGetLocaleType(const OUString& rStr
return (cToken == ']' || nPos == nLen) ? LocaleType(nNum) : LocaleType();
}
+static bool lcl_matchKeywordAndGetNumber( const OUString & rString, const sal_Int32 nPos,
+ const OUString & rKeyword, sal_Int32 & nNumber )
+{
+ if (0 <= nPos && nPos + rKeyword.getLength() < rString.getLength() && rString.matchIgnoreAsciiCase( rKeyword, nPos))
+ {
+ nNumber = rString.copy( nPos + rKeyword.getLength()).toInt32();
+ return true;
+ }
+ else
+ {
+ nNumber = 0;
+ return false;
+ }
+}
+
short SvNumberformat::ImpNextSymbol(OUStringBuffer& rString,
sal_Int32& nPos,
OUString& sSymbol)
@@ -1518,45 +1533,47 @@ short SvNumberformat::ImpNextSymbol(OUStringBuffer& rString,
{
const OUString aNatNum("NATNUM");
const OUString aDBNum("DBNUM");
- OUString aUpperNatNum( rChrCls().uppercase( rString.toString(), nPos-1, aNatNum.getLength() ) );
- OUString aUpperDBNum( rChrCls().uppercase( rString.toString(), nPos-1, aDBNum.getLength() ) );
- sal_Unicode cUpper = aUpperNatNum[0];
- sal_Int32 nNatNumNum = rString.toString().copy( nPos - 1 + aNatNum.getLength() ).toInt32();
- sal_Unicode cDBNum =
- nPos - 1 + aDBNum.getLength() < rString.getLength()
- ? rString[nPos - 1 + aDBNum.getLength()] : 0;
- if ( aUpperNatNum == aNatNum && 0 <= nNatNumNum && nNatNumNum <= 19 )
+ const OUString aBufStr( rString.toString());
+ sal_Int32 nNatNumNum;
+ sal_Int32 nDBNum;
+ if ( lcl_matchKeywordAndGetNumber( aBufStr, nPos-1, aNatNum, nNatNumNum) &&
+ 0 <= nNatNumNum && nNatNumNum <= 19 )
{
sBuffSymbol.stripStart((sal_Unicode)'[');
- sBuffSymbol.append( rString.toString().copy( --nPos, aNatNum.getLength()+1 ));
+ sBuffSymbol.append( aBufStr.copy( --nPos, aNatNum.getLength()+1 ));
nPos += aNatNum.getLength()+1;
//! SymbolType is negative
eSymbolType = (short) (BRACKET_SYMBOLTYPE_NATNUM0 - nNatNumNum);
eState = SsGetPrefix;
}
- else if ( aUpperDBNum == aDBNum && '1' <= cDBNum && cDBNum <= '9' )
+ else if ( lcl_matchKeywordAndGetNumber( aBufStr, nPos-1, aDBNum, nDBNum) &&
+ '1' <= nDBNum && nDBNum <= '9' )
{
sBuffSymbol.stripStart((sal_Unicode)'[');
sBuffSymbol.append(rString.toString().copy( --nPos, aDBNum.getLength()+1 ));
nPos += aDBNum.getLength()+1;
//! SymbolType is negative
- eSymbolType = sal::static_int_cast< short >( BRACKET_SYMBOLTYPE_DBNUM1 - (cDBNum - '1'));
+ eSymbolType = sal::static_int_cast< short >( BRACKET_SYMBOLTYPE_DBNUM1 - (nDBNum - '1'));
eState = SsGetPrefix;
}
- else if (cUpper == rKeywords[NF_KEY_H][0] || // H
- cUpper == rKeywords[NF_KEY_MI][0] || // M
- cUpper == rKeywords[NF_KEY_S][0] ) // S
- {
- sBuffSymbol.append(cToken);
- eState = SsGetTime;
- cLetter = cToken;
- }
else
{
- sBuffSymbol.stripStart((sal_Unicode)'[');
- sBuffSymbol.append(cToken);
- eSymbolType = BRACKET_SYMBOLTYPE_COLOR;
- eState = SsGetPrefix;
+ sal_Unicode cUpper = rChrCls().uppercase( aBufStr, nPos-1, 1)[0];
+ if ( cUpper == rKeywords[NF_KEY_H][0] || // H
+ cUpper == rKeywords[NF_KEY_MI][0] || // M
+ cUpper == rKeywords[NF_KEY_S][0] ) // S
+ {
+ sBuffSymbol.append(cToken);
+ eState = SsGetTime;
+ cLetter = cToken;
+ }
+ else
+ {
+ sBuffSymbol.stripStart((sal_Unicode)'[');
+ sBuffSymbol.append(cToken);
+ eSymbolType = BRACKET_SYMBOLTYPE_COLOR;
+ eState = SsGetPrefix;
+ }
}
}
}
commit dfcbc1e1af08f555d21ae85550ec16fb001da991
Author: Lionel Elie Mamane <lionel at mamane.lu>
Date: Mon Apr 22 21:53:59 2013 +0200
Data-aware ListBox: declare the newly supported External Binding Types
Change-Id: I5ab021f99373f24b6be2ca6db00fe8b6e69bc9cb
diff --git a/forms/source/component/ListBox.cxx b/forms/source/component/ListBox.cxx
index 8771869..204d874 100644
--- a/forms/source/component/ListBox.cxx
+++ b/forms/source/component/ListBox.cxx
@@ -1619,11 +1619,13 @@ namespace frm
//--------------------------------------------------------------------
Sequence< Type > OListBoxModel::getSupportedBindingTypes()
{
- Sequence< Type > aTypes(4);
- aTypes[0] = ::getCppuType( static_cast< Sequence< sal_Int32 >* >( NULL ) );
- aTypes[1] = ::getCppuType( static_cast< sal_Int32* >( NULL ) );
- aTypes[2] = ::getCppuType( static_cast< Sequence< OUString >* >( NULL ) );
- aTypes[3] = ::getCppuType( static_cast< OUString* >( NULL ) );
+ Sequence< Type > aTypes(6);
+ aTypes[0] = ::getCppuType( static_cast< Sequence< Any >* >( NULL ) );
+ aTypes[1] = ::getCppuType( static_cast< Any* >( NULL ) );
+ aTypes[2] = ::getCppuType( static_cast< Sequence< sal_Int32 >* >( NULL ) );
+ aTypes[3] = ::getCppuType( static_cast< sal_Int32* >( NULL ) );
+ aTypes[4] = ::getCppuType( static_cast< Sequence< OUString >* >( NULL ) );
+ aTypes[5] = ::getCppuType( static_cast< OUString* >( NULL ) );
return aTypes;
}
commit 1e392ea7a0d1504f701f9fed1492e64a78a65339
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Mon Apr 22 19:39:51 2013 +0200
Trying to avoid linking with boost on Windows
Change-Id: Ic0c538dfad88f850d95f417f2741ef7dba7fc5e4
diff --git a/libcdr/UnpackedTarball_cdr.mk b/libcdr/UnpackedTarball_cdr.mk
index be1e7d7..a4a427d 100644
--- a/libcdr/UnpackedTarball_cdr.mk
+++ b/libcdr/UnpackedTarball_cdr.mk
@@ -11,4 +11,10 @@ $(eval $(call gb_UnpackedTarball_UnpackedTarball,cdr))
$(eval $(call gb_UnpackedTarball_set_tarball,cdr,$(CDR_TARBALL)))
+$(eval $(call gb_UnpackedTarball_set_patchlevel,cdr,1))
+
+$(eval $(call gb_UnpackedTarball_add_patches,cdr,\
+ libcdr/libcdr-0.0.13.patch \
+))
+
# vim: set noet sw=4 ts=4:
diff --git a/libcdr/libcdr-0.0.13.patch b/libcdr/libcdr-0.0.13.patch
new file mode 100644
index 0000000..29b2b28
--- /dev/null
+++ b/libcdr/libcdr-0.0.13.patch
@@ -0,0 +1,12 @@
+--- a/src/lib/CDRParser.cpp
++++ b/src/lib/CDRParser.cpp
+@@ -32,6 +32,9 @@
+ #include <string.h>
+ #include <sstream>
+ #include <set>
++#ifndef BOOST_ALL_NO_LIB
++#define BOOST_ALL_NO_LIB 1
++#endif
+ #include <boost/property_tree/json_parser.hpp>
+ #include <boost/property_tree/ptree.hpp>
+ #include <boost/spirit/include/classic.hpp>
commit 41d2b58b1ed5c1c4a1ca6ab3e6d7c4f15874d3a3
Author: Fridrich Å trba <fridrich.strba at bluewin.ch>
Date: Mon Apr 22 18:34:04 2013 +0200
Trying to fix a boost::property_tree::json_parser error on windows
Change-Id: Iea3ec9a56eb008c6a0729a151b392f1e62925720
diff --git a/boost/UnpackedTarball_boost.mk b/boost/UnpackedTarball_boost.mk
index 6474f22..687a163 100644
--- a/boost/UnpackedTarball_boost.mk
+++ b/boost/UnpackedTarball_boost.mk
@@ -62,6 +62,8 @@ boost_patches += boost_1_44_0-gcc4.8.patch
# https://svn.boost.org/trac/boost/changeset/78496
boost_patches += boost.4874.patch
+boost_patches += boost.ptree.patch
+
$(eval $(call gb_UnpackedTarball_UnpackedTarball,boost))
$(eval $(call gb_UnpackedTarball_set_tarball,boost,$(BOOST_TARBALL)))
diff --git a/boost/boost.ptree.patch b/boost/boost.ptree.patch
new file mode 100644
index 0000000..3fa98d8
--- /dev/null
+++ b/boost/boost.ptree.patch
@@ -0,0 +1,11 @@
+--- misc/build/boost_1_44_0/boost/property_tree/detail/json_parser_read.hpp 2013-04-22 18:22:16.961642320 +0200
++++ misc/build/boost_1_44_0/boost/property_tree/detail/json_parser_read.hpp 2013-04-22 18:22:59.991632602 +0200
+@@ -102,7 +102,7 @@
+ void operator()(It b, It e) const
+ {
+ BOOST_ASSERT(c.stack.size() >= 1);
+- c.stack.back()->push_back(std::make_pair(c.name, Str(b, e)));
++ c.stack.back()->push_back(std::make_pair(c.name, Ptree(Str(b, e))));
+ c.name.clear();
+ c.string.clear();
+ }
commit 5275ed805a6e42f56c59d1c5876a7994625905a9
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Wed Apr 17 16:43:13 2013 +0200
Revert "Revert "WIP: Experimental new binary type.rdb format""
This reverts commit 67e69a55820f50973ca0de75ccab2bb07d0bada8, applying a band-
aid fix to cli_ure/source/climaker for now.
Conflicts:
stoc/inc/bootstrapservices.hxx
stoc/source/tdmanager/lrucache.hxx
stoc/source/tdmanager/tdmgr.cxx
stoc/source/tdmanager/tdmgr_common.hxx
stoc/source/tdmanager/tdmgr_tdenumeration.cxx
stoc/source/tdmanager/tdmgr_tdenumeration.hxx
Change-Id: Iae669985d0194f06fa349a4a39f0ebd230bc5d28
diff --git a/cli_ure/source/climaker/climaker_app.cxx b/cli_ure/source/climaker/climaker_app.cxx
old mode 100644
new mode 100755
index f7b1f27..e74cc23
--- a/cli_ure/source/climaker/climaker_app.cxx
+++ b/cli_ure/source/climaker/climaker_app.cxx
@@ -483,17 +483,15 @@ SAL_IMPLEMENT_MAIN()
Sequence< Any >( &arg, 1 ), xContext ) );
// insert provider to tdmgr
Reference< container::XSet > xSet( xTDmgr, UNO_QUERY_THROW );
- Any provider( makeAny( xTD_provider ) );
- xSet->insert( provider );
- OSL_ASSERT( xSet->has( provider ) );
- if (! extra_registries.empty())
+ for (vector< OUString >::iterator i(extra_registries.begin());
+ i != extra_registries.end(); ++i)
{
- arg = makeAny( open_registries( extra_registries, xContext ) );
- provider = makeAny(
- xTDprov_factory->createInstanceWithArgumentsAndContext(
- Sequence< Any >( &arg, 1 ), xContext ) );
- xSet->insert( provider );
- OSL_ASSERT( xSet->has( provider ) );
+ xSet->insert(makeAny(*i));
+ }
+ for (vector< OUString >::iterator i(mandatory_registries.begin());
+ i != mandatory_registries.end(); ++i)
+ {
+ xSet->insert(makeAny(*i));
}
if (0 == output.getLength()) // no output file specified
diff --git a/cppuhelper/Library_cppuhelper.mk b/cppuhelper/Library_cppuhelper.mk
index 577efbc..b594b53 100644
--- a/cppuhelper/Library_cppuhelper.mk
+++ b/cppuhelper/Library_cppuhelper.mk
@@ -75,7 +75,7 @@ $(eval $(call gb_Library_add_exception_objects,cppuhelper,\
cppuhelper/source/shlib \
cppuhelper/source/supportsservice \
cppuhelper/source/tdmgr \
- cppuhelper/source/typedescriptionprovider \
+ cppuhelper/source/typemanager \
cppuhelper/source/typeprovider \
cppuhelper/source/unourl \
cppuhelper/source/weak \
diff --git a/cppuhelper/source/defaultbootstrap.cxx b/cppuhelper/source/defaultbootstrap.cxx
index 10c8eaf..fc790ba 100644
--- a/cppuhelper/source/defaultbootstrap.cxx
+++ b/cppuhelper/source/defaultbootstrap.cxx
@@ -12,8 +12,6 @@
#include <cassert>
#include <vector>
-#include "com/sun/star/container/XHierarchicalNameAccess.hpp"
-#include "com/sun/star/container/XSet.hpp"
#include "com/sun/star/uno/DeploymentException.hpp"
#include "com/sun/star/uno/Any.hxx"
#include "com/sun/star/uno/Reference.hxx"
@@ -29,7 +27,7 @@ using rtl::OUString;
#include "macro_expander.hxx"
#include "paths.hxx"
#include "servicemanager.hxx"
-#include "typedescriptionprovider.hxx"
+#include "typemanager.hxx"
namespace {
@@ -60,6 +58,9 @@ cppu::defaultBootstrap_InitialComponentContext(rtl::OUString const & iniUri)
rtl::Reference< cppuhelper::ServiceManager > smgr(
new cppuhelper::ServiceManager(
getBootstrapVariable(bs, "UNO_SERVICES")));
+ rtl::Reference< cppuhelper::TypeManager > tmgr(
+ new cppuhelper::TypeManager(
+ getBootstrapVariable(bs, "UNO_TYPES")));
cppu::ContextEntry_Init entry;
std::vector< cppu::ContextEntry_Init > context_values;
context_values.push_back(
@@ -69,6 +70,13 @@ cppu::defaultBootstrap_InitialComponentContext(rtl::OUString const & iniUri)
css::uno::Reference< css::uno::XInterface >(
static_cast< cppu::OWeakObject * >(smgr.get()))),
false));
+ context_values.push_back(
+ cppu::ContextEntry_Init(
+ "/singletons/com.sun.star.reflection.theTypeDescriptionManager",
+ css::uno::makeAny(
+ css::uno::Reference< css::uno::XInterface >(
+ static_cast< cppu::OWeakObject * >(tmgr.get()))),
+ false));
context_values.push_back( //TODO: from services.rdb?
cppu::ContextEntry_Init(
"/singletons/com.sun.star.util.theMacroExpander",
@@ -92,18 +100,7 @@ cppu::defaultBootstrap_InitialComponentContext(rtl::OUString const & iniUri)
&context_values[0], context_values.size(),
css::uno::Reference< css::uno::XComponentContext >()));
smgr->setContext(context);
- css::uno::Reference< css::container::XHierarchicalNameAccess > tdmgr(
- context->getValueByName(
- "/singletons/com.sun.star.reflection.theTypeDescriptionManager"),
- css::uno::UNO_QUERY_THROW);
- css::uno::Reference< css::container::XSet >(
- tdmgr, css::uno::UNO_QUERY_THROW)->
- insert(
- css::uno::makeAny(
- cppuhelper::createTypeDescriptionProviders(
- getBootstrapVariable(bs, "UNO_TYPES"), smgr.get(),
- context)));
- cppu::installTypeDescriptionManager(tdmgr);
+ cppu::installTypeDescriptionManager(tmgr.get());
return context;
}
diff --git a/cppuhelper/source/typedescriptionprovider.hxx b/cppuhelper/source/typedescriptionprovider.hxx
deleted file mode 100644
index 93336e8..0000000
--- a/cppuhelper/source/typedescriptionprovider.hxx
+++ /dev/null
@@ -1,39 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-#ifndef INCLUDED_CPPUHELPER_SOURCE_TYPEDESCRIPTIONPROVIDER_HXX
-#define INCLUDED_CPPUHELPER_SOURCE_TYPEDESCRIPTIONPROVIDER_HXX
-
-#include "sal/config.h"
-
-#include "com/sun/star/uno/Reference.hxx"
-#include "com/sun/star/uno/Sequence.hxx"
-
-namespace com { namespace sun { namespace star {
- namespace container { class XHierarchicalNameAccess; }
- namespace lang { class XMultiComponentFactory; }
- namespace uno { class XComponentContext; }
-} } }
-namespace rtl { class OUString; }
-
-namespace cppuhelper {
-
-css::uno::Sequence<
- css::uno::Reference< css::container::XHierarchicalNameAccess > >
-createTypeDescriptionProviders(
- rtl::OUString const & uris,
- css::uno::Reference< css::lang::XMultiComponentFactory > const &
- serviceManager,
- css::uno::Reference< css::uno::XComponentContext > const & context);
-
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cppuhelper/source/typedescriptionprovider.cxx b/cppuhelper/source/typemanager.cxx
similarity index 63%
rename from cppuhelper/source/typedescriptionprovider.cxx
rename to cppuhelper/source/typemanager.cxx
index b87575d..4185ddc 100644
--- a/cppuhelper/source/typedescriptionprovider.cxx
+++ b/cppuhelper/source/typemanager.cxx
@@ -10,16 +10,17 @@
#include "sal/config.h"
#include <cassert>
+#include <cstddef>
#include <cstdlib>
+#include <cstring>
#include <set>
#include <stack>
#include <vector>
#include "boost/noncopyable.hpp"
+#include "com/sun/star/container/ElementExistException.hpp"
#include "com/sun/star/container/NoSuchElementException.hpp"
-#include "com/sun/star/container/XHierarchicalNameAccess.hpp"
-#include "com/sun/star/lang/XInitialization.hpp"
-#include "com/sun/star/lang/XMultiComponentFactory.hpp"
+#include "com/sun/star/lang/IllegalArgumentException.hpp"
#include "com/sun/star/reflection/InvalidTypeNameException.hpp"
#include "com/sun/star/reflection/NoSuchTypeNameException.hpp"
#include "com/sun/star/reflection/TypeDescriptionSearchDepth.hpp"
@@ -35,61 +36,99 @@
#include "com/sun/star/reflection/XServiceTypeDescription2.hpp"
#include "com/sun/star/reflection/XSingletonTypeDescription2.hpp"
#include "com/sun/star/reflection/XStructTypeDescription.hpp"
-#include "com/sun/star/reflection/XTypeDescriptionEnumeration.hpp"
-#include "com/sun/star/reflection/XTypeDescriptionEnumerationAccess.hpp"
-#include "com/sun/star/registry/InvalidRegistryException.hpp"
-#include "com/sun/star/registry/XSimpleRegistry.hpp"
+#include "com/sun/star/reflection/XTypeDescription.hpp"
#include "com/sun/star/uno/Any.hxx"
#include "com/sun/star/uno/DeploymentException.hpp"
#include "com/sun/star/uno/Reference.hxx"
#include "com/sun/star/uno/RuntimeException.hpp"
#include "com/sun/star/uno/Sequence.hxx"
+#include "com/sun/star/uno/Type.hxx"
#include "com/sun/star/uno/TypeClass.hpp"
-#include "com/sun/star/uno/XComponentContext.hpp"
-#include "com/sun/star/uno/XInterface.hpp"
-#include "cppuhelper/compbase2.hxx"
+#include "cppu/unotype.hxx"
#include "cppuhelper/implbase1.hxx"
+#include "cppuhelper/supportsservice.hxx"
#include "osl/file.hxx"
#include "osl/mutex.hxx"
#include "rtl/ref.hxx"
+#include "rtl/string.h"
#include "rtl/ustring.hxx"
+#include "sal/macros.h"
#include "sal/types.h"
using rtl::OUString;
#include "unoidl/unoidl.hxx"
-#include "unoidl/unoidlprovider.hxx"
#include "paths.hxx"
-#include "typedescriptionprovider.hxx"
+#include "typemanager.hxx"
namespace {
-css::uno::Reference< css::reflection::XTypeDescription > resolve(
- css::uno::Reference< css::uno::XComponentContext > const & context,
- rtl::OUString const & name)
-{
- assert(context.is());
- try {
- return css::uno::Reference< css::reflection::XTypeDescription >(
- (css::uno::Reference< css::container::XHierarchicalNameAccess >(
- context->getValueByName(
- "/singletons/"
- "com.sun.star.reflection.theTypeDescriptionManager"),
- css::uno::UNO_QUERY_THROW)->
- getByHierarchicalName(name)),
- css::uno::UNO_QUERY_THROW);
- } catch (css::container::NoSuchElementException & e) {
- throw css::uno::DeploymentException(
- ("cannot resolve type \"" + name + "\"; NoSuchElementException: "
- + e.Message),
- e.Context);
+css::uno::Any resolveTypedefs(css::uno::Any const & type) {
+ for (css::uno::Any t(type);;) {
+ css::uno::Reference< css::reflection::XIndirectTypeDescription > ind(
+ type, css::uno::UNO_QUERY);
+ if (!ind.is() || ind->getTypeClass() != css::uno::TypeClass_TYPEDEF) {
+ return t;
+ }
+ t = css::uno::makeAny(ind->getReferencedType());
}
}
+class SimpleTypeDescription:
+ public cppu::WeakImplHelper1< css::reflection::XTypeDescription >
+{
+public:
+ SimpleTypeDescription(
+ css::uno::TypeClass typeClass, rtl::OUString const & name):
+ typeClass_(typeClass), name_(name)
+ {}
+
+private:
+ virtual ~SimpleTypeDescription() {}
+
+ virtual css::uno::TypeClass SAL_CALL getTypeClass()
+ throw (css::uno::RuntimeException)
+ { return typeClass_; }
+
+ virtual rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException)
+ { return name_; }
+
+ css::uno::TypeClass typeClass_;
+ rtl::OUString name_;
+};
+
+class SequenceTypeDescription:
+ public cppu::WeakImplHelper1< css::reflection::XIndirectTypeDescription >
+{
+public:
+ SequenceTypeDescription(
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
+ rtl::OUString const & name, rtl::OUString const & componentType):
+ manager_(manager), name_(name), componentType_(componentType)
+ { assert(manager.is()); }
+
+private:
+ virtual ~SequenceTypeDescription() {}
+
+ virtual css::uno::TypeClass SAL_CALL getTypeClass()
+ throw (css::uno::RuntimeException)
+ { return css::uno::TypeClass_SEQUENCE; }
+
+ virtual rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException)
+ { return name_; }
+
+ virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
+ getReferencedType() throw (css::uno::RuntimeException)
+ { return manager_->resolve(componentType_); }
+
+ rtl::Reference< cppuhelper::TypeManager > manager_;
+ rtl::OUString name_;
+ rtl::OUString componentType_;
+};
+
class PublishableDescription:
- public cppu::WeakImplHelper1< css::reflection::XPublished >,
- private boost::noncopyable
+ public cppu::WeakImplHelper1< css::reflection::XPublished >
{
protected:
PublishableDescription(bool published): published_(published) {}
@@ -104,16 +143,15 @@ private:
};
class ModuleDescription:
- public cppu::WeakImplHelper1< css::reflection::XModuleTypeDescription >,
- private boost::noncopyable
+ public cppu::WeakImplHelper1< css::reflection::XModuleTypeDescription >
{
public:
ModuleDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::ModuleEntity > const & entity):
- context_(context), name_(name), entity_(entity)
- { assert(entity.is()); }
+ manager_(manager), name_(name), entity_(entity)
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~ModuleDescription() {}
@@ -130,7 +168,7 @@ private:
css::uno::Reference< css::reflection::XTypeDescription > >
SAL_CALL getMembers() throw (css::uno::RuntimeException);
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::ModuleEntity > entity_;
};
@@ -144,7 +182,7 @@ ModuleDescription::getMembers() throw (css::uno::RuntimeException) {
css::uno::Sequence<
css::uno::Reference< css::reflection::XTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
- s[i] = resolve(context_, name_ + "." + names[i]);
+ s[i] = manager_->resolve(name_ + "." + names[i]);
}
return s;
} catch (unoidl::FileFormatException & e) {
@@ -222,12 +260,12 @@ PlainStructTypeDescription_Base;
class PlainStructTypeDescription: public PlainStructTypeDescription_Base {
public:
PlainStructTypeDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::PlainStructTypeEntity > const & entity):
PlainStructTypeDescription_Base(entity->isPublished()),
- context_(context), name_(name), entity_(entity)
- { assert(entity.is()); }
+ manager_(manager), name_(name), entity_(entity)
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~PlainStructTypeDescription() {}
@@ -243,7 +281,7 @@ private:
getBaseType() throw (css::uno::RuntimeException) {
return entity_->getDirectBase().isEmpty()
? css::uno::Reference< css::reflection::XTypeDescription >()
- : resolve(context_, entity_->getDirectBase());
+ : manager_->resolve(entity_->getDirectBase());
}
virtual
@@ -266,7 +304,7 @@ private:
css::uno::Reference< css::reflection::XTypeDescription > >();
}
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::PlainStructTypeEntity > entity_;
};
@@ -279,7 +317,7 @@ PlainStructTypeDescription::getMemberTypes() throw (css::uno::RuntimeException)
css::uno::Sequence<
css::uno::Reference< css::reflection::XTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
- s[i] = resolve(context_, entity_->getDirectMembers()[i].type);
+ s[i] = manager_->resolve(entity_->getDirectMembers()[i].type);
}
return s;
}
@@ -297,8 +335,7 @@ css::uno::Sequence< rtl::OUString > PlainStructTypeDescription::getMemberNames()
}
class ParameterizedMemberTypeDescription:
- public cppu::WeakImplHelper1< css::reflection::XTypeDescription >,
- private boost::noncopyable
+ public cppu::WeakImplHelper1< css::reflection::XTypeDescription >
{
public:
explicit ParameterizedMemberTypeDescription(
@@ -328,13 +365,13 @@ class PolymorphicStructTypeTemplateDescription:
{
public:
PolymorphicStructTypeTemplateDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::PolymorphicStructTypeTemplateEntity > const &
entity):
PolymorphicStructTypeTemplateDescription_Base(entity->isPublished()),
- context_(context), name_(name), entity_(entity)
- { assert(entity.is()); }
+ manager_(manager), name_(name), entity_(entity)
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~PolymorphicStructTypeTemplateDescription() {}
@@ -369,7 +406,7 @@ private:
css::uno::Reference< css::reflection::XTypeDescription > >();
}
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::PolymorphicStructTypeTemplateEntity > entity_;
};
@@ -386,7 +423,7 @@ PolymorphicStructTypeTemplateDescription::getMemberTypes()
s[i] = entity_->getMembers()[i].parameterized
? new ParameterizedMemberTypeDescription(
entity_->getMembers()[i].type)
- : resolve(context_, entity_->getMembers()[i].type);
+ : manager_->resolve(entity_->getMembers()[i].type);
}
return s;
}
@@ -417,6 +454,114 @@ PolymorphicStructTypeTemplateDescription::getTypeParameters()
return s;
}
+class InstantiatedPolymorphicStructTypeDescription:
+ public cppu::WeakImplHelper1< css::reflection::XStructTypeDescription >
+{
+public:
+ InstantiatedPolymorphicStructTypeDescription(
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
+ rtl::OUString const & name,
+ rtl::Reference< unoidl::PolymorphicStructTypeTemplateEntity > const &
+ entity,
+ std::vector< rtl::OUString > const & arguments):
+ manager_(manager), name_(name), entity_(entity), arguments_(arguments)
+ {
+ assert(manager.is());
+ assert(entity.is());
+ assert(arguments.size() == entity->getTypeParameters().size());
+ }
+
+private:
+ virtual ~InstantiatedPolymorphicStructTypeDescription() {}
+
+ virtual css::uno::TypeClass SAL_CALL getTypeClass()
+ throw (css::uno::RuntimeException)
+ { return css::uno::TypeClass_STRUCT; }
+
+ virtual rtl::OUString SAL_CALL getName() throw (css::uno::RuntimeException)
+ { return name_; }
+
+ virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
+ getBaseType() throw (css::uno::RuntimeException)
+ { return css::uno::Reference< css::reflection::XTypeDescription >(); }
+
+ virtual
+ css::uno::Sequence<
+ css::uno::Reference< css::reflection::XTypeDescription > >
+ SAL_CALL getMemberTypes() throw (css::uno::RuntimeException);
+
+ virtual css::uno::Sequence< rtl::OUString > SAL_CALL getMemberNames()
+ throw (css::uno::RuntimeException);
+
+ virtual css::uno::Sequence< rtl::OUString > SAL_CALL getTypeParameters()
+ throw (css::uno::RuntimeException)
+ { return css::uno::Sequence< rtl::OUString >(); }
+
+ virtual
+ css::uno::Sequence<
+ css::uno::Reference< css::reflection::XTypeDescription > >
+ SAL_CALL getTypeArguments() throw (css::uno::RuntimeException);
+
+ rtl::Reference< cppuhelper::TypeManager > manager_;
+ rtl::OUString name_;
+ rtl::Reference< unoidl::PolymorphicStructTypeTemplateEntity > entity_;
+ std::vector< rtl::OUString > arguments_;
+};
+
+css::uno::Sequence< css::uno::Reference< css::reflection::XTypeDescription > >
+InstantiatedPolymorphicStructTypeDescription::getMemberTypes()
+ throw (css::uno::RuntimeException)
+{
+ assert(entity_->getMembers().size() <= SAL_MAX_INT32);
+ sal_Int32 n = static_cast< sal_Int32 >(entity_->getMembers().size());
+ css::uno::Sequence<
+ css::uno::Reference< css::reflection::XTypeDescription > > s(n);
+ for (sal_Int32 i = 0; i != n; ++i) {
+ rtl::OUString type(entity_->getMembers()[i].type);
+ if (entity_->getMembers()[i].parameterized) {
+ for (std::vector< rtl::OUString >::const_iterator j(
+ entity_->getTypeParameters().begin());
+ j != entity_->getTypeParameters().end(); ++j)
+ {
+ if (*j == type) {
+ type = arguments_[j - entity_->getTypeParameters().begin()];
+ goto found;
+ }
+ }
+ assert(false); // this cannot happen //TODO!
+ found:;
+ }
+ s[i] = manager_->resolve(type);
+ }
+ return s;
+}
+
+css::uno::Sequence< rtl::OUString >
+InstantiatedPolymorphicStructTypeDescription::getMemberNames()
+ throw (css::uno::RuntimeException)
+{
+ assert(entity_->getMembers().size() <= SAL_MAX_INT32);
+ sal_Int32 n = static_cast< sal_Int32 >(entity_->getMembers().size());
+ css::uno::Sequence< rtl::OUString > s(n);
+ for (sal_Int32 i = 0; i != n; ++i) {
+ s[i] = entity_->getMembers()[i].name;
+ }
+ return s;
+}
+css::uno::Sequence< css::uno::Reference< css::reflection::XTypeDescription > >
+InstantiatedPolymorphicStructTypeDescription::getTypeArguments()
+ throw (css::uno::RuntimeException)
+{
+ assert(arguments_.size() <= SAL_MAX_INT32);
+ sal_Int32 n = static_cast< sal_Int32 >(arguments_.size());
+ css::uno::Sequence<
+ css::uno::Reference< css::reflection::XTypeDescription > > s(n);
+ for (sal_Int32 i = 0; i != n; ++i) {
+ s[i] = manager_->resolve(arguments_[i]);
+ }
+ return s;
+}
+
typedef cppu::ImplInheritanceHelper1<
PublishableDescription, css::reflection::XCompoundTypeDescription >
ExceptionTypeDescription_Base;
@@ -424,12 +569,12 @@ ExceptionTypeDescription_Base;
class ExceptionTypeDescription: public ExceptionTypeDescription_Base {
public:
ExceptionTypeDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::ExceptionTypeEntity > const & entity):
- ExceptionTypeDescription_Base(entity->isPublished()), context_(context),
+ ExceptionTypeDescription_Base(entity->isPublished()), manager_(manager),
name_(name), entity_(entity)
- { assert(entity.is()); }
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~ExceptionTypeDescription() {}
@@ -445,7 +590,7 @@ private:
getBaseType() throw (css::uno::RuntimeException) {
return entity_->getDirectBase().isEmpty()
? css::uno::Reference< css::reflection::XTypeDescription >()
- : resolve(context_, entity_->getDirectBase());
+ : manager_->resolve(entity_->getDirectBase());
}
virtual
@@ -456,7 +601,7 @@ private:
virtual css::uno::Sequence< rtl::OUString > SAL_CALL getMemberNames()
throw (css::uno::RuntimeException);
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::ExceptionTypeEntity > entity_;
};
@@ -468,7 +613,7 @@ ExceptionTypeDescription::getMemberTypes() throw (css::uno::RuntimeException) {
css::uno::Sequence<
css::uno::Reference< css::reflection::XTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
- s[i] = resolve(context_, entity_->getDirectMembers()[i].type);
+ s[i] = manager_->resolve(entity_->getDirectMembers()[i].type);
}
return s;
}
@@ -485,86 +630,19 @@ css::uno::Sequence< rtl::OUString > ExceptionTypeDescription::getMemberNames()
return s;
}
-css::uno::Reference< css::reflection::XTypeDescription > resolveTypedefs(
- css::uno::Reference< css::reflection::XTypeDescription > const & type)
-{
- css::uno::Reference< css::reflection::XTypeDescription > resolved(type);
- while (resolved->getTypeClass() == css::uno::TypeClass_TYPEDEF) {
- resolved
- = (css::uno::Reference< css::reflection::XIndirectTypeDescription >(
- resolved, css::uno::UNO_QUERY_THROW)->
- getReferencedType());
- }
- return resolved;
-}
-
-class BaseOffset: private boost::noncopyable {
-public:
- BaseOffset(
- css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >
- const & description);
-
- sal_Int32 get() const { return offset_; }
-
-private:
- void calculateBases(
- css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >
- const & description);
-
- void calculate(
- css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >
- const & description);
-
- std::set< rtl::OUString > set_;
- sal_Int32 offset_;
-};
-
-BaseOffset::BaseOffset(
- css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > const &
- description):
- offset_(0)
-{
- calculateBases(description);
-}
-
-void BaseOffset::calculateBases(
- css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > const &
- description)
-{
- css::uno::Sequence<
- css::uno::Reference < css::reflection::XTypeDescription > > bases(
- description->getBaseTypes());
- for (sal_Int32 i = 0; i != bases.getLength(); ++i) {
- calculate(
- css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >(
- resolveTypedefs(bases[i]), css::uno::UNO_QUERY_THROW));
- }
-}
-
-void BaseOffset::calculate(
- css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > const &
- description)
-{
- if (set_.insert(description->getName()).second) {
- calculateBases(description);
- offset_ += description->getMembers().getLength();
- }
-}
-
class AttributeDescription:
public cppu::WeakImplHelper1<
- css::reflection::XInterfaceAttributeTypeDescription2 >,
- private boost::noncopyable
+ css::reflection::XInterfaceAttributeTypeDescription2 >
{
public:
AttributeDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
unoidl::InterfaceTypeEntity::Attribute const & attribute,
sal_Int32 position):
- context_(context), name_(name), attribute_(attribute),
+ manager_(manager), name_(name), attribute_(attribute),
position_(position)
- {}
+ { assert(manager.is()); }
private:
virtual ~AttributeDescription() {}
@@ -588,7 +666,7 @@ private:
virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
getType() throw (css::uno::RuntimeException)
- { return resolve(context_, attribute_.type); }
+ { return manager_->resolve(attribute_.type); }
virtual sal_Bool SAL_CALL isBound() throw (css::uno::RuntimeException)
{ return attribute_.bound; }
@@ -603,7 +681,7 @@ private:
css::uno::Reference< css::reflection::XCompoundTypeDescription > >
SAL_CALL getSetExceptions() throw (css::uno::RuntimeException);
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
unoidl::InterfaceTypeEntity::Attribute attribute_;
sal_Int32 position_;
@@ -618,7 +696,7 @@ AttributeDescription::getGetExceptions() throw (css::uno::RuntimeException) {
css::uno::Reference< css::reflection::XCompoundTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
s[i].set(
- resolve(context_, attribute_.getExceptions[i]),
+ manager_->resolve(attribute_.getExceptions[i]),
css::uno::UNO_QUERY_THROW);
}
return s;
@@ -633,23 +711,22 @@ AttributeDescription::getSetExceptions() throw (css::uno::RuntimeException) {
css::uno::Reference< css::reflection::XCompoundTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
s[i].set(
- resolve(context_, attribute_.setExceptions[i]),
+ manager_->resolve(attribute_.setExceptions[i]),
css::uno::UNO_QUERY_THROW);
}
return s;
}
class MethodParameter:
- public cppu::WeakImplHelper1< css::reflection::XMethodParameter >,
- private boost::noncopyable
+ public cppu::WeakImplHelper1< css::reflection::XMethodParameter >
{
public:
MethodParameter(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
unoidl::InterfaceTypeEntity::Method::Parameter const & parameter,
sal_Int32 position):
- context_(context), parameter_(parameter), position_(position)
- {}
+ manager_(manager), parameter_(parameter), position_(position)
+ { assert(manager.is()); }
private:
virtual ~MethodParameter() {}
@@ -659,7 +736,7 @@ private:
virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
getType() throw (css::uno::RuntimeException)
- { return resolve(context_, parameter_.type); }
+ { return manager_->resolve(parameter_.type); }
virtual sal_Bool SAL_CALL isIn() throw (css::uno::RuntimeException) {
return
@@ -682,23 +759,22 @@ private:
virtual sal_Int32 SAL_CALL getPosition() throw (css::uno::RuntimeException)
{ return position_; }
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
unoidl::InterfaceTypeEntity::Method::Parameter parameter_;
sal_Int32 position_;
};
class MethodDescription:
public cppu::WeakImplHelper1<
- css::reflection::XInterfaceMethodTypeDescription >,
- private boost::noncopyable
+ css::reflection::XInterfaceMethodTypeDescription >
{
public:
MethodDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
unoidl::InterfaceTypeEntity::Method const & method, sal_Int32 position):
- context_(context), name_(name), method_(method), position_(position)
- {}
+ manager_(manager), name_(name), method_(method), position_(position)
+ { assert(manager.is()); }
private:
virtual ~MethodDescription() {}
@@ -719,7 +795,7 @@ private:
virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
getReturnType() throw (css::uno::RuntimeException)
- { return resolve(context_, method_.returnType); }
+ { return manager_->resolve(method_.returnType); }
virtual sal_Bool SAL_CALL isOneway() throw (css::uno::RuntimeException)
{ return false; }
@@ -734,7 +810,7 @@ private:
css::uno::Reference< css::reflection::XTypeDescription > >
SAL_CALL getExceptions() throw (css::uno::RuntimeException);
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
unoidl::InterfaceTypeEntity::Method method_;
sal_Int32 position_;
@@ -747,7 +823,7 @@ MethodDescription::getParameters() throw (css::uno::RuntimeException) {
css::uno::Sequence<
css::uno::Reference< css::reflection::XMethodParameter > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
- s[i] = new MethodParameter(context_, method_.parameters[i], i);
+ s[i] = new MethodParameter(manager_, method_.parameters[i], i);
}
return s;
}
@@ -759,11 +835,65 @@ MethodDescription::getExceptions() throw (css::uno::RuntimeException) {
css::uno::Sequence<
css::uno::Reference< css::reflection::XTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
- s[i] = resolve(context_, method_.exceptions[i]);
+ s[i] = manager_->resolve(method_.exceptions[i]);
}
return s;
}
+class BaseOffset: private boost::noncopyable {
+public:
+ BaseOffset(
+ css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >
+ const & description);
+
+ sal_Int32 get() const { return offset_; }
+
+private:
+ void calculateBases(
+ css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >
+ const & description);
+
+ void calculate(
+ css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >
+ const & description);
+
+ std::set< rtl::OUString > set_;
+ sal_Int32 offset_;
+};
+
+BaseOffset::BaseOffset(
+ css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > const &
+ description):
+ offset_(0)
+{
+ calculateBases(description);
+}
+
+void BaseOffset::calculateBases(
+ css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > const &
+ description)
+{
+ css::uno::Sequence<
+ css::uno::Reference < css::reflection::XTypeDescription > > bases(
+ description->getBaseTypes());
+ for (sal_Int32 i = 0; i != bases.getLength(); ++i) {
+ calculate(
+ css::uno::Reference< css::reflection::XInterfaceTypeDescription2 >(
+ resolveTypedefs(css::uno::makeAny(bases[i])),
+ css::uno::UNO_QUERY_THROW));
+ }
+}
+
+void BaseOffset::calculate(
+ css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > const &
+ description)
+{
+ if (set_.insert(description->getName()).second) {
+ calculateBases(description);
+ offset_ += description->getMembers().getLength();
+ }
+}
+
typedef cppu::ImplInheritanceHelper1<
PublishableDescription, css::reflection::XInterfaceTypeDescription2 >
InterfaceTypeDescription_Base;
@@ -771,12 +901,12 @@ InterfaceTypeDescription_Base;
class InterfaceTypeDescription: public InterfaceTypeDescription_Base {
public:
InterfaceTypeDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::InterfaceTypeEntity > const & entity):
- InterfaceTypeDescription_Base(entity->isPublished()), context_(context),
+ InterfaceTypeDescription_Base(entity->isPublished()), manager_(manager),
name_(name), entity_(entity)
- { assert(entity.is()); }
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~InterfaceTypeDescription() {}
@@ -792,7 +922,7 @@ private:
getBaseType() throw (css::uno::RuntimeException) {
return entity_->getDirectMandatoryBases().empty()
? css::uno::Reference< css::reflection::XTypeDescription >()
- : resolve(context_, entity_->getDirectMandatoryBases()[0]);
+ : manager_->resolve(entity_->getDirectMandatoryBases()[0]);
}
virtual css::uno::Uik SAL_CALL getUik() throw (css::uno::RuntimeException)
@@ -814,7 +944,7 @@ private:
css::uno::Reference< css::reflection::XTypeDescription > >
SAL_CALL getOptionalBaseTypes() throw (css::uno::RuntimeException);
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::InterfaceTypeEntity > entity_;
};
@@ -835,12 +965,12 @@ InterfaceTypeDescription::getMembers() throw (css::uno::RuntimeException) {
sal_Int32 off = BaseOffset(this).get();
for (sal_Int32 i = 0; i != n1; ++i) {
s[i] = new AttributeDescription(
- context_, name_ + "::" + entity_->getDirectAttributes()[i].name,
+ manager_, name_ + "::" + entity_->getDirectAttributes()[i].name,
entity_->getDirectAttributes()[i], off + i);
}
for (sal_Int32 i = 0; i != n2; ++i) {
s[n1 + i] = new MethodDescription(
- context_, name_ + "::" + entity_->getDirectMethods()[i].name,
+ manager_, name_ + "::" + entity_->getDirectMethods()[i].name,
entity_->getDirectMethods()[i], off + n1 + i);
}
return s;
@@ -854,7 +984,7 @@ InterfaceTypeDescription::getBaseTypes() throw (css::uno::RuntimeException) {
css::uno::Sequence<
css::uno::Reference< css::reflection::XTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
- s[i] = resolve(context_, entity_->getDirectMandatoryBases()[i]);
+ s[i] = manager_->resolve(entity_->getDirectMandatoryBases()[i]);
}
return s;
}
@@ -869,20 +999,17 @@ InterfaceTypeDescription::getOptionalBaseTypes()
css::uno::Sequence<
css::uno::Reference< css::reflection::XTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
- s[i] = resolve(context_, entity_->getDirectOptionalBases()[i]);
+ s[i] = manager_->resolve(entity_->getDirectOptionalBases()[i]);
}
return s;
}
class ConstantDescription:
- public cppu::WeakImplHelper1< css::reflection::XConstantTypeDescription >,
- private boost::noncopyable
+ public cppu::WeakImplHelper1< css::reflection::XConstantTypeDescription >
{
public:
- ConstantDescription(
- rtl::OUString const & name, css::uno::Any const & value):
- name_(name), value_(value)
- {}
+ explicit ConstantDescription(
+ unoidl::ConstantGroupEntity::Member const & member);
private:
virtual ~ConstantDescription() {}
@@ -902,6 +1029,46 @@ private:
css::uno::Any value_;
};
+ConstantDescription::ConstantDescription(
+ unoidl::ConstantGroupEntity::Member const & member):
+ name_(member.name)
+{
+ switch (member.value.type) {
+ case unoidl::ConstantValue::TYPE_BOOLEAN:
+ value_ <<= member.value.booleanValue;
+ break;
+ case unoidl::ConstantValue::TYPE_BYTE:
+ value_ <<= member.value.byteValue;
+ break;
+ case unoidl::ConstantValue::TYPE_SHORT:
+ value_ <<= member.value.shortValue;
+ break;
+ case unoidl::ConstantValue::TYPE_UNSIGNED_SHORT:
+ value_ <<= member.value.unsignedShortValue;
+ break;
+ case unoidl::ConstantValue::TYPE_LONG:
+ value_ <<= member.value.longValue;
+ break;
+ case unoidl::ConstantValue::TYPE_UNSIGNED_LONG:
+ value_ <<= member.value.unsignedLongValue;
+ break;
+ case unoidl::ConstantValue::TYPE_HYPER:
+ value_ <<= member.value.hyperValue;
+ break;
+ case unoidl::ConstantValue::TYPE_UNSIGNED_HYPER:
+ value_ <<= member.value.unsignedHyperValue;
+ break;
+ case unoidl::ConstantValue::TYPE_FLOAT:
+ value_ <<= member.value.floatValue;
+ break;
+ case unoidl::ConstantValue::TYPE_DOUBLE:
+ value_ <<= member.value.doubleValue;
+ break;
+ default:
+ for (;;) { std::abort(); } // this cannot happen
+ }
+}
+
typedef cppu::ImplInheritanceHelper1<
PublishableDescription, css::reflection::XConstantsTypeDescription >
ConstantGroupDescription_Base;
@@ -909,11 +1076,10 @@ ConstantGroupDescription_Base;
class ConstantGroupDescription: public ConstantGroupDescription_Base {
public:
ConstantGroupDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
rtl::OUString const & name,
rtl::Reference< unoidl::ConstantGroupEntity > const & entity):
- ConstantGroupDescription_Base(entity->isPublished()), context_(context),
- name_(name), entity_(entity)
+ ConstantGroupDescription_Base(entity->isPublished()), name_(name),
+ entity_(entity)
{ assert(entity.is()); }
private:
@@ -931,7 +1097,6 @@ private:
css::uno::Reference< css::reflection::XConstantTypeDescription > >
SAL_CALL getConstants() throw (css::uno::RuntimeException);
- css::uno::Reference< css::uno::XComponentContext > context_;
rtl::OUString name_;
rtl::Reference< unoidl::ConstantGroupEntity > entity_;
};
@@ -944,10 +1109,7 @@ ConstantGroupDescription::getConstants() throw (css::uno::RuntimeException) {
css::uno::Sequence<
css::uno::Reference< css::reflection::XConstantTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
- //TODO: use entity_->getMembers()[i].value directly?
- s[i].set(
- resolve(context_, name_ + "." + entity_->getMembers()[i].name),
- css::uno::UNO_QUERY_THROW);
+ s[i] = new ConstantDescription(entity_->getMembers()[i]);
}
return s;
}
@@ -959,12 +1121,12 @@ TypedefDescription_Base;
class TypedefDescription: public TypedefDescription_Base {
public:
TypedefDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::TypedefEntity > const & entity):
- TypedefDescription_Base(entity->isPublished()), context_(context),
+ TypedefDescription_Base(entity->isPublished()), manager_(manager),
name_(name), entity_(entity)
- { assert(entity.is()); }
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~TypedefDescription() {}
@@ -978,25 +1140,24 @@ private:
virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
getReferencedType() throw (css::uno::RuntimeException)
- { return resolve(context_, entity_->getType()); }
+ { return manager_->resolve(entity_->getType()); }
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::TypedefEntity > entity_;
};
class ConstructorParameter:
- public cppu::WeakImplHelper1< css::reflection::XParameter >,
- private boost::noncopyable
+ public cppu::WeakImplHelper1< css::reflection::XParameter >
{
public:
ConstructorParameter(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
unoidl::SingleInterfaceBasedServiceEntity::Constructor::Parameter
const & parameter,
sal_Int32 position):
- context_(context), parameter_(parameter), position_(position)
- {}
+ manager_(manager), parameter_(parameter), position_(position)
+ { assert(manager.is()); }
private:
virtual ~ConstructorParameter() {}
@@ -1006,7 +1167,7 @@ private:
virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
getType() throw (css::uno::RuntimeException)
- { return resolve(context_, parameter_.type); }
+ { return manager_->resolve(parameter_.type); }
virtual sal_Bool SAL_CALL isIn() throw (css::uno::RuntimeException)
{ return true; }
@@ -1021,7 +1182,7 @@ private:
throw (css::uno::RuntimeException)
{ return parameter_.rest; }
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
unoidl::SingleInterfaceBasedServiceEntity::Constructor::Parameter
parameter_;
sal_Int32 position_;
@@ -1029,16 +1190,15 @@ private:
class ConstructorDescription:
public cppu::WeakImplHelper1<
- css::reflection::XServiceConstructorDescription >,
- private boost::noncopyable
+ css::reflection::XServiceConstructorDescription >
{
public:
ConstructorDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
unoidl::SingleInterfaceBasedServiceEntity::Constructor const &
constructor):
- context_(context), constructor_(constructor)
- {}
+ manager_(manager), constructor_(constructor)
+ { assert(manager.is()); }
private:
virtual ~ConstructorDescription() {}
@@ -1060,7 +1220,7 @@ private:
css::uno::Reference< css::reflection::XCompoundTypeDescription > >
SAL_CALL getExceptions() throw (css::uno::RuntimeException);
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
unoidl::SingleInterfaceBasedServiceEntity::Constructor constructor_;
};
@@ -1072,7 +1232,7 @@ ConstructorDescription::getParameters() throw (css::uno::RuntimeException) {
n);
for (sal_Int32 i = 0; i != n; ++i) {
s[i] = new ConstructorParameter(
- context_, constructor_.parameters[i], i);
+ manager_, constructor_.parameters[i], i);
}
return s;
}
@@ -1086,7 +1246,7 @@ ConstructorDescription::getExceptions() throw (css::uno::RuntimeException) {
css::uno::Reference< css::reflection::XCompoundTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
s[i].set(
- resolve(context_, constructor_.exceptions[i]),
+ manager_->resolve(constructor_.exceptions[i]),
css::uno::UNO_QUERY_THROW);
}
return s;
@@ -1101,13 +1261,13 @@ class SingleInterfaceBasedServiceDescription:
{
public:
SingleInterfaceBasedServiceDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::SingleInterfaceBasedServiceEntity > const &
entity):
SingleInterfaceBasedServiceDescription_Base(entity->isPublished()),
- context_(context), name_(name), entity_(entity)
- { assert(entity.is()); }
+ manager_(manager), name_(name), entity_(entity)
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~SingleInterfaceBasedServiceDescription() {}
@@ -1173,14 +1333,14 @@ private:
virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
getInterface() throw (css::uno::RuntimeException)
- { return resolve(context_, entity_->getBase()); }
+ { return manager_->resolve(entity_->getBase()); }
virtual
css::uno::Sequence<
css::uno::Reference< css::reflection::XServiceConstructorDescription > >
SAL_CALL getConstructors() throw (css::uno::RuntimeException);
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::SingleInterfaceBasedServiceEntity > entity_;
};
@@ -1197,21 +1357,20 @@ SingleInterfaceBasedServiceDescription::getConstructors()
s(n);
for (sal_Int32 i = 0; i != n; ++i) {
s[i] = new ConstructorDescription(
- context_, entity_->getConstructors()[i]);
+ manager_, entity_->getConstructors()[i]);
}
return s;
}
class PropertyDescription:
- public cppu::WeakImplHelper1< css::reflection::XPropertyTypeDescription >,
- private boost::noncopyable
+ public cppu::WeakImplHelper1< css::reflection::XPropertyTypeDescription >
{
public:
PropertyDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
unoidl::AccumulationBasedServiceEntity::Property const & property):
- context_(context), property_(property)
- {}
+ manager_(manager), property_(property)
+ { assert(manager.is()); }
private:
virtual ~PropertyDescription() {}
@@ -1229,9 +1388,9 @@ private:
virtual css::uno::Reference< css::reflection::XTypeDescription > SAL_CALL
getPropertyTypeDescription() throw (css::uno::RuntimeException)
- { return resolve(context_, property_.type); }
+ { return manager_->resolve(property_.type); }
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
unoidl::AccumulationBasedServiceEntity::Property property_;
};
@@ -1244,13 +1403,13 @@ class AccumulationBasedServiceDescription:
{
public:
AccumulationBasedServiceDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::AccumulationBasedServiceEntity > const &
entity):
AccumulationBasedServiceDescription_Base(entity->isPublished()),
- context_(context), name_(name), entity_(entity)
- { assert(entity.is()); }
+ manager_(manager), name_(name), entity_(entity)
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~AccumulationBasedServiceDescription() {}
@@ -1305,7 +1464,7 @@ private:
css::reflection::XServiceConstructorDescription > >();
}
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::AccumulationBasedServiceEntity > entity_;
};
@@ -1322,7 +1481,7 @@ AccumulationBasedServiceDescription::getMandatoryServices()
css::uno::Reference< css::reflection::XServiceTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
s[i].set(
- resolve(context_, entity_->getDirectMandatoryBaseServices()[i]),
+ manager_->resolve(entity_->getDirectMandatoryBaseServices()[i]),
css::uno::UNO_QUERY_THROW);
}
return s;
@@ -1340,7 +1499,7 @@ AccumulationBasedServiceDescription::getOptionalServices()
css::uno::Reference< css::reflection::XServiceTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
s[i].set(
- resolve(context_, entity_->getDirectOptionalBaseServices()[i]),
+ manager_->resolve(entity_->getDirectOptionalBaseServices()[i]),
css::uno::UNO_QUERY_THROW);
}
return s;
@@ -1360,8 +1519,8 @@ AccumulationBasedServiceDescription::getMandatoryInterfaces()
for (sal_Int32 i = 0; i != n; ++i) {
s[i].set(
resolveTypedefs(
- resolve(
- context_, entity_->getDirectMandatoryBaseInterfaces()[i])),
+ manager_->find(
+ entity_->getDirectMandatoryBaseInterfaces()[i])),
css::uno::UNO_QUERY_THROW);
}
return s;
@@ -1381,8 +1540,8 @@ AccumulationBasedServiceDescription::getOptionalInterfaces()
for (sal_Int32 i = 0; i != n; ++i) {
s[i].set(
resolveTypedefs(
- resolve(
- context_, entity_->getDirectOptionalBaseInterfaces()[i])),
+ manager_->find(
+ entity_->getDirectOptionalBaseInterfaces()[i])),
css::uno::UNO_QUERY_THROW);
}
return s;
@@ -1400,7 +1559,7 @@ AccumulationBasedServiceDescription::getProperties()
css::uno::Reference< css::reflection::XPropertyTypeDescription > > s(n);
for (sal_Int32 i = 0; i != n; ++i) {
s[i] = new PropertyDescription(
- context_, entity_->getDirectProperties()[i]);
+ manager_, entity_->getDirectProperties()[i]);
}
return s;
}
@@ -1414,12 +1573,12 @@ class InterfaceBasedSingletonDescription:
{
public:
InterfaceBasedSingletonDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::InterfaceBasedSingletonEntity > const & entity):
InterfaceBasedSingletonDescription_Base(entity->isPublished()),
- context_(context), name_(name), entity_(entity)
- { assert(entity.is()); }
+ manager_(manager), name_(name), entity_(entity)
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~InterfaceBasedSingletonDescription() {}
@@ -1444,9 +1603,9 @@ private:
virtual css::uno::Reference< css::reflection::XTypeDescription >
SAL_CALL getInterface() throw (css::uno::RuntimeException)
- { return resolve(context_, entity_->getBase()); }
+ { return manager_->resolve(entity_->getBase()); }
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::InterfaceBasedSingletonEntity > entity_;
};
@@ -1460,12 +1619,12 @@ class ServiceBasedSingletonDescription:
{
public:
ServiceBasedSingletonDescription(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & name,
rtl::Reference< unoidl::ServiceBasedSingletonEntity > const & entity):
ServiceBasedSingletonDescription_Base(entity_->isPublished()),
- context_(context), name_(name), entity_(entity)
- { assert(entity.is()); }
+ manager_(manager), name_(name), entity_(entity)
+ { assert(manager.is()); assert(entity.is()); }
private:
virtual ~ServiceBasedSingletonDescription() {}
@@ -1481,7 +1640,7 @@ private:
SAL_CALL getService() throw (css::uno::RuntimeException)
{
return css::uno::Reference< css::reflection::XServiceTypeDescription >(
- resolve(context_, entity_->getBase()), css::uno::UNO_QUERY_THROW);
+ manager_->resolve(entity_->getBase()), css::uno::UNO_QUERY_THROW);
}
virtual sal_Bool SAL_CALL isInterfaceBased()
@@ -1492,24 +1651,23 @@ private:
SAL_CALL getInterface() throw (css::uno::RuntimeException)
{ return css::uno::Reference< css::reflection::XTypeDescription >(); }
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
rtl::OUString name_;
rtl::Reference< unoidl::ServiceBasedSingletonEntity > entity_;
};
class Enumeration:
- public cppu::WeakImplHelper1<
- css::reflection::XTypeDescriptionEnumeration >,
- private boost::noncopyable
+ public cppu::WeakImplHelper1< css::reflection::XTypeDescriptionEnumeration >
{
public:
Enumeration(
- css::uno::Reference< css::uno::XComponentContext > const & context,
+ rtl::Reference< cppuhelper::TypeManager > const & manager,
rtl::OUString const & prefix,
rtl::Reference< unoidl::MapCursor > const & cursor,
css::uno::Sequence< css::uno::TypeClass > const & types, bool deep):
- context_(context), types_(types), deep_(deep)
+ manager_(manager), types_(types), deep_(deep)
{
+ assert(manager.is());
positions_.push(Position(prefix, cursor));
findNextMatch();
}
@@ -1558,7 +1716,7 @@ private:
constantGroupIndex;
};
- css::uno::Reference< css::uno::XComponentContext > context_;
+ rtl::Reference< cppuhelper::TypeManager > manager_;
css::uno::Sequence< css::uno::TypeClass > types_;
bool deep_;
@@ -1582,7 +1740,7 @@ Enumeration::nextTypeDescription()
name = current_;
findNextMatch();
}
- return resolve(context_, name);
+ return manager_->resolve(name);
}
bool Enumeration::matches(css::uno::TypeClass tc) const {
@@ -1688,324 +1846,259 @@ void Enumeration::findNextMatch() {
}
}
-typedef cppu::WeakComponentImplHelper2<
- css::container::XHierarchicalNameAccess,
- css::reflection::XTypeDescriptionEnumerationAccess >
-Provider_Base;
+}
-class Provider:
- private osl::Mutex, public Provider_Base, private boost::noncopyable
+cppuhelper::TypeManager::TypeManager(rtl::OUString const & rdbUris):
+ TypeManager_Base(*static_cast< osl::Mutex * >(this)),
+ manager_(new unoidl::Manager)
{
-public:
- // throws unoidl::FileFormatException, unoidl::NoSuchFileException:
- Provider(
- css::uno::Reference< css::uno::XComponentContext > const & context,
- rtl::OUString const & uri):
- Provider_Base(*static_cast< osl::Mutex * >(this)), context_(context),
- provider_(new unoidl::UnoidlProvider(uri))
- {}
-
- using Provider_Base::acquire;
- using Provider_Base::release;
-
-private:
- virtual ~Provider() {}
-
- virtual void SAL_CALL disposing() {} //TODO
-
- virtual css::uno::Any SAL_CALL getByHierarchicalName(
- rtl::OUString const & aName)
- throw (
- css::container::NoSuchElementException, css::uno::RuntimeException);
-
- virtual sal_Bool SAL_CALL hasByHierarchicalName(
- rtl::OUString const & aName) throw (css::uno::RuntimeException);
-
- virtual css::uno::Reference< css::reflection::XTypeDescriptionEnumeration >
- SAL_CALL createTypeDescriptionEnumeration(
- rtl::OUString const & moduleName,
- css::uno::Sequence< css::uno::TypeClass > const & types,
- css::reflection::TypeDescriptionSearchDepth depth)
- throw(
- css::reflection::NoSuchTypeNameException,
- css::reflection::InvalidTypeNameException,
- css::uno::RuntimeException);
-
- css::uno::Reference< css::uno::XComponentContext > context_;
- rtl::Reference< unoidl::UnoidlProvider > provider_;
-};
+ readRdbs(rdbUris);
+}
-css::uno::Any Provider::getByHierarchicalName(rtl::OUString const & aName)
- throw (css::container::NoSuchElementException, css::uno::RuntimeException)
-{
- try {
- bool cnst;
- sal_uInt32 off = provider_->find(aName, &cnst);
- if (off == 0) {
- throw css::container::NoSuchElementException(
- aName, static_cast< cppu::OWeakObject * >(this));
- }
- if (cnst) {
- unoidl::ConstantValue val1(provider_->getConstant(off));
- css::uno::Any val2;
- switch (val1.type) {
- case unoidl::ConstantValue::TYPE_BOOLEAN:
- val2 <<= val1.booleanValue;
- break;
- case unoidl::ConstantValue::TYPE_BYTE:
- val2 <<= val1.byteValue;
- break;
- case unoidl::ConstantValue::TYPE_SHORT:
- val2 <<= val1.shortValue;
- break;
- case unoidl::ConstantValue::TYPE_UNSIGNED_SHORT:
- val2 <<= val1.unsignedShortValue;
- break;
- case unoidl::ConstantValue::TYPE_LONG:
- val2 <<= val1.longValue;
- break;
- case unoidl::ConstantValue::TYPE_UNSIGNED_LONG:
- val2 <<= val1.unsignedLongValue;
- break;
- case unoidl::ConstantValue::TYPE_HYPER:
- val2 <<= val1.hyperValue;
- break;
- case unoidl::ConstantValue::TYPE_UNSIGNED_HYPER:
- val2 <<= val1.unsignedHyperValue;
- break;
- case unoidl::ConstantValue::TYPE_FLOAT:
- val2 <<= val1.floatValue;
- break;
- case unoidl::ConstantValue::TYPE_DOUBLE:
- val2 <<= val1.doubleValue;
- break;
- default:
- for (;;) { std::abort(); } // this cannot happen
- }
+css::uno::Any cppuhelper::TypeManager::find(rtl::OUString const & name) {
+ //TODO: caching? (here or in unoidl::Manager?)
+ struct Simple {
+ char const * name; sal_Int32 length;
+ css::uno::TypeClass typeClass;
+ };
+ static Simple const simple[] = {
+ { RTL_CONSTASCII_STRINGPARAM("void"), css::uno::TypeClass_VOID },
+ { RTL_CONSTASCII_STRINGPARAM("boolean"), css::uno::TypeClass_BOOLEAN },
+ { RTL_CONSTASCII_STRINGPARAM("byte"), css::uno::TypeClass_BYTE },
+ { RTL_CONSTASCII_STRINGPARAM("short"), css::uno::TypeClass_SHORT },
+ { RTL_CONSTASCII_STRINGPARAM("unsigned short"),
+ css::uno::TypeClass_UNSIGNED_SHORT },
+ { RTL_CONSTASCII_STRINGPARAM("long"), css::uno::TypeClass_LONG },
+ { RTL_CONSTASCII_STRINGPARAM("unsigned long"),
+ css::uno::TypeClass_UNSIGNED_LONG },
+ { RTL_CONSTASCII_STRINGPARAM("hyper"), css::uno::TypeClass_HYPER },
+ { RTL_CONSTASCII_STRINGPARAM("unsigned hyper"),
+ css::uno::TypeClass_UNSIGNED_HYPER },
+ { RTL_CONSTASCII_STRINGPARAM("float"), css::uno::TypeClass_FLOAT },
+ { RTL_CONSTASCII_STRINGPARAM("double"), css::uno::TypeClass_DOUBLE },
+ { RTL_CONSTASCII_STRINGPARAM("char"), css::uno::TypeClass_CHAR },
+ { RTL_CONSTASCII_STRINGPARAM("string"), css::uno::TypeClass_STRING },
+ { RTL_CONSTASCII_STRINGPARAM("type"), css::uno::TypeClass_TYPE },
+ { RTL_CONSTASCII_STRINGPARAM("any"), css::uno::TypeClass_ANY } };
+ for (std::size_t i = 0; i != SAL_N_ELEMENTS(simple); ++i) {
+ if (name.equalsAsciiL(simple[i].name, simple[i].length)) {
return css::uno::makeAny<
css::uno::Reference< css::reflection::XTypeDescription > >(
- new ConstantDescription(aName, val2));
- } else {
- rtl::Reference< unoidl::Entity > ent(provider_->getEntity(off));
+ new SimpleTypeDescription(simple[i].typeClass, name));
+ }
+ }
+ if (name.match("[]")) {
+ return getSequenceType(name);
+ }
+ sal_Int32 i = name.indexOf('<');
+ if (i != -1) {
+ return getInstantiatedStruct(name, i);
+ }
+ i = name.indexOf("::");
+ if (i != -1) {
+ return getInterfaceMember(name, i);
+ }
+ rtl::Reference< unoidl::Entity > ent(findEntity(name));
+ if (ent.is()) {
+ return getNamed(name, ent);
+ }
+ i = name.lastIndexOf('.');
+ if (i != -1) {
+ ent = findEntity(name.copy(0, i));
+ if (ent.is()) {
switch (ent->getSort()) {
- case unoidl::Entity::SORT_MODULE:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new ModuleDescription(
- context_, aName,
- static_cast< unoidl::ModuleEntity * >(ent.get())));
case unoidl::Entity::SORT_ENUM_TYPE:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new EnumTypeDescription(
- aName,
- static_cast< unoidl::EnumTypeEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_PLAIN_STRUCT_TYPE:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new PlainStructTypeDescription(
- context_, aName,
- static_cast< unoidl::PlainStructTypeEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_POLYMORPHIC_STRUCT_TYPE_TEMPLATE:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new PolymorphicStructTypeTemplateDescription(
- context_, aName,
- static_cast<
- unoidl::PolymorphicStructTypeTemplateEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_EXCEPTION_TYPE:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new ExceptionTypeDescription(
- context_, aName,
- static_cast< unoidl::ExceptionTypeEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_INTERFACE_TYPE:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new InterfaceTypeDescription(
- context_, aName,
- static_cast< unoidl::InterfaceTypeEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_TYPEDEF:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new TypedefDescription(
- context_, aName,
- static_cast< unoidl::TypedefEntity * >(ent.get())));
+ return getEnumMember(
+ static_cast< unoidl::EnumTypeEntity * >(ent.get()),
+ name.copy(i + 1));
case unoidl::Entity::SORT_CONSTANT_GROUP:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new ConstantGroupDescription(
- context_, aName,
- static_cast< unoidl::ConstantGroupEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_SINGLE_INTERFACE_BASED_SERVICE:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new SingleInterfaceBasedServiceDescription(
- context_, aName,
- static_cast<
- unoidl::SingleInterfaceBasedServiceEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_ACCUMULATION_BASED_SERVICE:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new AccumulationBasedServiceDescription(
- context_, aName,
- static_cast<
- unoidl::AccumulationBasedServiceEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_INTERFACE_BASED_SINGLETON:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new InterfaceBasedSingletonDescription(
- context_, aName,
- static_cast<
- unoidl::InterfaceBasedSingletonEntity * >(
- ent.get())));
- case unoidl::Entity::SORT_SERVICE_BASED_SINGLETON:
- return css::uno::makeAny<
- css::uno::Reference< css::reflection::XTypeDescription > >(
- new ServiceBasedSingletonDescription(
- context_, aName,
- static_cast<
- unoidl::ServiceBasedSingletonEntity * >(
- ent.get())));
+ return getConstant(
+ static_cast< unoidl::ConstantGroupEntity * >(ent.get()),
+ name.copy(i + 1));
default:
- for (;;) { std::abort(); } // this cannot happen
+ break;
}
}
- } catch (unoidl::FileFormatException & e) {
+ }
+ return css::uno::Any();
+}
+
+css::uno::Reference< css::reflection::XTypeDescription >
+cppuhelper::TypeManager::resolve(rtl::OUString const & name) {
+ css::uno::Reference< css::reflection::XTypeDescription > desc(
+ find(name), css::uno::UNO_QUERY);
+ if (!desc.is()) {
throw css::uno::DeploymentException(
- e.getUri() + ": " + e.getDetail(),
+ "cannot resolve type \"" + name + "\"",
static_cast< cppu::OWeakObject * >(this));
}
+ return desc;
}
-sal_Bool Provider::hasByHierarchicalName(
- rtl::OUString const & aName) throw (css::uno::RuntimeException)
+cppuhelper::TypeManager::~TypeManager() throw () {}
+
+void cppuhelper::TypeManager::disposing() {} //TODO
+
+rtl::OUString cppuhelper::TypeManager::getImplementationName()
+ throw (css::uno::RuntimeException)
{
- try {
- return provider_->find(aName) != 0;
- } catch (unoidl::FileFormatException & e) {
- throw css::uno::DeploymentException(
- e.getUri() + ": " + e.getDetail(),
- static_cast< cppu::OWeakObject * >(this));
+ return rtl::OUString(
+ "com.sun.star.comp.cppuhelper.bootstrap.TypeManager");
+}
+
+sal_Bool cppuhelper::TypeManager::supportsService(
+ rtl::OUString const & ServiceName)
+ throw (css::uno::RuntimeException)
+{
+ return cppu::supportsService(this, ServiceName);
+}
+
+css::uno::Sequence< rtl::OUString >
+cppuhelper::TypeManager::getSupportedServiceNames()
+ throw (css::uno::RuntimeException)
+{
+ css::uno::Sequence< rtl::OUString > names(1);
+ names[0] = "com.sun.star.reflection.TypeDescriptionManager"; //TODO
+ return names;
+}
+
+css::uno::Any cppuhelper::TypeManager::getByHierarchicalName(
+ rtl::OUString const & aName)
+ throw (css::container::NoSuchElementException, css::uno::RuntimeException)
+{
+ css::uno::Any desc(find(aName));
+ if (!desc.hasValue()) {
+ throw css::container::NoSuchElementException(
+ aName, static_cast< cppu::OWeakObject * >(this));
}
+ return desc;
+}
+
+sal_Bool cppuhelper::TypeManager::hasByHierarchicalName(
+ rtl::OUString const & aName)
+ throw (css::uno::RuntimeException)
+{
+ return find(aName).hasValue();
+}
+
+css::uno::Type cppuhelper::TypeManager::getElementType()
+ throw (css::uno::RuntimeException)
+{
+ return cppu::UnoType< rtl::OUString >::get();
+}
+
+sal_Bool cppuhelper::TypeManager::hasElements()
+ throw (css::uno::RuntimeException)
+{
+ throw css::uno::RuntimeException(
+ "TypeManager hasElements: method not supported",
+ static_cast< cppu::OWeakObject * >(this));
+}
+
+css::uno::Reference< css::container::XEnumeration >
+cppuhelper::TypeManager::createEnumeration()
+ throw (css::uno::RuntimeException)
+{
+ throw css::uno::RuntimeException(
+ "TypeManager createEnumeration: method not supported",
+ static_cast< cppu::OWeakObject * >(this));
+}
+
+sal_Bool cppuhelper::TypeManager::has(css::uno::Any const &)
+ throw (css::uno::RuntimeException)
+{
+ throw css::uno::RuntimeException(
+ "TypeManager has: method not supported",
+ static_cast< cppu::OWeakObject * >(this));
+}
+
+void cppuhelper::TypeManager::insert(css::uno::Any const & aElement)
+ throw (
+ css::lang::IllegalArgumentException,
+ css::container::ElementExistException, css::uno::RuntimeException)
+{
+ rtl::OUString uri;
+ if (!(aElement >>= uri)) {
+ throw css::lang::IllegalArgumentException(
+ ("css.uno.theTypeDescriptionManager.insert expects a string URI"
+ " argument"),
+ static_cast< cppu::OWeakObject * >(this), 0);
+ }
+ //TODO: check for ElementExistException
+ //TODO: check for consistency with existing data
+ readRdbFile(uri, false);
+}
+
+void cppuhelper::TypeManager::remove(css::uno::Any const & aElement)
+ throw (
+ css::lang::IllegalArgumentException,
+ css::container::NoSuchElementException, css::uno::RuntimeException)
+{
+ rtl::OUString uri;
+ if (!(aElement >>= uri)) {
+ throw css::lang::IllegalArgumentException(
+ ("css.uno.theTypeDescriptionManager.remove expects a string URI"
+ " argument"),
+ static_cast< cppu::OWeakObject * >(this), 0);
+ }
+ //TODO: remove requests are silently ignored for now
}
css::uno::Reference< css::reflection::XTypeDescriptionEnumeration >
-Provider::createTypeDescriptionEnumeration(
+cppuhelper::TypeManager::createTypeDescriptionEnumeration(
rtl::OUString const & moduleName,
css::uno::Sequence< css::uno::TypeClass > const & types,
css::reflection::TypeDescriptionSearchDepth depth)
- throw(
+ throw (
css::reflection::NoSuchTypeNameException,
- css::reflection::InvalidTypeNameException, css::uno::RuntimeException)
+ css::reflection::InvalidTypeNameException,
+ css::uno::RuntimeException)
{
+ //TODO: This fails for modules spread across multiple providers, esp. for
+ // the empty moduleName
+ rtl::Reference< unoidl::Entity > ent(findEntity(moduleName));
+ if (!ent.is()) {
+ throw css::reflection::NoSuchTypeNameException(
+ moduleName, static_cast< cppu::OWeakObject * >(this));
+ }
+ if (ent->getSort() != unoidl::Entity::SORT_MODULE) {
+ throw css::reflection::InvalidTypeNameException(
+ moduleName, static_cast< cppu::OWeakObject * >(this));
+ }
+ rtl::Reference< unoidl::MapCursor > cursor;
try {
- rtl::OUString prefix;
- rtl::Reference< unoidl::MapCursor > cursor;
- if (moduleName.isEmpty()) {
- cursor = provider_->createRootCursor();
- } else {
- prefix = moduleName + ".";
- bool cnst;
- sal_uInt32 off = provider_->find(moduleName, &cnst);
- if (off == 0) {
- throw css::reflection::NoSuchTypeNameException(
- moduleName, static_cast< cppu::OWeakObject * >(this));
- }
- if (cnst) {
- throw css::reflection::InvalidTypeNameException(
- moduleName, static_cast< cppu::OWeakObject * >(this));
- }
- rtl::Reference< unoidl::Entity > ent(provider_->getEntity(off));
- if (ent->getSort() != unoidl::Entity::SORT_MODULE) {
- throw css::reflection::InvalidTypeNameException(
- moduleName, static_cast< cppu::OWeakObject * >(this));
- }
- cursor = static_cast< unoidl::ModuleEntity * >(ent.get())->
- createCursor();
- }
- return new Enumeration(
- context_, prefix, cursor, types,
- depth == css::reflection::TypeDescriptionSearchDepth_INFINITE);
+ cursor = static_cast< unoidl::ModuleEntity * >(ent.get())->
+ createCursor();
} catch (unoidl::FileFormatException & e) {
throw css::uno::DeploymentException(
- e.getUri() + ": " + e.getDetail(),
+ ("unoidl::FileFormatException for <" + e.getUri() + ">: "
+ + e.getDetail()),
static_cast< cppu::OWeakObject * >(this));
}
+ return new Enumeration(
+ this, moduleName + ".", cursor, types,
+ depth == css::reflection::TypeDescriptionSearchDepth_INFINITE);
}
-css::uno::Reference< css::container::XHierarchicalNameAccess >
-readLegacyRdbFile(
- rtl::OUString const & uri,
- css::uno::Reference< css::lang::XMultiComponentFactory > const &
- serviceManager,
- css::uno::Reference< css::uno::XComponentContext > const & context)
-{
- assert(serviceManager.is());
- css::uno::Reference< css::registry::XSimpleRegistry > reg(
- serviceManager->createInstanceWithContext(
- "com.sun.star.comp.stoc.SimpleRegistry", context),
- css::uno::UNO_QUERY_THROW);
- try {
- reg->open(uri, true, false);
- } catch (css::registry::InvalidRegistryException & e) {
- throw css::uno::DeploymentException(
- "Invalid registry " + uri + ":" + e.Message,
- css::uno::Reference< css::uno::XInterface >());
- }
- css::uno::Sequence< css::uno::Any > arg(1);
- arg[0] <<= reg;
- return css::uno::Reference< css::container::XHierarchicalNameAccess >(
- serviceManager->createInstanceWithArgumentsAndContext(
- "com.sun.star.comp.stoc.RegistryTypeDescriptionProvider", arg,
- context),
- css::uno::UNO_QUERY_THROW);
-}
-
-void readRdbFile(
- rtl::OUString const & uri, bool optional,
- css::uno::Reference< css::lang::XMultiComponentFactory > const &
- serviceManager,
- css::uno::Reference< css::uno::XComponentContext > const & context,
- std::vector<
- css::uno::Reference< css::container::XHierarchicalNameAccess > > *
- providers)
-{
- assert(providers != 0);
- css::uno::Reference< css::container::XHierarchicalNameAccess > prov;
- try {
- prov = new Provider(context, uri);
- } catch (unoidl::NoSuchFileException &) {
- if (optional) {
- SAL_INFO("cppuhelper", "Ignored optional " << uri);
- return;
+void cppuhelper::TypeManager::readRdbs(rtl::OUString const & uris) {
+ for (sal_Int32 i = 0; i != -1;) {
+ rtl::OUString uri(uris.getToken(0, ' ', i));
+ if (uri.isEmpty()) {
+ continue;
+ }
+ bool optional;
+ bool directory;
+ cppu::decodeRdbUri(&uri, &optional, &directory);
+ if (directory) {
+ readRdbDirectory(uri, optional);
+ } else {
+ readRdbFile(uri, optional);
}
- throw css::uno::DeploymentException(
- uri + ": no such file",
- css::uno::Reference< css::uno::XInterface >());
- } catch (unoidl::FileFormatException &) {
- prov = readLegacyRdbFile(uri, serviceManager, context);
}
- assert(prov.is());
- providers->push_back(prov);
}
-void readRdbDirectory(
- rtl::OUString const & uri, bool optional,
- css::uno::Reference< css::lang::XMultiComponentFactory > const &
- serviceManager,
- css::uno::Reference< css::uno::XComponentContext > const & context,
- std::vector<
- css::uno::Reference< css::container::XHierarchicalNameAccess > > *
- providers)
+void cppuhelper::TypeManager::readRdbDirectory(
+ rtl::OUString const & uri, bool optional)
{
osl::Directory dir(uri);
switch (dir.open()) {
@@ -2020,54 +2113,258 @@ void readRdbDirectory(
default:
throw css::uno::DeploymentException(
"Cannot open directory " + uri,
- css::uno::Reference< css::uno::XInterface >());
+ static_cast< cppu::OWeakObject * >(this));
}
for (;;) {
- rtl::OUString fileUri;
- if (!cppu::nextDirectoryItem(dir, &fileUri)) {
+ rtl::OUString url;
+ if (!cppu::nextDirectoryItem(dir, &url)) {
break;
}
- readRdbFile(fileUri, optional, serviceManager, context, providers);
+ readRdbFile(url, false);
}
}
+void cppuhelper::TypeManager::readRdbFile(
+ rtl::OUString const & uri, bool optional)
+{
+ rtl::Reference< unoidl::Provider > prov;
+ try {
+ prov = unoidl::loadProvider(manager_, uri);
+ } catch (unoidl::NoSuchFileException &) {
+ if (!optional) {
+ throw css::uno::DeploymentException(
+ uri + ": no such file",
+ static_cast< cppu::OWeakObject * >(this));
+ }
+ SAL_INFO("cppuhelper", "Ignored optional " << uri);
+ } catch (unoidl::FileFormatException & e) {
+ throw css::uno::DeploymentException(
+ ("unoidl::FileFormatException for <" + e.getUri() + ">: "
+ + e.getDetail()),
+ static_cast< cppu::OWeakObject * >(this));
+ }
+ manager_->addProvider(prov);
}
-css::uno::Sequence<
- css::uno::Reference< css::container::XHierarchicalNameAccess > >
-cppuhelper::createTypeDescriptionProviders(
- rtl::OUString const & uris,
- css::uno::Reference< css::lang::XMultiComponentFactory > const &
- serviceManager,
- css::uno::Reference< css::uno::XComponentContext > const & context)
-{
- std::vector<
- css::uno::Reference< css::container::XHierarchicalNameAccess > > provs;
- for (sal_Int32 i = 0; i != -1;) {
- rtl::OUString uri(uris.getToken(0, ' ', i));
- if (uri.isEmpty()) {
- continue;
+css::uno::Any cppuhelper::TypeManager::getSequenceType(
+ rtl::OUString const & name)
+{
+ assert(name.match("[]"));
+ return css::uno::makeAny<
+ css::uno::Reference< css::reflection::XTypeDescription > >(
+ new SequenceTypeDescription(
+ this, name, name.copy(std::strlen("[]"))));
+}
+
+css::uno::Any cppuhelper::TypeManager::getInstantiatedStruct(
+ rtl::OUString const & name, sal_Int32 separator)
+{
+ assert(name.indexOf('<') == separator && separator != -1);
+ rtl::Reference< unoidl::Entity > ent(findEntity(name.copy(0, separator)));
+ if (!ent.is()
+ || (ent->getSort()
+ != unoidl::Entity::SORT_POLYMORPHIC_STRUCT_TYPE_TEMPLATE))
+ {
+ return css::uno::Any();
+ }
+ rtl::Reference< unoidl::PolymorphicStructTypeTemplateEntity > ent2(
+ static_cast< unoidl::PolymorphicStructTypeTemplateEntity * >(
+ ent.get()));
+ std::vector< rtl::OUString > args;
+ sal_Int32 i = separator;
+ do {
+ ++i; // skip '<' or ','
+ sal_Int32 j = i;
+ for (sal_Int32 level = 0; j != name.getLength(); ++j) {
+ sal_Unicode c = name[j];
+ if (c == ',') {
+ if (level == 0) {
+ break;
+ }
+ } else if (c == '<') {
+ ++level;
+ } else if (c == '>') {
+ if (level == 0) {
+ break;
+ }
+ --level;
+ }
}
- bool optional;
- bool directory;
- cppu::decodeRdbUri(&uri, &optional, &directory);
- if (directory) {
- readRdbDirectory(uri, optional, serviceManager, context, &provs);
- } else {
- readRdbFile(uri, optional, serviceManager, context, &provs);
+ if (j != name.getLength()) {
+ args.push_back(name.copy(i, j - i));
}
+ i = j;
+ } while (i != name.getLength() && name[i] != '>');
+ if (i != name.getLength() - 1 || name[i] != '>'
+ || args.size() != ent2->getTypeParameters().size())
+ {
+ return css::uno::Any();
}
+ return css::uno::makeAny<
+ css::uno::Reference< css::reflection::XTypeDescription > >(
+ new InstantiatedPolymorphicStructTypeDescription(
+ this, name, ent2, args));
+}
+
+css::uno::Any cppuhelper::TypeManager::getInterfaceMember(
+ rtl::OUString const & name, sal_Int32 separator)
+{
+ assert(name.indexOf("::") == separator && separator != -1);
+ css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > ifc(
+ resolveTypedefs(find(name.copy(0, separator))), css::uno::UNO_QUERY);
+ if (!ifc.is()) {
+ return css::uno::Any();
+ }
+ rtl::OUString member(name.copy(separator + std::strlen("::")));
css::uno::Sequence<
- css::uno::Reference< css::container::XHierarchicalNameAccess > > provs2(
- static_cast< sal_Int32 >(provs.size())); //TODO: check overflow
- std::vector<
css::uno::Reference<
- css::container::XHierarchicalNameAccess > >::iterator i(
- provs.begin());
- for (sal_Int32 j = 0; j != provs2.getLength(); ++j) {
- provs2[j] = *i++;
+ css::reflection::XInterfaceMemberTypeDescription > > mems(
+ ifc->getMembers());
+ for (sal_Int32 i = 0; i != mems.getLength(); ++i) {
+ if (mems[i]->getMemberName() == member) {
+ return css::uno::makeAny<
+ css::uno::Reference< css::reflection::XTypeDescription > >(
+ mems[i].get());
+ }
+ }
+ return css::uno::Any();
+}
+
+css::uno::Any cppuhelper::TypeManager::getNamed(
+ rtl::OUString const & name, rtl::Reference< unoidl::Entity > entity)
+{
+ assert(entity.is());
+ switch (entity->getSort()) {
+ case unoidl::Entity::SORT_MODULE:
+ return css::uno::makeAny<
+ css::uno::Reference< css::reflection::XTypeDescription > >(
+ new ModuleDescription(
+ this, name,
+ static_cast< unoidl::ModuleEntity * >(entity.get())));
+ case unoidl::Entity::SORT_ENUM_TYPE:
+ return css::uno::makeAny<
+ css::uno::Reference< css::reflection::XTypeDescription > >(
+ new EnumTypeDescription(
+ name,
+ static_cast< unoidl::EnumTypeEntity * >(entity.get())));
+ case unoidl::Entity::SORT_PLAIN_STRUCT_TYPE:
+ return css::uno::makeAny<
+ css::uno::Reference< css::reflection::XTypeDescription > >(
+ new PlainStructTypeDescription(
+ this, name,
+ static_cast< unoidl::PlainStructTypeEntity * >(
+ entity.get())));
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list