/************************************************************** * * Licensed to the Apache Software Foundation (ASF) under one * or more contributor license agreements. See the NOTICE file * distributed with this work for additional information * regarding copyright ownership. The ASF licenses this file * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on an * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. * *************************************************************/ // MARKER(update_precomp.py): autogen include statement, do not remove #include "precompiled_framework.hxx" //_________________________________________________________________________________________________________________ // my own includes //_________________________________________________________________________________________________________________ #include #include #include #include #include #include #include //_________________________________________________________________________________________________________________ // interface includes //_________________________________________________________________________________________________________________ #include #include #include //_________________________________________________________________________________________________________________ // other includes //_________________________________________________________________________________________________________________ #include #include #include #include #ifndef __SGI_STL_HASH_MAP #include #endif #include #include #include #include #include //_________________________________________________________________________________________________________________ // const //_________________________________________________________________________________________________________________ #define RDBFILE DECLARE_ASCII("typecfg.rdb" ) #define ARGUMENT_DIRNAME DECLARE_ASCII("-dir=" ) // argument for output directory #define ARGUMENT_VERSION DECLARE_ASCII("-ver=" ) // argument for file version to read [1|2|3] #define ARGUMENTLENGTH 5 // same length for all arguments make it easier to detect it :-) #define ARGUMENTFOUND 0 // OUString::compareTo returns 0 if searched string match given one #define MENU_HTML "menu.html" #define BLANK_HTML "blank.html" #define FRAMESET_START_HTML "index.html" #define FRAMESET_TYPES_HTML "fs_types.html" #define FRAMESET_FILTERS_HTML "fs_filters.html" #define FRAMESET_MODULFILTERS_HTML "fs_modulfilters.html" #define FRAMESET_DETECTORS_HTML "fs_detectors.html" #define FRAMESET_LOADERS_HTML "fs_loaders.html" #define FRAMESET_INVALIDFILTERS_HTML "fs_invalidfilters.html" #define FRAMESET_INVALIDDETECTORS_HTML "fs_invaliddetectors.html" #define FRAMESET_INVALIDLOADERS_HTML "fs_invalidloaders.html" #define FRAMESET_DOUBLEFILTERUINAMES_HTML "fs_doublefilteruinames.html" #define ALLTYPES_HTML "alltypes.html" #define ALLFILTERS_HTML "allfilters.html" #define ALLDETECTORS_HTML "alldetectors.html" #define ALLLOADERS_HTML "allloaders.html" #define TYPEPROPERTIES_HTML "typeproperties.html" #define FILTERPROPERTIES_HTML "filterproperties.html" #define DETECTORPROPERTIES_HTML "detectorproperties.html" #define LOADERPROPERTIES_HTML "loaderproperties.html" #define INVALIDFILTERS_HTML "invalidfilters.html" #define INVALIDDETECTORS_HTML "invaliddetectors.html" #define INVALIDLOADERS_HTML "invalidloaders.html" #define FILTERFLAGS_HTML "filterflags.html" #define MODULFILTERS_HTML "modulfilters.html" #define DOUBLEFILTERUINAMES_HTML "doublefilteruinames.html" #define TARGET_MENU "menu" #define TARGET_VIEW "view" #define TARGET_LIST "list" #define TARGET_PROPERTIES "properties" //_________________________________________________________________________________________________________________ // namespace //_________________________________________________________________________________________________________________ using namespace ::std ; using namespace ::vos ; using namespace ::rtl ; using namespace ::framework ; using namespace ::comphelper ; using namespace ::com::sun::star::uno ; using namespace ::com::sun::star::lang ; using namespace ::com::sun::star::container ; using namespace ::com::sun::star::beans ; //_________________________________________________________________________________________________________________ // defines //_________________________________________________________________________________________________________________ //_________________________________________________________________________________________________________________ // declarations //_________________________________________________________________________________________________________________ /*-***************************************************************************************************************/ struct AppMember { Reference< XMultiServiceFactory > xServiceManager ; FilterCache* pCache ; ::rtl::OUString sDirectory ; sal_Int32 nVersion ; }; /*-***************************************************************************************************************/ class CFGView : public Application { //************************************************************************************************************* public: void Main(); //************************************************************************************************************* private: void impl_parseCommandLine ( AppMember& rMember ); void impl_generateHTMLView (); //************************************************************************************************************* private: void impl_printCopyright (); void impl_printSyntax (); void impl_generateTypeListHTML (); void impl_generateFilterListHTML (); void impl_generateFilterModulListHTML (); void impl_generateDetectorListHTML (); void impl_generateLoaderListHTML (); void impl_generateInvalidFiltersHTML (); void impl_generateInvalidDetectorsHTML (); void impl_generateInvalidLoadersHTML (); void impl_generateFilterFlagsHTML (); void impl_generateDefaultFiltersHTML (); void impl_generateDoubleFilterUINamesHTML (); void impl_writeFile ( const ::rtl::OString& sFile, const ::rtl::OString& sContent ); //************************************************************************************************************* private: AppMember m_aData ; }; // class CFGView //_________________________________________________________________________________________________________________ // global variables //_________________________________________________________________________________________________________________ CFGView gApplication; //***************************************************************************************************************** void CFGView::Main() { // Init global servicemanager and set it. // It's necessary for other services ... e.g. configuration. ServiceManager aManager; ::comphelper::setProcessServiceFactory( aManager.getGlobalUNOServiceManager() ); // Get optional commands from command line. impl_parseCommandLine( m_aData ); // Read configuration and fill cache ... use given file version (see parameter "-ver=" too) m_aData.pCache = new FilterCache( m_aData.nVersion ); // Generate view as html impl_generateHTMLView(); // Free all used memory delete m_aData.pCache; m_aData.pCache = NULL; } /*-************************************************************************************************************//** @short print some info messages to stderr @descr We must show an copyright or help for using this file. This two methods do that. @seealso - @param - @return - @onerror - *//*-*************************************************************************************************************/ void CFGView::impl_printCopyright() { fprintf( stderr, "\n(c) Copyright by Sun microsystems, 2001\n" ); } //***************************************************************************************************************** void CFGView::impl_printSyntax() { fprintf( stderr, "\nusing: xml2xcd -fi= -vi= -vo= [-wr=]\n\n" ); fprintf( stderr, "\tneccessary parameters:\n" ); fprintf( stderr, "\t\t-fi=\tname of output file in system notation\n" ); fprintf( stderr, "\t\t-vi=\tformat version of input xml file\n" ); fprintf( stderr, "\t\t-vo=\tformat version of generated xcd file\n\n" ); fprintf( stderr, "\toptional parameters:\n" ); fprintf( stderr, "\t\t-wr=\tconfig items should be writeable ... [true|false]\n" ); } /*-************************************************************************************************************//** @short analyze command line arguments @descr Created binary accept different command line arguments. These parameters regulate creation of this html view. Follow arguments are supported: "-dir=" "-ver=[1|2|3]" @seealso - @param "rMember", reference to struct of global application member to fill arguments in it @return right filled member struct or unchanged struct if an error occur! @onerror We do nothing - or warn programmer! *//*-*************************************************************************************************************/ void CFGView::impl_parseCommandLine( AppMember& rMember ) { ::vos::OStartupInfo aInfo ; ::rtl::OUString sArgument ; sal_Int32 nArgument = 0 ; sal_Int32 nCount = aInfo.getCommandArgCount(); sal_Int32 nMinCount = 0 ; while( nArgument\n\t\n\t\t\n\t\t\tTypeDetection CFG\n\t\t\n\t\n" ); // open html sStartFramesetHTML.appendAscii( "\t\t\n" ); // open frameset sStartFramesetHTML.appendAscii( "\t\t\t\n" ); sStartFramesetHTML.appendAscii( "\t\t\t\n" ); sStartFramesetHTML.appendAscii( "\t\t\n" ); // close frameset sStartFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_START_HTML, U2B(sStartFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // generate blank html OUStringBuffer sBlankHTML( 10000 ); sBlankHTML.appendAscii( "\n\t\n\t\t\n\t\t\tBlank\n\t\t\n\t\n\t\n\tPlease select ...\n\n" ); // open html impl_writeFile( BLANK_HTML, U2B(sBlankHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // generate menu OUStringBuffer sMenuHTML( 10000 ); sMenuHTML.appendAscii( "\n\t\n\t\t\n\t\t\tMenu\n\t\t\n\t\n\t\n" ); // open html sMenuHTML.appendAscii( "\t\t\n" ); // close list sMenuHTML.appendAscii( "\t\n\n" ); // close html impl_writeFile( MENU_HTML, U2B(sMenuHTML.makeStringAndClear()) ); impl_generateTypeListHTML (); impl_generateFilterListHTML (); impl_generateFilterModulListHTML (); impl_generateDetectorListHTML (); impl_generateLoaderListHTML (); impl_generateInvalidFiltersHTML (); impl_generateInvalidDetectorsHTML (); impl_generateInvalidLoadersHTML (); impl_generateFilterFlagsHTML (); impl_generateDoubleFilterUINamesHTML(); } //***************************************************************************************************************** void CFGView::impl_generateTypeListHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for types OUStringBuffer sTypesFramesetHTML( 10000 ); sTypesFramesetHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Types\n\t\t\n\t\n" ); // open html sTypesFramesetHTML.appendAscii( "\t\t\n" ); // open frameset for cols sTypesFramesetHTML.appendAscii( "\t\t\t\n" ); sTypesFramesetHTML.appendAscii( "\t\t\t\n" ); sTypesFramesetHTML.appendAscii( "\t\t\n" ); // close frameset cols sTypesFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_TYPES_HTML, U2B(sTypesFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // generate type list (names and links only!) // use same loop to generate type property list! OUStringBuffer sAllTypesHTML( 10000 ); OUStringBuffer sTypePropHTML( 10000 ); sAllTypesHTML.appendAscii( "\n\t\n\t\t\n\t\t\tAll Types\n\t\t\n\t\n\t\n" ); // open html sAllTypesHTML.appendAscii( "\t\t\n" ); // open table sTypePropHTML.appendAscii( "\n\t\n\t\t\n\t\t\tTypeProperties\n\t\t\n\t\n\t\n" ); // open html css::uno::Sequence< ::rtl::OUString > lNames = m_aData.pCache->getAllTypeNames(); sal_Int32 nCount = lNames.getLength() ; for( sal_Int32 nItem=0; nItemgetType( sName ); // write entry in type list table sAllTypesHTML.appendAscii ( "\t\t\t\n" ); // open row sAllTypesHTML.appendAscii ( "\t\t\t\t\n" ); // close column "nr" sAllTypesHTML.appendAscii ( "\t\t\t\t\n" ); // close column "name" sAllTypesHTML.appendAscii ( "\t\t\t\n" ); // close row // write entry in type property table sTypePropHTML.appendAscii ( "\t\t" ); sTypePropHTML.appendAscii ( "\t\t
Nr.Type
" ); // open column "nr" sAllTypesHTML.append ( OUString::valueOf( nItem ) ); // write nr sAllTypesHTML.appendAscii ( "" ); // open column "name" sAllTypesHTML.appendAscii ( "" ); sAllTypesHTML.append ( aItem.sName ); // write name sAllTypesHTML.appendAscii ( "" ); // close href sAllTypesHTML.appendAscii ( "
\n" ); // open table sTypePropHTML.appendAscii ( "\t\t\t\n" ); sTypePropHTML.appendAscii ( "\t\t\t\n" ); sTypePropHTML.appendAscii ( "\t\t\t\n" ); sTypePropHTML.appendAscii ( "\t\t\t\n" ); sTypePropHTML.appendAscii ( "\t\t\t\n" ); sTypePropHTML.appendAscii ( "\t\t\t\n" ); sTypePropHTML.appendAscii ( "\t\t\t\n" ); sTypePropHTML.appendAscii ( "\t\t\t\n" ); sTypePropHTML.appendAscii ( "\t\t
Nr. " ); // generate row "Nr " sTypePropHTML.append ( OUString::valueOf( nItem ) ); sTypePropHTML.appendAscii ( "
Name " ); // generate row "Name " sTypePropHTML.append ( aItem.sName ); sTypePropHTML.appendAscii ( "
UIName" ); // generate row "UIName " for( ConstStringHashIterator pUIName=aItem.lUINames.begin() ; pUIName!=aItem.lUINames.end() ; ++pUIName ) { sTypePropHTML.appendAscii ( " [" ); sTypePropHTML.append ( pUIName->first ); sTypePropHTML.appendAscii ( "] \"" ); sTypePropHTML.append ( pUIName->second ); sTypePropHTML.appendAscii ( "\"
" ); } sTypePropHTML.appendAscii ( "
MediaType " ); // generate row "MediaType " sTypePropHTML.append ( aItem.sMediaType ); sTypePropHTML.appendAscii ( "
ClipboardFormat " ); // generate row "ClipboardFormat " sTypePropHTML.append ( aItem.sClipboardFormat ); sTypePropHTML.appendAscii ( "
URLPattern" ); // generate row "URLPattern " for( ConstStringListIterator pPattern=aItem.lURLPattern.begin() ; pPattern!=aItem.lURLPattern.end() ; ++pPattern ) { sTypePropHTML.appendAscii ( " \""); sTypePropHTML.append ( *pPattern ); sTypePropHTML.appendAscii ( "\"
" ); } sTypePropHTML.appendAscii ( "
Extensions" ); // generate row "Extensions " for( ConstStringListIterator pExtension=aItem.lExtensions.begin() ; pExtension!=aItem.lExtensions.end() ; ++pExtension ) { sTypePropHTML.appendAscii ( " \"" ); sTypePropHTML.append ( *pExtension ); sTypePropHTML.appendAscii ( "\"
" ); } sTypePropHTML.appendAscii ( "
DocumentIconID " ); // generate row "DocumentIconID " sTypePropHTML.append ( OUString::valueOf( aItem.nDocumentIconID ) ); sTypePropHTML.appendAscii ( "
\n" ); // close table sTypePropHTML.appendAscii ( "\t\t

\n" ); // add space between this and following table } sAllTypesHTML.appendAscii( "\n" ); // close table sAllTypesHTML.appendAscii( "\n\n" ); // close html sTypePropHTML.appendAscii( "\n\n" ); // close html impl_writeFile( ALLTYPES_HTML , U2B(sAllTypesHTML.makeStringAndClear()) ); impl_writeFile( TYPEPROPERTIES_HTML , U2B(sTypePropHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateFilterListHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for types OUStringBuffer sFiltersFramesetHTML( 10000 ); sFiltersFramesetHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Filters\n\t\t\n\t\n" ); // open html sFiltersFramesetHTML.appendAscii( "\t\t\n" ); // open frameset for cols sFiltersFramesetHTML.appendAscii( "\t\t\t\n" ); sFiltersFramesetHTML.appendAscii( "\t\t\t\n" ); sFiltersFramesetHTML.appendAscii( "\t\t\n" ); // close frameset cols sFiltersFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_FILTERS_HTML, U2B(sFiltersFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // generate filter list (names and links only!) // use same loop to generate filter property list! OUStringBuffer sAllFiltersHTML( 10000 ); OUStringBuffer sFilterPropHTML( 10000 ); sAllFiltersHTML.appendAscii( "\n\t\n\t\t\n\t\t\tAll Filters\n\t\t\n\t\n\t\n" ); // open html sAllFiltersHTML.appendAscii( "\t\t\n" ); // open table sFilterPropHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFilterProperties\n\t\t\n\t\n\t\n" ); // open html /* ::framework::StringList lFilterNames; for( ConstFilterIterator pFilter=m_pData->aCFGView.begin(); pFilter!=m_pData->aCFGView.end(); ++pFilter ) { lFilterNames.push_back( pFilter->first ); } ::std::stable_sort( lFilterNames.begin(), lFilterNames.end() ); css::uno::Sequence< ::rtl::OUString > lNames; ::framework::DataContainer::convertStringVectorToSequence( lFilterNames, lNames ); */ css::uno::Sequence< ::rtl::OUString > lNames = m_aData.pCache->getAllFilterNames() ; sal_Int32 nFilterCounter = 0 ; sal_Int32 nCount = lNames.getLength() ; Filter aFilter ; for( nFilterCounter=0; nFilterCountergetFilter( lNames[nFilterCounter] ); // write entry in filter list table sAllFiltersHTML.appendAscii ( "\t\t\t\n" ); // open row sAllFiltersHTML.appendAscii ( "\t\t\t\t\n" ); // close column "nr" sAllFiltersHTML.appendAscii ( "\t\t\t\t\n" ); // close column "name" sAllFiltersHTML.appendAscii ( "\t\t\t\n" ); // close row // write entry in filter property table sFilterPropHTML.appendAscii ( "\t\t" ); sFilterPropHTML.appendAscii ( "\t\t
Nr.Filter
" ); // open column "nr" sAllFiltersHTML.append ( OUString::valueOf( nFilterCounter ) ); // write nr sAllFiltersHTML.appendAscii ( "" ); // open column "name" sAllFiltersHTML.appendAscii ( "" ); sAllFiltersHTML.append ( aFilter.sName ); // write name sAllFiltersHTML.appendAscii ( "" ); // close href sAllFiltersHTML.appendAscii ( "
\n" ); // open table sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t
Nr. "); // generate row "Nr " sFilterPropHTML.append ( OUString::valueOf( nFilterCounter ) ); sFilterPropHTML.appendAscii ( "
Name " ); // generate row "Name " sFilterPropHTML.append ( aFilter.sName ); sFilterPropHTML.appendAscii ( "
Order \"" ); // generate row "Order " sFilterPropHTML.append ( aFilter.nOrder ); sFilterPropHTML.appendAscii ( "\"
Type \"" ); // generate row "Type " sFilterPropHTML.append ( aFilter.sType ); sFilterPropHTML.appendAscii ( "\"
UIName" ); // generate row "UIName " for( ConstStringHashIterator pUIName=aFilter.lUINames.begin() ; pUIName!=aFilter.lUINames.end() ; ++pUIName ) { sFilterPropHTML.appendAscii ( " [" ); sFilterPropHTML.append ( pUIName->first ); sFilterPropHTML.appendAscii ( "] \"" ); sFilterPropHTML.append ( pUIName->second ); sFilterPropHTML.appendAscii ( "\"
" ); } sFilterPropHTML.appendAscii ( "
DocumentService " ); // generate row "DocumentService " sFilterPropHTML.append ( aFilter.sDocumentService ); sFilterPropHTML.appendAscii ( "
FilterService " ); // generate row "FilterService " sFilterPropHTML.append ( aFilter.sFilterService ); sFilterPropHTML.appendAscii ( "
Flags " ); // generate row "Flags " if( aFilter.nFlags & FILTERFLAG_IMPORT ) { sFilterPropHTML.append( FILTERFLAGNAME_IMPORT ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_EXPORT ) { sFilterPropHTML.append( FILTERFLAGNAME_EXPORT ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_TEMPLATE ) { sFilterPropHTML.append( FILTERFLAGNAME_TEMPLATE ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_INTERNAL ) { sFilterPropHTML.append( FILTERFLAGNAME_INTERNAL ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_TEMPLATEPATH ) { sFilterPropHTML.append( FILTERFLAGNAME_TEMPLATEPATH ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_OWN ) { sFilterPropHTML.append( FILTERFLAGNAME_OWN ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_ALIEN ) { sFilterPropHTML.append( FILTERFLAGNAME_ALIEN ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_USESOPTIONS ) { sFilterPropHTML.append( FILTERFLAGNAME_USESOPTIONS ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_DEFAULT ) { sFilterPropHTML.append( FILTERFLAGNAME_DEFAULT ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_NOTINFILEDIALOG ) { sFilterPropHTML.append( FILTERFLAGNAME_NOTINFILEDIALOG ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_NOTINCHOOSER ) { sFilterPropHTML.append( FILTERFLAGNAME_NOTINCHOOSER ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_ASYNCHRON ) { sFilterPropHTML.append( FILTERFLAGNAME_ASYNCHRON ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_READONLY ) { sFilterPropHTML.append( FILTERFLAGNAME_READONLY ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_NOTINSTALLED ) { sFilterPropHTML.append( FILTERFLAGNAME_NOTINSTALLED ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_CONSULTSERVICE ) { sFilterPropHTML.append( FILTERFLAGNAME_CONSULTSERVICE ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_3RDPARTYFILTER ) { sFilterPropHTML.append( FILTERFLAGNAME_3RDPARTYFILTER ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_PACKED ) { sFilterPropHTML.append( FILTERFLAGNAME_PACKED ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_SILENTEXPORT ) { sFilterPropHTML.append( FILTERFLAGNAME_SILENTEXPORT ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_BROWSERPREFERED ) { sFilterPropHTML.append( FILTERFLAGNAME_BROWSERPREFERED ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_PREFERED ) { sFilterPropHTML.append( FILTERFLAGNAME_PREFERED ); sFilterPropHTML.appendAscii( "
 " ); }; sFilterPropHTML.appendAscii ( "
UserData" ); // generate row "UserData " for( ConstStringListIterator pUserData=aFilter.lUserData.begin() ; pUserData!=aFilter.lUserData.end() ; ++pUserData ) { sFilterPropHTML.appendAscii ( " \"" ); sFilterPropHTML.append ( *pUserData ); sFilterPropHTML.appendAscii ( "\"
" ); } sFilterPropHTML.appendAscii ( "
FileFormatVersion "); // generate row "FileFormatVersion " sFilterPropHTML.append ( OUString::valueOf( aFilter.nFileFormatVersion ) ); sFilterPropHTML.appendAscii ( "
TemplateName " ); // generate row "TemplateName " sFilterPropHTML.append ( aFilter.sTemplateName ); sFilterPropHTML.appendAscii ( "
\n" ); // close table sFilterPropHTML.appendAscii ( "\t\t

\n" ); // add space between this and following table } sAllFiltersHTML.appendAscii( "\n" ); // close table sAllFiltersHTML.appendAscii( "\n\n" ); // close html sFilterPropHTML.appendAscii( "\n\n" ); // close html impl_writeFile( ALLFILTERS_HTML , U2B(sAllFiltersHTML.makeStringAndClear()) ); impl_writeFile( FILTERPROPERTIES_HTML, U2B(sFilterPropHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateFilterModulListHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for filters sorted by modules OUStringBuffer sFiltersFramesetHTML( 10000 ); sFiltersFramesetHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Filters sorted by modules\n\t\t\n\t\n" ); // open html sFiltersFramesetHTML.appendAscii( "\t\t\n" ); // open frameset for cols sFiltersFramesetHTML.appendAscii( "\t\t\t\n" ); sFiltersFramesetHTML.appendAscii( "\t\t\t\n" ); sFiltersFramesetHTML.appendAscii( "\t\t\n" ); // close frameset cols sFiltersFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_FILTERS_HTML, U2B(sFiltersFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // generate filter list (names and links only!) // use same loop to generate filter property list! OUStringBuffer sAllFiltersHTML( 10000 ); OUStringBuffer sFilterPropHTML( 10000 ); sAllFiltersHTML.appendAscii( "\n\t\n\t\t\n\t\t\tAll Filters\n\t\t\n\t\n\t\n" ); // open html sAllFiltersHTML.appendAscii( "\t\t\n" ); // open table sFilterPropHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFilterProperties\n\t\t\n\t\n\t\n" ); // open html css::uno::Sequence< ::rtl::OUString > lWriter ; css::uno::Sequence< ::rtl::OUString > lWeb ; css::uno::Sequence< ::rtl::OUString > lGlobal ; css::uno::Sequence< ::rtl::OUString > lChart ; css::uno::Sequence< ::rtl::OUString > lCalc ; css::uno::Sequence< ::rtl::OUString > lImpress; css::uno::Sequence< ::rtl::OUString > lDraw ; css::uno::Sequence< ::rtl::OUString > lMath ; css::uno::Sequence< ::rtl::OUString > lGraphic; css::uno::Sequence< ::rtl::OUString > lDefault; css::uno::Sequence< ::rtl::OUString > lNames ; m_aData.pCache->queryFilters( FILTERQUERY_TEXTDOCUMENT_WITHDEFAULT ) >>= lWriter ; m_aData.pCache->queryFilters( FILTERQUERY_WEBDOCUMENT_WITHDEFAULT ) >>= lWeb ; m_aData.pCache->queryFilters( FILTERQUERY_GLOBALDOCUMENT_WITHDEFAULT ) >>= lGlobal ; m_aData.pCache->queryFilters( FILTERQUERY_CHARTDOCUMENT_WITHDEFAULT ) >>= lChart ; m_aData.pCache->queryFilters( FILTERQUERY_SPREADSHEETDOCUMENT_WITHDEFAULT ) >>= lCalc ; m_aData.pCache->queryFilters( FILTERQUERY_PRESENTATIONDOCUMENT_WITHDEFAULT) >>= lImpress ; m_aData.pCache->queryFilters( FILTERQUERY_DRAWINGDOCUMENT_WITHDEFAULT ) >>= lDraw ; m_aData.pCache->queryFilters( FILTERQUERY_FORMULARPROPERTIES_WITHDEFAULT ) >>= lMath ; m_aData.pCache->queryFilters( FILTERQUERY_GRAPHICFILTERS ) >>= lGraphic ; m_aData.pCache->queryFilters( FILTERQUERY_DEFAULTFILTERS ) >>= lDefault ; sal_Int32 nModuls = 0; sal_Int32 nFilters = 0; sal_Int32 nModulCount = 0; sal_Int32 nFilterCount = 0; Filter aFilter ; ::rtl::OString sModul ; for( nModuls=0; nModuls\n" ); sAllFiltersHTML.appendAscii ( "\t\t\t\t\n" ); sAllFiltersHTML.appendAscii ( "\t\t\t\t\n" ); sAllFiltersHTML.appendAscii ( "\t\t\t\n" ); nFilterCount = lNames.getLength(); for( nFilters=0; nFiltersgetFilter( lNames[nFilters] ); // write entry in filter list table sAllFiltersHTML.appendAscii ( "\t\t\t\n" ); // open row sAllFiltersHTML.appendAscii ( "\t\t\t\t\n" ); // close column "nr" sAllFiltersHTML.appendAscii ( "\t\t\t\t\n" ); // close column "name" sAllFiltersHTML.appendAscii ( "\t\t\t\n" ); // close row // write entry in filter property table sFilterPropHTML.appendAscii ( "\t\t" ); sFilterPropHTML.appendAscii ( "\t\t
Nr.Filter
-" ); sAllFiltersHTML.appendAscii ( sModul ); sAllFiltersHTML.appendAscii ( "
" ); // open column "nr" sAllFiltersHTML.append ( OUString::valueOf( nFilters ) ); // write nr sAllFiltersHTML.appendAscii ( "" ); // open column "name" sAllFiltersHTML.appendAscii ( "" ); sAllFiltersHTML.append ( aFilter.sName ); // write name sAllFiltersHTML.appendAscii ( "" ); // close href sAllFiltersHTML.appendAscii ( "
\n" ); // open table sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t\t\n" ); sFilterPropHTML.appendAscii ( "\t\t
Nr. "); // generate row "Nr " sFilterPropHTML.append ( OUString::valueOf( nFilters ) ); sFilterPropHTML.appendAscii ( "
Name " ); // generate row "Name " sFilterPropHTML.append ( aFilter.sName ); sFilterPropHTML.appendAscii ( "
Order \"" ); // generate row "Order " sFilterPropHTML.append ( aFilter.nOrder ); sFilterPropHTML.appendAscii ( "\"
Type \"" ); // generate row "Type " sFilterPropHTML.append ( aFilter.sType ); sFilterPropHTML.appendAscii ( "\"
UIName" ); // generate row "UIName " for( ConstStringHashIterator pUIName=aFilter.lUINames.begin() ; pUIName!=aFilter.lUINames.end() ; ++pUIName ) { sFilterPropHTML.appendAscii ( " [" ); sFilterPropHTML.append ( pUIName->first ); sFilterPropHTML.appendAscii ( "] \"" ); sFilterPropHTML.append ( pUIName->second ); sFilterPropHTML.appendAscii ( "\"
" ); } sFilterPropHTML.appendAscii ( "
DocumentService " ); // generate row "DocumentService " sFilterPropHTML.append ( aFilter.sDocumentService ); sFilterPropHTML.appendAscii ( "
FilterService " ); // generate row "FilterService " sFilterPropHTML.append ( aFilter.sFilterService ); sFilterPropHTML.appendAscii ( "
Flags " ); // generate row "Flags " if( aFilter.nFlags & FILTERFLAG_IMPORT ) { sFilterPropHTML.append( FILTERFLAGNAME_IMPORT ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_EXPORT ) { sFilterPropHTML.append( FILTERFLAGNAME_EXPORT ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_TEMPLATE ) { sFilterPropHTML.append( FILTERFLAGNAME_TEMPLATE ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_INTERNAL ) { sFilterPropHTML.append( FILTERFLAGNAME_INTERNAL ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_TEMPLATEPATH ) { sFilterPropHTML.append( FILTERFLAGNAME_TEMPLATEPATH ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_OWN ) { sFilterPropHTML.append( FILTERFLAGNAME_OWN ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_ALIEN ) { sFilterPropHTML.append( FILTERFLAGNAME_ALIEN ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_USESOPTIONS ) { sFilterPropHTML.append( FILTERFLAGNAME_USESOPTIONS ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_DEFAULT ) { sFilterPropHTML.append( FILTERFLAGNAME_DEFAULT ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_NOTINFILEDIALOG ) { sFilterPropHTML.append( FILTERFLAGNAME_NOTINFILEDIALOG ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_NOTINCHOOSER ) { sFilterPropHTML.append( FILTERFLAGNAME_NOTINCHOOSER ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_ASYNCHRON ) { sFilterPropHTML.append( FILTERFLAGNAME_ASYNCHRON ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_READONLY ) { sFilterPropHTML.append( FILTERFLAGNAME_READONLY ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_NOTINSTALLED ) { sFilterPropHTML.append( FILTERFLAGNAME_NOTINSTALLED ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_CONSULTSERVICE ) { sFilterPropHTML.append( FILTERFLAGNAME_CONSULTSERVICE ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_3RDPARTYFILTER ) { sFilterPropHTML.append( FILTERFLAGNAME_3RDPARTYFILTER ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_PACKED ) { sFilterPropHTML.append( FILTERFLAGNAME_PACKED ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_SILENTEXPORT ) { sFilterPropHTML.append( FILTERFLAGNAME_SILENTEXPORT ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_BROWSERPREFERED ) { sFilterPropHTML.append( FILTERFLAGNAME_BROWSERPREFERED ); sFilterPropHTML.appendAscii( "
 " ); }; if( aFilter.nFlags & FILTERFLAG_PREFERED ) { sFilterPropHTML.append( FILTERFLAGNAME_PREFERED ); sFilterPropHTML.appendAscii( "
 " ); }; sFilterPropHTML.appendAscii ( "
UserData" ); // generate row "UserData " for( ConstStringListIterator pUserData=aFilter.lUserData.begin() ; pUserData!=aFilter.lUserData.end() ; ++pUserData ) { sFilterPropHTML.appendAscii ( " \"" ); sFilterPropHTML.append ( *pUserData ); sFilterPropHTML.appendAscii ( "\"
" ); } sFilterPropHTML.appendAscii ( "
FileFormatVersion "); // generate row "FileFormatVersion " sFilterPropHTML.append ( OUString::valueOf( aFilter.nFileFormatVersion ) ); sFilterPropHTML.appendAscii ( "
TemplateName " ); // generate row "TemplateName " sFilterPropHTML.append ( aFilter.sTemplateName ); sFilterPropHTML.appendAscii ( "
\n" ); // close table sFilterPropHTML.appendAscii ( "\t\t

\n" ); // add space between this and following table } } sAllFiltersHTML.appendAscii( "\n" ); // close table sAllFiltersHTML.appendAscii( "\n\n" ); // close html sFilterPropHTML.appendAscii( "\n\n" ); // close html impl_writeFile( ALLFILTERS_HTML , U2B(sAllFiltersHTML.makeStringAndClear()) ); impl_writeFile( FILTERPROPERTIES_HTML, U2B(sFilterPropHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateDetectorListHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for detector services OUStringBuffer sDetectorsFramesetHTML( 10000 ); sDetectorsFramesetHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Detector Services\n\t\t\n\t\n" ); // open html sDetectorsFramesetHTML.appendAscii( "\t\t\n" ); // open frameset for cols sDetectorsFramesetHTML.appendAscii( "\t\t\t\n" ); sDetectorsFramesetHTML.appendAscii( "\t\t\t\n" ); sDetectorsFramesetHTML.appendAscii( "\t\t\n" ); // close frameset cols sDetectorsFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_DETECTORS_HTML, U2B(sDetectorsFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // generate detector list (names and links only!) // use same loop to generate detector property list! OUStringBuffer sAllDetectorsHTML( 10000 ); OUStringBuffer sDetectorPropHTML( 10000 ); sAllDetectorsHTML.appendAscii( "\n\t\n\t\t\n\t\t\tAll Detectors\n\t\t\n\t\n\t\n" ); // open html sAllDetectorsHTML.appendAscii( "\t\t\n" ); // open table sDetectorPropHTML.appendAscii( "\n\t\n\t\t\n\t\t\tDetectorProperties\n\t\t\n\t\n\t\n" ); // open html css::uno::Sequence< ::rtl::OUString > lNames = m_aData.pCache->getAllDetectorNames(); sal_Int32 nCount = lNames.getLength() ; for( sal_Int32 nItem=0; nItemgetDetector( lNames[nItem] ); // write entry in detector list table sAllDetectorsHTML.appendAscii ( "\t\t\t\n" ); // open row sAllDetectorsHTML.appendAscii ( "\t\t\t\t\n" ); // close column "nr" sAllDetectorsHTML.appendAscii ( "\t\t\t\t\n" ); // close column "name" sAllDetectorsHTML.appendAscii ( "\t\t\t\n" ); // close row // write entry in detector property table sDetectorPropHTML.appendAscii ( "\t\t" ); sDetectorPropHTML.appendAscii ( "\t\t
Nr.Detector
" ); // open column "nr" sAllDetectorsHTML.append ( OUString::valueOf( nItem ) ); // write nr sAllDetectorsHTML.appendAscii ( "" ); // open column "name" sAllDetectorsHTML.appendAscii ( "" ); sAllDetectorsHTML.append ( aDetector.sName ); // write name sAllDetectorsHTML.appendAscii ( "" ); // close href sAllDetectorsHTML.appendAscii ( "
\n" ); // open table sDetectorPropHTML.appendAscii ( "\t\t\t\n" ); sDetectorPropHTML.appendAscii ( "\t\t\t\n" ); sDetectorPropHTML.appendAscii ( "\t\t\t
Nr. " ); // generate row "Nr " sDetectorPropHTML.append ( OUString::valueOf( nItem ) ); sDetectorPropHTML.appendAscii ( "
Name " ); // generate row "Name " sDetectorPropHTML.append ( aDetector.sName ); sDetectorPropHTML.appendAscii ( "
Types" ); // generate row "Types " for( ConstStringListIterator pType=aDetector.lTypes.begin() ; pType!=aDetector.lTypes.end() ; ++pType ) { sDetectorPropHTML.appendAscii ( " \""); sDetectorPropHTML.append ( *pType ); sDetectorPropHTML.appendAscii ( "\"
" ); } sDetectorPropHTML.appendAscii ( "\t\t
\n" ); // close table sDetectorPropHTML.appendAscii ( "\t\t

\n" ); // add space between this and following table } sAllDetectorsHTML.appendAscii( "\n" ); // close table sAllDetectorsHTML.appendAscii( "\n\n" ); // close html sDetectorPropHTML.appendAscii( "\n\n" ); // close html impl_writeFile( ALLDETECTORS_HTML , U2B(sAllDetectorsHTML.makeStringAndClear()) ); impl_writeFile( DETECTORPROPERTIES_HTML , U2B(sDetectorPropHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateLoaderListHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for loader services OUStringBuffer sLoadersFramesetHTML( 10000 ); sLoadersFramesetHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Loader Services\n\t\t\n\t\n" ); // open html sLoadersFramesetHTML.appendAscii( "\t\t\n" ); // open frameset for cols sLoadersFramesetHTML.appendAscii( "\t\t\t\n" ); sLoadersFramesetHTML.appendAscii( "\t\t\t\n" ); sLoadersFramesetHTML.appendAscii( "\t\t\n" ); // close frameset cols sLoadersFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_LOADERS_HTML, U2B(sLoadersFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // generate loader list (names and links only!) // use same loop to generate loader property list! OUStringBuffer sAllLoadersHTML( 10000 ); OUStringBuffer sLoaderPropHTML( 10000 ); sAllLoadersHTML.appendAscii( "\n\t\n\t\t\n\t\t\tAll Loaders\n\t\t\n\t\n\t\n" ); // open html sAllLoadersHTML.appendAscii( "\t\t\n" ); // open table sLoaderPropHTML.appendAscii( "\n\t\n\t\t\n\t\t\tLoaderProperties\n\t\t\n\t\n\t\n" ); // open html css::uno::Sequence< ::rtl::OUString > lNames = m_aData.pCache->getAllLoaderNames(); sal_Int32 nCount = lNames.getLength() ; for( sal_Int32 nItem=0; nItemgetLoader( lNames[nItem] ); // write entry in loader list table sAllLoadersHTML.appendAscii ( "\t\t\t\n" ); // open row sAllLoadersHTML.appendAscii ( "\t\t\t\t\n" ); // close column "nr" sAllLoadersHTML.appendAscii ( "\t\t\t\t\n" ); // close column "name" sAllLoadersHTML.appendAscii ( "\t\t\t\n" ); // close row // write entry in loader property table sLoaderPropHTML.appendAscii ( "\t\t" ); sLoaderPropHTML.appendAscii ( "\t\t
Nr.Loader
" ); // open column "nr" sAllLoadersHTML.append ( OUString::valueOf( nItem ) ); // write nr sAllLoadersHTML.appendAscii ( "" ); // open column "name" sAllLoadersHTML.appendAscii ( "" ); sAllLoadersHTML.append ( aLoader.sName ); // write name sAllLoadersHTML.appendAscii ( "" ); // close href sAllLoadersHTML.appendAscii ( "
\n" ); // open table sLoaderPropHTML.appendAscii ( "\t\t\t\n" ); sLoaderPropHTML.appendAscii ( "\t\t\t\n" ); sLoaderPropHTML.appendAscii ( "\t\t\t\n" ); sLoaderPropHTML.appendAscii ( "\t\t\t
Nr. " ); // generate row "Nr " sLoaderPropHTML.append ( OUString::valueOf( nItem ) ); sLoaderPropHTML.appendAscii ( "
Name " ); // generate row "Name " sLoaderPropHTML.append ( aLoader.sName ); sLoaderPropHTML.appendAscii ( "
UIName" ); // generate row "UIName " for( ConstStringHashIterator pUIName=aLoader.lUINames.begin() ; pUIName!=aLoader.lUINames.end() ; ++pUIName ) { sLoaderPropHTML.appendAscii ( " [" ); sLoaderPropHTML.append ( pUIName->first ); sLoaderPropHTML.appendAscii ( "] \"" ); sLoaderPropHTML.append ( pUIName->second ); sLoaderPropHTML.appendAscii ( "\"
" ); } sLoaderPropHTML.appendAscii ( "
Types" ); // generate row "Types " for( ConstStringListIterator pType=aLoader.lTypes.begin() ; pType!=aLoader.lTypes.end() ; ++pType ) { sLoaderPropHTML.appendAscii ( " \""); sLoaderPropHTML.append ( *pType ); sLoaderPropHTML.appendAscii ( "\"
" ); } sLoaderPropHTML.appendAscii ( "\t\t
\n" ); // close table sLoaderPropHTML.appendAscii ( "\t\t

\n" ); // add space between this and following table } sAllLoadersHTML.appendAscii( "\n" ); // close table sAllLoadersHTML.appendAscii( "\n\n" ); // close html sLoaderPropHTML.appendAscii( "\n\n" ); // close html impl_writeFile( ALLLOADERS_HTML , U2B(sAllLoadersHTML.makeStringAndClear()) ); impl_writeFile( LOADERPROPERTIES_HTML, U2B(sLoaderPropHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateInvalidFiltersHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for invalid filters OUStringBuffer sInvalidFiltersFramesetHTML( 10000 ); sInvalidFiltersFramesetHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Invalid Filters\n\t\t\n\t\n" ); // open html sInvalidFiltersFramesetHTML.appendAscii( "\t\t\n" ); // open frameset for cols sInvalidFiltersFramesetHTML.appendAscii( "\t\t\t\n" ); sInvalidFiltersFramesetHTML.appendAscii( "\t\t\t\n" ); sInvalidFiltersFramesetHTML.appendAscii( "\t\t\n" ); // close frameset cols sInvalidFiltersFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_INVALIDFILTERS_HTML, U2B(sInvalidFiltersFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // Search invalid registered filters! OUStringBuffer sInvalidFilterHTML( 10000 ); sInvalidFilterHTML.appendAscii( "\n\t\n\t\t\n\t\t\tInvalid Filter\n\t\t\n\t\n\t\n" ); // open html sInvalidFilterHTML.appendAscii( "\t\tPlease check follow filter entries in configuration. They are registered for invalid types!

