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