Kaydet (Commit) 851067c2 authored tarafından Noel Grandin's avatar Noel Grandin

fdo#46808, use constructor for datatransfer::MimeContentTypeFactory

Change-Id: I576a472e22ad0e3798f4b34d808ac320f13d3e6d
üst 2969846c
......@@ -22,7 +22,7 @@
#include <vcl/svapp.hxx>
#include <comphelper/processfactory.hxx>
#include <com/sun/star/datatransfer/XMimeContentType.hpp>
#include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp>
#include <com/sun/star/datatransfer/MimeContentTypeFactory.hpp>
namespace basctl
{
......@@ -56,21 +56,18 @@ sal_Bool DlgEdTransferableImpl::compareDataFlavors( const DataFlavor& lFlavor, c
bool bRet = false;
// compare mime content types
Reference< lang::XMultiServiceFactory > xMSF = getProcessServiceFactory();
Reference< uno::XComponentContext > xContext = getProcessComponentContext();
Reference< datatransfer::XMimeContentTypeFactory >
xMCntTypeFactory( xMSF->createInstance( "com.sun.star.datatransfer.MimeContentTypeFactory" ), UNO_QUERY );
xMCntTypeFactory = MimeContentTypeFactory::create(xContext);;
if ( xMCntTypeFactory.is( ) )
{
// compare full media types
Reference< datatransfer::XMimeContentType > xLType = xMCntTypeFactory->createMimeContentType( lFlavor.MimeType );
Reference< datatransfer::XMimeContentType > xRType = xMCntTypeFactory->createMimeContentType( rFlavor.MimeType );
// compare full media types
Reference< datatransfer::XMimeContentType > xLType = xMCntTypeFactory->createMimeContentType( lFlavor.MimeType );
Reference< datatransfer::XMimeContentType > xRType = xMCntTypeFactory->createMimeContentType( rFlavor.MimeType );
OUString aLFullMediaType = xLType->getFullMediaType();
OUString aRFullMediaType = xRType->getFullMediaType();
OUString aLFullMediaType = xLType->getFullMediaType();
OUString aRFullMediaType = xRType->getFullMediaType();
bRet = aLFullMediaType.equalsIgnoreAsciiCase( aRFullMediaType );
}
bRet = aLFullMediaType.equalsIgnoreAsciiCase( aRFullMediaType );
return bRet;
}
......
......@@ -33,6 +33,7 @@ $(eval $(call gb_Library_set_componentfile,dnd,dtrans/util/dnd))
$(eval $(call gb_Library_use_sdk_api,dnd))
$(eval $(call gb_Library_use_libraries,dnd,\
comphelper \
cppu \
cppuhelper \
sal \
......
......@@ -33,6 +33,7 @@ $(eval $(call gb_Library_set_componentfile,ftransl,dtrans/util/ftransl))
$(eval $(call gb_Library_use_sdk_api,ftransl))
$(eval $(call gb_Library_use_libraries,ftransl,\
comphelper \
cppu \
cppuhelper \
sal \
......
......@@ -38,6 +38,7 @@ $(eval $(call gb_Library_add_defs,sysdtrans,\
))
$(eval $(call gb_Library_use_libraries,sysdtrans,\
comphelper \
cppu \
cppuhelper \
sal \
......
......@@ -29,6 +29,8 @@
#include "MimeAttrib.hxx"
#include "FmtFilter.hxx"
#include "Fetc.hxx"
#include <com/sun/star/datatransfer/MimeContentTypeFactory.hpp>
#include <comphelper/processfactory.hxx>
#define STR2(x) #x
#define STR(x) STR2(x)
......@@ -491,10 +493,8 @@ sal_Bool SAL_CALL CDOTransferable::compareDataFlavors(
{
if ( !m_rXMimeCntFactory.is( ) )
{
m_rXMimeCntFactory = Reference< XMimeContentTypeFactory >( m_SrvMgr->createInstance(
OUString("com.sun.star.datatransfer.MimeContentTypeFactory") ), UNO_QUERY );
m_rXMimeCntFactory = MimeContentTypeFactory::create( comphelper::getComponentContext(m_SrvMgr) );
}
OSL_ASSERT( m_rXMimeCntFactory.is( ) );
sal_Bool bRet = sal_False;
......
......@@ -20,7 +20,7 @@
#include <osl/diagnose.h>
#include "FetcList.hxx"
#include "Fetc.hxx"
#include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp>
#include <com/sun/star/datatransfer/MimeContentTypeFactory.hpp>
#include <com/sun/star/datatransfer/XMimeContentType.hpp>
#include "DataFmtTransl.hxx"
......@@ -165,11 +165,11 @@ sal_Bool SAL_CALL CFormatEtcContainer::skipFormatEtc( sal_uInt32 aNum )
//
//------------------------------------------------------------------------
CFormatRegistrar::CFormatRegistrar( const Reference< XMultiServiceFactory >& ServiceManager,
CFormatRegistrar::CFormatRegistrar( const Reference< XComponentContext >& rxContext,
const CDataFormatTranslator& aDataFormatTranslator ) :
m_DataFormatTranslator( aDataFormatTranslator ),
m_bHasSynthesizedLocale( sal_False ),
m_SrvMgr( ServiceManager )
m_xContext( rxContext )
{
}
......@@ -346,17 +346,14 @@ OUString SAL_CALL CFormatRegistrar::getCharsetFromDataFlavor( const DataFlavor&
try
{
Reference< XMimeContentTypeFactory > xMimeFac(
m_SrvMgr->createInstance( OUString( "com.sun.star.datatransfer.MimeContentTypeFactory" ) ), UNO_QUERY );
Reference< XMimeContentTypeFactory > xMimeFac =
MimeContentTypeFactory::create(m_xContext);
if( xMimeFac.is( ) )
{
Reference< XMimeContentType > xMimeType( xMimeFac->createMimeContentType( aFlavor.MimeType ) );
if ( xMimeType->hasParameter( TEXTPLAIN_PARAM_CHARSET ) )
charset = xMimeType->getParameterValue( TEXTPLAIN_PARAM_CHARSET );
else
charset = getMimeCharsetFromWinCP( GetACP( ), PRE_WINDOWS_CODEPAGE );
}
Reference< XMimeContentType > xMimeType( xMimeFac->createMimeContentType( aFlavor.MimeType ) );
if ( xMimeType->hasParameter( TEXTPLAIN_PARAM_CHARSET ) )
charset = xMimeType->getParameterValue( TEXTPLAIN_PARAM_CHARSET );
else
charset = getMimeCharsetFromWinCP( GetACP( ), PRE_WINDOWS_CODEPAGE );
}
catch(NoSuchElementException&)
{
......
......@@ -23,7 +23,7 @@
#include <sal/types.h>
#include <com/sun/star/datatransfer/XTransferable.hpp>
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include "Fetc.hxx"
#if defined _MSC_VER
......@@ -97,7 +97,7 @@ class CDataFormatTranslator;
class CFormatRegistrar
{
public:
CFormatRegistrar( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& ServiceManager,
CFormatRegistrar( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext,
const CDataFormatTranslator& aDataFormatTranslator );
void SAL_CALL RegisterFormats( const com::sun::star::uno::Reference< com::sun::star::datatransfer::XTransferable >& aXTransferable,
......@@ -131,7 +131,7 @@ private:
sal_Bool m_bHasSynthesizedLocale;
com::sun::star::datatransfer::DataFlavor m_RegisteredTextFlavor;
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_SrvMgr;
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
static LCID m_TxtLocale;
static sal_uInt32 m_TxtCodePage;
......
......@@ -26,6 +26,7 @@
#include "TxtCnvtHlp.hxx"
#include <com/sun/star/datatransfer/clipboard/XClipboardEx.hpp>
#include "FmtFilter.hxx"
#include <comphelper/processfactory.hxx>
#if defined _MSC_VER
#pragma warning(push,1)
......@@ -77,7 +78,7 @@ CXTDataObject::CXTDataObject( const Reference< XMultiServiceFactory >& aServiceM
, m_XTransferable( aXTransferable )
, m_bFormatEtcContainerInitialized( sal_False )
, m_DataFormatTranslator( aServiceManager )
, m_FormatRegistrar( m_SrvMgr, m_DataFormatTranslator )
, m_FormatRegistrar( comphelper::getComponentContext(m_SrvMgr), m_DataFormatTranslator )
{
}
......
......@@ -21,6 +21,8 @@
#include "ftransl.hxx"
#include <com/sun/star/datatransfer/XMimeContentType.hpp>
#include <com/sun/star/datatransfer/MimeContentTypeFactory.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include "../misc/ImplHelper.hxx"
#if defined _MSC_VER
......@@ -107,8 +109,8 @@ FormatEntry::FormatEntry(
// ctor
//------------------------------------------------------------------------
CDataFormatTranslator::CDataFormatTranslator( const Reference< XMultiServiceFactory >& rSrvMgr ) :
m_SrvMgr( rSrvMgr )
CDataFormatTranslator::CDataFormatTranslator( const Reference< XComponentContext >& rxContext ) :
m_xContext( rxContext )
{
initTranslationTable( );
}
......@@ -124,11 +126,7 @@ Any SAL_CALL CDataFormatTranslator::getSystemDataTypeFromDataFlavor( const DataF
try
{
Reference< XMimeContentTypeFactory > refXMimeCntFactory( m_SrvMgr->createInstance(
"com.sun.star.datatransfer.MimeContentTypeFactory" ), UNO_QUERY );
if ( !refXMimeCntFactory.is( ) )
throw RuntimeException( );
Reference< XMimeContentTypeFactory > refXMimeCntFactory = MimeContentTypeFactory::create( m_xContext );
Reference< XMimeContentType >
refXMimeCntType( refXMimeCntFactory->createMimeContentType( aDataFlavor.MimeType ) );
......
......@@ -27,6 +27,7 @@
#include <com/sun/star/lang/XServiceInfo.hpp>
#include <com/sun/star/datatransfer/XDataFormatTranslator.hpp>
#include <com/sun/star/datatransfer/XMimeContentTypeFactory.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
#include "../misc/WinClip.hxx"
#include <vector>
......@@ -66,7 +67,7 @@ class CDataFormatTranslator : public
{
public:
CDataFormatTranslator( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& rSrvMgr );
CDataFormatTranslator( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >& rxContext );
//------------------------------------------------
// XDataFormatTranslator
......@@ -108,7 +109,7 @@ private:
private:
std::vector< FormatEntry > m_TranslTable;
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_SrvMgr;
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > m_xContext;
};
......
......@@ -18,6 +18,7 @@
*/
#include <cppuhelper/factory.hxx>
#include <comphelper/processfactory.hxx>
#include <com/sun/star/container/XSet.hpp>
#include <osl/diagnose.h>
......@@ -60,7 +61,7 @@ namespace
Reference< XInterface > SAL_CALL createInstance( const Reference< XMultiServiceFactory >& rServiceManager )
{
return Reference< XInterface >( static_cast< XDataFormatTranslator* >( new CDataFormatTranslator( rServiceManager ) ) );
return Reference< XInterface >( static_cast< XDataFormatTranslator* >( new CDataFormatTranslator( comphelper::getComponentContext(rServiceManager) ) ) );
}
}
......
......@@ -22,7 +22,7 @@
#include "PictToBmpFlt.hxx"
#include "com/sun/star/datatransfer/UnsupportedFlavorException.hpp"
#include "com/sun/star/datatransfer/XMimeContentType.hpp"
#include "com/sun/star/lang/XMultiServiceFactory.hpp"
#include "com/sun/star/datatransfer/MimeContentTypeFactory.hpp"
#include "com/sun/star/uno/Sequence.hxx"
#include "comphelper/processfactory.hxx"
......@@ -498,12 +498,8 @@ Any FileListDataProvider::getOOoData()
DataFlavorMapper::DataFlavorMapper()
{
Reference<XMultiServiceFactory> mrServiceManager = comphelper::getProcessServiceFactory();
mrXMimeCntFactory = Reference<XMimeContentTypeFactory>(mrServiceManager->createInstance(
OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.datatransfer.MimeContentTypeFactory"))), UNO_QUERY);
if (!mrXMimeCntFactory.is())
throw RuntimeException(OUString(RTL_CONSTASCII_USTRINGPARAM("AquaClipboard: Cannot create com.sun.star.datatransfer.MimeContentTypeFactory")), NULL);
Reference<XComponentContext> xContext = comphelper::getProcessComponentContext();
mrXMimeCntFactory = MimeContentTypeFactory::create( xContext );
}
DataFlavor DataFlavorMapper::systemToOpenOfficeFlavor(NSString* systemDataFlavor) const
......
......@@ -21,7 +21,7 @@
#include "DataFlavorMapping.hxx"
#include "OSXTransferable.hxx"
#include <com/sun/star/datatransfer/MimeContentTypeFactory.hpp>
#include "comphelper/makesequence.hxx"
#include "comphelper/processfactory.hxx"
......@@ -85,17 +85,9 @@ AquaClipboard::AquaClipboard(NSPasteboard* pasteboard, bool bUseSystemPasteboard
WeakComponentImplHelper3<XSystemClipboard, XFlushableClipboard, XServiceInfo>(m_aMutex),
mIsSystemPasteboard(bUseSystemPasteboard)
{
Reference<XMultiServiceFactory> mrServiceMgr = comphelper::getProcessServiceFactory();
mrXMimeCntFactory = Reference<XMimeContentTypeFactory>(mrServiceMgr->createInstance(
OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.datatransfer.MimeContentTypeFactory"))), UNO_QUERY);
Reference<XComponentContext> xContext = comphelper::getProcessComponentContext();
if (!mrXMimeCntFactory.is())
{
throw RuntimeException(OUString(
RTL_CONSTASCII_USTRINGPARAM("AquaClipboard: Cannot create com.sun.star.datatransfer.MimeContentTypeFactory")),
static_cast<XClipboardEx*>(this));
}
mrXMimeCntFactory = MimeContentTypeFactory::create(xContext);
mpDataFlavorMapper = DataFlavorMapperPtr_t(new DataFlavorMapper());
......
......@@ -20,7 +20,7 @@
#include "ios_clipboard.hxx"
#include "iOSTransferable.hxx"
#include <com/sun/star/datatransfer/MimeContentTypeFactory.hpp>
#include "comphelper/makesequence.hxx"
#include "comphelper/processfactory.hxx"
......@@ -84,17 +84,10 @@ IosClipboard::IosClipboard(UIPasteboard* pasteboard, bool bUseSystemPasteboard)
WeakComponentImplHelper3<XSystemClipboard, XFlushableClipboard, XServiceInfo>(m_aMutex),
mIsSystemPasteboard(bUseSystemPasteboard)
{
Reference<XMultiServiceFactory> mrServiceMgr = comphelper::getProcessServiceFactory();
Reference<XComponentContext> xContext = comphelper::getProcessComponentContext();
mrXMimeCntFactory = Reference<XMimeContentTypeFactory>(mrServiceMgr->createInstance(
OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.datatransfer.MimeContentTypeFactory"))), UNO_QUERY);
mrXMimeCntFactory = MimeContentTypeFactory::create(xContext);
if (!mrXMimeCntFactory.is())
{
throw RuntimeException(OUString(
RTL_CONSTASCII_USTRINGPARAM("IosClipboard: Cannot create com.sun.star.datatransfer.MimeContentTypeFactory")),
static_cast<XClipboardEx*>(this));
}
#if 0 // ???
mpDataFlavorMapper = DataFlavorMapperPtr_t(new DataFlavorMapper());
#endif
......
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