summaryrefslogtreecommitdiff
path: root/stoc/test/excomp
diff options
context:
space:
mode:
Diffstat (limited to 'stoc/test/excomp')
-rw-r--r--stoc/test/excomp/example/ExampleComponent1.idl43
-rw-r--r--stoc/test/excomp/example/ExampleComponent2.idl43
-rw-r--r--stoc/test/excomp/example/XTest.idl49
-rw-r--r--stoc/test/excomp/excomp.cxx140
-rw-r--r--stoc/test/excomp/excomp1.cxx212
-rw-r--r--stoc/test/excomp/excomp1.xml31
-rw-r--r--stoc/test/excomp/excomp2.cxx283
-rw-r--r--stoc/test/excomp/excomp2.xml31
-rw-r--r--stoc/test/excomp/exports.dxp2
-rw-r--r--stoc/test/excomp/makefile.mk129
10 files changed, 0 insertions, 963 deletions
diff --git a/stoc/test/excomp/example/ExampleComponent1.idl b/stoc/test/excomp/example/ExampleComponent1.idl
deleted file mode 100644
index 729872e9d..000000000
--- a/stoc/test/excomp/example/ExampleComponent1.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _EXCOMP_EXAMPLECOMPONENT1_IDL_
-#define _EXCOMP_EXAMPLECOMPONENT1_IDL_
-
-#include <example/XTest.idl>
-
-module example
-{
-
-service ExampleComponent1
-{
- interface XTest;
-};
-
-}; // test
-
-
-#endif
diff --git a/stoc/test/excomp/example/ExampleComponent2.idl b/stoc/test/excomp/example/ExampleComponent2.idl
deleted file mode 100644
index 9ab69314e..000000000
--- a/stoc/test/excomp/example/ExampleComponent2.idl
+++ /dev/null
@@ -1,43 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _EXCOMP_EXAMPLECOMPONENT2_IDL_
-#define _EXCOMP_EXAMPLECOMPONENT2_IDL_
-
-#include <example/XTest.idl>
-
-module example
-{
-
-service ExampleComponent2
-{
- interface XTest;
-};
-
-}; // test
-
-
-#endif
diff --git a/stoc/test/excomp/example/XTest.idl b/stoc/test/excomp/example/XTest.idl
deleted file mode 100644
index eaa59b4d4..000000000
--- a/stoc/test/excomp/example/XTest.idl
+++ /dev/null
@@ -1,49 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-#ifndef _EXCOMP_XTEST_IDL_
-#define _EXCOMP_XTEST_IDL_
-
-#include <com/sun/star/uno/XInterface.idl>
-
-module example
-{
-/**
- * Simple test interface.
- *
- * @author Juergen Schmidt
- */
-interface XTest : com::sun::star::uno::XInterface
-{
- /**
- * in parameter test, tests by calls reference also (complex types)
- */
- string getMessage( );
-};
-
-}; // test
-
-#endif
diff --git a/stoc/test/excomp/excomp.cxx b/stoc/test/excomp/excomp.cxx
deleted file mode 100644
index e184b9a94..000000000
--- a/stoc/test/excomp/excomp.cxx
+++ /dev/null
@@ -1,140 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_stoc.hxx"
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include <sal/main.h>
-#include <osl/diagnose.h>
-#include <osl/process.h>
-
-#include <example/XTest.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XImplementationRegistration.hpp>
-#include <com/sun/star/lang/XComponent.hpp>
-#include <cppuhelper/factory.hxx>
-#include <cppuhelper/servicefactory.hxx>
-
-
-using namespace com::sun::star::uno;
-using namespace com::sun::star::registry;
-using namespace com::sun::star::lang;
-using namespace example;
-using namespace cppu;
-
-using ::rtl::OUString;
-using ::rtl::OUStringToOString;
-
-#if OSL_DEBUG_LEVEL > 0
-#define TEST_ENSHURE(c, m) OSL_ENSURE(c, m)
-#else
-#define TEST_ENSHURE(c, m) OSL_VERIFY(c)
-#endif
-
-OUString getExePath()
-{
- OUString exe;
-
- OSL_VERIFY(osl_getExecutableFile( &exe.pData) == osl_Process_E_None);
-
-#if defined(WIN32) || defined(WNT)
- exe = exe.copy(0, exe.getLength() - 10);
-#else
- exe = exe.copy(0, exe.getLength() - 6);
-#endif
- return exe;
-}
-
-SAL_IMPLEMENT_MAIN()
-{
-#ifdef UNX
- OUString compName1(RTL_CONSTASCII_USTRINGPARAM("libexcomp1.so"));
- OUString compName2(RTL_CONSTASCII_USTRINGPARAM("libexcomp2.so"));
-#else
- OUString compName1(RTL_CONSTASCII_USTRINGPARAM("excomp1"));
- OUString compName2(RTL_CONSTASCII_USTRINGPARAM("excomp2"));
-#endif
-
- OUString exePath( getExePath() );
- OUString excompRdb(exePath);
-
- excompRdb += OUString(RTL_CONSTASCII_USTRINGPARAM("excomp.rdb"));
-
- Reference< XMultiServiceFactory > xSMgr = ::cppu::createRegistryServiceFactory( excompRdb );
- TEST_ENSHURE( xSMgr.is(), "excomp error 0" );
-
- typelib_TypeDescription* pTypeDesc = NULL;
- OUString sType(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.text.XTextDocument"));
- typelib_typedescription_getByName( &pTypeDesc, sType.pData);
-// typelib_InterfaceTypeDescription* pInterDesc = (typelib_InterfaceTypeDescription*)pTypeDesc;
-
- Reference< XInterface > xIFace = xSMgr->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.registry.ImplementationRegistration")));
- Reference< XImplementationRegistration > xImpReg( xIFace, UNO_QUERY);
- TEST_ENSHURE( xImpReg.is(), "excomp error 1" );
- try
- {
- xImpReg->registerImplementation(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.loader.SharedLibrary")),
- compName1,
- Reference< XSimpleRegistry >() );
- xImpReg->registerImplementation(OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.loader.SharedLibrary")),
- compName2,
- Reference< XSimpleRegistry >() );
- }
- catch( CannotRegisterImplementationException& e)
- {
- TEST_ENSHURE( e.Message.getLength(), OUStringToOString(e.Message, RTL_TEXTENCODING_ASCII_US).getStr() );
- }
-
- Reference< XTest > xTest1( xSMgr->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("example.ExampleComponent1"))),
- UNO_QUERY);
- TEST_ENSHURE( xTest1.is(), "excomp error 2" );
- Reference< XTest > xTest2( xSMgr->createInstance(OUString(RTL_CONSTASCII_USTRINGPARAM("example.ExampleComponent2"))),
- UNO_QUERY);
- TEST_ENSHURE( xTest2.is(), "excomp error 3" );
-
- OUString m1 = xTest1->getMessage();
- OUString m2 = xTest2->getMessage();
-
- fprintf(stdout, "ExampleComponent1, Message = \"%s\"\n", OUStringToOString(m1, RTL_TEXTENCODING_ASCII_US).getStr());
- fprintf(stdout, "ExampleComponent2, Message = \"%s\"\n", OUStringToOString(m2, RTL_TEXTENCODING_ASCII_US).getStr());
-
- xImpReg->revokeImplementation(compName1, Reference< XSimpleRegistry >() );
- xImpReg->revokeImplementation(compName2, Reference< XSimpleRegistry >() );
-
- Reference< XComponent >( xSMgr, UNO_QUERY )->dispose();
-
- return(0);
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/stoc/test/excomp/excomp1.cxx b/stoc/test/excomp/excomp1.cxx
deleted file mode 100644
index 84c075d41..000000000
--- a/stoc/test/excomp/excomp1.cxx
+++ /dev/null
@@ -1,212 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_stoc.hxx"
-#include <osl/diagnose.h>
-#include <osl/mutex.hxx>
-#include <rtl/alloc.h>
-#include <cppuhelper/factory.hxx>
-#include <cppuhelper/implbase2.hxx>
-
-#include <example/XTest.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
-
-using namespace example;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-using namespace cppu;
-using namespace osl;
-
-using ::rtl::OUString;
-
-#define SERVICENAME1 "example.ExampleComponent1"
-#define IMPLNAME1 "example.ExampleComponent1.Impl"
-
-namespace excomp_impl {
-
-//*************************************************************************
-// ExampleComponent1Impl
-//*************************************************************************
-class ExampleComponent1Impl : public WeakImplHelper2< XTest, XServiceInfo >
-{
-public:
- ExampleComponent1Impl( const Reference<XMultiServiceFactory> & rXSMgr );
-
- ~ExampleComponent1Impl();
-
- // XServiceInfo
- virtual OUString SAL_CALL getImplementationName( ) throw(RuntimeException);
- virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(RuntimeException);
- virtual Sequence< OUString > SAL_CALL getSupportedServiceNames( ) throw(RuntimeException);
- static Sequence< OUString > SAL_CALL getSupportedServiceNames_Static( );
-
- // XSimpleRegistry
- virtual OUString SAL_CALL getMessage() throw(RuntimeException);
-
-protected:
- Mutex m_mutex;
-
- Reference<XMultiServiceFactory> m_xSMgr;
-};
-
-//*************************************************************************
-ExampleComponent1Impl::ExampleComponent1Impl( const Reference<XMultiServiceFactory> & rXSMgr )
- : m_xSMgr(rXSMgr)
-{
-}
-
-//*************************************************************************
-ExampleComponent1Impl::~ExampleComponent1Impl()
-{
-}
-
-//*************************************************************************
-OUString SAL_CALL ExampleComponent1Impl::getImplementationName( )
- throw(RuntimeException)
-{
- Guard< Mutex > aGuard( m_mutex );
- return OUString( RTL_CONSTASCII_USTRINGPARAM(IMPLNAME1) );
-}
-
-//*************************************************************************
-sal_Bool SAL_CALL ExampleComponent1Impl::supportsService( const OUString& ServiceName )
- throw(RuntimeException)
-{
- Guard< Mutex > aGuard( m_mutex );
- Sequence< OUString > aSNL = getSupportedServiceNames();
- const OUString * pArray = aSNL.getArray();
- for( sal_Int32 i = 0; i < aSNL.getLength(); i++ )
- if( pArray[i] == ServiceName )
- return sal_True;
- return sal_False;
-}
-
-//*************************************************************************
-Sequence<OUString> SAL_CALL ExampleComponent1Impl::getSupportedServiceNames( )
- throw(RuntimeException)
-{
- Guard< Mutex > aGuard( m_mutex );
- return getSupportedServiceNames_Static();
-}
-
-//*************************************************************************
-Sequence<OUString> SAL_CALL ExampleComponent1Impl::getSupportedServiceNames_Static( )
-{
- OUString aName( RTL_CONSTASCII_USTRINGPARAM(SERVICENAME1) );
- return Sequence< OUString >( &aName, 1 );
-}
-
-//*************************************************************************
-OUString SAL_CALL ExampleComponent1Impl::getMessage() throw(RuntimeException)
-{
- Guard< Mutex > aGuard( m_mutex );
- return OUString(RTL_CONSTASCII_USTRINGPARAM("Lalelu nur der Mann im Mond schaut zu ..."));
-}
-
-
-//*************************************************************************
-Reference<XInterface> SAL_CALL ExampleComponent1_CreateInstance( const Reference<XMultiServiceFactory>& rSMgr )
-{
- Reference<XInterface> xRet;
-
- XTest *pXTest = (XTest*) new ExampleComponent1Impl(rSMgr);
-
- if (pXTest)
- {
- xRet = Reference< XInterface >::query(pXTest);
- }
-
- return xRet;
-}
-
-} // excomp_impl
-
-
-extern "C"
-{
-//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * /* pServiceManager */ , void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- // ExampleComponent1
- Reference< XRegistryKey > xNewKey(
- reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey(
- OUString( RTL_CONSTASCII_USTRINGPARAM("/" IMPLNAME1 "/UNO/SERVICES") ) ) );
-
- const Sequence< OUString > & rSNL =
- ::excomp_impl::ExampleComponent1Impl::getSupportedServiceNames_Static();
- const OUString * pArray = rSNL.getConstArray();
- for ( sal_Int32 nPos = rSNL.getLength(); nPos--; )
- xNewKey->createKey( pArray[nPos] );
-
- return sal_True;
- }
- catch (InvalidRegistryException &)
- {
- OSL_FAIL( "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-//==================================================================================================
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
- const sal_Char * pImplName, void * pServiceManager, void * /* pRegistryKey */ )
-{
- void * pRet = 0;
-
- if (rtl_str_compare( pImplName, IMPLNAME1 ) == 0)
- {
- Reference< XSingleServiceFactory > xFactory( createSingleFactory(
- reinterpret_cast< XMultiServiceFactory * >( pServiceManager ),
- OUString( RTL_CONSTASCII_USTRINGPARAM(IMPLNAME1) ),
- ::excomp_impl::ExampleComponent1_CreateInstance,
- ::excomp_impl::ExampleComponent1Impl::getSupportedServiceNames_Static() ) );
-
- if (xFactory.is())
- {
- xFactory->acquire();
- pRet = xFactory.get();
- }
- }
-
- return pRet;
-}
-}
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/stoc/test/excomp/excomp1.xml b/stoc/test/excomp/excomp1.xml
deleted file mode 100644
index b54b71d43..000000000
--- a/stoc/test/excomp/excomp1.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name> excomp1 </module-name>
- <component-description>
- <author> Juergen Schmidt </author>
- <name> example.ExampleComponent1.Impl </name>
- <description>
- This component provides a simple demo component.
-</description>
- <loader-name> com.sun.star.loader.SharedLibrary </loader-name>
- <language> c++ </language>
- <status value="final"/>
- <supported-service> example.ExampleComponent1 </supported-service>
- <type> com.sun.star.lang.XTypeProvider </type>
- <type> com.sun.star.lang.XServiceInfo </type>
- <type> com.sun.star.lang.XSingleServiceFactory </type>
- <type> com.sun.star.lang.XMultiServiceFactory </type>
- <type> com.sun.star.registry.XRegistryKey </type>
- <type> com.sun.star.uno.XAggregation </type>
- <type> com.sun.star.uno.XWeak </type>
- <type> com.sun.star.uno.TypeClass </type>
- <type> example.XTest </type>
- </component-description>
- <project-build-dependency> cppuhelper </project-build-dependency>
- <project-build-dependency> cppu </project-build-dependency>
- <project-build-dependency> sal </project-build-dependency>
- <runtime-module-dependency> cppuhelper </runtime-module-dependency>
- <runtime-module-dependency> cppu </runtime-module-dependency>
- <runtime-module-dependency> sal </runtime-module-dependency>
-</module-description>
diff --git a/stoc/test/excomp/excomp2.cxx b/stoc/test/excomp/excomp2.cxx
deleted file mode 100644
index f9e84eaa9..000000000
--- a/stoc/test/excomp/excomp2.cxx
+++ /dev/null
@@ -1,283 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org 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 version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_stoc.hxx"
-#include <osl/diagnose.h>
-#include <osl/mutex.hxx>
-#include <rtl/alloc.h>
-#include <cppuhelper/factory.hxx>
-#include <cppuhelper/queryinterface.hxx>
-#include <cppuhelper/weak.hxx>
-#include <cppuhelper/typeprovider.hxx>
-
-#include <example/XTest.hpp>
-#include <com/sun/star/lang/XMultiServiceFactory.hpp>
-#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <com/sun/star/lang/XTypeProvider.hpp>
-#include <com/sun/star/lang/XSingleServiceFactory.hpp>
-#include <com/sun/star/registry/XRegistryKey.hpp>
-
-using namespace example;
-using namespace com::sun::star::uno;
-using namespace com::sun::star::lang;
-using namespace com::sun::star::registry;
-using namespace cppu;
-using namespace osl;
-
-using ::rtl::OUString;
-
-#define SERVICENAME2 "example.ExampleComponent2"
-#define IMPLNAME2 "example.ExampleComponent2.Impl"
-
-namespace excomp2_impl {
-
-//*************************************************************************
-// ExampleComponent2Impl
-//*************************************************************************
-class ExampleComponent2Impl : public OWeakObject
- , public XTypeProvider
- , public XServiceInfo
- , public XTest
-{
-public:
- ExampleComponent2Impl( const Reference<XMultiServiceFactory> & rXSMgr );
-
- ~ExampleComponent2Impl();
-
- // XInterface
- virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(::com::sun::star::uno::RuntimeException);
- virtual void SAL_CALL acquire() throw()
- { OWeakObject::acquire(); }
- virtual void SAL_CALL release() throw()
- { OWeakObject::release(); }
-
- // XTypeProvider
- virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException);
- virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException);
-
- // XServiceInfo
- virtual OUString SAL_CALL getImplementationName( ) throw(RuntimeException);
- virtual sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) throw(RuntimeException);
- virtual Sequence< OUString > SAL_CALL getSupportedServiceNames( ) throw(RuntimeException);
- static Sequence< OUString > SAL_CALL getSupportedServiceNames_Static( );
-
- // XTest
- virtual OUString SAL_CALL getMessage() throw(RuntimeException);
-
-protected:
- Mutex m_mutex;
-
- Reference<XMultiServiceFactory> m_xSMgr;
-};
-
-//*************************************************************************
-ExampleComponent2Impl::ExampleComponent2Impl( const Reference<XMultiServiceFactory> & rXSMgr )
- : m_xSMgr(rXSMgr)
-{
-}
-
-//*************************************************************************
-ExampleComponent2Impl::~ExampleComponent2Impl()
-{
-}
-
-//*************************************************************************
-Any SAL_CALL ExampleComponent2Impl::queryInterface( const ::com::sun::star::uno::Type & rType )
- throw(::com::sun::star::uno::RuntimeException)
-{
- Any aRet = ::cppu::queryInterface(rType,
- static_cast< XTypeProvider * >( this ),
- static_cast< XServiceInfo * >( this ),
- static_cast< XTest * >( this ) );
- if ( aRet.hasValue() )
- return aRet;
-
- return OWeakObject::queryInterface( rType );
-}
-
-//*************************************************************************
-Sequence< Type > SAL_CALL ExampleComponent2Impl::getTypes()
- throw (::com::sun::star::uno::RuntimeException)
-{
- static OTypeCollection * pTypes = 0;
- if (! pTypes)
- {
- MutexGuard aGuard( m_mutex );
- if (! pTypes)
- {
- static OTypeCollection aTypes(
- ::getCppuType( (const Reference< XInterface > *)0 ),
- ::getCppuType( (const Reference< XWeak > *)0 ),
- ::getCppuType( (const Reference< XTypeProvider > *)0 ),
- ::getCppuType( (const Reference< XServiceInfo > *)0 ),
- ::getCppuType( (const Reference< XTest > *)0 ) );
- pTypes = &aTypes;
- }
- }
- return pTypes->getTypes();
-}
-
-//*************************************************************************
-Sequence< sal_Int8 > SAL_CALL ExampleComponent2Impl::getImplementationId()
- throw (::com::sun::star::uno::RuntimeException)
-{
- static OImplementationId * pId = 0;
- if (! pId)
- {
- MutexGuard aGuard( m_mutex );
- if (! pId)
- {
- static OImplementationId aId;
- pId = &aId;
- }
- }
- return pId->getImplementationId();
-}
-
-//*************************************************************************
-OUString SAL_CALL ExampleComponent2Impl::getImplementationName( )
- throw(RuntimeException)
-{
- Guard< Mutex > aGuard( m_mutex );
- return OUString( RTL_CONSTASCII_USTRINGPARAM(IMPLNAME2) );
-}
-
-//*************************************************************************
-sal_Bool SAL_CALL ExampleComponent2Impl::supportsService( const OUString& ServiceName )
- throw(RuntimeException)
-{
- Guard< Mutex > aGuard( m_mutex );
- Sequence< OUString > aSNL = getSupportedServiceNames();
- const OUString * pArray = aSNL.getConstArray();
- for( sal_Int32 i = 0; i < aSNL.getLength(); i++ )
- if( pArray[i] == ServiceName )
- return sal_True;
- return sal_False;
-}
-
-//*************************************************************************
-Sequence<OUString> SAL_CALL ExampleComponent2Impl::getSupportedServiceNames( )
- throw(RuntimeException)
-{
- Guard< Mutex > aGuard( m_mutex );
- return getSupportedServiceNames_Static();
-}
-
-//*************************************************************************
-Sequence<OUString> SAL_CALL ExampleComponent2Impl::getSupportedServiceNames_Static( )
-{
- OUString aName( RTL_CONSTASCII_USTRINGPARAM(SERVICENAME2) );
- return Sequence< OUString >( &aName, 1 );
-}
-
-//*************************************************************************
-OUString SAL_CALL ExampleComponent2Impl::getMessage() throw(RuntimeException)
-{
- Guard< Mutex > aGuard( m_mutex );
- return OUString(RTL_CONSTASCII_USTRINGPARAM("Alle meine Entchen schwimmen auf dem See, schwimmen auf dem See ..."));
-}
-
-
-//*************************************************************************
-Reference<XInterface> SAL_CALL ExampleComponent2_CreateInstance( const Reference<XMultiServiceFactory>& rSMgr )
-{
- Reference<XInterface> xRet;
-
- XTest *pXTest = (XTest*) new ExampleComponent2Impl(rSMgr);
-
- if (pXTest)
- {
- xRet = Reference< XInterface >::query(pXTest);
- }
-
- return xRet;
-}
-
-
-} // excomp_impl
-
-
-extern "C"
-{
-//==================================================================================================
-sal_Bool SAL_CALL component_writeInfo(
- void * /* pServiceManager */, void * pRegistryKey )
-{
- if (pRegistryKey)
- {
- try
- {
- // ExampleComponent2
- Reference< XRegistryKey > xNewKey(
- reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey(
- OUString( RTL_CONSTASCII_USTRINGPARAM("/" IMPLNAME2 "/UNO/SERVICES") ) ) );
-
- const Sequence< OUString > & rSNL =
- ::excomp2_impl::ExampleComponent2Impl::getSupportedServiceNames_Static();
- const OUString * pArray = rSNL.getConstArray();
- for ( sal_Int32 nPos = rSNL.getLength(); nPos--; )
- xNewKey->createKey( pArray[nPos] );
-
- return sal_True;
- }
- catch (InvalidRegistryException &)
- {
- OSL_FAIL( "### InvalidRegistryException!" );
- }
- }
- return sal_False;
-}
-//==================================================================================================
-SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory(
- const sal_Char * pImplName, void * pServiceManager, void * /* pRegistryKey */ )
-{
- void * pRet = 0;
-
- if (rtl_str_compare( pImplName, IMPLNAME2 ) == 0)
- {
- Reference< XSingleServiceFactory > xFactory( createSingleFactory(
- reinterpret_cast< XMultiServiceFactory * >( pServiceManager ),
- OUString( RTL_CONSTASCII_USTRINGPARAM(IMPLNAME2) ),
- ::excomp2_impl::ExampleComponent2_CreateInstance,
- ::excomp2_impl::ExampleComponent2Impl::getSupportedServiceNames_Static() ) );
-
- if (xFactory.is())
- {
- xFactory->acquire();
- pRet = xFactory.get();
- }
- }
-
- return pRet;
-}
-}
-
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/stoc/test/excomp/excomp2.xml b/stoc/test/excomp/excomp2.xml
deleted file mode 100644
index 40aec6d96..000000000
--- a/stoc/test/excomp/excomp2.xml
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE module-description PUBLIC "-//StarOffice//DTD ComponentDescription 1.0//EN" "module-description.dtd">
-<module-description xmlns:xlink="http://www.w3.org/1999/xlink">
- <module-name> excomp2 </module-name>
- <component-description>
- <author> Juergen Schmidt </author>
- <name> example.ExampleComponent2.Impl </name>
- <description>
- This component provides a simple demo component.
-</description>
- <loader-name> com.sun.star.loader.SharedLibrary </loader-name>
- <language> c++ </language>
- <status value="final"/>
- <supported-service> example.ExampleComponent2 </supported-service>
- <type> com.sun.star.lang.XTypeProvider </type>
- <type> com.sun.star.lang.XServiceInfo </type>
- <type> com.sun.star.lang.XSingleServiceFactory </type>
- <type> com.sun.star.lang.XMultiServiceFactory </type>
- <type> com.sun.star.registry.XRegistryKey </type>
- <type> com.sun.star.uno.XAggregation </type>
- <type> com.sun.star.uno.XWeak </type>
- <type> com.sun.star.uno.TypeClass </type>
- <type> example.XTest </type>
- </component-description>
- <project-build-dependency> cppuhelper </project-build-dependency>
- <project-build-dependency> cppu </project-build-dependency>
- <project-build-dependency> sal </project-build-dependency>
- <runtime-module-dependency> cppuhelper </runtime-module-dependency>
- <runtime-module-dependency> cppu </runtime-module-dependency>
- <runtime-module-dependency> sal </runtime-module-dependency>
-</module-description>
diff --git a/stoc/test/excomp/exports.dxp b/stoc/test/excomp/exports.dxp
deleted file mode 100644
index 51703a046..000000000
--- a/stoc/test/excomp/exports.dxp
+++ /dev/null
@@ -1,2 +0,0 @@
-component_writeInfo
-component_getFactory
diff --git a/stoc/test/excomp/makefile.mk b/stoc/test/excomp/makefile.mk
deleted file mode 100644
index 01ffb65a5..000000000
--- a/stoc/test/excomp/makefile.mk
+++ /dev/null
@@ -1,129 +0,0 @@
-#*************************************************************************
-#
-# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
-#
-# Copyright 2000, 2010 Oracle and/or its affiliates.
-#
-# OpenOffice.org - a multi-platform office productivity suite
-#
-# This file is part of OpenOffice.org.
-#
-# OpenOffice.org is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Lesser General Public License version 3
-# only, as published by the Free Software Foundation.
-#
-# OpenOffice.org 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 version 3 for more details
-# (a copy is included in the LICENSE file that accompanied this code).
-#
-# You should have received a copy of the GNU Lesser General Public License
-# version 3 along with OpenOffice.org. If not, see
-# <http://www.openoffice.org/license.html>
-# for a copy of the LGPLv3 License.
-#
-#*************************************************************************
-PRJ=..$/..
-
-PRJNAME= stoc
-TARGET= excomp
-TARGET1= excomp1
-TARGET2= excomp2
-TARGETTYPE=CUI
-ENABLE_EXCEPTIONS=TRUE
-USE_DEFFILE= TRUE
-NO_BSYMBOLIC= TRUE
-COMP1TYPELIST=$(TARGET1)
-COMP2TYPELIST=$(TARGET2)
-
-# --- Settings -----------------------------------------------------
-
-.INCLUDE : settings.mk
-
-# ------------------------------------------------------------------
-
-UNOUCRDEP= $(BIN)$/excomp.rdb
-UNOUCRRDB= $(BIN)$/excomp.rdb
-UNOUCROUT= $(OUT)$/inc
-INCPRE+= $(OUT)$/inc
-
-UNOTYPES=$($(TARGET1)_XML2CMPTYPES)
-UNOTYPES+=$($(TARGET2)_XML2CMPTYPES)
-UNOTYPES+= com.sun.star.registry.XImplementationRegistration \
- com.sun.star.lang.XComponent
-
-# --- Application excomp ------------------------------------------------
-APP1TARGET= $(TARGET)
-APP1OBJS= $(OBJ)$/excomp.obj
-
-APP1STDLIBS= \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALHELPERLIB) \
- $(SALLIB)
-
-# ---- objects ----
-SLOFILES= \
- $(SLO)$/excomp1.obj \
- $(SLO)$/$(COMP1TYPELIST)_description.obj \
- $(SLO)$/excomp2.obj \
- $(SLO)$/$(COMP2TYPELIST)_description.obj
-
-# ---- excomp1 ------
-SHL1TARGET= $(TARGET1)
-
-SHL1STDLIBS= \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALHELPERLIB) \
- $(SALLIB)
-
-SHL1DEPN=
-SHL1LIBS=
-SHL1OBJS= $(SLO)$/excomp1.obj \
- $(SLO)$/$(COMP1TYPELIST)_description.obj
-SHL1IMPLIB= i$(TARGET1)
-SHL1DEF= $(MISC)$/$(SHL1TARGET).def
-
-DEF1NAME= $(SHL1TARGET)
-DEF1EXPORTFILE= exports.dxp
-
-# ---- excomp2 ------
-SHL2TARGET= $(TARGET2)
-
-SHL2STDLIBS= \
- $(CPPULIB) \
- $(CPPUHELPERLIB) \
- $(SALHELPERLIB) \
- $(SALLIB)
-
-SHL2DEPN=
-SHL2LIBS=
-SHL2OBJS= $(SLO)$/excomp2.obj \
- $(SLO)$/$(COMP2TYPELIST)_description.obj
-SHL2IMPLIB= i$(TARGET2)
-SHL2DEF= $(MISC)$/$(SHL2TARGET).def
-
-DEF2NAME= $(SHL2TARGET)
-DEF2EXPORTFILE= exports.dxp
-
-ALLIDLFILES:= example$/XTest.idl example$/ExampleComponent1.idl example$/ExampleComponent2.idl
-
-# --- Targets ------------------------------------------------------
-
-.IF "$(depend)" == ""
-ALL : $(BIN)$/excomp.rdb \
- ALLTAR
-.ELSE
-ALL: ALLDEP
-.ENDIF
-
-.INCLUDE : target.mk
-
-$(BIN)$/excomp.rdb: $(ALLIDLFILES)
- idlc -I$(PRJ) -I$(SOLARIDLDIR) -O$(MISC)$/excomp $?
- regmerge $@ /UCR $(MISC)$/excomp$/{$(?:f:s/.idl/.urd/)}
- regmerge $@ / $(SOLARBINDIR)$/udkapi.rdb
- touch $@
-