\n" ); // write "Note" sInvalidFilterHTML.appendAscii( "\t\t\n" ); // open table sInvalidFilterHTML.appendAscii( "\t\n" ); // generate table header css::uno::Sequence< ::rtl::OUString > lFilters = m_aData.pCache->getAllFilterNames(); sal_Int32 nFilterCount = lFilters.getLength() ; css::uno::Sequence< ::rtl::OUString > lTypes = m_aData.pCache->getAllTypeNames() ; sal_Int32 nTypeCount = lTypes.getLength() ; FileType aType ; Filter aFilter; for( sal_Int32 nFilter=0; nFiltergetFilter( lFilters[nFilter] ); sal_Bool bFound = sal_False; for( sal_Int32 nType=0; nTypegetType( lTypes[nType] ); if( aFilter.sType == aType.sName ) { bFound = sal_True; break; } } if( bFound == sal_False ) { sInvalidFilterHTML.appendAscii ( "\t\n" ); } } sInvalidFilterHTML.appendAscii( "
Nr.FilterWrong Type
" ); // generate row for invalid filter entry sInvalidFilterHTML.append ( OUString::valueOf( nFilter ) ); sInvalidFilterHTML.appendAscii ( "" ); sInvalidFilterHTML.append ( aFilter.sName ); sInvalidFilterHTML.appendAscii ( "\"\"" ); sInvalidFilterHTML.append ( aFilter.sType ); sInvalidFilterHTML.appendAscii ( "\"
\n" ); // close table sInvalidFilterHTML.appendAscii( "\n\n" ); // close html impl_writeFile( INVALIDFILTERS_HTML, U2B(sInvalidFilterHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateInvalidDetectorsHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for invalid detectors OUStringBuffer sInvalidDetectorsFramesetHTML( 10000 ); sInvalidDetectorsFramesetHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Invalid Detectors\n\t\t\n\t\n" ); // open html sInvalidDetectorsFramesetHTML.appendAscii( "\t\t\n" ); // open frameset for cols sInvalidDetectorsFramesetHTML.appendAscii( "\t\t\t\n" ); sInvalidDetectorsFramesetHTML.appendAscii( "\t\t\t\n" ); sInvalidDetectorsFramesetHTML.appendAscii( "\t\t\n" ); // close frameset cols sInvalidDetectorsFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_INVALIDDETECTORS_HTML, U2B(sInvalidDetectorsFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // Search invalid registered detect services! OUStringBuffer sInvalidDetectorsHTML( 10000 ); sInvalidDetectorsHTML.appendAscii( "\n\t\n\t\t\n\t\t\tInvalid Detector Services\n\t\t\n\t\n\t\n" ); // open html sInvalidDetectorsHTML.appendAscii( "\t\tPlease check follow detect service entries in configuration. They are registered for invalid types!

