1 /*************************************************************************
2  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
3  *
4  * Copyright 2000, 2010 Oracle and/or its affiliates.
5  *
6  * OpenOffice.org - a multi-platform office productivity suite
7  *
8  * This file is part of OpenOffice.org.
9  *
10  * OpenOffice.org is free software: you can redistribute it and/or modify
11  * it under the terms of the GNU Lesser General Public License version 3
12  * only, as published by the Free Software Foundation.
13  *
14  * OpenOffice.org is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
17  * GNU Lesser General Public License version 3 for more details
18  * (a copy is included in the LICENSE file that accompanied this code).
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * version 3 along with OpenOffice.org.  If not, see
22  * <http://www.openoffice.org/license.html>
23  * for a copy of the LGPLv3 License.
24  *
25 ************************************************************************/
26 
27 #include "precompiled_ucb.hxx"
28 
29 #include "ucpext_provider.hxx"
30 
31 /** === begin UNO includes === **/
32 /** === end UNO includes === **/
33 
34 #include <cppuhelper/implementationentry.hxx>
35 
36 //......................................................................................................................
37 namespace ucb { namespace ucp { namespace ext
38 {
39 //......................................................................................................................
40 
41 	/** === begin UNO using === **/
42 	using ::com::sun::star::uno::Reference;
43 	using ::com::sun::star::uno::XInterface;
44 	using ::com::sun::star::uno::UNO_QUERY;
45 	using ::com::sun::star::uno::UNO_QUERY_THROW;
46 	using ::com::sun::star::uno::UNO_SET_THROW;
47 	using ::com::sun::star::uno::Exception;
48 	using ::com::sun::star::uno::RuntimeException;
49 	using ::com::sun::star::uno::Any;
50 	using ::com::sun::star::uno::makeAny;
51 	using ::com::sun::star::uno::Sequence;
52 	using ::com::sun::star::uno::Type;
53     using ::com::sun::star::lang::XSingleComponentFactory;
54 	/** === end UNO using === **/
55 
56 	//==================================================================================================================
57     //= descriptors for the services implemented in this component
58     //==================================================================================================================
59     static struct ::cppu::ImplementationEntry s_aServiceEntries[] =
60     {
61         {
62             ContentProvider::Create,
63             ContentProvider::getImplementationName_static,
64             ContentProvider::getSupportedServiceNames_static,
65             ::cppu::createOneInstanceComponentFactory, NULL, 0
66         },
67         { 0, 0, 0, 0, 0, 0 }
68     };
69 
70 //......................................................................................................................
71 } } }   // namespace ucb::ucp::ext
72 //......................................................................................................................
73 
74 extern "C"
75 {
76     //------------------------------------------------------------------------------------------------------------------
77     void SAL_CALL component_getImplementationEnvironment( const sal_Char ** ppEnvTypeName, uno_Environment ** )
78     {
79         *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
80     }
81 
82     //------------------------------------------------------------------------------------------------------------------
83     void * SAL_CALL component_getFactory( const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey )
84     {
85         return ::cppu::component_getFactoryHelper( pImplName, pServiceManager, pRegistryKey , ::ucb::ucp::ext::s_aServiceEntries );
86     }
87 }
88