diff options
author | Sven Jacobi <sj@openoffice.org> | 2001-02-22 10:26:12 +0000 |
---|---|---|
committer | Sven Jacobi <sj@openoffice.org> | 2001-02-22 10:26:12 +0000 |
commit | 9e22ddaf1abf5d2038913c72df54208abc147f05 (patch) | |
tree | 339e56eb6ecf3353c789e53de1d3fda678f72b67 /svtools | |
parent | 6d2ca57e72ac7422a4458296bafa2b4c20616c79 (diff) |
new cache for the information provided by the FilterFactory
Diffstat (limited to 'svtools')
-rw-r--r-- | svtools/source/filter.vcl/filter/FilterConfigCache.cxx | 472 | ||||
-rw-r--r-- | svtools/source/filter.vcl/filter/FilterConfigCache.hxx | 149 |
2 files changed, 621 insertions, 0 deletions
diff --git a/svtools/source/filter.vcl/filter/FilterConfigCache.cxx b/svtools/source/filter.vcl/filter/FilterConfigCache.cxx new file mode 100644 index 000000000000..76673f4220e2 --- /dev/null +++ b/svtools/source/filter.vcl/filter/FilterConfigCache.cxx @@ -0,0 +1,472 @@ +/************************************************************************* + * + * $RCSfile: FilterConfigCache.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2001-02-22 11:26:12 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + +#ifndef _FILTER_CONFIG_CACHE_HXX_ +#include "FilterConfigCache.hxx" +#endif +#ifndef _FILTER_HXX +#include <filter.hxx> +#endif +#ifndef _TOOLS_DEBUG_HXX +#include <tools/debug.hxx> +#endif +#ifndef _COM_SUN_STAR_UNO_ANY_H_ +#include <com/sun/star/uno/Any.h> +#endif +#ifndef _COM_SUN_STAR_UNO_REFERENCE_H_ +#include <com/sun/star/uno/Reference.h> +#endif +#ifndef _UNOTOOLS_PROCESSFACTORY_HXX_ +#include <unotools/processfactory.hxx> +#endif +#ifndef _COM_SUN_STAR_UNO_EXCEPTION_HPP_ +#include <com/sun/star/uno/Exception.hpp> +#endif +#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#endif +#ifndef _COM_SUN_STAR_CONTAINER_XNAMEACCESS_HPP_ +#include <com/sun/star/container/XNameAccess.hpp> +#endif + +#define TOKEN_COUNT_FOR_OWN_FILTER 3 +#define TOKEN_INDEX_FOR_IDENT 0 +#define TOKEN_INDEX_FOR_FILTER 1 +#define TOKEN_INDEX_FOR_HASDIALOG 2 + +using namespace ::com::sun::star::lang ; // XMultiServiceFactory, getProcessServiceFactory() +using namespace ::com::sun::star::container ; // XNameAccess +using namespace ::com::sun::star::uno ; // Reference +using namespace ::com::sun::star::beans ; // PropertyValue +using namespace ::utl ; // getProcessServiceFactory(); +using namespace ::rtl ; + +const char* FilterConfigCache::FilterConfigCacheEntry::InternalPixelFilterNameList[] = +{ + IMP_BMP, IMP_GIF, IMP_PNG,IMP_JPEG, IMP_XBM, IMP_XPM, + EXP_BMP, EXP_JPEG, NULL +}; + +const char* FilterConfigCache::FilterConfigCacheEntry::InternalVectorFilterNameList[] = +{ + IMP_SVMETAFILE, IMP_WMF, IMP_EMF, IMP_SVSGF, IMP_SVSGV, + EXP_SVMETAFILE, EXP_WMF, EXP_EMF, EXP_SVG, NULL +}; + +sal_Bool FilterConfigCache::FilterConfigCacheEntry::IsValid() +{ + return sFilterName.Len() != 0; +} + +sal_Bool FilterConfigCache::FilterConfigCacheEntry::CreateFilterName( const OUString& rUserDataEntry ) +{ + bIsInternalFilter = sal_False; + sFilterName = String( rUserDataEntry ); + const char** pPtr; + for ( pPtr = InternalPixelFilterNameList; *pPtr && ( bIsInternalFilter == sal_False ); pPtr++ ) + { + if ( sFilterName.EqualsIgnoreCaseAscii( *pPtr ) ) + { + bIsInternalFilter = sal_True; + bIsPixelFormat = sal_True; + } + } + for ( pPtr = InternalVectorFilterNameList; *pPtr && ( bIsInternalFilter == sal_False ); pPtr++ ) + { + if ( sFilterName.EqualsIgnoreCaseAscii( *pPtr ) ) + { + bIsInternalFilter = sal_True; + bIsPixelFormat = sal_False; + } + } + if ( !bIsInternalFilter ) + { + String aTemp( OUString::createFromAscii( SVLIBRARY( "?" ) ) ); + xub_StrLen nIndex = aTemp.Search( (sal_Unicode)'?' ); + aTemp.Replace( nIndex, 1, sFilterName ); + sFilterName = aTemp; + } + return sFilterName.Len() != 0; +} + +FilterConfigCache::FilterConfigCache() +{ + ImplInit(); +} + +FilterConfigCache::~FilterConfigCache() +{ + +} + +sal_Bool FilterConfigCache::ImplIsOwnFilter( const Sequence< PropertyValue >& rFilterProperties ) +{ + static OUString sUserData ( RTL_CONSTASCII_USTRINGPARAM( "UserData" ) ); + static OUString sMagic ( RTL_CONSTASCII_USTRINGPARAM( "OO" ) ); + + sal_Bool bIsOwn = sal_False; + sal_Int32 i, nCount = rFilterProperties.getLength(); + for ( i = 0; i < nCount; i++ ) + { + if ( rFilterProperties[ i ].Name.equals( sUserData ) ) + { + Sequence < OUString > lUserData; + rFilterProperties[ i ].Value >>= lUserData; + if ( lUserData.getLength() == TOKEN_COUNT_FOR_OWN_FILTER ) + { + if ( lUserData[ TOKEN_INDEX_FOR_IDENT ].equals( sMagic ) ) + bIsOwn = sal_True; + } + break; + } + } + return bIsOwn; +} + +sal_Bool FilterConfigCache::ImplAddFilterEntry( const Sequence< PropertyValue >& rFilterProperties ) +{ + static OUString sType ( RTL_CONSTASCII_USTRINGPARAM( "Type" ) ); + static OUString sUIName ( RTL_CONSTASCII_USTRINGPARAM( "UIName" ) ); + static OUString sDocumentService ( RTL_CONSTASCII_USTRINGPARAM( "DocumentService" ) ); + static OUString sFilterService ( RTL_CONSTASCII_USTRINGPARAM( "FilterService" ) ); + static OUString sFlags ( RTL_CONSTASCII_USTRINGPARAM( "Flags" ) ); + static OUString sUserData ( RTL_CONSTASCII_USTRINGPARAM( "UserData" ) ); + static OUString sFileFormatVersion ( RTL_CONSTASCII_USTRINGPARAM( "FileFormatVersion" ) ); + static OUString sTemplateName ( RTL_CONSTASCII_USTRINGPARAM( "TemplateName" ) ); + + static OUString sTrue ( RTL_CONSTASCII_USTRINGPARAM( "true" ) ); + + sal_Bool bFilterEntryCreated = sal_False; + FilterConfigCacheEntry aEntry; + + try + { + sal_Int32 i, nCount = rFilterProperties.getLength(); + for ( i = 0; i < nCount; i++ ) + { + PropertyValue aPropValue( rFilterProperties[ i ] ); + if ( aPropValue.Name.equals( sType ) ) + aPropValue.Value >>= aEntry.sType; + else if ( aPropValue.Name.equals( sUIName ) ) + aPropValue.Value >>= aEntry.sUIName; + else if ( aPropValue.Name.equals( sDocumentService ) ) + aPropValue.Value >>= aEntry.sDocumentService; + else if ( aPropValue.Name.equals( sFilterService ) ) + aPropValue.Value >>= aEntry.sFilterService; + else if ( aPropValue.Name.equals( sFlags ) ) + aPropValue.Value >>= aEntry.nFlags; + else if ( aPropValue.Name.equals( sUserData ) ) + { + Sequence < OUString > lUserData; + aPropValue.Value >>= lUserData; + if ( lUserData.getLength() == TOKEN_COUNT_FOR_OWN_FILTER ) + { + aEntry.bHasDialog = lUserData[ TOKEN_INDEX_FOR_HASDIALOG ].equalsIgnoreCase( sTrue ); + aEntry.CreateFilterName( lUserData[ TOKEN_INDEX_FOR_FILTER ] ); + } + } + else if ( aPropValue.Name.equals( sFileFormatVersion ) ) + aPropValue.Value >>= aEntry.nFileFormatVersion; + else if ( aPropValue.Name.equals( sTemplateName ) ) + aPropValue.Value >>= aEntry.sTemplateName; + } + if ( aEntry.IsValid() ) + { + if ( aEntry.nFlags & 1 ) + aImport.push_back( aEntry ); + if ( aEntry.nFlags & 2 ) + aExport.push_back( aEntry ); + if ( aEntry.nFlags & 3 ) + bFilterEntryCreated = sal_True; + } + } + catch ( ::com::sun::star::uno::Exception& ) + { + DBG_ERROR( "FilterConfigCache::FilterConfigEntry::ImplAddFilterEntry : exception while reading the filter properties" ); + } + return bFilterEntryCreated; +} + +void FilterConfigCache::ImplInit() +{ + // get global uno service manager + Reference< XMultiServiceFactory > xSMGR = getProcessServiceFactory(); + + // create type detection service + Reference< XNameAccess > xTypeAccess( xSMGR->createInstance( + OUString::createFromAscii( "com.sun.star.document.TypeDetection" ) ), UNO_QUERY ); + Sequence< OUString > lAllTypes = xTypeAccess->getElementNames(); + sal_Int32 nAllTypesCount = lAllTypes.getLength(); + + Reference< XNameAccess > xFilterAccess( xSMGR->createInstance( + OUString::createFromAscii( "com.sun.star.document.FilterFactory" ) ), UNO_QUERY ); + Sequence< OUString > lAllFilter = xFilterAccess->getElementNames(); + sal_Int32 nAllFilterCount = lAllFilter.getLength(); + + sal_Int32 i; +/* + for ( i = 0; i < nAllTypesCount; i++ ) + { + OUString sInternalTypeName = lAllTypes[ i ]; + Any aTypePropertySet = xTypeAccess->getByName( sInternalTypeName ); + + Sequence< PropertyValue > lProperties; + aTypePropertySet >>= lProperties; + sal_Int32 j, nCount = lProperties.getLength(); + for ( j = 0; j < nCount; j++ ) + { + PropertyValue aPropValue( lProperties[ j ] ); + OUString aName( aPropValue.Name ); + } + } +*/ +/* + [0].Name = "UIName" + [0].Value = localized name of filter as [string] + + [1].Name = "MediaType" + [1].Value = mime type as [string] + + [2].Name = "ClipboardFormat" + [2].Value = name of clipboard format as [string] + + [3].Name = "URLPattern" + [3].Value = list of matching URL pattern to specify type; as [stringlist] + + [4].Name = "Extensions" + [4].Value = list of matching file extensions to specify type; as [stringlist] + + [5].Name = "DocumentIconID" + [5].Value = ID of a suitable document icon as [integer] +*/ + + for ( i = 0; i < nAllFilterCount; i++ ) + { + OUString sInternalTypeName = lAllFilter[ i ]; + Any aTypePropertySet = xFilterAccess->getByName( sInternalTypeName ); + + Sequence< PropertyValue > lProperties; + aTypePropertySet >>= lProperties; + + if ( ImplIsOwnFilter( lProperties ) ) + ImplAddFilterEntry( lProperties ); + } +}; + +// ------------------------------------------------------------------------ + +String FilterConfigCache::GetImportFilterName( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aImport.begin() + nFormat ); + return ( aIter < aImport.end() ) ? aIter->sFilterName : String(); +} + +sal_uInt16 FilterConfigCache::GetImportFormatNumber( const String& rFormatName ) +{ + CacheVector::iterator aIter( aImport.begin() ); + while ( aIter != aImport.end() ) + { + if ( aIter->sUIName.equalsIgnoreCase( rFormatName ) ) + break; + aIter++; + } + return aIter == aImport.end() ? GRFILTER_FORMAT_NOTFOUND : aIter - aImport.begin(); +} + +sal_uInt16 FilterConfigCache::GetImportFormatNumberForShortName( const String& rShortName ) +{ + CacheVector::iterator aIter( aImport.begin() ); + while ( aIter != aImport.end() ) + { + if ( aIter->sType.equalsIgnoreCase( rShortName ) ) + break; + aIter++; + } + return aIter == aImport.end() ? GRFILTER_FORMAT_NOTFOUND : aIter - aImport.begin(); +} + +String FilterConfigCache::GetImportFormatName( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aImport.begin() + nFormat ); + return ( aIter < aImport.end() ) ? aIter->sUIName : String(); +} + +String FilterConfigCache::GetImportFormatType( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aImport.begin() + nFormat ); + return ( aIter < aImport.end() ) ? aIter->sType : String(); +} + +String FilterConfigCache::GetImportFormatExtension( sal_uInt16 nFormat ) +{ + return GetImportFormatType( nFormat ); +} + +String FilterConfigCache::GetImportFormatShortName( sal_uInt16 nFormat ) +{ + return GetImportFormatType( nFormat ); +} + +String FilterConfigCache::GetImportWildcard( sal_uInt16 nFormat ) +{ + String aWildcard( UniString::CreateFromAscii( "*.", 2 ) ); + aWildcard.Append( GetImportFormatType( nFormat ) ); + return aWildcard; +} + +sal_Bool FilterConfigCache::IsImportInternalFilter( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aImport.begin() + nFormat ); + return ( aIter < aImport.end() ) ? aIter->bIsInternalFilter != 0 : sal_False; +} + +sal_Bool FilterConfigCache::IsImportPixelFormat( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aImport.begin() + nFormat ); + return ( aIter < aImport.end() ) ? aIter->bIsPixelFormat != 0 : sal_False; +} + +sal_Bool FilterConfigCache::IsImportDialog( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aImport.begin() + nFormat ); + return ( aIter < aImport.end() ) ? aIter->bHasDialog != 0: sal_False; +} + +// ------------------------------------------------------------------------ + +String FilterConfigCache::GetExportFilterName( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aExport.begin() + nFormat ); + return ( aIter < aExport.end() ) ? aIter->sFilterName : String(); +} + +sal_uInt16 FilterConfigCache::GetExportFormatNumber( const String& rFormatName ) +{ + CacheVector::iterator aIter( aExport.begin() ); + while ( aIter != aExport.end() ) + { + if ( aIter->sUIName.equalsIgnoreCase( rFormatName ) ) + break; + aIter++; + } + return aIter == aExport.end() ? GRFILTER_FORMAT_NOTFOUND : aIter - aExport.begin(); +} + +sal_uInt16 FilterConfigCache::GetExportFormatNumberForShortName( const String& rShortName ) +{ + CacheVector::iterator aIter( aExport.begin() ); + while ( aIter != aExport.end() ) + { + if ( aIter->sType.equalsIgnoreCase( rShortName ) ) + break; + aIter++; + } + return aIter == aExport.end() ? GRFILTER_FORMAT_NOTFOUND : aIter - aExport.begin(); +} + +String FilterConfigCache::GetExportFormatName( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aExport.begin() + nFormat ); + return ( aIter < aExport.end() ) ? aIter->sUIName : String(); +} + +String FilterConfigCache::GetExportFormatType( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aExport.begin() + nFormat ); + return ( aIter < aExport.end() ) ? aIter->sType : String(); +} + +String FilterConfigCache::GetExportFormatExtension( sal_uInt16 nFormat ) +{ + return GetExportFormatType( nFormat ); +} + +String FilterConfigCache::GetExportFormatShortName( sal_uInt16 nFormat ) +{ + return GetExportFormatType( nFormat ); +} + +String FilterConfigCache::GetExportWildcard( sal_uInt16 nFormat ) +{ + String aWildcard( UniString::CreateFromAscii( "*.", 2 ) ); + aWildcard.Append( GetExportFormatType( nFormat ) ); + return aWildcard; +} + +sal_Bool FilterConfigCache::IsExportInternalFilter( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aExport.begin() + nFormat ); + return ( aIter < aExport.end() ) ? aIter->bIsInternalFilter != 0 : sal_False; +} + +sal_Bool FilterConfigCache::IsExportPixelFormat( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aExport.begin() + nFormat ); + return ( aIter < aExport.end() ) ? aIter->bIsPixelFormat != 0 : sal_False; +} + +sal_Bool FilterConfigCache::IsExportDialog( sal_uInt16 nFormat ) +{ + CacheVector::iterator aIter( aExport.begin() + nFormat ); + return ( aIter < aExport.end() ) ? aIter->bHasDialog != 0: sal_False; +} + +// ------------------------------------------------------------------------ diff --git a/svtools/source/filter.vcl/filter/FilterConfigCache.hxx b/svtools/source/filter.vcl/filter/FilterConfigCache.hxx new file mode 100644 index 000000000000..aaedf9af148f --- /dev/null +++ b/svtools/source/filter.vcl/filter/FilterConfigCache.hxx @@ -0,0 +1,149 @@ +/************************************************************************* + * + * $RCSfile: FilterConfigCache.hxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: sj $ $Date: 2001-02-22 11:25:38 $ + * + * The Contents of this file are made available subject to the terms of + * either of the following licenses + * + * - GNU Lesser General Public License Version 2.1 + * - Sun Industry Standards Source License Version 1.1 + * + * Sun Microsystems Inc., October, 2000 + * + * GNU Lesser General Public License Version 2.1 + * ============================================= + * Copyright 2000 by Sun Microsystems, Inc. + * 901 San Antonio Road, Palo Alto, CA 94303, USA + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License version 2.1, as published by the Free Software Foundation. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, + * MA 02111-1307 USA + * + * + * Sun Industry Standards Source License Version 1.1 + * ================================================= + * The contents of this file are subject to the Sun Industry Standards + * Source License Version 1.1 (the "License"); You may not use this file + * except in compliance with the License. You may obtain a copy of the + * License at http://www.openoffice.org/license.html. + * + * Software provided under this License is provided on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, + * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS, + * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING. + * See the License for the specific provisions governing your rights and + * obligations concerning the Software. + * + * The Initial Developer of the Original Code is: Sun Microsystems, Inc. + * + * Copyright: 2000 by Sun Microsystems, Inc. + * + * All Rights Reserved. + * + * Contributor(s): _______________________________________ + * + * + ************************************************************************/ + + +#ifndef _FILTER_CONFIG_CACHE_HXX_ +#define _FILTER_CONFIG_CACHE_HXX_ +#ifndef _STRING_HXX +#include <tools/string.hxx> +#endif +#ifndef _COM_SUN_STAR_UNO_SEQUENCE_H_ +#include <com/sun/star/uno/Sequence.h> +#endif +#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_ +#include <com/sun/star/beans/PropertyValue.hpp> +#endif +#include <vector> + +class FilterConfigCache +{ + struct FilterConfigCacheEntry + { + ::rtl::OUString sType; + ::rtl::OUString sUIName; + ::rtl::OUString sDocumentService; + ::rtl::OUString sFilterService; + ::rtl::OUString sTemplateName; + + sal_Int32 nFlags; + sal_Int32 nFileFormatVersion; + + // user data + String sFilterName; + sal_Bool bHasDialog : 1; + sal_Bool bIsInternalFilter : 1; + sal_Bool bIsPixelFormat : 1; + + sal_Bool IsValid(); + sal_Bool CreateFilterName( const ::rtl::OUString& rUserDataEntry ); + + static const char* InternalPixelFilterNameList[]; + static const char* InternalVectorFilterNameList[]; + }; + + typedef std::vector< FilterConfigCacheEntry > CacheVector; + + CacheVector aImport; + CacheVector aExport; + + sal_Bool ImplIsOwnFilter( const ::com::sun::star::uno::Sequence< + ::com::sun::star::beans::PropertyValue >& rFilterProperties ); + sal_Bool ImplAddFilterEntry( const ::com::sun::star::uno::Sequence< + ::com::sun::star::beans::PropertyValue >& rFilterProperties ); + void ImplInit(); + + public : + + sal_uInt16 GetImportFormatCount() const { return aImport.size(); }; + sal_uInt16 GetImportFormatNumber( const String& rFormatName ); + sal_uInt16 GetImportFormatNumberForShortName( const String& rShortName ); + String GetImportFilterName( sal_uInt16 nFormat ); + String GetImportFormatName( sal_uInt16 nFormat ); + String GetImportFormatExtension( sal_uInt16 nFormat ); + String GetImportFormatShortName( sal_uInt16 nFormat ); + String GetImportFormatType( sal_uInt16 nFormat ); + String GetImportWildcard( sal_uInt16 nFormat ); + + sal_Bool IsImportInternalFilter( sal_uInt16 nFormat ); + sal_Bool IsImportPixelFormat( sal_uInt16 nFormat ); + sal_Bool IsImportDialog( sal_uInt16 nFormat ); + + sal_uInt16 GetExportFormatCount() const { return aExport.size(); }; + sal_uInt16 GetExportFormatNumber( const String& rFormatName ); + sal_uInt16 GetExportFormatNumberForShortName( const String& rShortName ); + String GetExportFilterName( sal_uInt16 nFormat ); + String GetExportFormatName( sal_uInt16 nFormat ); + String GetExportFormatExtension( sal_uInt16 nFormat ); + String GetExportFormatShortName( sal_uInt16 nFormat ); + String GetExportFormatType( sal_uInt16 nFormat ); + String GetExportWildcard( sal_uInt16 nFormat ); + + sal_Bool IsExportInternalFilter( sal_uInt16 nFormat ); + sal_Bool IsExportPixelFormat( sal_uInt16 nFormat ); + sal_Bool IsExportDialog( sal_uInt16 nFormat ); + + FilterConfigCache(); + ~FilterConfigCache(); + +}; + +#endif // _FILTER_CONFIG_CACHE_HXX_ + |