Kaydet (Commit) a9535fe9 authored tarafından Matúš Kukan's avatar Matúš Kukan

forms: More unused services related stuff

Change-Id: I3be9b1a57971286441d78e03130d0467ea2cc838
üst 68755152
...@@ -103,7 +103,6 @@ $(eval $(call gb_Library_add_exception_objects,frm,\ ...@@ -103,7 +103,6 @@ $(eval $(call gb_Library_add_exception_objects,frm,\
forms/source/helper/urltransformer \ forms/source/helper/urltransformer \
forms/source/helper/windowstateguard \ forms/source/helper/windowstateguard \
forms/source/misc/componenttools \ forms/source/misc/componenttools \
forms/source/misc/frm_module \
forms/source/misc/InterfaceContainer \ forms/source/misc/InterfaceContainer \
forms/source/misc/limitedformats \ forms/source/misc/limitedformats \
forms/source/misc/listenercontainers \ forms/source/misc/listenercontainers \
......
...@@ -119,12 +119,6 @@ using namespace ::com::sun::star::data; ...@@ -119,12 +119,6 @@ using namespace ::com::sun::star::data;
using namespace ::com::sun::star::util; using namespace ::com::sun::star::util;
extern "C" void SAL_CALL createRegistryInfo_ODatabaseForm()
{
static ::frm::OMultiInstanceAutoRegistration< ::frm::ODatabaseForm > aAutoRegistration;
}
namespace frm namespace frm
{ {
......
...@@ -17,168 +17,6 @@ ...@@ -17,168 +17,6 @@
* the License at http://www.apache.org/licenses/LICENSE-2.0 . * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ */
#ifndef FORMS_MODULE_INCLUDE_CONTEXT
#error "not to be included directly! use 'foo_module.hxx instead'!"
#endif
#ifndef FORMS_MODULE_NAMESPACE
#error "set FORMS_MODULE_NAMESPACE to your namespace identifier!"
#endif
#include <osl/mutex.hxx>
#include <tools/resid.hxx>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/lang/XSingleServiceFactory.hpp>
#include <com/sun/star/uno/Sequence.hxx>
#include <com/sun/star/registry/XRegistryKey.hpp>
#include <cppuhelper/factory.hxx>
#include <rtl/string.hxx>
#include <comphelper/processfactory.hxx>
namespace FORMS_MODULE_NAMESPACE
{
typedef ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > (SAL_CALL *FactoryInstantiation)
(
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rServiceManager,
const OUString & _rComponentName,
::cppu::ComponentInstantiation _pCreateFunction,
const ::com::sun::star::uno::Sequence< OUString > & _rServiceNames,
rtl_ModuleCount*
);
class OFormsModule
{
private:
OFormsModule() SAL_DELETED_FUNCTION; //TODO: get rid of this class
protected:
// auto registration administration
static ::com::sun::star::uno::Sequence< OUString >*
s_pImplementationNames;
static ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< OUString > >*
s_pSupportedServices;
static ::com::sun::star::uno::Sequence< sal_Int64 >*
s_pCreationFunctionPointers;
static ::com::sun::star::uno::Sequence< sal_Int64 >*
s_pFactoryFunctionPointers;
public:
/** register a component implementing a service with the given data.
@param _rImplementationName
the implementation name of the component
@param _rServiceNames
the services the component supports
@param _pCreateFunction
a function for creating an instance of the component
@param _pFactoryFunction
a function for creating a factory for that component
@see revokeComponent
*/
static void registerComponent(
const OUString& _rImplementationName,
const ::com::sun::star::uno::Sequence< OUString >& _rServiceNames,
::cppu::ComponentInstantiation _pCreateFunction,
FactoryInstantiation _pFactoryFunction);
/** revoke the registration for the specified component
@param _rImplementationName
the implementation name of the component
*/
static void revokeComponent(
const OUString& _rImplementationName);
private:
/** ensure that the impl class exists
@precond m_aMutex is guarded when this method gets called
*/
static void ensureImpl();
};
template <class TYPE>
class OMultiInstanceAutoRegistration
{
public:
/** automatically registeres a multi instance component
<p>Assumed that the template argument has the three methods
<ul>
<li><code>static OUString getImplementationName_Static()</code><li/>
<li><code>static ::com::sun::star::uno::Sequence< OUString > getSupportedServiceNames_Static()</code><li/>
<li><code>static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&)</code>
</li>
<ul/>
the instantiation of this object will automatically register the class via <method>OFormsModule::registerComponent</method>.
<p/>
<p>The factory creation function used is <code>::cppu::createSingleFactory</code>.</p>
@see OOneInstanceAutoRegistration
*/
OMultiInstanceAutoRegistration();
~OMultiInstanceAutoRegistration();
};
template <class TYPE>
OMultiInstanceAutoRegistration<TYPE>::OMultiInstanceAutoRegistration()
{
OFormsModule::registerComponent(
TYPE::getImplementationName_Static(),
TYPE::getSupportedServiceNames_Static(),
TYPE::Create,
::cppu::createSingleFactory
);
}
template <class TYPE>
OMultiInstanceAutoRegistration<TYPE>::~OMultiInstanceAutoRegistration()
{
OFormsModule::revokeComponent(TYPE::getImplementationName_Static());
}
template <class TYPE>
class OOneInstanceAutoRegistration
{
public:
/** automatically registeres a single instance component
<p>Assumed that the template argument has the three methods
<ul>
<li><code>static OUString getImplementationName_Static()</code><li/>
<li><code>static ::com::sun::star::uno::Sequence< OUString > getSupportedServiceNames_Static()</code><li/>
<li><code>static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >
Create(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >&)</code>
</li>
<ul/>
the instantiation of this object will automatically register the class via <method>OFormsModule::registerComponent</method>.
<p/>
The factory creation function used is <code>::cppu::createOneInstanceFactory</code>.
@see OOneInstanceAutoRegistration
*/
OOneInstanceAutoRegistration();
~OOneInstanceAutoRegistration();
};
template <class TYPE>
OOneInstanceAutoRegistration<TYPE>::OOneInstanceAutoRegistration()
{
OFormsModule::registerComponent(
TYPE::getImplementationName_Static(),
TYPE::getSupportedServiceNames_Static(),
TYPE::Create,
::cppu::createOneInstanceFactory
);
}
template <class TYPE>
OOneInstanceAutoRegistration<TYPE>::~OOneInstanceAutoRegistration()
{
OFormsModule::revokeComponent(TYPE::getImplementationName_Static());
}
//= helper for classes implementing the service handling via
//= OMultiInstanceAutoRegistration or OOneInstanceAutoRegistration
#define DECLARE_SERVICE_REGISTRATION( classname ) \ #define DECLARE_SERVICE_REGISTRATION( classname ) \
virtual OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; \ virtual OUString SAL_CALL getImplementationName( ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE; \
...@@ -186,10 +24,6 @@ namespace FORMS_MODULE_NAMESPACE ...@@ -186,10 +24,6 @@ namespace FORMS_MODULE_NAMESPACE
\ \
static OUString SAL_CALL getImplementationName_Static(); \ static OUString SAL_CALL getImplementationName_Static(); \
static ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames_Static(); \ static ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames_Static(); \
static ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL Create( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxFactory ); \
\
friend class OOneInstanceAutoRegistration< classname >; \
friend class OMultiInstanceAutoRegistration< classname >; \
#define IMPLEMENT_SERVICE_REGISTRATION_BASE( classname, baseclass ) \ #define IMPLEMENT_SERVICE_REGISTRATION_BASE( classname, baseclass ) \
\ \
...@@ -207,23 +41,6 @@ namespace FORMS_MODULE_NAMESPACE ...@@ -207,23 +41,6 @@ namespace FORMS_MODULE_NAMESPACE
OUString SAL_CALL classname::getImplementationName_Static() \ OUString SAL_CALL classname::getImplementationName_Static() \
{ return OUString( "com.sun.star.comp.forms."#classname ); } \ { return OUString( "com.sun.star.comp.forms."#classname ); } \
\ \
Reference< XInterface > SAL_CALL classname::Create( const Reference< XMultiServiceFactory >& _rxFactory ) \
{ return static_cast< XServiceInfo* >( new classname( comphelper::getComponentContext(_rxFactory) ) ); } \
\
#define IMPLEMENT_SERVICE_REGISTRATION_1( classname, baseclass, service1 ) \
IMPLEMENT_SERVICE_REGISTRATION_BASE( classname, baseclass ) \
\
Sequence< OUString > SAL_CALL classname::getSupportedServiceNames_Static() \
{ \
Sequence< OUString > aOwnNames( 1 ); \
aOwnNames[ 0 ] = service1; \
\
return ::comphelper::concatSequences( \
baseclass::getSupportedServiceNames_Static(), \
aOwnNames \
); \
} \
#define IMPLEMENT_SERVICE_REGISTRATION_2( classname, baseclass, service1, service2 ) \ #define IMPLEMENT_SERVICE_REGISTRATION_2( classname, baseclass, service1, service2 ) \
IMPLEMENT_SERVICE_REGISTRATION_BASE( classname, baseclass ) \ IMPLEMENT_SERVICE_REGISTRATION_BASE( classname, baseclass ) \
...@@ -240,26 +57,6 @@ namespace FORMS_MODULE_NAMESPACE ...@@ -240,26 +57,6 @@ namespace FORMS_MODULE_NAMESPACE
); \ ); \
} \ } \
#define IMPLEMENT_SERVICE_REGISTRATION_7( classname, baseclass, service1, service2, service3, service4 , service5, service6, service7 ) \
IMPLEMENT_SERVICE_REGISTRATION_BASE( classname, baseclass ) \
\
Sequence< OUString > SAL_CALL classname::getSupportedServiceNames_Static() \
{ \
Sequence< OUString > aOwnNames( 7 ); \
aOwnNames[ 0 ] = service1; \
aOwnNames[ 1 ] = service2; \
aOwnNames[ 2 ] = service3; \
aOwnNames[ 3 ] = service4; \
aOwnNames[ 4 ] = service5; \
aOwnNames[ 5 ] = service6; \
aOwnNames[ 6 ] = service7; \
\
return ::comphelper::concatSequences( \
baseclass::getSupportedServiceNames_Static(), \
aOwnNames \
); \
} \
#define IMPLEMENT_SERVICE_REGISTRATION_8( classname, baseclass, service1, service2, service3, service4 , service5, service6, service7, service8 ) \ #define IMPLEMENT_SERVICE_REGISTRATION_8( classname, baseclass, service1, service2, service3, service4 , service5, service6, service7, service8 ) \
IMPLEMENT_SERVICE_REGISTRATION_BASE( classname, baseclass ) \ IMPLEMENT_SERVICE_REGISTRATION_BASE( classname, baseclass ) \
\ \
...@@ -282,7 +79,4 @@ namespace FORMS_MODULE_NAMESPACE ...@@ -282,7 +79,4 @@ namespace FORMS_MODULE_NAMESPACE
} \ } \
} // namespace FORMS_MODULE_NAMESPACE
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#ifndef FORMS_MODULE_IMPLEMENTATION_INCLUDE_CONTEXT
#error "not to be included directly! use 'foo_module.hxx instead'!"
#endif
#ifndef FORMS_MODULE_NAMESPACE
#error "set FORMS_MODULE_NAMESPACE to your namespace identifier!"
#endif
#include <comphelper/sequence.hxx>
namespace FORMS_MODULE_NAMESPACE
{
using namespace ::com::sun::star::uno;
using namespace ::com::sun::star::lang;
using namespace ::com::sun::star::registry;
using namespace ::comphelper;
using namespace ::cppu;
//= OFormsModule
//- registration helper
Sequence< OUString >* OFormsModule::s_pImplementationNames = NULL;
Sequence< Sequence< OUString > >* OFormsModule::s_pSupportedServices = NULL;
Sequence< sal_Int64 >* OFormsModule::s_pCreationFunctionPointers = NULL;
Sequence< sal_Int64 >* OFormsModule::s_pFactoryFunctionPointers = NULL;
void OFormsModule::registerComponent(
const OUString& _rImplementationName,
const Sequence< OUString >& _rServiceNames,
ComponentInstantiation _pCreateFunction,
FactoryInstantiation _pFactoryFunction)
{
if (!s_pImplementationNames)
{
OSL_ENSURE(!s_pSupportedServices && !s_pCreationFunctionPointers && !s_pFactoryFunctionPointers,
"OFormsModule::registerComponent : inconsistent state (the pointers (1)) !");
s_pImplementationNames = new Sequence< OUString >;
s_pSupportedServices = new Sequence< Sequence< OUString > >;
s_pCreationFunctionPointers = new Sequence< sal_Int64 >;
s_pFactoryFunctionPointers = new Sequence< sal_Int64 >;
}
OSL_ENSURE(s_pImplementationNames && s_pSupportedServices && s_pCreationFunctionPointers && s_pFactoryFunctionPointers,
"OFormsModule::registerComponent : inconsistent state (the pointers (2)) !");
OSL_ENSURE( (s_pImplementationNames->getLength() == s_pSupportedServices->getLength())
&& (s_pImplementationNames->getLength() == s_pCreationFunctionPointers->getLength())
&& (s_pImplementationNames->getLength() == s_pFactoryFunctionPointers->getLength()),
"OFormsModule::registerComponent : inconsistent state !");
sal_Int32 nOldLen = s_pImplementationNames->getLength();
s_pImplementationNames->realloc(nOldLen + 1);
s_pSupportedServices->realloc(nOldLen + 1);
s_pCreationFunctionPointers->realloc(nOldLen + 1);
s_pFactoryFunctionPointers->realloc(nOldLen + 1);
s_pImplementationNames->getArray()[nOldLen] = _rImplementationName;
s_pSupportedServices->getArray()[nOldLen] = _rServiceNames;
s_pCreationFunctionPointers->getArray()[nOldLen] = reinterpret_cast<sal_Int64>(_pCreateFunction);
s_pFactoryFunctionPointers->getArray()[nOldLen] = reinterpret_cast<sal_Int64>(_pFactoryFunction);
}
void OFormsModule::revokeComponent(const OUString& _rImplementationName)
{
if (!s_pImplementationNames)
{
OSL_FAIL("OFormsModule::revokeComponent : have no class infos ! Are you sure called this method at the right time ?");
return;
}
OSL_ENSURE(s_pImplementationNames && s_pSupportedServices && s_pCreationFunctionPointers && s_pFactoryFunctionPointers,
"OFormsModule::revokeComponent : inconsistent state (the pointers) !");
OSL_ENSURE( (s_pImplementationNames->getLength() == s_pSupportedServices->getLength())
&& (s_pImplementationNames->getLength() == s_pCreationFunctionPointers->getLength())
&& (s_pImplementationNames->getLength() == s_pFactoryFunctionPointers->getLength()),
"OFormsModule::revokeComponent : inconsistent state !");
sal_Int32 nLen = s_pImplementationNames->getLength();
const OUString* pImplNames = s_pImplementationNames->getConstArray();
for (sal_Int32 i=0; i<nLen; ++i, ++pImplNames)
{
if (pImplNames->equals(_rImplementationName))
{
removeElementAt(*s_pImplementationNames, i);
removeElementAt(*s_pSupportedServices, i);
removeElementAt(*s_pCreationFunctionPointers, i);
removeElementAt(*s_pFactoryFunctionPointers, i);
break;
}
}
if (s_pImplementationNames->getLength() == 0)
{
delete s_pImplementationNames; s_pImplementationNames = NULL;
delete s_pSupportedServices; s_pSupportedServices = NULL;
delete s_pCreationFunctionPointers; s_pCreationFunctionPointers = NULL;
delete s_pFactoryFunctionPointers; s_pFactoryFunctionPointers = NULL;
}
}
} // namespace FORMS_MODULE_NAMESPACE
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -20,10 +20,7 @@ ...@@ -20,10 +20,7 @@
#ifndef INCLUDED_FORMS_SOURCE_INC_FRM_MODULE_HXX #ifndef INCLUDED_FORMS_SOURCE_INC_FRM_MODULE_HXX
#define INCLUDED_FORMS_SOURCE_INC_FRM_MODULE_HXX #define INCLUDED_FORMS_SOURCE_INC_FRM_MODULE_HXX
#define FORMS_MODULE_INCLUDE_CONTEXT #include "forms_module.hxx"
#define FORMS_MODULE_NAMESPACE frm
#include "forms_module.hxx"
#undef FORMS_MODULE_INCLUDE_CONTEXT
#endif // INCLUDED_FORMS_SOURCE_INC_FRM_MODULE_HXX #endif // INCLUDED_FORMS_SOURCE_INC_FRM_MODULE_HXX
......
...@@ -202,21 +202,6 @@ ...@@ -202,21 +202,6 @@
#define SRV_SDB_ROWSET "com.sun.star.sdb.RowSet" #define SRV_SDB_ROWSET "com.sun.star.sdb.RowSet"
#define SRV_SDB_CONNECTION "com.sun.star.sdb.Connection" #define SRV_SDB_CONNECTION "com.sun.star.sdb.Connection"
extern "C" {
void SAL_CALL createRegistryInfo_CLibxml2XFormsExtension();
void SAL_CALL createRegistryInfo_FormOperations();
void SAL_CALL createRegistryInfo_ODatabaseForm();
void SAL_CALL createRegistryInfo_OFilterControl();
void SAL_CALL createRegistryInfo_ONavigationBarControl();
void SAL_CALL createRegistryInfo_ONavigationBarModel();
void SAL_CALL createRegistryInfo_ORichTextControl();
void SAL_CALL createRegistryInfo_ORichTextModel();
void SAL_CALL createRegistryInfo_OScrollBarModel();
void SAL_CALL createRegistryInfo_OSpinButtonModel();
}
#endif // INCLUDED_FORMS_SOURCE_INC_SERVICES_HXX #endif // INCLUDED_FORMS_SOURCE_INC_SERVICES_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*
* This file incorporates work covered by the following license notice:
*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed
* with this work for additional information regarding copyright
* ownership. The ASF licenses this file to you under the Apache
* License, Version 2.0 (the "License"); you may not use this file
* except in compliance with the License. You may obtain a copy of
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/
#include "frm_module.hxx"
#define FORMS_MODULE_IMPLEMENTATION_INCLUDE_CONTEXT
#define FORMS_MODULE_NAMESPACE frm
#include "forms_module_impl.hxx"
#undef FORMS_MODULE_IMPLEMENTATION_INCLUDE_CONTEXT
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
...@@ -196,9 +196,6 @@ dbaui::OQueryViewSwitch::setReadOnly(bool) ...@@ -196,9 +196,6 @@ dbaui::OQueryViewSwitch::setReadOnly(bool)
dbaui::OTableRowView::SetUpdatable(bool) dbaui::OTableRowView::SetUpdatable(bool)
dbaui::OTableWindowAccess::isEditable() const dbaui::OTableWindowAccess::isEditable() const
dp_registry::backend::RegisteredDb::getEntry(rtl::OUString const&) dp_registry::backend::RegisteredDb::getEntry(rtl::OUString const&)
frm::ORichTextModel::Create(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&)
frm::OScrollBarModel::Create(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&)
frm::OSpinButtonModel::Create(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&)
oglcanvas::CanvasHelper::flush() const oglcanvas::CanvasHelper::flush() const
oglcanvas::TextLayout::draw(com::sun::star::rendering::ViewState const&, com::sun::star::rendering::RenderState const&, com::sun::star::uno::Reference<com::sun::star::rendering::XGraphicDevice> const&) const oglcanvas::TextLayout::draw(com::sun::star::rendering::ViewState const&, com::sun::star::rendering::RenderState const&, com::sun::star::uno::Reference<com::sun::star::rendering::XGraphicDevice> const&) const
oox::drawingml::TextListStyle::dump() const oox::drawingml::TextListStyle::dump() const
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment