Files
odfstudio/filter
Stephan Bergmann b1c88800c2 NamedValue needs to be a complete type here now
...at least with VS 2022 Preview 17.6.0 Preview 3.0 and --with-latest-c++,

> C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\span(78): error C2036: 'const com::sun::star::beans::NamedValue *': unknown size
> C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\span(73): note: while compiling class template member function 'std::_Span_iterator<_Ty> &std::_Span_iterator<_Ty>::operator --(void) noexcept'
> with
> [
> _Ty=const com::sun::star::beans::NamedValue
> ]
> C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\xutility(1414): note: see the first reference to 'std::_Span_iterator<_Ty>::operator --' in 'std::iter_move'
> with
> [
> _Ty=const com::sun::star::beans::NamedValue
> ]
> C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\xutility(474): note: see the first reference to 'std::iter_move' in 'std::ranges::_Iter_move::_Cpo::operator ()'
> C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\__msvc_iter_core.hpp(392): note: see reference to class template instantiation 'std::_Span_iterator<_Ty>' being compiled
> with
> [
> _Ty=const com::sun::star::beans::NamedValue
> ]
> C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\xutility(602): note: see reference to variable template 'bool input_or_output_iterator<std::_Span_iterator<com::sun::star::beans::NamedValue const > >' being compiled
> C:\PROGRA~1\MICROS~3\2022\Preview\VC\Tools\MSVC\1436~1.323\Include\xutility(1778): note: see reference to variable template 'bool input_iterator<std::_Span_iterator<com::sun::star::beans::NamedValue const > >' being compiled
> filter\source\config\cache\filtercache.hxx(368): note: see reference to class template instantiation 'std::span<const com::sun::star::beans::NamedValue,18446744073709551615>' being compiled

Change-Id: Ibff530be810f56a1f33bf78f0d2e3b76c64b08cd
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/150385
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2023-04-14 13:31:25 +02:00
..
…
…

LibreOffice Filters

Filter registration and some simple filters (also descriptions).

Desperate splitting of code into small shared libraries for historical reasons presumably (OS/2 and Windows 3.x). The libraries produced from the code in each subdirectory of filter/source/graphicfilter are graphic format import or export filters. But they don't have uniform API. Some have either a GraphicImport or GraphicExport entry point, and are loaded and used in a uniform fashion from code in svtools/source/filter/filter.cxx. Others have different API and are loaded from other places. For instance icgm has ImportCGM, and is loaded and used by sd/source/filter/cgm/sdcgmfilter.cxx (!). Svgreader is used for "File -> Open" and then to choose the svg file. For "Insert -> Picture -> From File", see svgio/source/svgreader directory.

Filter Configuration

The filter configuration consists of two parts, the type definition in filter/source/config/fragments/types/ and the actual filter definition in filter/source/config/fragments/filters/.

Each file type e.g. text file should be represented by exactly one type definition. This type can then be referenced by several different filters, e.g. calc text, writer text.