cppuhelper: simplify deprecated XTypeProvider.getImplementationId

Change-Id: I1e355c0ef9548d505de996304837d3d0910bd9b8
This commit is contained in:
Stephan Bergmann
2014-03-10 12:16:40 +01:00
parent 8038ea6396
commit 023c00b7c4
5 changed files with 9 additions and 36 deletions

View File

@@ -365,16 +365,10 @@ Sequence< Type > OFactoryComponentHelper::getTypes()
return Sequence< Type >( ar, m_fptr ? 4 : 3 );
}
namespace
{
class theOFactoryComponentHelperImplementationId :
public rtl::Static<OImplementationId, theOFactoryComponentHelperImplementationId>{};
}
Sequence< sal_Int8 > OFactoryComponentHelper::getImplementationId()
throw (::com::sun::star::uno::RuntimeException, std::exception)
{
return theOFactoryComponentHelperImplementationId::get().getImplementationId();
return css::uno::Sequence<sal_Int8>();
}
// XSingleServiceFactory

View File

@@ -22,7 +22,6 @@
#include <osl/diagnose.h>
#include <rtl/instance.hxx>
#include <rtl/string.hxx>
#include <rtl/uuid.h>
#include <com/sun/star/lang/XComponent.hpp>
#include "com/sun/star/uno/RuntimeException.hpp"
@@ -106,10 +105,6 @@ void ClassData::initTypeProvider() SAL_THROW(())
::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
if (! pTypes)
{
// create id
pId = new Sequence< sal_Int8 >( 16 );
rtl_createUuid( (sal_uInt8 *)pId->getArray(), 0, sal_True );
// collect types
Sequence< Type > * types = new Sequence< Type >(
nType2Offset + 1 + (nClassCode == 4 ? 2 : nClassCode) );
@@ -151,9 +146,7 @@ Sequence< Type > ClassData::getTypes() SAL_THROW(())
Sequence< sal_Int8 > ClassData::getImplementationId() SAL_THROW(())
{
if (! pTypes)
initTypeProvider();
return *pId;
return css::uno::Sequence<sal_Int8>();
}

View File

@@ -253,25 +253,10 @@ Any SAL_CALL ImplHelper_queryNoXInterface(
}
}
Sequence< sal_Int8 > SAL_CALL ImplHelper_getImplementationId( class_data * cd )
SAL_THROW( (RuntimeException) )
css::uno::Sequence<sal_Int8> ImplHelper_getImplementationId(
SAL_UNUSED_PARAMETER class_data *) SAL_THROW((css::uno::RuntimeException))
{
if (! cd->m_createdId)
{
sal_uInt8 * id = (sal_uInt8 *)alloca( 16 );
::rtl_createUuid( (sal_uInt8 *)id, 0, sal_True );
MutexGuard guard( getImplHelperInitMutex() );
if (! cd->m_createdId)
{
memcpy( cd->m_id, id, 16 );
cd->m_createdId = sal_True;
}
}
sal_Sequence * seq = 0;
::rtl_byte_sequence_constructFromArray( &seq, cd->m_id, 16 );
return Sequence< sal_Int8 >( seq, SAL_NO_ACQUIRE );
return css::uno::Sequence<sal_Int8>();
}
Sequence< Type > SAL_CALL ImplHelper_getTypes(

View File

@@ -74,7 +74,8 @@ struct CPPUHELPER_DLLPUBLIC ClassDataBase
/** pointer to types sequence (com.sun.star.lang.XTypeProvider)
*/
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > * pTypes;
/** pointer to class id (com.sun.star.lang.XTypeProvider)
/** obsolete pointer to class id (com.sun.star.lang.XTypeProvider), will
always be null
*/
::com::sun::star::uno::Sequence< sal_Int8 > * pId;

View File

@@ -175,7 +175,7 @@ public:
{ return _aTypes; }
};
/** Helper class to implement com::sun::star::lang::XTypeProvider. Construct a static object
/** Helper class to implement IDs for XUnoTunnel. Construct a static object
of this class for your UNO object's implementation id.
*/
class CPPUHELPER_DLLPUBLIC OImplementationId
@@ -219,7 +219,7 @@ public:
: _pSeq( new ::com::sun::star::uno::Sequence< sal_Int8 >( rId.getImplementationId() ) )
{}
/** Called upon XTypeProvider::getImplementationId().
/** Get implementation id.
@return implementation id
*/