diff options
author | Tor Lillqvist <tml@iki.fi> | 2012-12-29 12:50:32 +0200 |
---|---|---|
committer | Tor Lillqvist <tml@iki.fi> | 2012-12-29 12:50:32 +0200 |
commit | f98407403f916f9a7474e93c674fc7ac360c3539 (patch) | |
tree | e4b55c368f905e77df471ee400735d82692a5afa | |
parent | 3c33d78d6bae9768b34418c7ac54076613d808c8 (diff) |
Revert "String Cleanup and news OUString methods/constructors"
Broke a unit test and made all tinderboxes red.
This reverts commit 3179055dc3e267c961a5618c810fbc0df1858d72.
-rw-r--r-- | filter/source/xsltdialog/xmlfiltertestdialog.cxx | 90 | ||||
-rw-r--r-- | tools/inc/tools/tempfile.hxx | 3 | ||||
-rw-r--r-- | tools/source/fsys/tempfile.cxx | 114 | ||||
-rw-r--r-- | unotools/inc/unotools/tempfile.hxx | 3 | ||||
-rw-r--r-- | unotools/source/ucbhelper/tempfile.cxx | 180 |
5 files changed, 86 insertions, 304 deletions
diff --git a/filter/source/xsltdialog/xmlfiltertestdialog.cxx b/filter/source/xsltdialog/xmlfiltertestdialog.cxx index b48e3c8e04b8..0c04cad42b1c 100644 --- a/filter/source/xsltdialog/xmlfiltertestdialog.cxx +++ b/filter/source/xsltdialog/xmlfiltertestdialog.cxx @@ -67,6 +67,8 @@ using namespace com::sun::star::system; using namespace com::sun::star::xml; using namespace com::sun::star::xml::sax; +using ::rtl::OUString; + class GlobalEventListenerImpl : public ::cppu::WeakImplHelper1< com::sun::star::document::XEventListener > { public: @@ -89,8 +91,8 @@ GlobalEventListenerImpl::GlobalEventListenerImpl( XMLFilterTestDialog* pDialog ) void SAL_CALL GlobalEventListenerImpl::notifyEvent( const com::sun::star::document::EventObject& Event ) throw (RuntimeException) { ::SolarMutexGuard aGuard; - if( (Event.EventName.compareToAscii( "OnFocus" ) == 0) || - (Event.EventName.compareToAscii( "OnUnload" ) == 0) ) + if( (Event.EventName.compareToAscii( RTL_CONSTASCII_STRINGPARAM("OnFocus") ) == 0) || + (Event.EventName.compareToAscii( RTL_CONSTASCII_STRINGPARAM("OnUnload") ) == 0) ) { Reference< XComponent > xComp( Event.Source, UNO_QUERY ); mpDialog->updateCurrentDocumentButtonState( &xComp ); @@ -115,7 +117,7 @@ static bool checkComponent( Reference< XComponent >& rxComponent, const OUString if ( rServiceName == "com.sun.star.drawing.DrawingDocument" ) { // so if we want a draw we need to check if its not an impress - if( !xInfo->supportsService( "com.sun.star.presentation.PresentationDocument" ) ) + if( !xInfo->supportsService( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.presentation.PresentationDocument") ) ) ) return true; } else @@ -273,10 +275,11 @@ void XMLFilterTestDialog::initDialog() if( NULL == m_pFilterInfo ) return; - OUString aTitle( m_sDialogTitle ); - aTitle = aTitle.replaceAll( "%s", m_pFilterInfo->maFilterName ); + String aTitle( m_sDialogTitle ); + aTitle.SearchAndReplace( String( RTL_CONSTASCII_USTRINGPARAM("%s") ), m_pFilterInfo->maFilterName ); SetText( aTitle ); + String aEmpty; bool bImport = (m_pFilterInfo->maFlags & 1) == 1; bool bExport = (m_pFilterInfo->maFlags & 2) == 2; @@ -307,8 +310,8 @@ void XMLFilterTestDialog::onExportBrowse() com::sun::star::ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE, 0 ); - Reference< XNameAccess > xFilterContainer( mxMSF->createInstance( "com.sun.star.document.FilterFactory" ), UNO_QUERY ); - Reference< XNameAccess > xTypeDetection( mxMSF->createInstance( "com.sun.star.document.TypeDetection" ), UNO_QUERY ); + Reference< XNameAccess > xFilterContainer( mxMSF->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.FilterFactory" )) ), UNO_QUERY ); + Reference< XNameAccess > xTypeDetection( mxMSF->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.TypeDetection" )) ), UNO_QUERY ); if( xFilterContainer.is() && xTypeDetection.is() ) { Sequence< OUString > aFilterNames( xFilterContainer->getElementNames() ); @@ -381,16 +384,19 @@ void XMLFilterTestDialog::onExportBrowse() for( n = 0; n < nCount; n++ ) { if( n > 0 ) - aExtension += ";"; - aExtension += "*." + (*pExtensions++); + aExtension += OUString( sal_Unicode(';') ); + aExtension += OUString( RTL_CONSTASCII_USTRINGPARAM( "*." )); + aExtension += (*pExtensions++); } } } } - OUString aExtensions( aExtension ); - OUString aFilterName( aInterfaceName ); - aFilterName += " (" + aExtensions + ")"; + String aExtensions( aExtension ); + String aFilterName( aInterfaceName ); + aFilterName += String( RTL_CONSTASCII_USTRINGPARAM(" (") ); + aFilterName += aExtensions; + aFilterName += sal_Unicode(')'); aDlg.AddFilter( aFilterName, aExtensions ); @@ -411,9 +417,9 @@ void XMLFilterTestDialog::onExportBrowse() Reference< XDesktop2 > xLoader = Desktop::create( comphelper::getComponentContext(mxMSF) ); Reference< XInteractionHandler2 > xInter( InteractionHandler::createWithParent(comphelper::getComponentContext(mxMSF), 0) ); - OUString aFrame( "_default" ); + OUString aFrame( RTL_CONSTASCII_USTRINGPARAM( "_default" ) ); Sequence< PropertyValue > aArguments(1); - aArguments[0].Name = "InteractionHandler"; + aArguments[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "InteractionHandler" )); aArguments[0].Value <<= xInter; Reference< XComponent > xComp( xLoader->loadComponentFromURL( m_sExportRecentFile, aFrame, 0, aArguments ) ); if( xComp.is() ) @@ -442,9 +448,9 @@ void XMLFilterTestDialog::doExport( Reference< XComponent > xComp ) Reference< XStorable > xStorable( xComp, UNO_QUERY ); if( xStorable.is() ) { - OUString lead; - OUString ext(".xml"); - TempFile aTempFile(lead, &ext); + String leadingChars; + String ext(RTL_CONSTASCII_USTRINGPARAM(".xml")); + utl::TempFile aTempFile(leadingChars, &ext); OUString aTempFileURL( aTempFile.GetURL() ); const application_info_impl* pAppInfo = getApplicationInfo( m_pFilterInfo->maExportService ); @@ -460,19 +466,19 @@ void XMLFilterTestDialog::doExport( Reference< XComponent > xComp ) int i = 0; - aSourceData[i ].Name = OUString( "OutputStream" ); + aSourceData[i ].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "OutputStream" ) ); aSourceData[i++].Value <<= xIS; - aSourceData[i ].Name = OUString( "Indent" ); + aSourceData[i].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "Indent" ) ); aSourceData[i++].Value <<= (sal_Bool)sal_True; if( bUseDocType ) { - aSourceData[i ].Name = OUString( "DocType_Public" ); + aSourceData[i ].Name = OUString(RTL_CONSTASCII_USTRINGPARAM("DocType_Public")); aSourceData[i++].Value <<= m_pFilterInfo->maDocType; } - Reference< XExportFilter > xExporter( mxMSF->createInstance( "com.sun.star.documentconversion.XSLTFilter" ), UNO_QUERY ); + Reference< XExportFilter > xExporter( mxMSF->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.documentconversion.XSLTFilter" )) ), UNO_QUERY ); Reference< XDocumentHandler > xHandler( xExporter, UNO_QUERY ); if( xHandler.is() ) { @@ -488,8 +494,8 @@ void XMLFilterTestDialog::doExport( Reference< XComponent > xComp ) { try { - xGrfResolver = Reference< XGraphicObjectResolver >::query( xDocFac->createInstance( "com.sun.star.document.ExportGraphicObjectResolver" ) ); - xObjectResolver = Reference< XEmbeddedObjectResolver >::query( xDocFac->createInstance( "com.sun.star.document.ExportEmbeddedObjectResolver" ) ); + xGrfResolver = Reference< XGraphicObjectResolver >::query( xDocFac->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.ExportGraphicObjectResolver" )) ) ); + xObjectResolver = Reference< XEmbeddedObjectResolver >::query( xDocFac->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.document.ExportEmbeddedObjectResolver" )) ) ); } catch( const Exception& ) { @@ -513,7 +519,7 @@ void XMLFilterTestDialog::doExport( Reference< XComponent > xComp ) xExporter2->setSourceDocument( xComp ); Sequence< PropertyValue > aDescriptor( 1 ); - aDescriptor[0].Name = OUString( "FileName" ); + aDescriptor[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "FileName" ) ); aDescriptor[0].Value <<= aTempFileURL; if( xFilter->filter( aDescriptor ) ) @@ -534,7 +540,7 @@ void XMLFilterTestDialog::displayXMLFile( const OUString& rURL ) { Reference< XSystemShellExecute > xSystemShellExecute( SystemShellExecute::create(comphelper::getProcessComponentContext()) ); - xSystemShellExecute->execute( rURL, OUString(), SystemShellExecuteFlags::URIS_ONLY ); + xSystemShellExecute->execute( rURL, rtl::OUString(), SystemShellExecuteFlags::URIS_ONLY ); } void XMLFilterTestDialog::onImportBrowse() @@ -542,8 +548,8 @@ void XMLFilterTestDialog::onImportBrowse() // Open Fileopen-Dialog ::sfx2::FileDialogHelper aDlg( com::sun::star::ui::dialogs::TemplateDescription::FILEOPEN_SIMPLE, 0 ); - OUString aFilterName( m_pFilterInfo->maInterfaceName ); - OUString aExtensions; + String aFilterName( m_pFilterInfo->maInterfaceName ); + String aExtensions; int nLastIndex = 0; int nCurrentIndex = 0; @@ -552,24 +558,26 @@ void XMLFilterTestDialog::onImportBrowse() nLastIndex = m_pFilterInfo->maExtension.indexOf( sal_Unicode( ';' ), nLastIndex ); if( i > 0 ) - aExtensions += ";"; + aExtensions += ';'; - aExtensions += "*."; + aExtensions += String( RTL_CONSTASCII_USTRINGPARAM("*.") ); if( nLastIndex == -1 ) { - aExtensions += OUString( m_pFilterInfo->maExtension.copy( nCurrentIndex ) ); + aExtensions += String( m_pFilterInfo->maExtension.copy( nCurrentIndex ) ); } else { - aExtensions += OUString( m_pFilterInfo->maExtension.copy( nCurrentIndex, nLastIndex - nCurrentIndex ) ); + aExtensions += String( m_pFilterInfo->maExtension.copy( nCurrentIndex, nLastIndex - nCurrentIndex ) ); nCurrentIndex = nLastIndex + 1; nLastIndex = nCurrentIndex; } } - aFilterName += " (" + aExtensions + ")"; + aFilterName += String( RTL_CONSTASCII_USTRINGPARAM( " (" ) ); + aFilterName += aExtensions; + aFilterName += sal_Unicode(')'); aDlg.AddFilter( aFilterName, aExtensions ); aDlg.SetDisplayDirectory( m_sImportRecentFile ); @@ -595,23 +603,23 @@ void XMLFilterTestDialog::import( const OUString& rURL ) Reference< XDesktop2 > xLoader = Desktop::create( comphelper::getComponentContext(mxMSF) ); Reference< XInteractionHandler2 > xInter( InteractionHandler::createWithParent(comphelper::getComponentContext(mxMSF), 0) ); - OUString aFrame( "_default" ); + OUString aFrame( RTL_CONSTASCII_USTRINGPARAM( "_default" ) ); Sequence< PropertyValue > aArguments(2); - aArguments[0].Name = OUString( "FilterName" ); + aArguments[0].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "FilterName" )); aArguments[0].Value <<= m_pFilterInfo->maFilterName; - aArguments[1].Name = OUString( "InteractionHandler" ); + aArguments[1].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "InteractionHandler" )); aArguments[1].Value <<= xInter; xLoader->loadComponentFromURL( rURL, aFrame, 0, aArguments ); if( m_pCBXDisplaySource->IsChecked() ) { - OUString lead; - OUString ext( ".xml" ); + String lead; + String ext(RTL_CONSTASCII_USTRINGPARAM(".xml")); TempFile aTempFile(lead, &ext); OUString aTempFileURL( aTempFile.GetURL() ); - Reference< XImportFilter > xImporter( mxMSF->createInstance( "com.sun.star.documentconversion.XSLTFilter" ), UNO_QUERY ); + Reference< XImportFilter > xImporter( mxMSF->createInstance( OUString( RTL_CONSTASCII_USTRINGPARAM( "com.sun.star.documentconversion.XSLTFilter" )) ), UNO_QUERY ); if( xImporter.is() ) { osl::File aInputFile( rURL ); @@ -622,13 +630,13 @@ void XMLFilterTestDialog::import( const OUString& rURL ) Sequence< PropertyValue > aSourceData( 3 ); int i = 0; - aSourceData[i ].Name = OUString( "InputStream" ); + aSourceData[i ].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "InputStream" )); aSourceData[i++].Value <<= xIS; - aSourceData[i ].Name = OUString( "FileName" ); + aSourceData[i ].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "FileName" )); aSourceData[i++].Value <<= rURL; - aSourceData[i ].Name = OUString( "Indent" ); + aSourceData[i ].Name = OUString( RTL_CONSTASCII_USTRINGPARAM( "Indent" )); aSourceData[i++].Value <<= (sal_Bool)sal_True; Reference< XWriter > xWriter = Writer::create( comphelper::getComponentContext(mxMSF) ); diff --git a/tools/inc/tools/tempfile.hxx b/tools/inc/tools/tempfile.hxx index 315ba24b32e1..9e84adc96a51 100644 --- a/tools/inc/tools/tempfile.hxx +++ b/tools/inc/tools/tempfile.hxx @@ -41,8 +41,7 @@ public: The extension string may be f.e. ".txt" or "", if no extension string is given, ".tmp" is used. */ - TempFile( const String& rLeadingChars, const String* pExtension=NULL, const String* pParent=NULL, sal_Bool bDirectory=sal_False ); - TempFile( const OUString& rLeadingChars, const OUString* pExtension=NULL, const OUString* pParent=NULL, sal_Bool bDirectory=sal_False ); + TempFile( const String& rLeadingChars, const String* pExtension=NULL, const String* pParent=NULL, sal_Bool bDirectory=sal_False ); /** TempFile will be removed from disk in dtor if EnableKillingTempFile was called before. TempDirs will be removed recursively in that case. */ diff --git a/tools/source/fsys/tempfile.cxx b/tools/source/fsys/tempfile.cxx index 685960956c31..7a3f9dfc2f0a 100644 --- a/tools/source/fsys/tempfile.cxx +++ b/tools/source/fsys/tempfile.cxx @@ -35,7 +35,7 @@ using namespace osl; -namespace { struct TempNameBase_Impl : public rtl::Static< OUString, TempNameBase_Impl > {}; } +namespace { struct TempNameBase_Impl : public rtl::Static< ::rtl::OUString, TempNameBase_Impl > {}; } struct TempFile_Impl { @@ -48,9 +48,9 @@ String GetSystemTempDir_Impl() char sBuf[_MAX_PATH]; const char *pDir = TempDirImpl(sBuf); - OString aTmpA( pDir ); - OUString aTmp = ::rtl::OStringToOUString( aTmpA, osl_getThreadTextEncoding() ); - OUString aRet; + ::rtl::OString aTmpA( pDir ); + ::rtl::OUString aTmp = ::rtl::OStringToOUString( aTmpA, osl_getThreadTextEncoding() ); + rtl::OUString aRet; FileBase::getFileURLFromSystemPath( aTmp, aRet ); String aName = aRet; if( aName.GetChar(aName.Len()-1) != '/' ) @@ -66,8 +66,8 @@ String ConstructTempDir_Impl( const String* pParent ) if ( pParent && pParent->Len() ) { // if parent given try to use it - OUString aTmp( *pParent ); - OUString aRet; + rtl::OUString aTmp( *pParent ); + rtl::OUString aRet; // test for valid filename { @@ -84,7 +84,7 @@ String ConstructTempDir_Impl( const String* pParent ) if ( !aName.Len() ) { // if no parent or invalid parent : use system directory - OUString& rTempNameBase_Impl = TempNameBase_Impl::get(); + ::rtl::OUString& rTempNameBase_Impl = TempNameBase_Impl::get(); if ( rTempNameBase_Impl.isEmpty() ) rTempNameBase_Impl = GetSystemTempDir_Impl(); aName = rTempNameBase_Impl; @@ -98,45 +98,6 @@ String ConstructTempDir_Impl( const String* pParent ) return aName; } -OUString ConstructTempDir_Impl( const OUString* pParent ) -{ - OUString aName; - if ( pParent && pParent->getLength() ) - { - // if parent given try to use it - OUString aTmp( *pParent ); - OUString aRet; - - // test for valid filename - { - ::osl::DirectoryItem aItem; - sal_Int32 i = aRet.getLength(); - if ( aRet[i-1] == '/' ) - i--; - - if ( DirectoryItem::get( aRet.copy(0, i), aItem ) == FileBase::E_None ) - aName = aRet; - } - } - - if ( !aName.isEmpty() ) - { - // if no parent or invalid parent : use system directory - OUString& rTempNameBase_Impl = TempNameBase_Impl::get(); - if ( rTempNameBase_Impl.isEmpty() ) - rTempNameBase_Impl = GetSystemTempDir_Impl(); - aName = rTempNameBase_Impl; - } - - // Make sure that directory ends with a separator - xub_StrLen i = aName.getLength(); - if( i>0 && aName[i-1] != '/' ) - aName += "/"; - - return aName; -} - - void CreateTempName_Impl( String& rName, sal_Bool bKeep, sal_Bool bDir = sal_True ) { // add a suitable tempname @@ -144,14 +105,14 @@ void CreateTempName_Impl( String& rName, sal_Bool bKeep, sal_Bool bDir = sal_Tru // ER 13.07.00 why not radix 36 [0-9A-Z] ?!? const unsigned nRadix = 26; String aName( rName ); - aName += OUString("sv"); + aName += rtl::OUString("sv"); rName.Erase(); static unsigned long u = Time::GetSystemTicks(); for ( unsigned long nOld = u; ++u != nOld; ) { u %= (nRadix*nRadix*nRadix); - OUString aTmp = OUStringBuffer(aName). + rtl::OUString aTmp = rtl::OUStringBuffer(aName). append((sal_Int32)(unsigned)u, nRadix). append(".tmp"). makeStringAndClear(); @@ -230,64 +191,13 @@ TempFile::TempFile( const String& rLeadingChars, const String* pExtension, aName += rLeadingChars; for ( sal_Int32 i=0;; i++ ) { - OUStringBuffer aTmpBuffer(aName); - aTmpBuffer.append(i); - if ( pExtension ) - aTmpBuffer.append(*pExtension); - else - aTmpBuffer.append(".tmp"); - OUString aTmp = aTmpBuffer.makeStringAndClear(); - - if ( bDirectory ) - { - FileBase::RC err = Directory::create( aTmp ); - if ( err == FileBase::E_None ) - { - pImp->aName = aTmp; - break; - } - else if ( err != FileBase::E_EXIST ) - // if f.e. name contains invalid chars stop trying to create dirs - break; - } - else - { - File aFile( aTmp ); - FileBase::RC err = aFile.open(osl_File_OpenFlag_Create); - if ( err == FileBase::E_None ) - { - pImp->aName = aTmp; - aFile.close(); - break; - } - else if ( err != FileBase::E_EXIST ) - // if f.e. name contains invalid chars stop trying to create dirs - break; - } - } -} - -TempFile::TempFile( const OUString& rLeadingChars, const OUString* pExtension, - const OUString* pParent, sal_Bool bDirectory ) - : pImp( new TempFile_Impl ) - , bKillingFileEnabled( sal_False ) -{ - pImp-> bIsDirectory = bDirectory; - - // get correct directory - OUString aName = ConstructTempDir_Impl( pParent ); - - // now use special naming scheme (name takes leading chars and an index couting up from zero - aName += rLeadingChars; - for ( sal_Int32 i=0;; i++ ) - { - OUStringBuffer aTmpBuffer(aName); + rtl::OUStringBuffer aTmpBuffer(aName); aTmpBuffer.append(i); if ( pExtension ) aTmpBuffer.append(*pExtension); else aTmpBuffer.append(".tmp"); - OUString aTmp = aTmpBuffer.makeStringAndClear(); + rtl::OUString aTmp = aTmpBuffer.makeStringAndClear(); if ( bDirectory ) { @@ -338,7 +248,7 @@ TempFile::~TempFile() String TempFile::GetName() const { - OUString aTmp; + rtl::OUString aTmp; aTmp = pImp->aName; return aTmp; } diff --git a/unotools/inc/unotools/tempfile.hxx b/unotools/inc/unotools/tempfile.hxx index 971bad943e11..448e729a3998 100644 --- a/unotools/inc/unotools/tempfile.hxx +++ b/unotools/inc/unotools/tempfile.hxx @@ -69,9 +69,6 @@ public: TempFile( const String& rLeadingChars, const String* pExtension=NULL, const String* pParent=NULL, sal_Bool bDirectory=sal_False); - TempFile( const OUString& rLeadingChars, const OUString* pExtension=NULL, const OUString* pParent=NULL, - sal_Bool bDirectory=sal_False); - /** Same as above; additionally the name starts with some given characters followed by a counter ( example: rLeadingChars="abc" means "abc0","abc1" and so on, depending on existing files in the folder ). diff --git a/unotools/source/ucbhelper/tempfile.cxx b/unotools/source/ucbhelper/tempfile.cxx index 754d9eb4f088..1782dcf6a011 100644 --- a/unotools/source/ucbhelper/tempfile.cxx +++ b/unotools/source/ucbhelper/tempfile.cxx @@ -42,7 +42,7 @@ using namespace osl; namespace { struct TempNameBase_Impl - : public rtl::Static< OUString, TempNameBase_Impl > {}; + : public rtl::Static< ::rtl::OUString, TempNameBase_Impl > {}; } namespace utl @@ -60,23 +60,23 @@ struct TempFile_Impl {} }; -OUString getParentName( const OUString& aFileName ) +rtl::OUString getParentName( const rtl::OUString& aFileName ) { sal_Int32 lastIndex = aFileName.lastIndexOf( sal_Unicode('/') ); - OUString aParent = aFileName.copy( 0,lastIndex ); + rtl::OUString aParent = aFileName.copy( 0,lastIndex ); if( aParent[ aParent.getLength()-1] == sal_Unicode(':') && aParent.getLength() == 6 ) - aParent += "/"; + aParent += rtl::OUString("/"); - if( aParent == "file://" ) - aParent = "file:///"; + if( 0 == aParent.compareToAscii( "file://" ) ) + aParent = rtl::OUString("file:///"); return aParent; } -sal_Bool ensuredir( const OUString& rUnqPath ) +sal_Bool ensuredir( const rtl::OUString& rUnqPath ) { - OUString aPath; + rtl::OUString aPath; if ( rUnqPath.isEmpty() ) return sal_False; @@ -107,7 +107,7 @@ umask(old_mode); if( !bSuccess ) { // perhaps parent(s) don't exist - OUString aParentDir = getParentName( aPath ); + rtl::OUString aParentDir = getParentName( aPath ); if ( aParentDir != aPath ) { bSuccess = ensuredir( getParentName( aPath ) ); @@ -136,10 +136,10 @@ String ConstructTempDir_Impl( const String* pParent ) comphelper::getProcessComponentContext() ) ); // if parent given try to use it - OUString aTmp( *pParent ); + rtl::OUString aTmp( *pParent ); // test for valid filename - OUString aRet; + rtl::OUString aRet; ::osl::FileBase::getFileURLFromSystemPath( ::ucbhelper::getSystemPathFromFileURL( pBroker, aTmp ), aRet ); @@ -157,10 +157,10 @@ String ConstructTempDir_Impl( const String* pParent ) if ( !aName.Len() ) { - OUString &rTempNameBase_Impl = TempNameBase_Impl::get(); + ::rtl::OUString &rTempNameBase_Impl = TempNameBase_Impl::get(); if (rTempNameBase_Impl.isEmpty()) { - OUString ustrTempDirURL; + ::rtl::OUString ustrTempDirURL; ::osl::FileBase::RC rc = ::osl::File::getTempDirURL( ustrTempDirURL ); if (rc == ::osl::FileBase::E_None) @@ -180,62 +180,6 @@ String ConstructTempDir_Impl( const String* pParent ) return aName; } -OUString ConstructTempDir_Impl( const OUString* pParent ) -{ - OUString aName; - if ( pParent && pParent->getLength() ) - { - com::sun::star::uno::Reference< - com::sun::star::ucb::XUniversalContentBroker > pBroker( - com::sun::star::ucb::UniversalContentBroker::create( - comphelper::getProcessComponentContext() ) ); - - // if parent given try to use it - OUString aTmp( *pParent ); - - // test for valid filename - OUString aRet; - ::osl::FileBase::getFileURLFromSystemPath( - ::ucbhelper::getSystemPathFromFileURL( pBroker, aTmp ), - aRet ); - if ( !aRet.isEmpty() ) - { - ::osl::DirectoryItem aItem; - sal_Int32 i = aRet.getLength(); - if ( aRet[i-1] == '/' ) - i--; - - if ( DirectoryItem::get( aRet.copy(0, i), aItem ) == FileBase::E_None ) - aName = aRet; - } - } - - if ( !aName.isEmpty() ) - { - OUString &rTempNameBase_Impl = TempNameBase_Impl::get(); - if (rTempNameBase_Impl.isEmpty()) - { - OUString ustrTempDirURL; - ::osl::FileBase::RC rc = ::osl::File::getTempDirURL( - ustrTempDirURL ); - if (rc == ::osl::FileBase::E_None) - rTempNameBase_Impl = ustrTempDirURL; - } - // if no parent or invalid parent : use default directory - DBG_ASSERT( !rTempNameBase_Impl.isEmpty(), "No TempDir!" ); - aName = rTempNameBase_Impl; - ensuredir( aName ); - } - - // Make sure that directory ends with a separator - sal_Int32 i = aName.getLength(); - if( i>0 && aName[i-1] != '/' ) - aName += "/"; - - return aName; -} - - void CreateTempName_Impl( String& rName, sal_Bool bKeep, sal_Bool bDir = sal_True ) { // add a suitable tempname @@ -243,7 +187,7 @@ void CreateTempName_Impl( String& rName, sal_Bool bKeep, sal_Bool bDir = sal_Tru unsigned const nRadix = 36; unsigned long const nMax = (nRadix*nRadix*nRadix*nRadix*nRadix*nRadix); String aName( rName ); - aName += OUString( "lu" ); + aName += rtl::OUString( "lu" ); rName.Erase(); static unsigned long u = Time::GetSystemTicks() % nMax; @@ -251,8 +195,8 @@ void CreateTempName_Impl( String& rName, sal_Bool bKeep, sal_Bool bDir = sal_Tru { u %= nMax; String aTmp( aName ); - aTmp += OUString::valueOf(static_cast<sal_Int64>(u), nRadix); - aTmp += OUString( ".tmp" ); + aTmp += rtl::OUString::valueOf(static_cast<sal_Int64>(u), nRadix); + aTmp += rtl::OUString( ".tmp" ); if ( bDir ) { @@ -328,7 +272,7 @@ void lcl_createName(TempFile_Impl& _rImpl,const String& rLeadingChars,sal_Bool _ if ( pExtension ) aTmp += *pExtension; else - aTmp += OUString( ".tmp" ); + aTmp += rtl::OUString( ".tmp" ); if ( bDirectory ) { FileBase::RC err = Directory::create( aTmp ); @@ -377,74 +321,6 @@ umask(old_mode); } -void lcl_createName(TempFile_Impl& _rImpl,const OUString& rLeadingChars,sal_Bool _bStartWithZero, const OUString* pExtension, const OUString* pParent, sal_Bool bDirectory) -{ - _rImpl.bIsDirectory = bDirectory; - - // get correct directory - OUString aName = ConstructTempDir_Impl( pParent ); - - sal_Bool bUseNumber = _bStartWithZero; - // now use special naming scheme ( name takes leading chars and an index counting up from zero - aName += rLeadingChars; - for ( sal_Int32 i=0;; i++ ) - { - OUString aTmp( aName ); - if ( bUseNumber ) - aTmp += OUString::valueOf( static_cast< sal_Int32>(i) ); - bUseNumber = sal_True; - if ( pExtension ) - aTmp += *pExtension; - else - aTmp += ".tmp"; - if ( bDirectory ) - { - FileBase::RC err = Directory::create( aTmp ); - if ( err == FileBase::E_None ) - { - _rImpl.aName = aTmp; - break; - } - else if ( err != FileBase::E_EXIST ) - // if f.e. name contains invalid chars stop trying to create dirs - break; - } - else - { - File aFile( aTmp ); -#ifdef UNX -/* RW permission for the user only! */ - mode_t old_mode = umask(077); -#endif - FileBase::RC err = aFile.open(osl_File_OpenFlag_Create); -#ifdef UNX -umask(old_mode); -#endif - if ( err == FileBase::E_None || err == FileBase::E_NOLCK ) - { - _rImpl.aName = aTmp; - aFile.close(); - break; - } - else if ( err != FileBase::E_EXIST ) - { - // if f.e. name contains invalid chars stop trying to create dirs - // but if there is a folder with such name proceed further - - DirectoryItem aTmpItem; - FileStatus aTmpStatus( osl_FileStatus_Mask_Type ); - if ( DirectoryItem::get( aTmp, aTmpItem ) != FileBase::E_None - || aTmpItem.getFileStatus( aTmpStatus ) != FileBase::E_None - || aTmpStatus.getFileType() != FileStatus::Directory ) - break; - } - } - if ( !_bStartWithZero ) - aTmp += OUString::valueOf( static_cast<sal_Int32>(i) ); - } -} - - String TempFile::CreateTempName( const String* pParent ) { // get correct directory @@ -454,7 +330,7 @@ String TempFile::CreateTempName( const String* pParent ) CreateTempName_Impl( aName, sal_False ); // convert to file URL - OUString aTmp; + rtl::OUString aTmp; if ( aName.Len() ) FileBase::getSystemPathFromFileURL( aName, aTmp ); return aTmp; @@ -479,14 +355,6 @@ TempFile::TempFile( const String& rLeadingChars, const String* pExtension, const { lcl_createName(*pImp,rLeadingChars,sal_True, pExtension, pParent, bDirectory); } - -TempFile::TempFile( const OUString& rLeadingChars, const OUString* pExtension, const OUString* pParent, sal_Bool bDirectory) - : pImp( new TempFile_Impl ) - , bKillingFileEnabled( sal_False ) -{ - lcl_createName(*pImp,rLeadingChars,sal_True, pExtension, pParent, bDirectory); -} - TempFile::TempFile( const String& rLeadingChars,sal_Bool _bStartWithZero, const String* pExtension, const String* pParent, sal_Bool bDirectory) : pImp( new TempFile_Impl ) , bKillingFileEnabled( sal_False ) @@ -520,7 +388,7 @@ sal_Bool TempFile::IsValid() const String TempFile::GetFileName() const { - OUString aTmp; + rtl::OUString aTmp; FileBase::getSystemPathFromFileURL( pImp->aName, aTmp ); return aTmp; } @@ -529,7 +397,7 @@ String TempFile::GetURL() const { if ( !pImp->aURL.Len() ) { - OUString aTmp; + rtl::OUString aTmp; LocalFileHelper::ConvertPhysicalNameToURL( GetFileName(), aTmp ); pImp->aURL = aTmp; } @@ -564,7 +432,7 @@ String TempFile::SetTempNameBaseDirectory( const String &rBaseName ) if( !rBaseName.Len() ) return String(); - OUString aUnqPath( rBaseName ); + rtl::OUString aUnqPath( rBaseName ); // remove trailing slash if ( rBaseName.GetChar( rBaseName.Len() - 1 ) == sal_Unicode( '/' ) ) @@ -580,14 +448,14 @@ String TempFile::SetTempNameBaseDirectory( const String &rBaseName ) bRet = sal_True; // failure to create base directory means returning an empty string - OUString aTmp; + rtl::OUString aTmp; if ( bRet ) { // append own internal directory bRet = sal_True; - OUString &rTempNameBase_Impl = TempNameBase_Impl::get(); + ::rtl::OUString &rTempNameBase_Impl = TempNameBase_Impl::get(); rTempNameBase_Impl = rBaseName; - rTempNameBase_Impl += "/"; + rTempNameBase_Impl += rtl::OUString('/'); TempFile aBase( NULL, sal_True ); if ( aBase.IsValid() ) |