diff options
author | Andreas Schlüns <as@openoffice.org> | 2001-04-24 06:51:56 +0000 |
---|---|---|
committer | Andreas Schlüns <as@openoffice.org> | 2001-04-24 06:51:56 +0000 |
commit | 69e55e2999434473ec30cf2b0cc57947392c48b4 (patch) | |
tree | 9bbc7abddd24d4c714f0b9ffbedce8a5612f0b40 | |
parent | dc6f14465b12bb95b651e30c47c1dfe9581ddff1 (diff) |
move typecfg modul to own directory
-rw-r--r-- | framework/test/makefile.mk | 36 | ||||
-rw-r--r-- | framework/test/typecfg/build.btm | 26 | ||||
-rw-r--r-- | framework/test/typecfg/makefile.mk | 120 | ||||
-rw-r--r-- | framework/test/typecfg/typecfg.cxx | 320 |
4 files changed, 468 insertions, 34 deletions
diff --git a/framework/test/makefile.mk b/framework/test/makefile.mk index 3545623a55c8..e9ff0b77efdc 100644 --- a/framework/test/makefile.mk +++ b/framework/test/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.5 $ +# $Revision: 1.6 $ # -# last change: $Author: as $ $Date: 2001-04-11 11:24:14 $ +# last change: $Author: as $ $Date: 2001-04-24 07:51:55 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -133,38 +133,6 @@ APP2DEPN= $(SLO)$/fairrwlock.obj \ APP2DEF= $(MISC)$/threadtest.def .ENDIF -# --- applikation: "typecfg" -------------------------------------------------- - -APP3TARGET= typecfg - -APP3OBJS= $(SLO)$/typecfg.obj \ - $(SLO)$/servicemanager.obj \ - $(SLO)$/filtercache.obj \ - $(SLO)$/wildcard.obj \ - $(SLO)$/fairrwlock.obj \ - $(SLO)$/writeguard.obj \ - $(SLO)$/readguard.obj \ - $(SLO)$/resetableguard.obj - -APP3STDLIBS= $(CPPULIB) \ - $(CPPUHELPERLIB) \ - $(OSLLIB) \ - $(SALLIB) \ - $(VOSLIB) \ - $(TOOLSLIB) \ - $(SVTOOLLIB) \ - $(TKLIB) \ - $(COMPHELPERLIB) \ - $(UNOTOOLSLIB) \ - $(SVLIB) - -APP3DEPN= $(SLO)$/servicemanager.obj \ - $(SLO)$/filtercache.obj - -.IF "$(GUI)"=="WIN" || "$(GUI)"=="OS2" -APP3DEF= $(MISC)$/typecfg.def -.ENDIF - # --- Targets ------------------------------------------------------ .INCLUDE : target.mk diff --git a/framework/test/typecfg/build.btm b/framework/test/typecfg/build.btm new file mode 100644 index 000000000000..f984a1146296 --- /dev/null +++ b/framework/test/typecfg/build.btm @@ -0,0 +1,26 @@ +@echo off + +pushd + +rem Set flag to enable special mechanism of "FilterCache". +rem This works for windows only! ... this batch too :-) +set ENVCFLAGS=-DENABLE_GENERATEFILTERCACHE + +rem Touch header file ... +cd ..\..\inc\classes +attrib -r .\filtercache.hxx +touch .\filtercache.hxx + +rem ... and start new build of library. +cd ..\.. +call build debug=true + +rem Build command line tool too. +cd test\typecfg +call dmake debug=true + +rem Don't forget to disable build flag! +unset ENVCFLAGS + +popd +echo on diff --git a/framework/test/typecfg/makefile.mk b/framework/test/typecfg/makefile.mk new file mode 100644 index 000000000000..bb85adb62f84 --- /dev/null +++ b/framework/test/typecfg/makefile.mk @@ -0,0 +1,120 @@ +#************************************************************************* +# +# $RCSfile: makefile.mk,v $ +# +# $Revision: 1.1 $ +# +# last change: $Author: as $ $Date: 2001-04-24 07:51:56 $ +# +# 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): _______________________________________ +# +# +# +#************************************************************************* +PRJ=..$/.. + +PRJNAME= framework +TARGET= typecfg +LIBTARGET= NO +ENABLE_EXCEPTIONS= TRUE +USE_DEFFILE= TRUE +NO_BSYMBOLIC= TRUE + +# --- Settings ----------------------------------------------------- + +.INCLUDE : svpre.mk +.INCLUDE : settings.mk +.INCLUDE : sv.mk + +.IF "$(COM)"=="ICC" +LINKFLAGS+=/SEGMENTS:1024 /PACKD:32768 +.ENDIF + +# --- applikation: "typecfg" -------------------------------------------------- + +APP3TARGET= $(TARGET) + +APP3OBJS= $(SLO)$/typecfg.obj \ + $(SLO)$/servicemanager.obj \ + $(SLO)$/filtercache.obj \ + $(SLO)$/wildcard.obj \ + $(SLO)$/fairrwlock.obj \ + $(SLO)$/writeguard.obj \ + $(SLO)$/readguard.obj \ + $(SLO)$/resetableguard.obj + +APP3STDLIBS= $(CPPULIB) \ + $(CPPUHELPERLIB) \ + $(OSLLIB) \ + $(SALLIB) \ + $(VOSLIB) \ + $(TOOLSLIB) \ + $(SVTOOLLIB) \ + $(TKLIB) \ + $(COMPHELPERLIB) \ + $(UNOTOOLSLIB) \ + $(SVLIB) + +APP3DEPN= $(SLO)$/servicemanager.obj \ + $(SLO)$/filtercache.obj \ + $(SLO)$/wildcard.obj \ + $(SLO)$/fairrwlock.obj \ + $(SLO)$/writeguard.obj \ + $(SLO)$/readguard.obj \ + $(SLO)$/resetableguard.obj + +.IF "$(GUI)"=="WIN" || "$(GUI)"=="OS2" +APP3DEF= $(MISC)$/$(TARGET).def +.ENDIF + +# --- Targets ------------------------------------------------------ + +.INCLUDE : target.mk diff --git a/framework/test/typecfg/typecfg.cxx b/framework/test/typecfg/typecfg.cxx new file mode 100644 index 000000000000..d94e94d3015f --- /dev/null +++ b/framework/test/typecfg/typecfg.cxx @@ -0,0 +1,320 @@ +/************************************************************************* + * + * $RCSfile: typecfg.cxx,v $ + * + * $Revision: 1.1 $ + * + * last change: $Author: as $ $Date: 2001-04-24 07:51:56 $ + * + * 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): _______________________________________ + * + * + ************************************************************************/ + +//_________________________________________________________________________________________________________________ +// my own includes +//_________________________________________________________________________________________________________________ + +#ifndef __FRAMEWORK_CLASSES_SERVICEMANAGER_HXX_ +#include <classes/servicemanager.hxx> +#endif + +#ifndef __FRAMEWORK_CLASSES_FILTERCACHE_HXX_ +#include <classes/filtercache.hxx> +#endif + +#ifndef __FRAMEWORK_MACROS_GENERIC_HXX_ +#include <macros/generic.hxx> +#endif + +#ifndef __FRAMEWORK_MACROS_DEBUG_HXX_ +#include <macros/debug.hxx> +#endif + +#ifndef __FRAMEWORK_SERVICES_H_ +#include <services.h> +#endif + +//_________________________________________________________________________________________________________________ +// interface includes +//_________________________________________________________________________________________________________________ + +#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_ +#include <com/sun/star/lang/XMultiServiceFactory.hpp> +#endif + +#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_ +#include <com/sun/star/container/XNameContainer.hpp> +#endif + +#ifndef _COM_SUN_STAR_BEANS_PROPERTYVALUE_HPP_ +#include <com/sun/star/beans/PropertyValue.hpp> +#endif + +//_________________________________________________________________________________________________________________ +// other includes +//_________________________________________________________________________________________________________________ + +#ifndef _COMPHELPER_PROCESSFACTORY_HXX_ +#include <comphelper/processfactory.hxx> +#endif + +#ifndef _VOS_PROCESS_HXX_ +#include <vos/process.hxx> +#endif + +#ifndef _RTL_USTRING_ +#include <rtl/ustring> +#endif + +#ifndef _RTL_USTRBUF_HXX_ +#include <rtl/ustrbuf.hxx> +#endif + +#ifndef __SGI_STL_HASH_MAP +#include <hash_map> +#endif + +#include <vcl/event.hxx> +#include <vcl/svapp.hxx> +#include <vcl/wrkwin.hxx> +#include <vcl/msgbox.hxx> +#include <stdio.h> + +//_________________________________________________________________________________________________________________ +// const +//_________________________________________________________________________________________________________________ + +#define RDBFILE DECLARE_ASCII("typecfg.rdb" ) +#define ARGUMENT_GENERATE_CFGVIEW DECLARE_ASCII("-cfgview" ) +#define ARGUMENT_CHECK_FILTERREGISTRATION DECLARE_ASCII("-registerfilter" ) +#define ARGUMENT_GENERATE_TYPEDETECTION_XCD DECLARE_ASCII("-generatexcd" ) + +//_________________________________________________________________________________________________________________ +// 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 +//_________________________________________________________________________________________________________________ + +enum EMode +{ + E_GENERATE_CFGVIEW , + E_CHECK_FILTERREGISTRATION , + E_GENERATE_TYPEDETECTION_XCD +}; + +/*-***************************************************************************************************************/ +class TypeApplication : public Application +{ + //************************************************************************************************************* + public: + + void Main(); + + //************************************************************************************************************* + private: + + void impl_parseCommandLine (); + void impl_generateCFGView (); + void impl_checkFilterRegistration (); + void impl_generateTypeDetectionXCD (); + + //************************************************************************************************************* + private: + + EMode m_eMode ; + Reference< XMultiServiceFactory > m_xServiceManager ; + + FilterCache* m_pCache ; + +}; // class FilterApplication + +//_________________________________________________________________________________________________________________ +// global variables +//_________________________________________________________________________________________________________________ + +TypeApplication gApplication; + +//***************************************************************************************************************** +void TypeApplication::Main() +{ + // Init global servicemanager and set it. + ServiceManager aManager; + m_xServiceManager = aManager.getSharedUNOServiceManager( RDBFILE ); + setProcessServiceFactory( m_xServiceManager ); + + m_pCache = new FilterCache; + + impl_parseCommandLine(); + + switch( m_eMode ) + { + case E_GENERATE_CFGVIEW : impl_generateCFGView(); + break; + case E_CHECK_FILTERREGISTRATION : impl_checkFilterRegistration(); + break; + case E_GENERATE_TYPEDETECTION_XCD : impl_generateTypeDetectionXCD(); + break; + } + + delete m_pCache; + m_pCache = NULL; +} + +//***************************************************************************************************************** +void TypeApplication::impl_parseCommandLine() +{ + OStartupInfo aInfo ; + OUString sArgument ; + sal_Int32 nArgument = 0 ; + sal_Int32 nCount = aInfo.getCommandArgCount(); + + while( nArgument<nCount ) + { + aInfo.getCommandArg( nArgument, sArgument ); + + if( sArgument == ARGUMENT_GENERATE_CFGVIEW ) + { + m_eMode = E_GENERATE_CFGVIEW; + break; + } + else + if( sArgument == ARGUMENT_CHECK_FILTERREGISTRATION ) + { + m_eMode = E_CHECK_FILTERREGISTRATION; + break; + } + else + if( sArgument == ARGUMENT_GENERATE_TYPEDETECTION_XCD ) + { + m_eMode = E_GENERATE_TYPEDETECTION_XCD; + break; + } + + ++nArgument; + } +} + +//***************************************************************************************************************** +void TypeApplication::impl_generateCFGView() +{ + #ifdef ENABLE_FILTERCACHEDEBUG + // Cache use ref count! + FilterCache aCache; + aCache.impldbg_generateHTMLView(); + #endif //ENABLE_FILTERCACHEDEBUG +} + +//***************************************************************************************************************** +void TypeApplication::impl_checkFilterRegistration() +{ + Reference< XNameContainer > xFilterContainer( m_xServiceManager->createInstance( SERVICENAME_FILTERFACTORY ), UNO_QUERY ); + LOG_ASSERT2( xFilterContainer.is()==sal_False, "TypeApplication::impl_checkFilterRegistration()", "Couldn't create filter factory!" ) + if( xFilterContainer.is() == sal_True ) + { + Sequence< PropertyValue > lProperties( 8 ); + + lProperties[0].Name = DECLARE_ASCII("Type") ; + lProperties[0].Value <<= DECLARE_ASCII("MeinType") ; + + lProperties[1].Name = DECLARE_ASCII("UIName") ; + lProperties[1].Value <<= DECLARE_ASCII("MeinUIName") ; + + lProperties[2].Name = DECLARE_ASCII("UINames") ; + lProperties[2].Value <<= Sequence< PropertyValue >() ; + + lProperties[3].Name = DECLARE_ASCII("DocumentService") ; + lProperties[3].Value <<= DECLARE_ASCII("MeinDocService") ; + + lProperties[4].Name = DECLARE_ASCII("FilterService") ; + lProperties[4].Value <<= DECLARE_ASCII("MeinFilterService") ; + + lProperties[5].Name = DECLARE_ASCII("Flags") ; + lProperties[5].Value <<= (sal_Int32)256 ; + + lProperties[6].Name = DECLARE_ASCII("UserData") ; + lProperties[6].Value <<= Sequence< OUString >() ; + + lProperties[7].Name = DECLARE_ASCII("FileFormatVersion") ; + lProperties[7].Value <<= (sal_Int32)0 ; + + lProperties[8].Name = DECLARE_ASCII("TemplateName") ; + lProperties[8].Value <<= DECLARE_ASCII("MeinTemplate") ; + } +} + +//***************************************************************************************************************** +void TypeApplication::impl_generateTypeDetectionXCD() +{ + #ifdef ENABLE_GENERATEFILTERCACHE + // Cache use ref count! + FilterCache aCache ; + sal_Bool bWriteable = sal_True; + sal_Unicode cSeparator = ',' ; + aCache.impldbg_generateXCD( "org.openoffice.Office.TypeDetection.xcd", bWriteable, cSeparator ); + #endif //ENABLE_GENERATEFILTERCACHE +} |