summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorNoel Grandin <noel.grandin@collabora.co.uk>2023-02-15 10:55:14 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2023-02-15 10:03:24 +0000
commitbfbbdab13f16adf66f1afb9e2a2a103162927ba3 (patch)
tree666df4476917cf0a87427ebb4a215cca56bc3aa0 /include
parentddf4f82443254d88d9b984c68ed05fa16bb4607a (diff)
osl::Mutex->std::mutex in LockFileCommon
Change-Id: I729b7ecf8280c67e4698b174a6151d1eda41be60 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147040 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'include')
-rw-r--r--include/svl/documentlockfile.hxx12
-rw-r--r--include/svl/lockfilecommon.hxx4
-rw-r--r--include/svl/msodocumentlockfile.hxx9
-rw-r--r--include/svl/sharecontrolfile.hxx5
4 files changed, 18 insertions, 12 deletions
diff --git a/include/svl/documentlockfile.hxx b/include/svl/documentlockfile.hxx
index b4f731db7fc8..d5dee52561cb 100644
--- a/include/svl/documentlockfile.hxx
+++ b/include/svl/documentlockfile.hxx
@@ -43,23 +43,25 @@ public:
/// Only delete lockfile, disregarding ownership
void RemoveFileDirectly();
- virtual LockFileEntry GetLockData() = 0;
+ LockFileEntry GetLockData();
protected:
- virtual void WriteEntryToStream( const LockFileEntry& aEntry, const css::uno::Reference< css::io::XOutputStream >& xStream ) = 0;
- virtual css::uno::Reference< css::io::XInputStream > OpenStream();
+ 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);
};
/// Class implementing reading and writing LO lockfiles.
class SVL_DLLPUBLIC DocumentLockFile final : public GenDocumentLockFile
{
- virtual void WriteEntryToStream( const LockFileEntry& aEntry, const css::uno::Reference< css::io::XOutputStream >& xStream ) override;
+ virtual void WriteEntryToStream( std::unique_lock<std::mutex>& rGuard, const LockFileEntry& aEntry, const css::uno::Reference< css::io::XOutputStream >& xStream ) override;
public:
DocumentLockFile( std::u16string_view aOrigURL );
virtual ~DocumentLockFile() override;
- virtual LockFileEntry GetLockData() override;
+protected:
+ virtual LockFileEntry GetLockDataImpl(std::unique_lock<std::mutex>& rGuard) override;
};
}
diff --git a/include/svl/lockfilecommon.hxx b/include/svl/lockfilecommon.hxx
index d71cb8262e92..6a19681b6f7a 100644
--- a/include/svl/lockfilecommon.hxx
+++ b/include/svl/lockfilecommon.hxx
@@ -24,10 +24,10 @@
#include <com/sun/star/uno/Sequence.hxx>
-#include <osl/mutex.hxx>
#include <tools/urlobj.hxx>
#include <o3tl/enumarray.hxx>
+#include <mutex>
#include <string_view>
#include <vector>
@@ -47,7 +47,7 @@ private:
OUString m_aURL;
protected:
- ::osl::Mutex m_aMutex;
+ std::mutex m_aMutex;
/// This method generates the URL of the lock file based on the document URL and the specified prefix.
static OUString GenerateOwnLockFileURL(std::u16string_view aOrigURL, std::u16string_view aPrefix);
diff --git a/include/svl/msodocumentlockfile.hxx b/include/svl/msodocumentlockfile.hxx
index f91c7ccffe44..282f427b32aa 100644
--- a/include/svl/msodocumentlockfile.hxx
+++ b/include/svl/msodocumentlockfile.hxx
@@ -33,17 +33,18 @@ private:
AppType m_eAppType;
virtual void
- WriteEntryToStream(const LockFileEntry& aEntry,
+ 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() 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;
public:
MSODocumentLockFile(std::u16string_view aOrigURL);
virtual ~MSODocumentLockFile() override;
- virtual LockFileEntry GetLockData() override;
-
virtual void RemoveFile() override;
static bool IsMSOSupportedFileFormat(std::u16string_view aURL);
diff --git a/include/svl/sharecontrolfile.hxx b/include/svl/sharecontrolfile.hxx
index fe717131262b..a7b9ac1db297 100644
--- a/include/svl/sharecontrolfile.hxx
+++ b/include/svl/sharecontrolfile.hxx
@@ -56,12 +56,15 @@ public:
virtual ~ShareControlFile() override;
std::vector< LockFileEntry > GetUsersData();
- void SetUsersDataAndStore( std::vector< LockFileEntry >&& aUserNames );
+ void SetUsersDataAndStore( std::unique_lock<std::mutex>& rGuard, std::vector< LockFileEntry >&& aUserNames );
LockFileEntry InsertOwnEntry();
bool HasOwnEntry();
void RemoveEntry( const LockFileEntry& aOptionalSpecification );
void RemoveEntry();
void RemoveFile();
+private:
+ void RemoveFileImpl(std::unique_lock<std::mutex>& rGuard);
+ std::vector< LockFileEntry > GetUsersDataImpl(std::unique_lock<std::mutex>& rGuard);
};
}