merged tag ooo/OOO330_m14
[LibreOffice.git] / extensions / source / propctrlr / pcrservices.cxx
blobe04169e7d90e79dfa0300b3be4d40479ca026c6b
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2000, 2010 Oracle and/or its affiliates.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * This file is part of OpenOffice.org.
11 * OpenOffice.org is free software: you can redistribute it and/or modify
12 * it under the terms of the GNU Lesser General Public License version 3
13 * only, as published by the Free Software Foundation.
15 * OpenOffice.org is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU Lesser General Public License version 3 for more details
19 * (a copy is included in the LICENSE file that accompanied this code).
21 * You should have received a copy of the GNU Lesser General Public License
22 * version 3 along with OpenOffice.org. If not, see
23 * <http://www.openoffice.org/license.html>
24 * for a copy of the LGPLv3 License.
26 ************************************************************************/
28 // MARKER(update_precomp.py): autogen include statement, do not remove
29 #include "precompiled_extensions.hxx"
31 #ifndef _EXTENSIONS_PROPCTRLR_MODULEPRC_HXX_
32 #include "modulepcr.hxx"
33 #endif
35 //---------------------------------------------------------------------------------------
37 using namespace ::rtl;
38 using namespace ::com::sun::star::uno;
39 using namespace ::com::sun::star::lang;
40 using namespace ::com::sun::star::registry;
42 //---------------------------------------------------------------------------------------
44 extern "C" void SAL_CALL createRegistryInfo_OPropertyBrowserController();
45 extern "C" void SAL_CALL createRegistryInfo_FormController();
46 extern "C" void SAL_CALL createRegistryInfo_DefaultFormComponentInspectorModel();
47 extern "C" void SAL_CALL createRegistryInfo_DefaultHelpProvider();
48 extern "C" void SAL_CALL createRegistryInfo_OControlFontDialog();
49 extern "C" void SAL_CALL createRegistryInfo_OTabOrderDialog();
50 extern "C" void SAL_CALL createRegistryInfo_CellBindingPropertyHandler();
51 extern "C" void SAL_CALL createRegistryInfo_ButtonNavigationHandler();
52 extern "C" void SAL_CALL createRegistryInfo_EditPropertyHandler();
53 extern "C" void SAL_CALL createRegistryInfo_FormComponentPropertyHandler();
54 extern "C" void SAL_CALL createRegistryInfo_EFormsPropertyHandler();
55 extern "C" void SAL_CALL createRegistryInfo_XSDValidationPropertyHandler();
56 extern "C" void SAL_CALL createRegistryInfo_EventHandler();
57 extern "C" void SAL_CALL createRegistryInfo_GenericPropertyHandler();
58 extern "C" void SAL_CALL createRegistryInfo_ObjectInspectorModel();
59 extern "C" void SAL_CALL createRegistryInfo_SubmissionPropertyHandler();
60 extern "C" void SAL_CALL createRegistryInfo_StringRepresentation();
61 extern "C" void SAL_CALL createRegistryInfo_MasterDetailLinkDialog();
62 extern "C" void SAL_CALL createRegistryInfo_FormGeometryHandler();
64 //---------------------------------------------------------------------------------------
66 extern "C" void SAL_CALL pcr_initializeModule()
68 static sal_Bool s_bInit = sal_False;
69 if (!s_bInit)
71 createRegistryInfo_OPropertyBrowserController();
72 createRegistryInfo_FormController();
73 createRegistryInfo_DefaultFormComponentInspectorModel();
74 createRegistryInfo_DefaultHelpProvider();
75 createRegistryInfo_OControlFontDialog();
76 createRegistryInfo_OTabOrderDialog();
77 createRegistryInfo_CellBindingPropertyHandler();
78 createRegistryInfo_ButtonNavigationHandler();
79 createRegistryInfo_EditPropertyHandler();
80 createRegistryInfo_FormComponentPropertyHandler();
81 createRegistryInfo_EFormsPropertyHandler();
82 createRegistryInfo_XSDValidationPropertyHandler();
83 createRegistryInfo_EventHandler();
84 createRegistryInfo_GenericPropertyHandler();
85 createRegistryInfo_ObjectInspectorModel();
86 createRegistryInfo_SubmissionPropertyHandler();
87 createRegistryInfo_StringRepresentation();
88 createRegistryInfo_MasterDetailLinkDialog();
89 createRegistryInfo_FormGeometryHandler();
90 s_bInit = sal_True;
94 //---------------------------------------------------------------------------------------
96 extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL
97 component_getImplementationEnvironment(
98 const sal_Char **ppEnvTypeName,
99 uno_Environment ** /*ppEnv*/
102 pcr_initializeModule();
103 *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
106 //---------------------------------------------------------------------------------------
107 extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
108 void* pServiceManager,
109 void* pRegistryKey
112 if (pRegistryKey)
115 return ::pcr::PcrModule::getInstance().writeComponentInfos(
116 static_cast<XMultiServiceFactory*>(pServiceManager),
117 static_cast<XRegistryKey*>(pRegistryKey));
119 catch (InvalidRegistryException& )
121 OSL_ASSERT("pcr::component_writeInfo: could not create a registry key (InvalidRegistryException) !");
124 return sal_False;
127 //---------------------------------------------------------------------------------------
128 extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
129 const sal_Char* pImplementationName,
130 void* pServiceManager,
131 void* /*pRegistryKey*/)
133 Reference< XInterface > xRet;
134 if (pServiceManager && pImplementationName)
136 xRet = ::pcr::PcrModule::getInstance().getComponentFactory(
137 ::rtl::OUString::createFromAscii(pImplementationName),
138 static_cast< XMultiServiceFactory* >(pServiceManager));
141 if (xRet.is())
142 xRet->acquire();
143 return xRet.get();