|
LibreOffice Module svl (master) 1
|
Class implementing reading and writing MSO lockfiles. More...
#include <msodocumentlockfile.hxx>
Public Member Functions | |
| MSODocumentLockFile (std::u16string_view aOrigURL) | |
| virtual | ~MSODocumentLockFile () override |
| virtual void | RemoveFile () override |
| Delete the Lockfile, if current user is the owner. More... | |
Public Member Functions inherited from svt::GenDocumentLockFile | |
| GenDocumentLockFile (const OUString &aLockFileURL) | |
| virtual | ~GenDocumentLockFile () override |
| bool | CreateOwnLockFile () |
| bool | OverwriteOwnLockFile () |
| virtual void | RemoveFile () |
| Delete the Lockfile, if current user is the owner. More... | |
| void | RemoveFileDirectly () |
| Only delete lockfile, disregarding ownership. More... | |
| LockFileEntry | GetLockData () |
Public Member Functions inherited from svt::LockFileCommon | |
| LockFileCommon (OUString aLockFileURL) | |
| virtual | ~LockFileCommon () |
| const OUString & | GetURL () const |
| void | SetURL (const OUString &aURL) |
Static Public Member Functions | |
| static bool | IsMSOSupportedFileFormat (std::u16string_view aURL) |
Static Public Member Functions inherited from svt::LockFileCommon | |
| static void | ParseList (const css::uno::Sequence< sal_Int8 > &aBuffer, std::vector< LockFileEntry > &rOutput) |
| static LockFileEntry | ParseEntry (const css::uno::Sequence< sal_Int8 > &aBuffer, sal_Int32 &o_nCurPos) |
| static OUString | ParseName (const css::uno::Sequence< sal_Int8 > &aBuffer, sal_Int32 &o_nCurPos) |
| static OUString | EscapeCharacters (const OUString &aSource) |
| static OUString | GetOOOUserName () |
| static OUString | GetCurrentLocalTime () |
| static LockFileEntry | GenerateOwnEntry () |
| static INetURLObject | ResolveLinks (const INetURLObject &aDocURL) |
Private Types | |
| enum class | AppType { Word , Excel , PowerPoint } |
Private Member Functions | |
| virtual void | WriteEntryToStream (std::unique_lock< std::mutex > &rGuard, const LockFileEntry &aEntry, const css::uno::Reference< css::io::XOutputStream > &xStream) override |
| virtual css::uno::Reference< css::io::XInputStream > | OpenStream (std::unique_lock< std::mutex > &rGuard) override |
| virtual LockFileEntry | GetLockDataImpl (std::unique_lock< std::mutex > &rGuard) override |
Static Private Member Functions | |
| static AppType | getAppType (std::u16string_view sOrigURL) |
Private Attributes | |
| AppType | m_eAppType |
Additional Inherited Members | |
| virtual LockFileEntry | GetLockDataImpl (std::unique_lock< std::mutex > &rGuard)=0 |
| virtual void | WriteEntryToStream (std::unique_lock< std::mutex > &rGuard, const LockFileEntry &aEntry, const css::uno::Reference< css::io::XOutputStream > &xStream)=0 |
| virtual css::uno::Reference< css::io::XInputStream > | OpenStream (std::unique_lock< std::mutex > &rGuard) |
Static Protected Member Functions inherited from svt::LockFileCommon | |
| static OUString | GenerateOwnLockFileURL (std::u16string_view aOrigURL, std::u16string_view aPrefix) |
| This method generates the URL of the lock file based on the document URL and the specified prefix. More... | |
Protected Attributes inherited from svt::LockFileCommon | |
| std::mutex | m_aMutex |
Class implementing reading and writing MSO lockfiles.
Definition at line 23 of file msodocumentlockfile.hxx.
|
strongprivate |
| Enumerator | |
|---|---|
| Word | |
| Excel | |
| PowerPoint | |
Definition at line 26 of file msodocumentlockfile.hxx.
| svt::MSODocumentLockFile::MSODocumentLockFile | ( | std::u16string_view | aOrigURL | ) |
Definition at line 80 of file msodocumentlockfile.cxx.
|
overridevirtual |
Definition at line 86 of file msodocumentlockfile.cxx.
|
staticprivate |
Definition at line 67 of file msodocumentlockfile.cxx.
References Excel, INetURLObject::GetFileExtension(), PowerPoint, svt::LockFileCommon::ResolveLinks(), and Word.
|
overrideprivatevirtual |
Implements svt::GenDocumentLockFile.
Definition at line 193 of file msodocumentlockfile.cxx.
References aBuf, i, OOOUSERNAME, OpenStream(), and p.
Referenced by RemoveFile().
|
static |
Definition at line 259 of file msodocumentlockfile.cxx.
References aURL, INetURLObject::GetFileExtension(), and svt::LockFileCommon::ResolveLinks().
|
overrideprivatevirtual |
Reimplemented from svt::GenDocumentLockFile.
Definition at line 184 of file msodocumentlockfile.cxx.
References comphelper::getProcessComponentContext(), svt::LockFileCommon::GetURL(), and ucbhelper::Content::openStreamNoLock().
Referenced by GetLockDataImpl().
|
overridevirtual |
Delete the Lockfile, if current user is the owner.
Reimplemented from svt::GenDocumentLockFile.
Definition at line 245 of file msodocumentlockfile.cxx.
References svt::LockFileCommon::GenerateOwnEntry(), GetLockDataImpl(), svt::LockFileCommon::m_aMutex, OOOUSERNAME, and svt::GenDocumentLockFile::RemoveFileDirectly().
|
overrideprivatevirtual |
Implements svt::GenDocumentLockFile.
Definition at line 88 of file msodocumentlockfile.cxx.
References aData, Excel, m_eAppType, MSO_EXCEL_AND_POWERPOINT_LOCKFILE_SIZE, MSO_USERNAME_MAX_LENGTH, MSO_WORD_LOCKFILE_SIZE, nIndex, OOOUSERNAME, pData, PowerPoint, and Word.
|
private |
Definition at line 33 of file msodocumentlockfile.hxx.
Referenced by WriteEntryToStream().