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().