LCOV - code coverage report
Current view: top level - extensions/source/plugin/base - service.cxx (source / functions) Hit Total Coverage
Test: commit c8344322a7af75b84dd3ca8f78b05543a976dfd5 Lines: 14 17 82.4 %
Date: 2015-06-13 12:38:46 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*************************************************************************
       3             :  *
       4             :  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       5             :  *
       6             :  * Copyright 2000, 2010 Oracle and/or its affiliates.
       7             :  *
       8             :  * OpenOffice.org - a multi-platform office productivity suite
       9             :  *
      10             :  * This file is part of OpenOffice.org.
      11             :  *
      12             :  * OpenOffice.org is free software: you can redistribute it and/or modify
      13             :  * it under the terms of the GNU Lesser General Public License version 3
      14             :  * only, as published by the Free Software Foundation.
      15             :  *
      16             :  * OpenOffice.org is distributed in the hope that it will be useful,
      17             :  * but WITHOUT ANY WARRANTY; without even the implied warranty of
      18             :  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
      19             :  * GNU Lesser General Public License version 3 for more details
      20             :  * (a copy is included in the LICENSE file that accompanied this code).
      21             :  *
      22             :  * You should have received a copy of the GNU Lesser General Public License
      23             :  * version 3 along with OpenOffice.org.  If not, see
      24             :  * <http://www.openoffice.org/license.html>
      25             :  * for a copy of the LGPLv3 License.
      26             :  *
      27             :  ************************************************************************/
      28             : 
      29             : 
      30             : #ifdef AIX
      31             : #define _LINUX_SOURCE_COMPAT
      32             : #include <sys/timer.h>
      33             : #undef _LINUX_SOURCE_COMPAT
      34             : #endif
      35             : 
      36             : #ifdef WNT
      37             : #include <prewin.h>
      38             : #include <postwin.h>
      39             : #endif
      40             : 
      41             : #include <cstdarg>
      42             : 
      43             : #include <plugin/impl.hxx>
      44             : #include <com/sun/star/lang/XMultiServiceFactory.hpp>
      45             : #include <com/sun/star/lang/XSingleServiceFactory.hpp>
      46             : #include <com/sun/star/container/XSet.hpp>
      47             : #include <com/sun/star/registry/XRegistryKey.hpp>
      48             : 
      49             : #include <uno/dispatcher.h>
      50             : #include <uno/mapping.hxx>
      51             : 
      52             : #include <cppuhelper/factory.hxx>
      53             : 
      54             : using namespace cppu;
      55             : 
      56             : extern "C" {
      57           1 :     SAL_DLLPUBLIC_EXPORT void* SAL_CALL pl_component_getFactory(
      58             :         const sal_Char* pImplementationName,
      59             :         void* pXUnoSMgr,
      60             :         void* /*pXUnoKey*/
      61             :         )
      62             :     {
      63           1 :         void* pRet = 0;
      64             : 
      65           1 :         OUString aImplName( OUString::createFromAscii( pImplementationName ) );
      66             : 
      67           1 :         if( pXUnoSMgr )
      68             :         {
      69             :             Reference< ::com::sun::star::lang::XMultiServiceFactory > xMgr(
      70             :                 static_cast< ::com::sun::star::lang::XMultiServiceFactory* >( pXUnoSMgr )
      71           1 :                 );
      72           2 :             Reference< ::com::sun::star::lang::XSingleServiceFactory > xFactory;
      73           1 :             if( aImplName.equals( XPluginManager_Impl::getImplementationName_Static() ) )
      74             :             {
      75           2 :                 xFactory = ::cppu::createSingleFactory(
      76             :                     xMgr, aImplName, PluginManager_CreateInstance,
      77           1 :                     XPluginManager_Impl::getSupportedServiceNames_Static() );
      78             :             }
      79           0 :             else if( aImplName.equals( PluginModel::getImplementationName_Static() ) )
      80             :             {
      81           0 :                 xFactory = ::cppu::createSingleFactory(
      82             :                     xMgr, aImplName, PluginModel_CreateInstance,
      83           0 :                     PluginModel::getSupportedServiceNames_Static() );
      84             :             }
      85           1 :             if( xFactory.is() )
      86             :             {
      87           1 :                 xFactory->acquire();
      88           1 :                 pRet = xFactory.get();
      89           1 :             }
      90             :         }
      91           1 :         return pRet;
      92             :     }
      93             : } /* extern "C" */
      94             : 
      95             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.11