summaryrefslogtreecommitdiff
path: root/comphelper/source/misc/storagehelper.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'comphelper/source/misc/storagehelper.cxx')
-rw-r--r--comphelper/source/misc/storagehelper.cxx511
1 files changed, 246 insertions, 265 deletions
diff --git a/comphelper/source/misc/storagehelper.cxx b/comphelper/source/misc/storagehelper.cxx
index d43e68943855..a339589aa02e 100644
--- a/comphelper/source/misc/storagehelper.cxx
+++ b/comphelper/source/misc/storagehelper.cxx
@@ -40,177 +40,177 @@
#include <comphelper/storagehelper.hxx>
+using namespace com::sun::star::io;
+using namespace com::sun::star::uno;
+using namespace com::sun::star::lang;
+using namespace com::sun::star::embed;
+using namespace com::sun::star::beans;
+using namespace com::sun::star::ucb;
+using namespace com::sun::star::xml::crypto;
-using namespace ::com::sun::star;
+using rtl::OUString;
+using rtl::OString;
namespace comphelper {
-// ----------------------------------------------------------------------
-uno::Reference< lang::XSingleServiceFactory > OStorageHelper::GetStorageFactory(
- const uno::Reference< lang::XMultiServiceFactory >& xSF )
- throw ( uno::Exception )
+Reference< XSingleServiceFactory >
+ OStorageHelper::GetStorageFactory(const Reference< XMultiServiceFactory >& xSF )
+ throw ( Exception )
{
- uno::Reference< lang::XMultiServiceFactory > xFactory = xSF.is() ? xSF : ::comphelper::getProcessServiceFactory();
+ Reference< XMultiServiceFactory > xFactory = xSF.is() ? xSF : ::comphelper::getProcessServiceFactory();
if ( !xFactory.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
- rtl::OUString sService(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.embed.StorageFactory"));
+ OUString sService(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.embed.StorageFactory"));
- uno::Reference < lang::XSingleServiceFactory > xStorageFactory(
- xFactory->createInstance(sService), uno::UNO_QUERY);
+ Reference < XSingleServiceFactory > xStorageFactory(
+ xFactory->createInstance(sService), UNO_QUERY);
if ( !xStorageFactory.is() )
{
- throw uno::RuntimeException(rtl::OUString(
+ throw RuntimeException(OUString(
RTL_CONSTASCII_USTRINGPARAM("Could not load: ")) + sService,
- uno::Reference< uno::XInterface >());
+ Reference< XInterface >());
}
return xStorageFactory;
}
-// ----------------------------------------------------------------------
-uno::Reference< lang::XSingleServiceFactory > OStorageHelper::GetFileSystemStorageFactory(
- const uno::Reference< lang::XMultiServiceFactory >& xSF )
- throw ( uno::Exception )
+Reference< XSingleServiceFactory > OStorageHelper::GetFileSystemStorageFactory(
+ const Reference< XMultiServiceFactory >& xSF )
+ throw ( Exception )
{
- uno::Reference< lang::XMultiServiceFactory > xFactory = xSF.is() ? xSF : ::comphelper::getProcessServiceFactory();
+ Reference< XMultiServiceFactory > xFactory = xSF.is() ? xSF : ::comphelper::getProcessServiceFactory();
if ( !xFactory.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
- rtl::OUString sService(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.embed.FileSystemStorageFactory"));
+ OUString sService(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.embed.FileSystemStorageFactory"));
- uno::Reference < lang::XSingleServiceFactory > xStorageFactory(
- xFactory->createInstance(sService), uno::UNO_QUERY);
+ Reference < XSingleServiceFactory > xStorageFactory(
+ xFactory->createInstance(sService), UNO_QUERY);
if ( !xStorageFactory.is() )
{
- throw uno::RuntimeException(rtl::OUString(
+ throw RuntimeException(OUString(
RTL_CONSTASCII_USTRINGPARAM("Could not load: ")) + sService,
- uno::Reference< uno::XInterface >());
+ Reference< XInterface >());
}
return xStorageFactory;
}
-// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetTemporaryStorage(
- const uno::Reference< lang::XMultiServiceFactory >& xFactory )
- throw ( uno::Exception )
+Reference< XStorage > OStorageHelper::GetTemporaryStorage(
+ const Reference< XMultiServiceFactory >& xFactory )
+ throw ( Exception )
{
- uno::Reference< embed::XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstance(),
- uno::UNO_QUERY );
+ Reference< XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstance(),
+ UNO_QUERY );
if ( !xTempStorage.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xTempStorage;
}
-// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetStorageFromURL(
- const ::rtl::OUString& aURL,
+Reference< XStorage > OStorageHelper::GetStorageFromURL(
+ const OUString& aURL,
sal_Int32 nStorageMode,
- const uno::Reference< lang::XMultiServiceFactory >& xFactory )
- throw ( uno::Exception )
+ const Reference< XMultiServiceFactory >& xFactory )
+ throw ( Exception )
{
- uno::Sequence< uno::Any > aArgs( 2 );
+ Sequence< Any > aArgs( 2 );
aArgs[0] <<= aURL;
aArgs[1] <<= nStorageMode;
- uno::Reference< embed::XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ),
- uno::UNO_QUERY );
+ Reference< XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ),
+ UNO_QUERY );
if ( !xTempStorage.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xTempStorage;
}
-// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetStorageFromURL2(
- const ::rtl::OUString& aURL,
+Reference< XStorage > OStorageHelper::GetStorageFromURL2(
+ const OUString& aURL,
sal_Int32 nStorageMode,
- const uno::Reference< lang::XMultiServiceFactory >& xFactory )
- throw ( uno::Exception )
+ const Reference< XMultiServiceFactory >& xFactory )
+ throw ( Exception )
{
- uno::Sequence< uno::Any > aArgs( 2 );
+ Sequence< Any > aArgs( 2 );
aArgs[0] <<= aURL;
aArgs[1] <<= nStorageMode;
- uno::Reference< lang::XSingleServiceFactory > xFact;
+ Reference< XSingleServiceFactory > xFact;
try {
- ::ucbhelper::Content aCntnt( aURL,
- uno::Reference< ::com::sun::star::ucb::XCommandEnvironment > () );
- if (aCntnt.isDocument()) {
+ ::ucbhelper::Content aCntnt( aURL, Reference< XCommandEnvironment > () );
+ if (aCntnt.isDocument())
+ {
xFact = GetStorageFactory( xFactory );
- } else {
+ }
+ else
+ {
xFact = GetFileSystemStorageFactory( xFactory );
}
- } catch (uno::Exception &) { }
+ } catch (Exception &)
+ { }
- if (!xFact.is()) throw uno::RuntimeException();
+ if (!xFact.is()) throw RuntimeException();
- uno::Reference< embed::XStorage > xTempStorage(
- xFact->createInstanceWithArguments( aArgs ), uno::UNO_QUERY );
+ Reference< XStorage > xTempStorage( xFact->createInstanceWithArguments( aArgs ), UNO_QUERY );
if ( !xTempStorage.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xTempStorage;
}
-// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetStorageFromInputStream(
- const uno::Reference < io::XInputStream >& xStream,
- const uno::Reference< lang::XMultiServiceFactory >& xFactory )
- throw ( uno::Exception )
+Reference< XStorage > OStorageHelper::GetStorageFromInputStream(
+ const Reference < XInputStream >& xStream,
+ const Reference< XMultiServiceFactory >& xFactory )
+ throw ( Exception )
{
- uno::Sequence< uno::Any > aArgs( 2 );
+ Sequence< Any > aArgs( 2 );
aArgs[0] <<= xStream;
- aArgs[1] <<= embed::ElementModes::READ;
+ aArgs[1] <<= ElementModes::READ;
- uno::Reference< embed::XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ),
- uno::UNO_QUERY );
+ Reference< XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ), UNO_QUERY );
if ( !xTempStorage.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xTempStorage;
}
-// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetStorageFromStream(
- const uno::Reference < io::XStream >& xStream,
+Reference< XStorage > OStorageHelper::GetStorageFromStream(
+ const Reference < XStream >& xStream,
sal_Int32 nStorageMode,
- const uno::Reference< lang::XMultiServiceFactory >& xFactory )
- throw ( uno::Exception )
+ const Reference< XMultiServiceFactory >& xFactory )
+ throw ( Exception )
{
- uno::Sequence< uno::Any > aArgs( 2 );
+ Sequence< Any > aArgs( 2 );
aArgs[0] <<= xStream;
aArgs[1] <<= nStorageMode;
- uno::Reference< embed::XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ),
- uno::UNO_QUERY );
+ Reference< XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ), UNO_QUERY );
if ( !xTempStorage.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xTempStorage;
}
-// ----------------------------------------------------------------------
void OStorageHelper::CopyInputToOutput(
- const uno::Reference< io::XInputStream >& xInput,
- const uno::Reference< io::XOutputStream >& xOutput )
- throw ( uno::Exception )
+ const Reference< XInputStream >& xInput,
+ const Reference< XOutputStream >& xOutput )
+ throw ( Exception )
{
static const sal_Int32 nConstBufferSize = 32000;
sal_Int32 nRead;
- uno::Sequence < sal_Int8 > aSequence ( nConstBufferSize );
+ Sequence < sal_Int8 > aSequence ( nConstBufferSize );
do
{
nRead = xInput->readBytes ( aSequence, nConstBufferSize );
if ( nRead < nConstBufferSize )
{
- uno::Sequence < sal_Int8 > aTempBuf ( aSequence.getConstArray(), nRead );
+ Sequence < sal_Int8 > aTempBuf ( aSequence.getConstArray(), nRead );
xOutput->writeBytes ( aTempBuf );
}
else
@@ -219,223 +219,211 @@ void OStorageHelper::CopyInputToOutput(
while ( nRead == nConstBufferSize );
}
-// ----------------------------------------------------------------------
-uno::Reference< io::XInputStream > OStorageHelper::GetInputStreamFromURL(
- const ::rtl::OUString& aURL,
- const uno::Reference< lang::XMultiServiceFactory >& xSF )
- throw ( uno::Exception )
+Reference< XInputStream > OStorageHelper::GetInputStreamFromURL(
+ const OUString& aURL,
+ const Reference< XMultiServiceFactory >& xSF )
+ throw ( Exception )
{
- uno::Reference< lang::XMultiServiceFactory > xFactory = xSF.is() ? xSF : ::comphelper::getProcessServiceFactory();
+ Reference< XMultiServiceFactory > xFactory = xSF.is() ? xSF : ::comphelper::getProcessServiceFactory();
if ( !xFactory.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
- uno::Reference < ::com::sun::star::ucb::XSimpleFileAccess > xTempAccess(
- xFactory->createInstance ( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ucb.SimpleFileAccess" )) ),
- uno::UNO_QUERY );
+ Reference < XSimpleFileAccess > xTempAccess(
+ xFactory->createInstance ( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.ucb.SimpleFileAccess" )) ),
+ UNO_QUERY );
if ( !xTempAccess.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
- uno::Reference< io::XInputStream > xInputStream = xTempAccess->openFileRead( aURL );
+ Reference< XInputStream > xInputStream = xTempAccess->openFileRead( aURL );
if ( !xInputStream.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xInputStream;
}
-// ----------------------------------------------------------------------
void OStorageHelper::SetCommonStorageEncryptionData(
- const uno::Reference< embed::XStorage >& xStorage,
- const uno::Sequence< beans::NamedValue >& aEncryptionData )
- throw ( uno::Exception )
+ const Reference< XStorage >& xStorage,
+ const Sequence< NamedValue >& aEncryptionData )
+ throw ( Exception )
{
- uno::Reference< embed::XEncryptionProtectedSource2 > xEncrSet( xStorage, uno::UNO_QUERY );
+ Reference< XEncryptionProtectedSource2 > xEncrSet( xStorage, UNO_QUERY );
if ( !xEncrSet.is() )
- throw io::IOException(); // TODO
+ throw IOException(); // TODO
xEncrSet->setEncryptionData( aEncryptionData );
}
-// ----------------------------------------------------------------------
sal_Int32 OStorageHelper::GetXStorageFormat(
- const uno::Reference< embed::XStorage >& xStorage )
- throw ( uno::Exception )
+ const Reference< XStorage >& xStorage )
+ throw ( Exception )
{
- uno::Reference< beans::XPropertySet > xStorProps( xStorage, uno::UNO_QUERY_THROW );
+ Reference< XPropertySet > xStorProps( xStorage, UNO_QUERY_THROW );
- ::rtl::OUString aMediaType;
- xStorProps->getPropertyValue( ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "MediaType" )) ) >>= aMediaType;
+ OUString aMediaType;
+ xStorProps->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM( "MediaType" )) ) >>= aMediaType;
sal_Int32 nResult = 0;
// TODO/LATER: the filter configuration could be used to detect it later, or batter a special service
- if (
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_WRITER_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_WRITER_WEB_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_WRITER_GLOBAL_ASCII) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_DRAW_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_IMPRESS_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_CALC_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_CHART_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_MATH_ASCII )
- )
+ if ( aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_WRITER_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_WRITER_WEB_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_WRITER_GLOBAL_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_DRAW_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_IMPRESS_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_CALC_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_CHART_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_VND_SUN_XML_MATH_ASCII ) )
{
nResult = SOFFICE_FILEFORMAT_60;
}
- else
- if (
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_TEXT_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_TEXT_WEB_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_TEXT_GLOBAL_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_DRAWING_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_PRESENTATION_ASCII) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_CHART_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_FORMULA_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_DATABASE_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_REPORT_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_REPORT_CHART_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_TEXT_TEMPLATE_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_DRAWING_TEMPLATE_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_PRESENTATION_TEMPLATE_ASCII) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET_TEMPLATE_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_CHART_TEMPLATE_ASCII ) ||
- aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_FORMULA_TEMPLATE_ASCII )
- )
+ else if ( aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_TEXT_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_TEXT_WEB_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_TEXT_GLOBAL_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_DRAWING_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_PRESENTATION_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_CHART_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_FORMULA_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_DATABASE_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_REPORT_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_REPORT_CHART_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_TEXT_TEMPLATE_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_DRAWING_TEMPLATE_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_PRESENTATION_TEMPLATE_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_SPREADSHEET_TEMPLATE_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_CHART_TEMPLATE_ASCII )
+ || aMediaType.equalsIgnoreAsciiCaseAscii(MIMETYPE_OASIS_OPENDOCUMENT_FORMULA_TEMPLATE_ASCII ) )
{
nResult = SOFFICE_FILEFORMAT_8;
}
else
{
// the mediatype is not known
- throw beans::IllegalTypeException();
+ throw IllegalTypeException();
}
return nResult;
}
-// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetStorageOfFormatFromURL(
- const ::rtl::OUString& aFormat,
- const ::rtl::OUString& aURL,
+Reference< XStorage > OStorageHelper::GetStorageOfFormatFromURL(
+ const OUString& aFormat,
+ const OUString& aURL,
sal_Int32 nStorageMode,
- const uno::Reference< lang::XMultiServiceFactory >& xFactory,
+ const Reference< XMultiServiceFactory >& xFactory,
sal_Bool bRepairStorage )
- throw ( uno::Exception )
+ throw ( Exception )
{
- uno::Sequence< beans::PropertyValue > aProps( 1 );
- aProps[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "StorageFormat" ) );
+ Sequence< PropertyValue > aProps( 1 );
+ aProps[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "StorageFormat" ) );
aProps[0].Value <<= aFormat;
+
if ( bRepairStorage )
{
aProps.realloc( 2 );
- aProps[1].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RepairPackage" ) );
+ aProps[1].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "RepairPackage" ) );
aProps[1].Value <<= bRepairStorage;
}
- uno::Sequence< uno::Any > aArgs( 3 );
+ Sequence< Any > aArgs( 3 );
aArgs[0] <<= aURL;
aArgs[1] <<= nStorageMode;
aArgs[2] <<= aProps;
- uno::Reference< embed::XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ),
- uno::UNO_QUERY );
+ Reference< XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ), UNO_QUERY );
if ( !xTempStorage.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xTempStorage;
}
-// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetStorageOfFormatFromInputStream(
- const ::rtl::OUString& aFormat,
- const uno::Reference < io::XInputStream >& xStream,
- const uno::Reference< lang::XMultiServiceFactory >& xFactory,
+Reference< XStorage > OStorageHelper::GetStorageOfFormatFromInputStream(
+ const OUString& aFormat,
+ const Reference < XInputStream >& xStream,
+ const Reference< XMultiServiceFactory >& xFactory,
sal_Bool bRepairStorage )
- throw ( uno::Exception )
+ throw ( Exception )
{
- uno::Sequence< beans::PropertyValue > aProps( 1 );
- aProps[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "StorageFormat" ) );
+ Sequence< PropertyValue > aProps( 1 );
+ aProps[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "StorageFormat" ) );
aProps[0].Value <<= aFormat;
+
if ( bRepairStorage )
{
aProps.realloc( 2 );
- aProps[1].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RepairPackage" ) );
+ aProps[1].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "RepairPackage" ) );
aProps[1].Value <<= bRepairStorage;
}
- uno::Sequence< uno::Any > aArgs( 3 );
+ Sequence< Any > aArgs( 3 );
aArgs[0] <<= xStream;
- aArgs[1] <<= embed::ElementModes::READ;
+ aArgs[1] <<= ElementModes::READ;
aArgs[2] <<= aProps;
- uno::Reference< embed::XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ),
- uno::UNO_QUERY );
+ Reference< XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ), UNO_QUERY );
if ( !xTempStorage.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xTempStorage;
}
-// ----------------------------------------------------------------------
-uno::Reference< embed::XStorage > OStorageHelper::GetStorageOfFormatFromStream(
- const ::rtl::OUString& aFormat,
- const uno::Reference < io::XStream >& xStream,
+Reference< XStorage > OStorageHelper::GetStorageOfFormatFromStream(
+ const OUString& aFormat,
+ const Reference < XStream >& xStream,
sal_Int32 nStorageMode,
- const uno::Reference< lang::XMultiServiceFactory >& xFactory,
+ const Reference< XMultiServiceFactory >& xFactory,
sal_Bool bRepairStorage )
- throw ( uno::Exception )
+ throw ( Exception )
{
- uno::Sequence< beans::PropertyValue > aProps( 1 );
- aProps[0].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "StorageFormat" ) );
+ Sequence< PropertyValue > aProps( 1 );
+ aProps[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "StorageFormat" ) );
aProps[0].Value <<= aFormat;
+
if ( bRepairStorage )
{
aProps.realloc( 2 );
- aProps[1].Name = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "RepairPackage" ) );
+ aProps[1].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "RepairPackage" ) );
aProps[1].Value <<= bRepairStorage;
}
- uno::Sequence< uno::Any > aArgs( 3 );
+ Sequence< Any > aArgs( 3 );
aArgs[0] <<= xStream;
aArgs[1] <<= nStorageMode;
aArgs[2] <<= aProps;
- uno::Reference< embed::XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ),
- uno::UNO_QUERY );
+ Reference< XStorage > xTempStorage( GetStorageFactory( xFactory )->createInstanceWithArguments( aArgs ), UNO_QUERY );
if ( !xTempStorage.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
return xTempStorage;
}
-// ----------------------------------------------------------------------
-uno::Sequence< beans::NamedValue > OStorageHelper::CreatePackageEncryptionData( const ::rtl::OUString& aPassword, const uno::Reference< lang::XMultiServiceFactory >& xSF )
+Sequence< NamedValue > OStorageHelper::CreatePackageEncryptionData( const OUString& aPassword, const Reference< XMultiServiceFactory >& xSF )
{
// TODO/LATER: Should not the method be part of DocPasswordHelper?
- uno::Sequence< beans::NamedValue > aEncryptionData;
+ Sequence< NamedValue > aEncryptionData;
if ( !aPassword.isEmpty() )
{
sal_Int32 nSha1Ind = 0;
// generate SHA256 start key
try
{
- uno::Reference< lang::XMultiServiceFactory > xFactory = xSF.is() ? xSF : ::comphelper::getProcessServiceFactory();
+ Reference< XMultiServiceFactory > xFactory = xSF.is() ? xSF : ::comphelper::getProcessServiceFactory();
if ( !xFactory.is() )
- throw uno::RuntimeException();
+ throw RuntimeException();
- uno::Reference< xml::crypto::XDigestContextSupplier > xDigestContextSupplier( xFactory->createInstance( rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.crypto.NSSInitializer" ) ) ), uno::UNO_QUERY_THROW );
- uno::Reference< xml::crypto::XDigestContext > xDigestContext( xDigestContextSupplier->getDigestContext( xml::crypto::DigestID::SHA256, uno::Sequence< beans::NamedValue >() ), uno::UNO_SET_THROW );
+ Reference< XDigestContextSupplier > xDigestContextSupplier( xFactory->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.xml.crypto.NSSInitializer" ) ) ), UNO_QUERY_THROW );
+ Reference< XDigestContext > xDigestContext( xDigestContextSupplier->getDigestContext( DigestID::SHA256, Sequence< NamedValue >() ), UNO_SET_THROW );
- ::rtl::OString aUTF8Password( ::rtl::OUStringToOString( aPassword, RTL_TEXTENCODING_UTF8 ) );
- xDigestContext->updateDigest( uno::Sequence< sal_Int8 >( reinterpret_cast< const sal_Int8* >( aUTF8Password.getStr() ), aUTF8Password.getLength() ) );
- uno::Sequence< sal_Int8 > aDigest = xDigestContext->finalizeDigestAndDispose();
+ OString aUTF8Password( OUStringToOString( aPassword, RTL_TEXTENCODING_UTF8 ) );
+ xDigestContext->updateDigest( Sequence< sal_Int8 >( reinterpret_cast< const sal_Int8* >( aUTF8Password.getStr() ), aUTF8Password.getLength() ) );
+ Sequence< sal_Int8 > aDigest = xDigestContext->finalizeDigestAndDispose();
aEncryptionData.realloc( ++nSha1Ind );
aEncryptionData[0].Name = PACKAGE_ENCRYPTIONDATA_SHA256UTF8;
aEncryptionData[0].Value <<= aDigest;
}
- catch ( uno::Exception& )
+ catch ( Exception& )
{
OSL_ENSURE( false, "Can not create SHA256 digest!" );
}
@@ -451,7 +439,7 @@ uno::Sequence< beans::NamedValue > OStorageHelper::CreatePackageEncryptionData(
for ( sal_Int32 nInd = 0; nInd < 2; nInd++ )
{
- ::rtl::OString aByteStrPass = ::rtl::OUStringToOString( aPassword, pEncoding[nInd] );
+ OString aByteStrPass = OUStringToOString( aPassword, pEncoding[nInd] );
sal_uInt8 pBuffer[RTL_DIGEST_LENGTH_SHA1];
rtlDigestError nError = rtl_digest_SHA1( aByteStrPass.getStr(),
@@ -465,20 +453,18 @@ uno::Sequence< beans::NamedValue > OStorageHelper::CreatePackageEncryptionData(
break;
}
- aEncryptionData[nSha1Ind+nInd].Value <<= uno::Sequence< sal_Int8 >( (sal_Int8*)pBuffer, RTL_DIGEST_LENGTH_SHA1 );
+ aEncryptionData[nSha1Ind+nInd].Value <<= Sequence< sal_Int8 >( (sal_Int8*)pBuffer, RTL_DIGEST_LENGTH_SHA1 );
}
}
return aEncryptionData;
}
-// ----------------------------------------------------------------------
-sal_Bool OStorageHelper::IsValidZipEntryFileName( const ::rtl::OUString& aName, sal_Bool bSlashAllowed )
+sal_Bool OStorageHelper::IsValidZipEntryFileName( const OUString& aName, sal_Bool bSlashAllowed )
{
return IsValidZipEntryFileName( aName.getStr(), aName.getLength(), bSlashAllowed );
}
-// ----------------------------------------------------------------------
sal_Bool OStorageHelper::IsValidZipEntryFileName(
const sal_Unicode *pChar, sal_Int32 nLength, sal_Bool bSlashAllowed )
{
@@ -506,8 +492,7 @@ sal_Bool OStorageHelper::IsValidZipEntryFileName(
return sal_True;
}
-// ----------------------------------------------------------------------
-sal_Bool OStorageHelper::PathHasSegment( const ::rtl::OUString& aPath, const ::rtl::OUString& aSegment )
+sal_Bool OStorageHelper::PathHasSegment( const OUString& aPath, const OUString& aSegment )
{
sal_Bool bResult = sal_False;
const sal_Int32 nPathLen = aPath.getLength();
@@ -515,11 +500,11 @@ sal_Bool OStorageHelper::PathHasSegment( const ::rtl::OUString& aPath, const ::r
if ( !aSegment.isEmpty() && nPathLen >= nSegLen )
{
- ::rtl::OUString aEndSegment( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
+ OUString aEndSegment( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
aEndSegment += aSegment;
- ::rtl::OUString aInternalSegment( aEndSegment );
- aInternalSegment += ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
+ OUString aInternalSegment( aEndSegment );
+ aInternalSegment += OUString( RTL_CONSTASCII_USTRINGPARAM( "/" ) );
if ( aPath.indexOf( aInternalSegment ) >= 0 )
bResult = sal_True;
@@ -537,89 +522,85 @@ sal_Bool OStorageHelper::PathHasSegment( const ::rtl::OUString& aPath, const ::r
return bResult;
}
-class LifecycleProxy::Impl
- : public std::vector< uno::Reference< embed::XStorage > > {};
-LifecycleProxy::LifecycleProxy()
- : m_pBadness( new Impl() ) { }
-LifecycleProxy::~LifecycleProxy() { }
+class LifecycleProxy::Impl : public std::vector< Reference< XStorage > > {};
-void LifecycleProxy::commitStorages()
-{
- for (Impl::reverse_iterator iter = m_pBadness->rbegin();
- iter != m_pBadness->rend(); ++iter) // reverse order (outwards)
+ LifecycleProxy::LifecycleProxy() : m_pBadness( new Impl() ) { }
+ LifecycleProxy::~LifecycleProxy() { }
+
+ void LifecycleProxy::commitStorages()
{
- uno::Reference<embed::XTransactedObject> const xTransaction(*iter,
- uno::UNO_QUERY);
- if (xTransaction.is())
+ for (Impl::reverse_iterator iter = m_pBadness->rbegin();
+ iter != m_pBadness->rend(); ++iter) // reverse order (outwards)
{
- xTransaction->commit();
+ Reference<XTransactedObject> const xTransaction(*iter, UNO_QUERY);
+ if (xTransaction.is())
+ xTransaction->commit();
}
}
-}
-static void splitPath( std::vector<rtl::OUString> &rElems,
- const ::rtl::OUString& rPath )
-{
- for (sal_Int32 i = 0; i >= 0;)
- rElems.push_back( rPath.getToken( 0, '/', i ) );
-}
+ static void splitPath( std::vector<OUString> &rElems,
+ const OUString& rPath )
+ {
+ for (sal_Int32 i = 0; i >= 0;)
+ rElems.push_back( rPath.getToken( 0, '/', i ) );
+ }
-static uno::Reference< embed::XStorage > LookupStorageAtPath(
- const uno::Reference< embed::XStorage > &xParentStorage,
- std::vector<rtl::OUString> &rElems, sal_uInt32 nOpenMode,
- LifecycleProxy &rNastiness )
-{
- uno::Reference< embed::XStorage > xStorage( xParentStorage );
- rNastiness.m_pBadness->push_back( xStorage );
- for( size_t i = 0; i < rElems.size() && xStorage.is(); i++ )
+ static Reference< XStorage > LookupStorageAtPath(
+ const Reference< XStorage > &xParentStorage,
+ std::vector<OUString> &rElems, sal_uInt32 nOpenMode,
+ LifecycleProxy &rNastiness )
{
- xStorage = xStorage->openStorageElement( rElems[i], nOpenMode );
+ Reference< XStorage > xStorage( xParentStorage );
rNastiness.m_pBadness->push_back( xStorage );
+ for( size_t i = 0; i < rElems.size() && xStorage.is(); i++ )
+ {
+ xStorage = xStorage->openStorageElement( rElems[i], nOpenMode );
+ rNastiness.m_pBadness->push_back( xStorage );
+ }
+ return xStorage;
}
- return xStorage;
-}
-uno::Reference< embed::XStorage > OStorageHelper::GetStorageAtPath(
- const uno::Reference< embed::XStorage > &xStorage,
- const ::rtl::OUString& rPath, sal_uInt32 nOpenMode,
- LifecycleProxy &rNastiness )
-{
- std::vector<rtl::OUString> aElems;
- splitPath( aElems, rPath );
- return LookupStorageAtPath( xStorage, aElems, nOpenMode, rNastiness );
-}
+ Reference< XStorage > OStorageHelper::GetStorageAtPath(
+ const Reference< XStorage > &xStorage,
+ const OUString& rPath, sal_uInt32 nOpenMode,
+ LifecycleProxy &rNastiness )
+ {
+ std::vector<OUString> aElems;
+ splitPath( aElems, rPath );
+ return LookupStorageAtPath( xStorage, aElems, nOpenMode, rNastiness );
+ }
-uno::Reference< io::XStream > OStorageHelper::GetStreamAtPath(
- const uno::Reference< embed::XStorage > &xParentStorage,
- const ::rtl::OUString& rPath, sal_uInt32 nOpenMode,
- LifecycleProxy &rNastiness )
-{
- std::vector<rtl::OUString> aElems;
- splitPath( aElems, rPath );
- rtl::OUString aName( aElems.back() );
- aElems.pop_back();
- sal_uInt32 nStorageMode = nOpenMode & ~embed::ElementModes::TRUNCATE;
- uno::Reference< embed::XStorage > xStorage(
- LookupStorageAtPath( xParentStorage, aElems, nStorageMode, rNastiness ),
- uno::UNO_QUERY_THROW );
- return xStorage->openStreamElement( aName, nOpenMode );
-}
+ Reference< XStream > OStorageHelper::GetStreamAtPath(
+ const Reference< XStorage > &xParentStorage,
+ const OUString& rPath, sal_uInt32 nOpenMode,
+ LifecycleProxy &rNastiness )
+ {
+ std::vector<OUString> aElems;
+ splitPath( aElems, rPath );
+ OUString aName( aElems.back() );
+ aElems.pop_back();
+ sal_uInt32 nStorageMode = nOpenMode & ~ElementModes::TRUNCATE;
+ Reference< XStorage > xStorage(
+ LookupStorageAtPath( xParentStorage, aElems, nStorageMode, rNastiness ),
+ UNO_QUERY_THROW );
+ return xStorage->openStreamElement( aName, nOpenMode );
+ }
-uno::Reference< io::XStream > OStorageHelper::GetStreamAtPackageURL(
- uno::Reference< embed::XStorage > const& xParentStorage,
- const ::rtl::OUString& rURL, sal_uInt32 const nOpenMode,
- LifecycleProxy & rNastiness)
-{
- static char const s_PkgScheme[] = "vnd.sun.star.Package:";
- if (0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength(
- rURL.getStr(), rURL.getLength(),
- s_PkgScheme, SAL_N_ELEMENTS(s_PkgScheme) - 1))
+ Reference< XStream > OStorageHelper::GetStreamAtPackageURL(
+ Reference< XStorage > const& xParentStorage,
+ const OUString& rURL, sal_uInt32 const nOpenMode,
+ LifecycleProxy & rNastiness)
{
- ::rtl::OUString const path(rURL.copy(SAL_N_ELEMENTS(s_PkgScheme)-1));
- return GetStreamAtPath(xParentStorage, path, nOpenMode, rNastiness);
+ static char const s_PkgScheme[] = "vnd.sun.star.Package:";
+ if (0 == rtl_ustr_ascii_shortenedCompareIgnoreAsciiCase_WithLength(
+ rURL.getStr(), rURL.getLength(),
+ s_PkgScheme, SAL_N_ELEMENTS(s_PkgScheme) - 1))
+ {
+ OUString const path(rURL.copy(SAL_N_ELEMENTS(s_PkgScheme)-1));
+ return GetStreamAtPath(xParentStorage, path, nOpenMode, rNastiness);
+ }
+ return 0;
}
- return 0;
-}
}