\n" ); // write "Note" sInvalidDetectorsHTML.appendAscii( "\t\t\n" ); // open table sInvalidDetectorsHTML.appendAscii( "\t\n" ); // generate table header css::uno::Sequence< ::rtl::OUString > lDetectors = m_aData.pCache->getAllDetectorNames(); sal_Int32 nDetectorCount = lDetectors.getLength() ; css::uno::Sequence< ::rtl::OUString > lTypes = m_aData.pCache->getAllTypeNames() ; sal_Int32 nTypeCount = lTypes.getLength() ; FileType aType ; Detector aDetector; for( sal_Int32 nDetector=0; nDetectorgetDetector( lDetectors[nDetector] ); sal_Bool bFound = sal_False; for( sal_Int32 nType=0; nTypegetType( lTypes[nType] ); for( ConstStringListIterator pTypeListEntry=aDetector.lTypes.begin(); pTypeListEntry!=aDetector.lTypes.end(); ++pTypeListEntry ) { if( *pTypeListEntry == aType.sName ) { bFound = sal_True; break; } } } if( bFound == sal_False ) { sInvalidDetectorsHTML.appendAscii ( "\t\n" ); } } sInvalidDetectorsHTML.appendAscii( "
Nr.Detector
" ); // generate row for invalid detector entry sInvalidDetectorsHTML.append ( OUString::valueOf( nDetector ) ); sInvalidDetectorsHTML.appendAscii ( "" ); sInvalidDetectorsHTML.append ( aDetector.sName ); sInvalidDetectorsHTML.appendAscii ( "\"
\n" ); // close table sInvalidDetectorsHTML.appendAscii( "\n\n" ); // close html impl_writeFile( INVALIDDETECTORS_HTML, U2B(sInvalidDetectorsHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateInvalidLoadersHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for invalid loaders OUStringBuffer sInvalidLoadersFramesetHTML( 10000 ); sInvalidLoadersFramesetHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Invalid Loaders\n\t\t\n\t\n" ); // open html sInvalidLoadersFramesetHTML.appendAscii( "\t\t\n" ); // open frameset for cols sInvalidLoadersFramesetHTML.appendAscii( "\t\t\t\n" ); sInvalidLoadersFramesetHTML.appendAscii( "\t\t\t\n" ); sInvalidLoadersFramesetHTML.appendAscii( "\t\t\n" ); // close frameset cols sInvalidLoadersFramesetHTML.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_INVALIDLOADERS_HTML, U2B(sInvalidLoadersFramesetHTML.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // Search invalid registered detect services! OUStringBuffer sInvalidLoadersHTML( 10000 ); sInvalidLoadersHTML.appendAscii( "\n\t\n\t\t\n\t\t\tInvalid Loader Services\n\t\t\n\t\n\t\n" ); // open html sInvalidLoadersHTML.appendAscii( "\t\tPlease check follow loader service entries in configuration. They are registered for invalid types!

\n" ); // write "Note" sInvalidLoadersHTML.appendAscii( "\t\t\n" ); // open table sInvalidLoadersHTML.appendAscii( "\t\n" ); // generate table header css::uno::Sequence< ::rtl::OUString > lLoaders = m_aData.pCache->getAllLoaderNames(); sal_Int32 nLoaderCount = lLoaders.getLength() ; css::uno::Sequence< ::rtl::OUString > lTypes = m_aData.pCache->getAllTypeNames() ; sal_Int32 nTypeCount = lTypes.getLength() ; FileType aType ; Loader aLoader ; for( sal_Int32 nLoader=0; nLoadergetLoader( lLoaders[nLoader] ); sal_Bool bFound = sal_False; for( sal_Int32 nType=0; nTypegetType( lTypes[nType] ); for( ConstStringListIterator pTypeListEntry=aLoader.lTypes.begin(); pTypeListEntry!=aLoader.lTypes.end(); ++pTypeListEntry ) { if( *pTypeListEntry == aType.sName ) { bFound = sal_True; break; } } } if( bFound == sal_False ) { sInvalidLoadersHTML.appendAscii ( "\t\n" ); } } sInvalidLoadersHTML.appendAscii( "
Nr.Loader
" ); // generate row for invalid loader entry sInvalidLoadersHTML.append ( OUString::valueOf( nLoader ) ); sInvalidLoadersHTML.appendAscii ( "" ); sInvalidLoadersHTML.append ( aLoader.sName ); sInvalidLoadersHTML.appendAscii ( "\"
\n" ); // close table sInvalidLoadersHTML.appendAscii( "\n\n" ); // close html impl_writeFile( INVALIDLOADERS_HTML, U2B(sInvalidLoadersHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateFilterFlagsHTML() { //------------------------------------------------------------------------------------------------------------- // Create view of all filters and his flags. OUStringBuffer sFilterFlagsHTML( 10000 ); sFilterFlagsHTML.appendAscii( "\n\t\n\t\t\n\t\t\tFilter and Flags\n\t\t\n\t\n\t\n" ); // open html sFilterFlagsHTML.appendAscii( "\t\tThis is a list of all filters and his supported flags!

