summaryrefslogtreecommitdiff
path: root/svtools/source/filter/filter.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'svtools/source/filter/filter.cxx')
-rw-r--r--svtools/source/filter/filter.cxx90
1 files changed, 41 insertions, 49 deletions
diff --git a/svtools/source/filter/filter.cxx b/svtools/source/filter/filter.cxx
index 78d97cc25c5c..eb4d4a57ce75 100644
--- a/svtools/source/filter/filter.cxx
+++ b/svtools/source/filter/filter.cxx
@@ -1,3 +1,4 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
@@ -31,7 +32,7 @@
#if defined UNX && defined ALPHA
#include <fstream.hxx>
#endif
-#include <vos/mutex.hxx>
+#include <osl/mutex.hxx>
#include <comphelper/processfactory.hxx>
#include <ucbhelper/content.hxx>
#include <cppuhelper/implbase1.hxx>
@@ -61,9 +62,7 @@
#include <com/sun/star/uno/XInterface.hpp>
#include <com/sun/star/uno/XWeak.hpp>
#include <com/sun/star/uno/XAggregation.hpp>
-#ifndef _COM_SUN_STAR_UNO_XTYPEPROVIDER_HPP_
#include <com/sun/star/lang/XTypeProvider.hpp>
-#endif
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
#include <com/sun/star/io/XActiveDataSource.hpp>
#include <com/sun/star/io/XOutputStream.hpp>
@@ -80,23 +79,11 @@
#define PMGCHUNG_msOG 0x6d734f47 // Microsoft Office Animated GIF
-#if (defined OS2 && !defined ICC)
-
-#define IMPORT_FUNCTION_NAME "_GraphicImport"
-#define EXPORT_FUNCTION_NAME "_GraphicExport"
-#define IMPDLG_FUNCTION_NAME "_DoImportDialog"
-#define EXPDLG_FUNCTION_NAME "_DoExportDialog"
-
-#else
-
#define IMPORT_FUNCTION_NAME "GraphicImport"
#define EXPORT_FUNCTION_NAME "GraphicExport"
#define IMPDLG_FUNCTION_NAME "DoImportDialog"
#define EXPDLG_FUNCTION_NAME "DoExportDialog"
-#endif
-
-
// -----------
// - statics -
// -----------
@@ -112,8 +99,6 @@ static ::osl::Mutex& getListMutex()
return s_aListProtection;
}
-static GraphicFilter* pGraphicFilter=0;
-
// -------------------------
// - ImpFilterOutputStream -
// -------------------------
@@ -146,11 +131,11 @@ sal_Bool ImplDirEntryHelper::Exists( const INetURLObject& rObj )
bExists = aCnt.isDocument();
}
- catch( ::com::sun::star::ucb::CommandAbortedException& )
+ catch(const ::com::sun::star::ucb::CommandAbortedException&)
{
DBG_ERRORFILE( "CommandAbortedException" );
}
- catch( ::com::sun::star::ucb::ContentCreationException& )
+ catch(const ::com::sun::star::ucb::ContentCreationException&)
{
DBG_ERRORFILE( "ContentCreationException" );
}
@@ -170,10 +155,10 @@ void ImplDirEntryHelper::Kill( const String& rMainUrl )
::ucbhelper::Content aCnt( rMainUrl,
::com::sun::star::uno::Reference< ::com::sun::star::ucb::XCommandEnvironment >() );
- aCnt.executeCommand( ::rtl::OUString::createFromAscii( "delete" ),
+ aCnt.executeCommand( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "delete" )),
::com::sun::star::uno::makeAny( sal_Bool( sal_True ) ) );
}
- catch( ::com::sun::star::ucb::CommandAbortedException& )
+ catch(const ::com::sun::star::ucb::CommandAbortedException&)
{
DBG_ERRORFILE( "CommandAbortedException" );
}
@@ -244,9 +229,6 @@ inline String ImpGetExtension( const String &rPath )
|* dem Format ist, ODER WENN DAS FORMAT
|* DIESER FUNKTION NICHT BEKANNT IST!
|*
-|* Ersterstellung OH 26.05.95
-|* Letzte Aenderung OH 07.08.95
-|*
*************************************************************************/
static sal_Bool ImpPeekGraphicFormat( SvStream& rStream, String& rFormatExtension, sal_Bool bTest )
@@ -1055,7 +1037,6 @@ GraphicFilter::~GraphicFilter()
}
}
-
delete pErrorEx;
}
@@ -1323,16 +1304,17 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const INetURLObject&
}
sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath, SvStream& rIStream,
- sal_uInt16 nFormat, sal_uInt16* pDeterminedFormat, sal_uInt32 nImportFlags )
+ sal_uInt16 nFormat, sal_uInt16* pDeterminedFormat, sal_uInt32 nImportFlags, WMF_APMFILEHEADER *pAPMHeader )
{
- return ImportGraphic( rGraphic, rPath, rIStream, nFormat, pDeterminedFormat, nImportFlags, NULL );
+ return ImportGraphic( rGraphic, rPath, rIStream, nFormat, pDeterminedFormat, nImportFlags, NULL, pAPMHeader );
}
//-------------------------------------------------------------------------
sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath, SvStream& rIStream,
sal_uInt16 nFormat, sal_uInt16* pDeterminedFormat, sal_uInt32 nImportFlags,
- com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData )
+ com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue >* pFilterData,
+ WMF_APMFILEHEADER *pAPMHeader )
{
String aFilterName;
sal_uLong nStmBegin;
@@ -1354,7 +1336,7 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath,
sal_Int32 i;
for ( i = 0; i < pFilterData->getLength(); i++ )
{
- if ( (*pFilterData)[ i ].Name.equalsAscii( "PreviewSizeHint" ) )
+ if ( (*pFilterData)[ i ].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("PreviewSizeHint")) )
{
awt::Size aSize;
if ( (*pFilterData)[ i ].Value >>= aSize )
@@ -1366,7 +1348,7 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath,
nImportFlags &=~GRFILTER_I_FLAGS_FOR_PREVIEW;
}
}
- else if ( (*pFilterData)[ i ].Name.equalsAscii( "AllowPartialStreamRead" ) )
+ else if ( (*pFilterData)[ i ].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("AllowPartialStreamRead")) )
{
(*pFilterData)[ i ].Value >>= bAllowPartialStreamRead;
if ( bAllowPartialStreamRead )
@@ -1374,7 +1356,7 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath,
else
nImportFlags &=~GRFILTER_I_FLAGS_ALLOW_PARTIAL_STREAMREAD;
}
- else if ( (*pFilterData)[ i ].Name.equalsAscii( "CreateNativeLink" ) )
+ else if ( (*pFilterData)[ i ].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("CreateNativeLink")) )
{
(*pFilterData)[ i ].Value >>= bCreateNativeLink;
}
@@ -1470,7 +1452,7 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath,
break;
}
}
- aIter++;
+ ++aIter;
}
}
@@ -1509,7 +1491,7 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath,
vcl::SVGReader aSVGReader( rIStream );
GDIMetaFile aSVGMtf;
- if( 0 == aSVGReader.Read( aSVGMtf ).GetActionCount() )
+ if( 0 == aSVGReader.Read( aSVGMtf ).GetActionSize() )
nStatus = GRFILTER_FILTERERROR;
else
rGraphic = Graphic( aSVGMtf );
@@ -1550,7 +1532,7 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath,
aFilterName.EqualsIgnoreCaseAscii( IMP_EMF ) )
{
GDIMetaFile aMtf;
- if( !ConvertWMFToGDIMetaFile( rIStream, aMtf, NULL ) )
+ if( !ConvertWMFToGDIMetaFile( rIStream, aMtf, NULL, pAPMHeader ) )
nStatus = GRFILTER_FORMATERROR;
else
{
@@ -1683,7 +1665,7 @@ sal_uInt16 GraphicFilter::ImportGraphic( Graphic& rGraphic, const String& rPath,
{
pBuf = new sal_uInt8[ nBufSize ];
}
- catch (std::bad_alloc)
+ catch (const std::bad_alloc&)
{
nStatus = GRFILTER_TOOBIG;
}
@@ -1932,7 +1914,7 @@ sal_uInt16 GraphicFilter::ExportGraphic( const Graphic& rGraphic, const String&
sal_Int32 k, j, i = 0;
for ( i = 0; i < pFilterData->getLength(); i++ )
{
- if ( (*pFilterData)[ i ].Name.equalsAscii( "AdditionalChunks" ) )
+ if ( (*pFilterData)[ i ].Name.equalsAsciiL(RTL_CONSTASCII_STRINGPARAM("AdditionalChunks")) )
{
com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > aAdditionalChunkSequence;
if ( (*pFilterData)[ i ].Value >>= aAdditionalChunkSequence )
@@ -2010,10 +1992,10 @@ sal_uInt16 GraphicFilter::ExportGraphic( const Graphic& rGraphic, const String&
if( xMgr.is() )
{
::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XDocumentHandler > xSaxWriter( xMgr->createInstance(
- ::rtl::OUString::createFromAscii( "com.sun.star.xml.sax.Writer" ) ), ::com::sun::star::uno::UNO_QUERY );
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.sax.Writer" )) ), ::com::sun::star::uno::UNO_QUERY );
::com::sun::star::uno::Reference< ::com::sun::star::svg::XSVGWriter > xSVGWriter( xMgr->createInstance(
- ::rtl::OUString::createFromAscii( "com.sun.star.svg.SVGWriter" ) ), ::com::sun::star::uno::UNO_QUERY );
+ ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.svg.SVGWriter" )) ), ::com::sun::star::uno::UNO_QUERY );
if( xSaxWriter.is() && xSVGWriter.is() )
{
@@ -2038,7 +2020,7 @@ sal_uInt16 GraphicFilter::ExportGraphic( const Graphic& rGraphic, const String&
}
}
}
- catch( ::com::sun::star::uno::Exception& )
+ catch(const ::com::sun::star::uno::Exception&)
{
nStatus = GRFILTER_IOERROR;
}
@@ -2123,7 +2105,7 @@ sal_Bool GraphicFilter::DoExportDialog( Window*, sal_uInt16 nFormat, FieldUnit )
xSMgr( ::comphelper::getProcessServiceFactory() );
uno::Reference< com::sun::star::uno::XInterface > xFilterOptionsDialog
- ( xSMgr->createInstance( rtl::OUString::createFromAscii( "com.sun.star.svtools.SvFilterOptionsDialog" ) ),
+ ( xSMgr->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.svtools.SvFilterOptionsDialog" )) ),
com::sun::star::uno::UNO_QUERY );
if ( xFilterOptionsDialog.is() )
{
@@ -2209,16 +2191,24 @@ IMPL_LINK( GraphicFilter, FilterCallback, ConvertData*, pData )
return nRet;
}
-// ------------------------------------------------------------------------
-
-GraphicFilter* GraphicFilter::GetGraphicFilter()
+namespace
{
- if( !pGraphicFilter )
+ class StandardGraphicFilter
{
- pGraphicFilter = new GraphicFilter;
- pGraphicFilter->GetImportFormatCount();
- }
- return pGraphicFilter;
+ public:
+ StandardGraphicFilter()
+ {
+ m_aFilter.GetImportFormatCount();
+ }
+ GraphicFilter m_aFilter;
+ };
+
+ class theGraphicFilter : public rtl::Static<StandardGraphicFilter, theGraphicFilter> {};
+}
+
+GraphicFilter& GraphicFilter::GetGraphicFilter()
+{
+ return theGraphicFilter::get().m_aFilter;
}
int GraphicFilter::LoadGraphic( const String &rPath, const String &rFilterName,
@@ -2226,7 +2216,7 @@ int GraphicFilter::LoadGraphic( const String &rPath, const String &rFilterName,
sal_uInt16* pDeterminedFormat )
{
if ( !pFilter )
- pFilter = GetGraphicFilter();
+ pFilter = &GetGraphicFilter();
const sal_uInt16 nFilter = rFilterName.Len() && pFilter->GetImportFormatCount()
? pFilter->GetImportFormatNumber( rFilterName )
@@ -2258,3 +2248,5 @@ int GraphicFilter::LoadGraphic( const String &rPath, const String &rFilterName,
return nRes;
}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */