diff options
author | Jens-Heiner Rechtien <hr@openoffice.org> | 2009-01-06 16:18:24 +0000 |
---|---|---|
committer | Jens-Heiner Rechtien <hr@openoffice.org> | 2009-01-06 16:18:24 +0000 |
commit | 56bfd8ec819cc24bcc7c142906609656aa5178a0 (patch) | |
tree | 393ebe34a8207dc91ab8737b57d3fae9deada260 /comphelper | |
parent | 4e1fd2fa161708049f1c3b6039659d0bf4f4539e (diff) |
CWS-TOOLING: integrate CWS mav43
2008-12-17 14:42:56 +0100 tbo r265602 : #i97269# changed hid.lst and etab.win
2008-12-15 15:36:04 +0100 mav r265508 : #i95809# remove the stream as well
2008-12-12 13:20:09 +0100 mav r265411 : #i95809# small fixes
2008-12-12 13:12:07 +0100 mav r265410 : #i95809# fix streams handling
2008-12-12 10:45:29 +0100 mav r265397 : #i95809# close the stream if there is no storage
2008-12-12 10:24:38 +0100 mav r265396 : #i95809# close the stream if there is no temporary file
2008-12-12 00:56:13 +0100 mav r265383 : #i95809# adopt for linux
2008-12-12 00:51:25 +0100 mav r265382 : #i95809# adopt for linux
2008-12-12 00:38:31 +0100 mav r265381 : #i95809# check timestamp only if fs locking not active
2008-12-12 00:35:32 +0100 mav r265380 : #i95809# small fixes
2008-12-12 00:29:33 +0100 mav r265379 : #i95809# small fixes
2008-12-11 22:30:15 +0100 mav r265374 : #i97092# allow to use default master password
2008-12-11 22:20:56 +0100 mav r265372 : #i95809# avoid storage closing
2008-12-11 21:11:37 +0100 mav r265368 : #i97092# do not publish for now
2008-12-11 21:08:22 +0100 mav r265366 : #i95809# fix typo
2008-12-11 21:06:49 +0100 mav r265364 : #i95809# small fixes
2008-12-11 21:05:13 +0100 mav r265363 : #i95809# small fixes
2008-12-11 20:40:05 +0100 mav r265360 : #i95809# show warning if the document was touched
2008-12-11 20:39:44 +0100 mav r265359 : #i95809# show warning if the document was touched
2008-12-11 19:54:45 +0100 mav r265355 : #i95809# small fixes
2008-12-11 19:42:52 +0100 mav r265353 : #i95809# small fixes
2008-12-11 19:30:30 +0100 mav r265351 : #i95809# small fixes
2008-12-11 19:16:40 +0100 mav r265349 : #i95809# small fixes
2008-12-11 19:05:56 +0100 mav r265348 : #i95809# small fixes
2008-12-11 18:26:03 +0100 mav r265346 : #i95809# ignore the exception
2008-12-11 18:19:28 +0100 mav r265345 : #i95809# pure imput stream in case of local file URL means opening of document readonly
2008-12-11 17:41:56 +0100 mav r265341 : #i95809# unfortunately SfxMedium can not take the decision
2008-12-11 17:37:07 +0100 mav r265340 : #i95809# fix typo
2008-12-11 17:33:47 +0100 mav r265339 : #i95809# pure imput stream in case of local file URL means opening of document readonly
2008-12-11 16:12:26 +0100 mav r265330 : #i95809# let dialogs look better
2008-12-11 15:50:43 +0100 mav r265322 : #i97092# allow to use default master password
2008-12-11 13:35:39 +0100 mav r265295 : #i97092# allow to use default master password
2008-12-11 13:04:28 +0100 mav r265290 : #i97092# allow to use default master password
2008-12-11 12:34:52 +0100 mav r265284 : #i97092# allow to use default master password
2008-12-11 11:21:33 +0100 mav r265267 : #i95809# adopt for linux
2008-12-11 10:25:22 +0100 mav r265255 : #i97092# allow to use default master password
2008-12-11 10:24:35 +0100 mav r265254 : #i97092# allow to use default master password
2008-12-10 17:02:32 +0100 pb r265207 : fix: #i97092# more info text
2008-12-10 16:40:53 +0100 mav r265205 : #i95809# integrate new file locking UI in sfx workflow
2008-12-10 16:38:55 +0100 mav r265204 : #i95809# allow to ignore own lock on saving
2008-12-10 14:52:12 +0100 pb r265192 : fix: #i97092# new master password behavior
2008-12-10 14:51:22 +0100 pb r265191 : fix: #i97092# new master password bahavior
2008-12-10 14:49:46 +0100 pb r265189 : fix: #i97092# new master password bahavior
2008-12-10 10:55:19 +0100 mav r265155 : #i95809# allow to ignore own lock on saving
2008-12-09 17:47:51 +0100 mav r265124 : #i95809# allow to ignore own lock on saving
2008-12-07 11:24:57 +0100 mav r264949 : #i95809# let the request be derived from IOException
2008-12-05 18:31:35 +0100 mav r264915 : #i95809# use the locking related dialogs from InteractionHandler
2008-12-04 18:33:36 +0100 mav r264867 : #i95809# the requests for the new locking UI
2008-12-04 10:26:52 +0100 pb r264822 : fix: #i95809# new message boxes for locking
2008-12-04 10:23:51 +0100 pb r264821 : fix: #i95809# STR_OPENLOCKED_UNKNOWNUSER replaced by STR_UNKNOWNUSER
2008-12-04 10:18:23 +0100 pb r264820 : fix: #i95809# new message boxes for locking
2008-12-04 10:15:56 +0100 pb r264819 : fix: #i95809# new message boxes for locking
2008-12-03 16:06:46 +0100 mav r264796 : #i95809# system file locking support
2008-12-02 16:19:30 +0100 mav r264717 : #i95809# system file locking support
2008-12-02 16:07:10 +0100 mav r264716 : #i95809# system file locking support
2008-12-02 15:58:53 +0100 mav r264714 : #i95809# change the name
2008-12-02 15:58:06 +0100 mav r264713 : #i95809# do not allow to change ReadOnly flag in TypeDetection
2008-12-02 15:56:00 +0100 mav r264712 : #i95809# system file locking support
2008-12-02 15:43:20 +0100 mav r264708 : #i95809# change the name
2008-12-02 15:38:08 +0100 mav r264706 : #i95809# an options to control system file locking usage
Diffstat (limited to 'comphelper')
-rw-r--r-- | comphelper/inc/comphelper/mediadescriptor.hxx | 44 | ||||
-rw-r--r-- | comphelper/source/misc/mediadescriptor.cxx | 35 |
2 files changed, 70 insertions, 9 deletions
diff --git a/comphelper/inc/comphelper/mediadescriptor.hxx b/comphelper/inc/comphelper/mediadescriptor.hxx index f1a05de9de5a..5cd36d2e687b 100644 --- a/comphelper/inc/comphelper/mediadescriptor.hxx +++ b/comphelper/inc/comphelper/mediadescriptor.hxx @@ -151,16 +151,31 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap A might existing InteractionHandler will be used automaticly, to solve problems! - @param bLockFile - specifies whether the file should be locked + In case of local file the system file locking is used. @return TRUE, if the stream was already part of the descriptor or could be created as new item. FALSE otherwhise. */ - // HACK: IT SHOULD BE ONLY ONE METHOD, THE TEMPORARY SOLUTION ALLOWS TO AVOID INCOMPATIBLE BUILD - sal_Bool addInputStream_Impl( sal_Bool bLockFile ); sal_Bool addInputStream(); - sal_Bool addInputStreamNoLock(); + + //--------------------------------------- + /** @short it checks if the descriptor already has a valid + InputStream item and creates a new one, if not. + + @descr This method uses the current items of this MediaDescriptor, + to open the stream (as e.g. URL, ReadOnly, PostData etcpp.). + It creates a seekable stream and put it into the descriptor. + + A might existing InteractionHandler will be used automaticly, + to solve problems! + + In case of local file the system file locking is used based on + configuration settings. + + @return TRUE, if the stream was already part of the descriptor or could + be created as new item. FALSE otherwhise. + */ + sal_Bool addInputStreamOwnLock(); //--------------------------------------- /** @short it checks if the descriptor describes a readonly stream. @@ -248,6 +263,25 @@ class COMPHELPER_DLLPUBLIC MediaDescriptor : public SequenceAsHashMap the "normalized" URL (e.g. without jumpmark) */ COMPHELPER_DLLPRIVATE ::rtl::OUString impl_normalizeURL(const ::rtl::OUString& sURL); + + //--------------------------------------- + /** @short it checks if the descriptor already has a valid + InputStream item and creates a new one, if not. + + @descr This method uses the current items of this MediaDescriptor, + to open the stream (as e.g. URL, ReadOnly, PostData etcpp.). + It creates a seekable stream and put it into the descriptor. + + A might existing InteractionHandler will be used automaticly, + to solve problems! + + @param bLockFile + specifies whether the file should be locked + + @return TRUE, if the stream was already part of the descriptor or could + be created as new item. FALSE otherwhise. + */ + COMPHELPER_DLLPRIVATE sal_Bool impl_addInputStream( sal_Bool bLockFile ); }; } // namespace comphelper diff --git a/comphelper/source/misc/mediadescriptor.cxx b/comphelper/source/misc/mediadescriptor.cxx index fe2a5a3801fe..da0dd71a5520 100644 --- a/comphelper/source/misc/mediadescriptor.cxx +++ b/comphelper/source/misc/mediadescriptor.cxx @@ -86,11 +86,14 @@ #include <com/sun/star/uri/XUriReference.hpp> #endif #include <com/sun/star/ucb/PostCommandArgument2.hpp> +#include <com/sun/star/container/XNameAccess.hpp> + #include <ucbhelper/interceptedinteraction.hxx> #include <ucbhelper/content.hxx> #include <ucbhelper/commandenvironment.hxx> #include <ucbhelper/activedatasink.hxx> #include <comphelper/processfactory.hxx> +#include <comphelper/configurationhelper.hxx> #if OSL_DEBUG_LEVEL>0 #ifndef _RTL_USTRBUF_HXX_ @@ -501,15 +504,39 @@ sal_Bool MediaDescriptor::isStreamReadOnly() const -----------------------------------------------*/ sal_Bool MediaDescriptor::addInputStream() { - return addInputStream_Impl( sal_True ); + return impl_addInputStream( sal_True ); } -sal_Bool MediaDescriptor::addInputStreamNoLock() +/*-----------------------------------------------*/ +sal_Bool MediaDescriptor::addInputStreamOwnLock() { - return addInputStream_Impl( sal_False ); + // Own lock file implementation + + sal_Bool bUseLock = sal_True; // the system file locking is used per default + try + { + + css::uno::Reference< css::uno::XInterface > xCommonConfig = ::comphelper::ConfigurationHelper::openConfig( + ::comphelper::getProcessServiceFactory(), + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "/org.openoffice.Office.Common" ) ), + ::comphelper::ConfigurationHelper::E_STANDARD ); + if ( !xCommonConfig.is() ) + throw css::uno::RuntimeException(); + + ::comphelper::ConfigurationHelper::readRelativeKey( + xCommonConfig, + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "Misc/" ) ), + ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( "UseDocumentSystemFileLocking" ) ) ) >>= bUseLock; + } + catch( const css::uno::Exception& ) + { + } + + return impl_addInputStream( bUseLock ); } -sal_Bool MediaDescriptor::addInputStream_Impl( sal_Bool bLockFile ) +/*-----------------------------------------------*/ +sal_Bool MediaDescriptor::impl_addInputStream( sal_Bool bLockFile ) { // check for an already existing stream item first const_iterator pIt = find(MediaDescriptor::PROP_INPUTSTREAM()); |