\n" ); // write "Note" sFilterFlagsHTML.appendAscii( "\t\t\n" ); // open table sFilterFlagsHTML.appendAscii( "\t\n" ); // generate table header css::uno::Sequence< ::rtl::OUString > lNames = m_aData.pCache->getAllFilterNames(); sal_Int32 nCount = lNames.getLength(); for( sal_Int32 nItem=0; nItem!=nCount; ++nItem ) { Filter aFilter = m_aData.pCache->getFilter( lNames[nItem] ); sFilterFlagsHTML.appendAscii( "\t\n" ); } sFilterFlagsHTML.appendAscii( "
Nr.Loader
" ); sFilterFlagsHTML.append ( OUString::valueOf( nItem ) ); sFilterFlagsHTML.appendAscii( "" ); sFilterFlagsHTML.append ( aFilter.sName ); sFilterFlagsHTML.appendAscii( "\"" ); if( aFilter.nFlags & FILTERFLAG_IMPORT ) { sFilterFlagsHTML.append( FILTERFLAGNAME_IMPORT ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_EXPORT ) { sFilterFlagsHTML.append( FILTERFLAGNAME_EXPORT ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_TEMPLATE ) { sFilterFlagsHTML.append( FILTERFLAGNAME_TEMPLATE ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_INTERNAL ) { sFilterFlagsHTML.append( FILTERFLAGNAME_INTERNAL ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_TEMPLATEPATH ) { sFilterFlagsHTML.append( FILTERFLAGNAME_TEMPLATEPATH ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_OWN ) { sFilterFlagsHTML.append( FILTERFLAGNAME_OWN ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_ALIEN ) { sFilterFlagsHTML.append( FILTERFLAGNAME_ALIEN ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_USESOPTIONS ) { sFilterFlagsHTML.append( FILTERFLAGNAME_USESOPTIONS ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_DEFAULT ) { sFilterFlagsHTML.append( FILTERFLAGNAME_DEFAULT ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_NOTINFILEDIALOG ) { sFilterFlagsHTML.append( FILTERFLAGNAME_NOTINFILEDIALOG ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_NOTINCHOOSER ) { sFilterFlagsHTML.append( FILTERFLAGNAME_NOTINCHOOSER ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_ASYNCHRON ) { sFilterFlagsHTML.append( FILTERFLAGNAME_ASYNCHRON ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_READONLY ) { sFilterFlagsHTML.append( FILTERFLAGNAME_READONLY ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_NOTINSTALLED ) { sFilterFlagsHTML.append( FILTERFLAGNAME_NOTINSTALLED ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_CONSULTSERVICE ) { sFilterFlagsHTML.append( FILTERFLAGNAME_CONSULTSERVICE ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_3RDPARTYFILTER ) { sFilterFlagsHTML.append( FILTERFLAGNAME_3RDPARTYFILTER ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_PACKED ) { sFilterFlagsHTML.append( FILTERFLAGNAME_PACKED ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_SILENTEXPORT ) { sFilterFlagsHTML.append( FILTERFLAGNAME_SILENTEXPORT ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_BROWSERPREFERED ) { sFilterFlagsHTML.append( FILTERFLAGNAME_BROWSERPREFERED ); sFilterFlagsHTML.appendAscii( " | " ); } if( aFilter.nFlags & FILTERFLAG_PREFERED ) { sFilterFlagsHTML.append( FILTERFLAGNAME_PREFERED ); } sFilterFlagsHTML.appendAscii( "
\n" ); // close table sFilterFlagsHTML.appendAscii( "\n\n" ); // close html impl_writeFile( FILTERFLAGS_HTML, U2B(sFilterFlagsHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_generateDefaultFiltersHTML() { } //***************************************************************************************************************** void CFGView::impl_generateDoubleFilterUINamesHTML() { //------------------------------------------------------------------------------------------------------------- // generate frameset for double UINames OUStringBuffer sFrameSet( 10000 ); sFrameSet.appendAscii( "\n\t\n\t\t\n\t\t\tFrameset: Search doubl UINames\n\t\t\n\t\n" ); // open html sFrameSet.appendAscii( "\t\t\n" ); // open frameset for cols sFrameSet.appendAscii( "\t\t\t\n" ); sFrameSet.appendAscii( "\t\t\t\n" ); sFrameSet.appendAscii( "\t\t\n" ); // close frameset cols sFrameSet.appendAscii( "\n" ); // close html impl_writeFile( FRAMESET_DOUBLEFILTERUINAMES_HTML, U2B(sFrameSet.makeStringAndClear()) ); //------------------------------------------------------------------------------------------------------------- // Search invalid registered detect services! OUStringBuffer sHTML( 10000 ); sHTML.appendAscii( "\n\t\n\t\t\n\t\t\tDouble Filter UINames\n\t\t\n\t\n\t\n" ); // open html sHTML.appendAscii( "\t\tPlease check follow filter entries in configuration. Her UINames are registered twice!

\n" ); // write "Note" sHTML.appendAscii( "\t\t\n" ); // open table sHTML.appendAscii( "\t\n" ); // generate table header sHTML.appendAscii( "\t\t\n" ); sHTML.appendAscii( "\t\t\n" ); sHTML.appendAscii( "\t\n" ); StringHash lUINames ; css::uno::Sequence< ::rtl::OUString > lFilters = m_aData.pCache->getAllFilterNames(); sal_Int32 nFilterCount = lFilters.getLength() ; Filter aFilter ; ::rtl::OUStringBuffer sBuffer ; ::rtl::OUString sUIName ; for( sal_Int32 nFilter=0; nFiltergetFilter( lFilters[nFilter] ); for( ConstStringHashIterator pUIName=aFilter.lUINames.begin(); pUIName!= aFilter.lUINames.end(); ++pUIName ) { // Build key value by using localized UIName to register filter name sBuffer.appendAscii( "[" ); sBuffer.append ( pUIName->first ); sBuffer.appendAscii( "] \"" ); sBuffer.append ( pUIName->second ); sBuffer.appendAscii( "\"" ); sUIName = sBuffer.makeStringAndClear(); // insert filter into hash table sBuffer.append ( lUINames[ sUIName ] ); sBuffer.appendAscii ( "" ); sBuffer.append ( aFilter.sName ); sBuffer.appendAscii ( "\"
\n" ); lUINames[ sUIName ] = sBuffer.makeStringAndClear(); } } nFilter = 1; for( ConstStringHashIterator pIterator=lUINames.begin(); pIterator!=lUINames.end(); ++pIterator ) { if( pIterator->second.indexOf( '\n' ) != pIterator->second.lastIndexOf( '\n' ) ) { sHTML.appendAscii ( "\t
\n" ); ++nFilter; } } sHTML.appendAscii( "
Nr.UINameFilters
" ); // generate row for uiname->filter entry sHTML.append ( OUString::valueOf( nFilter ) ); sHTML.appendAscii ( "" ); sHTML.append ( pIterator->first ); sHTML.appendAscii ( "" ); sHTML.append ( pIterator->second ); sHTML.appendAscii ( "
\n" ); // close table sHTML.appendAscii( "\n\n" ); // close html impl_writeFile( DOUBLEFILTERUINAMES_HTML, U2B(sHTML.makeStringAndClear()) ); } //***************************************************************************************************************** void CFGView::impl_writeFile( const ::rtl::OString& sFile, const ::rtl::OString& sContent ) { ::rtl::OUStringBuffer sFullPath( 1000 ); sFullPath.append ( m_aData.sDirectory ); sFullPath.appendAscii ( "\\" ); sFullPath.appendAscii ( sFile.getStr() ); ::rtl::OUString s = sFullPath.makeStringAndClear(); WRITE_LOGFILE( U2B(s), sContent ) }