LibreOffice Module filter (master) 1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
filter::config::FilterFactory Class Reference

implements the service <type scope="com.sun.star.document">FilterFactory</type>. More...

#include <filterfactory.hxx>

Inheritance diagram for filter::config::FilterFactory:
[legend]
Collaboration diagram for filter::config::FilterFactory:
[legend]

Public Member Functions

 FilterFactory (const css::uno::Reference< css::uno::XComponentContext > &rxContext)
 standard ctor to connect this interface wrapper to the global filter cache instance ... More...
 
virtual ~FilterFactory () override
 standard dtor. More...
 
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstance (const OUString &sFilter) override
 
virtual css::uno::Reference< css::uno::XInterface > SAL_CALL createInstanceWithArguments (const OUString &sFilter, const css::uno::Sequence< css::uno::Any > &lArguments) override
 
virtual css::uno::Sequence< OUString > SAL_CALL getAvailableServiceNames () override
 
virtual css::uno::Reference< css::container::XEnumeration > SAL_CALL createSubSetEnumerationByQuery (const OUString &sQuery) override
 

Private Member Functions

std::vector< OUString > impl_queryMatchByDocumentService (const QueryTokenizer &lTokens) const
 implement the container string query: "matchByDocumentService=:iflags=:eflags=:..." More...
 
std::vector< OUString > impl_getSortedFilterList (const QueryTokenizer &lTokens) const
 implement the container string query: "getSortedFilterList()[:module=<xxx>]:[iflags=<xxx>][:eflags=<xxx>]" More...
 
std::vector< OUString > impl_getSortedFilterListForModule (const OUString &sModule, sal_Int32 nIFlags, sal_Int32 nEFlags) const
 TODO document me. More...
 

Static Private Member Functions

static css::uno::Sequence< OUString > impl_getListOfInstalledModules ()
 TODO document me. More...
 
static std::vector< OUString > impl_readSortedFilterListFromConfig (const OUString &sModule)
 read a specialized and sorted list of filter names from the configuration (matching the specified module) More...
 

Private Attributes

css::uno::Reference< css::uno::XComponentContext > m_xContext
 

Detailed Description

implements the service <type scope="com.sun.star.document">FilterFactory</type>.

Definition at line 33 of file filterfactory.hxx.

Constructor & Destructor Documentation

◆ FilterFactory()

filter::config::FilterFactory::FilterFactory ( const css::uno::Reference< css::uno::XComponentContext > &  rxContext)
explicit

standard ctor to connect this interface wrapper to the global filter cache instance ...

define all possible parts of a filter query.

Parameters
rxContextreference to the uno service manager, which created this service instance.

@descr syntax: "<query>[:<param>[=<value>]]" e.g.: "_query_writer:default_first:use_order:sort_prop=uiname"

argument description default

iflags=<mask> include filters by given mask 0 eflags=<mask> exclude filters by given mask 0 sort_prop=<[name,uiname]> sort by internal name or uiname name descending sort descending false use_order use order flag of filters for sorting false default_first set default filter on top of return list false case_sensitive compare "sort_prop" case sensitive false

Definition at line 55 of file filterfactory.cxx.

References filter::config::FilterCache::E_FILTER, and filter::config::BaseContainer::init().

◆ ~FilterFactory()

filter::config::FilterFactory::~FilterFactory ( )
overridevirtual

standard dtor.

Definition at line 65 of file filterfactory.cxx.

Member Function Documentation

◆ createInstance()

css::uno::Reference< css::uno::XInterface > SAL_CALL filter::config::FilterFactory::createInstance ( const OUString &  sFilter)
overridevirtual

Definition at line 70 of file filterfactory.cxx.

References createInstanceWithArguments().

◆ createInstanceWithArguments()

css::uno::Reference< css::uno::XInterface > SAL_CALL filter::config::FilterFactory::createInstanceWithArguments ( const OUString &  sFilter,
const css::uno::Sequence< css::uno::Any > &  lArguments 
)
overridevirtual

◆ createSubSetEnumerationByQuery()

css::uno::Reference< css::container::XEnumeration > SAL_CALL filter::config::FilterFactory::createSubSetEnumerationByQuery ( const OUString &  sQuery)
overridevirtual

◆ getAvailableServiceNames()

css::uno::Sequence< OUString > SAL_CALL filter::config::FilterFactory::getAvailableServiceNames ( )
overridevirtual

◆ impl_getListOfInstalledModules()

css::uno::Sequence< OUString > filter::config::FilterFactory::impl_getListOfInstalledModules ( )
staticprivate

TODO document me.

Definition at line 407 of file filterfactory.cxx.

Referenced by impl_getSortedFilterList().

◆ impl_getSortedFilterList()

std::vector< OUString > filter::config::FilterFactory::impl_getSortedFilterList ( const QueryTokenizer lTokens) const
private

implement the container string query: "getSortedFilterList()[:module=<xxx>]:[iflags=<xxx>][:eflags=<xxx>]"

Parameters
lTokensthe list of query tokens and its values.
Returns
A string list of internal filter names, including all filters, which match this query.

Definition at line 365 of file filterfactory.cxx.

References impl_getListOfInstalledModules(), impl_getSortedFilterListForModule(), module, QUERY_PARAM_EFLAGS, QUERY_PARAM_IFLAGS, and QUERY_PARAM_MODULE.

Referenced by createSubSetEnumerationByQuery().

◆ impl_getSortedFilterListForModule()

std::vector< OUString > filter::config::FilterFactory::impl_getSortedFilterListForModule ( const OUString &  sModule,
sal_Int32  nIFlags,
sal_Int32  nEFlags 
) const
private

◆ impl_queryMatchByDocumentService()

std::vector< OUString > filter::config::FilterFactory::impl_queryMatchByDocumentService ( const QueryTokenizer lTokens) const
private

implement the container string query: "matchByDocumentService=:iflags=:eflags=:..."

Parameters
lTokensthe list of query tokens and its values.
Returns
A string list of internal filter names, including all filters, which match this query.

Definition at line 193 of file filterfactory.cxx.

References filter::config::FilterCache::E_FILTER, filter::config::FilterCache::getItem(), filter::config::FilterCache::getItemNames(), comphelper::SequenceAsHashMap::getUnpackedValueOrDefault(), m_aMutex, PROPNAME_DOCUMENTSERVICE, PROPNAME_FLAGS, QUERY_CONSTVALUE_ALL, QUERY_IDENTIFIER_MATCHBYDOCUMENTSERVICE, QUERY_PARAM_EFLAGS, QUERY_PARAM_IFLAGS, and sDocumentService.

Referenced by createSubSetEnumerationByQuery().

◆ impl_readSortedFilterListFromConfig()

std::vector< OUString > filter::config::FilterFactory::impl_readSortedFilterListFromConfig ( const OUString &  sModule)
staticprivate

read a specialized and sorted list of filter names from the configuration (matching the specified module)

Parameters
sModulethe module for which the sorted list should be retrieved for.
Returns
A string list of internal filter names. Can be empty.

Definition at line 462 of file filterfactory.cxx.

References PROPNAME_SORTEDFILTERLIST, and comphelper::sequenceToContainer().

Referenced by impl_getSortedFilterListForModule().

Member Data Documentation

◆ m_xContext

css::uno::Reference< css::uno::XComponentContext > filter::config::FilterFactory::m_xContext
private

Definition at line 39 of file filterfactory.hxx.

Referenced by createInstanceWithArguments().


The documentation for this class was generated from the following files: