summaryrefslogtreecommitdiff
path: root/framework/test
diff options
context:
space:
mode:
authorAndreas Schlüns <as@openoffice.org>2001-04-24 06:51:56 +0000
committerAndreas Schlüns <as@openoffice.org>2001-04-24 06:51:56 +0000
commit69e55e2999434473ec30cf2b0cc57947392c48b4 (patch)
tree9bbc7abddd24d4c714f0b9ffbedce8a5612f0b40 /framework/test
parentdc6f14465b12bb95b651e30c47c1dfe9581ddff1 (diff)
move typecfg modul to own directory
Diffstat (limited to 'framework/test')
-rw-r--r--framework/test/makefile.mk36
-rw-r--r--framework/test/typecfg/build.btm26
-rw-r--r--framework/test/typecfg/makefile.mk120
-rw-r--r--framework/test/typecfg/typecfg.cxx320
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
+}