merged tag LIBREOFFICE_3_2_99_3
[LibreOffice.git] / extensions / source / propctrlr / pcrservices.cxx
blob034aee9881efa6fef132d11c9aad7c313569e05f
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
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.
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).
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.
27 ************************************************************************/
29 // MARKER(update_precomp.py): autogen include statement, do not remove
30 #include "precompiled_extensions.hxx"
32 #include "modulepcr.hxx"
34 //---------------------------------------------------------------------------------------
36 using namespace ::rtl;
37 using namespace ::com::sun::star::uno;
38 using namespace ::com::sun::star::lang;
39 using namespace ::com::sun::star::registry;
41 //---------------------------------------------------------------------------------------
43 extern "C" void SAL_CALL createRegistryInfo_OPropertyBrowserController();
44 extern "C" void SAL_CALL createRegistryInfo_FormController();
45 extern "C" void SAL_CALL createRegistryInfo_DefaultFormComponentInspectorModel();
46 extern "C" void SAL_CALL createRegistryInfo_DefaultHelpProvider();
47 extern "C" void SAL_CALL createRegistryInfo_OControlFontDialog();
48 extern "C" void SAL_CALL createRegistryInfo_OTabOrderDialog();
49 extern "C" void SAL_CALL createRegistryInfo_CellBindingPropertyHandler();
50 extern "C" void SAL_CALL createRegistryInfo_ButtonNavigationHandler();
51 extern "C" void SAL_CALL createRegistryInfo_EditPropertyHandler();
52 extern "C" void SAL_CALL createRegistryInfo_FormComponentPropertyHandler();
53 extern "C" void SAL_CALL createRegistryInfo_EFormsPropertyHandler();
54 extern "C" void SAL_CALL createRegistryInfo_XSDValidationPropertyHandler();
55 extern "C" void SAL_CALL createRegistryInfo_EventHandler();
56 extern "C" void SAL_CALL createRegistryInfo_GenericPropertyHandler();
57 extern "C" void SAL_CALL createRegistryInfo_ObjectInspectorModel();
58 extern "C" void SAL_CALL createRegistryInfo_SubmissionPropertyHandler();
59 extern "C" void SAL_CALL createRegistryInfo_StringRepresentation();
60 extern "C" void SAL_CALL createRegistryInfo_MasterDetailLinkDialog();
61 extern "C" void SAL_CALL createRegistryInfo_FormGeometryHandler();
63 //---------------------------------------------------------------------------------------
65 extern "C" void SAL_CALL pcr_initializeModule()
67 static sal_Bool s_bInit = sal_False;
68 if (!s_bInit)
70 createRegistryInfo_OPropertyBrowserController();
71 createRegistryInfo_FormController();
72 createRegistryInfo_DefaultFormComponentInspectorModel();
73 createRegistryInfo_DefaultHelpProvider();
74 createRegistryInfo_OControlFontDialog();
75 createRegistryInfo_OTabOrderDialog();
76 createRegistryInfo_CellBindingPropertyHandler();
77 createRegistryInfo_ButtonNavigationHandler();
78 createRegistryInfo_EditPropertyHandler();
79 createRegistryInfo_FormComponentPropertyHandler();
80 createRegistryInfo_EFormsPropertyHandler();
81 createRegistryInfo_XSDValidationPropertyHandler();
82 createRegistryInfo_EventHandler();
83 createRegistryInfo_GenericPropertyHandler();
84 createRegistryInfo_ObjectInspectorModel();
85 createRegistryInfo_SubmissionPropertyHandler();
86 createRegistryInfo_StringRepresentation();
87 createRegistryInfo_MasterDetailLinkDialog();
88 createRegistryInfo_FormGeometryHandler();
89 s_bInit = sal_True;
93 //---------------------------------------------------------------------------------------
95 extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL
96 component_getImplementationEnvironment(
97 const sal_Char **ppEnvTypeName,
98 uno_Environment ** /*ppEnv*/
101 pcr_initializeModule();
102 *ppEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME;
105 //---------------------------------------------------------------------------------------
106 extern "C" SAL_DLLPUBLIC_EXPORT sal_Bool SAL_CALL component_writeInfo(
107 void* pServiceManager,
108 void* pRegistryKey
111 if (pRegistryKey)
114 return ::pcr::PcrModule::getInstance().writeComponentInfos(
115 static_cast<XMultiServiceFactory*>(pServiceManager),
116 static_cast<XRegistryKey*>(pRegistryKey));
118 catch (InvalidRegistryException& )
120 OSL_ASSERT("pcr::component_writeInfo: could not create a registry key (InvalidRegistryException) !");
123 return sal_False;
126 //---------------------------------------------------------------------------------------
127 extern "C" SAL_DLLPUBLIC_EXPORT void* SAL_CALL component_getFactory(
128 const sal_Char* pImplementationName,
129 void* pServiceManager,
130 void* /*pRegistryKey*/)
132 Reference< XInterface > xRet;
133 if (pServiceManager && pImplementationName)
135 xRet = ::pcr::PcrModule::getInstance().getComponentFactory(
136 ::rtl::OUString::createFromAscii(pImplementationName),
137 static_cast< XMultiServiceFactory* >(pServiceManager));
140 if (xRet.is())
141 xRet->acquire();
142 return xRet.get();
145 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */