From 2e7b2d1487402a3c48bd77f276467596555f62cd Mon Sep 17 00:00:00 2001 From: Stefan Ceriu Date: Tue, 2 Jun 2026 18:18:47 +0300 Subject: [PATCH] Regenerate the mocks --- .../Mocks/Generated/GeneratedMocks.swift | 23452 ++++---------- .../Sources/Generated/SDKGeneratedMocks.swift | 26999 ++++------------ 2 files changed, 13569 insertions(+), 36882 deletions(-) diff --git a/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift b/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift index a46ff48b1..8946ea097 100644 --- a/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift +++ b/ElementX/Sources/Mocks/Generated/GeneratedMocks.swift @@ -23,70 +23,42 @@ class AnalyticsClientMock: AnalyticsClientProtocol, @unchecked Sendable { //MARK: - start - var startAnalyticsConfigurationUnderlyingCallsCount = 0 + private let startAnalyticsConfigurationCallsCountLock = NSLock() + private var startAnalyticsConfigurationUnderlyingCallsCount = 0 var startAnalyticsConfigurationCallsCount: Int { - get { - if Thread.isMainThread { - return startAnalyticsConfigurationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startAnalyticsConfigurationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startAnalyticsConfigurationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startAnalyticsConfigurationUnderlyingCallsCount = newValue - } - } - } + get { startAnalyticsConfigurationCallsCountLock.withLock { startAnalyticsConfigurationUnderlyingCallsCount } } + set { startAnalyticsConfigurationCallsCountLock.withLock { startAnalyticsConfigurationUnderlyingCallsCount = newValue } } } var startAnalyticsConfigurationCalled: Bool { return startAnalyticsConfigurationCallsCount > 0 } - var startAnalyticsConfigurationReceivedAnalyticsConfiguration: AnalyticsConfiguration? - var startAnalyticsConfigurationReceivedInvocations: [AnalyticsConfiguration] = [] + private let startAnalyticsConfigurationReceivedAnalyticsConfigurationLock = NSLock() + private var startAnalyticsConfigurationUnderlyingReceivedAnalyticsConfiguration: AnalyticsConfiguration? + var startAnalyticsConfigurationReceivedAnalyticsConfiguration: AnalyticsConfiguration? { + get { startAnalyticsConfigurationReceivedAnalyticsConfigurationLock.withLock { startAnalyticsConfigurationUnderlyingReceivedAnalyticsConfiguration } } + set { startAnalyticsConfigurationReceivedAnalyticsConfigurationLock.withLock { startAnalyticsConfigurationUnderlyingReceivedAnalyticsConfiguration = newValue } } + } + private let startAnalyticsConfigurationReceivedInvocationsLock = NSLock() + private var startAnalyticsConfigurationUnderlyingReceivedInvocations: [AnalyticsConfiguration] = [] + var startAnalyticsConfigurationReceivedInvocations: [AnalyticsConfiguration] { + get { startAnalyticsConfigurationReceivedInvocationsLock.withLock { startAnalyticsConfigurationUnderlyingReceivedInvocations } } + set { startAnalyticsConfigurationReceivedInvocationsLock.withLock { startAnalyticsConfigurationUnderlyingReceivedInvocations = newValue } } + } var startAnalyticsConfigurationClosure: ((AnalyticsConfiguration) -> Void)? func start(analyticsConfiguration: AnalyticsConfiguration) { - startAnalyticsConfigurationCallsCount += 1 + startAnalyticsConfigurationCallsCountLock.withLock { startAnalyticsConfigurationUnderlyingCallsCount += 1 } startAnalyticsConfigurationReceivedAnalyticsConfiguration = analyticsConfiguration - DispatchQueue.main.async { - self.startAnalyticsConfigurationReceivedInvocations.append(analyticsConfiguration) - } + startAnalyticsConfigurationReceivedInvocationsLock.withLock { startAnalyticsConfigurationUnderlyingReceivedInvocations.append(analyticsConfiguration) } startAnalyticsConfigurationClosure?(analyticsConfiguration) } //MARK: - reset - var resetUnderlyingCallsCount = 0 + private let resetCallsCountLock = NSLock() + private var resetUnderlyingCallsCount = 0 var resetCallsCount: Int { - get { - if Thread.isMainThread { - return resetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetUnderlyingCallsCount = newValue - } - } - } + get { resetCallsCountLock.withLock { resetUnderlyingCallsCount } } + set { resetCallsCountLock.withLock { resetUnderlyingCallsCount = newValue } } } var resetCalled: Bool { return resetCallsCount > 0 @@ -94,34 +66,16 @@ class AnalyticsClientMock: AnalyticsClientProtocol, @unchecked Sendable { var resetClosure: (() -> Void)? func reset() { - resetCallsCount += 1 + resetCallsCountLock.withLock { resetUnderlyingCallsCount += 1 } resetClosure?() } //MARK: - stop - var stopUnderlyingCallsCount = 0 + private let stopCallsCountLock = NSLock() + private var stopUnderlyingCallsCount = 0 var stopCallsCount: Int { - get { - if Thread.isMainThread { - return stopUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopUnderlyingCallsCount = newValue - } - } - } + get { stopCallsCountLock.withLock { stopUnderlyingCallsCount } } + set { stopCallsCountLock.withLock { stopUnderlyingCallsCount = newValue } } } var stopCalled: Bool { return stopCallsCount > 0 @@ -129,130 +83,100 @@ class AnalyticsClientMock: AnalyticsClientProtocol, @unchecked Sendable { var stopClosure: (() -> Void)? func stop() { - stopCallsCount += 1 + stopCallsCountLock.withLock { stopUnderlyingCallsCount += 1 } stopClosure?() } //MARK: - capture - var captureUnderlyingCallsCount = 0 + private let captureCallsCountLock = NSLock() + private var captureUnderlyingCallsCount = 0 var captureCallsCount: Int { - get { - if Thread.isMainThread { - return captureUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = captureUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - captureUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - captureUnderlyingCallsCount = newValue - } - } - } + get { captureCallsCountLock.withLock { captureUnderlyingCallsCount } } + set { captureCallsCountLock.withLock { captureUnderlyingCallsCount = newValue } } } var captureCalled: Bool { return captureCallsCount > 0 } - var captureReceivedEvent: AnalyticsEventProtocol? - var captureReceivedInvocations: [AnalyticsEventProtocol] = [] + private let captureReceivedEventLock = NSLock() + private var captureUnderlyingReceivedEvent: AnalyticsEventProtocol? + var captureReceivedEvent: AnalyticsEventProtocol? { + get { captureReceivedEventLock.withLock { captureUnderlyingReceivedEvent } } + set { captureReceivedEventLock.withLock { captureUnderlyingReceivedEvent = newValue } } + } + private let captureReceivedInvocationsLock = NSLock() + private var captureUnderlyingReceivedInvocations: [AnalyticsEventProtocol] = [] + var captureReceivedInvocations: [AnalyticsEventProtocol] { + get { captureReceivedInvocationsLock.withLock { captureUnderlyingReceivedInvocations } } + set { captureReceivedInvocationsLock.withLock { captureUnderlyingReceivedInvocations = newValue } } + } var captureClosure: ((AnalyticsEventProtocol) -> Void)? func capture(_ event: AnalyticsEventProtocol) { - captureCallsCount += 1 + captureCallsCountLock.withLock { captureUnderlyingCallsCount += 1 } captureReceivedEvent = event - DispatchQueue.main.async { - self.captureReceivedInvocations.append(event) - } + captureReceivedInvocationsLock.withLock { captureUnderlyingReceivedInvocations.append(event) } captureClosure?(event) } //MARK: - screen - var screenUnderlyingCallsCount = 0 + private let screenCallsCountLock = NSLock() + private var screenUnderlyingCallsCount = 0 var screenCallsCount: Int { - get { - if Thread.isMainThread { - return screenUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = screenUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - screenUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - screenUnderlyingCallsCount = newValue - } - } - } + get { screenCallsCountLock.withLock { screenUnderlyingCallsCount } } + set { screenCallsCountLock.withLock { screenUnderlyingCallsCount = newValue } } } var screenCalled: Bool { return screenCallsCount > 0 } - var screenReceivedEvent: AnalyticsScreenProtocol? - var screenReceivedInvocations: [AnalyticsScreenProtocol] = [] + private let screenReceivedEventLock = NSLock() + private var screenUnderlyingReceivedEvent: AnalyticsScreenProtocol? + var screenReceivedEvent: AnalyticsScreenProtocol? { + get { screenReceivedEventLock.withLock { screenUnderlyingReceivedEvent } } + set { screenReceivedEventLock.withLock { screenUnderlyingReceivedEvent = newValue } } + } + private let screenReceivedInvocationsLock = NSLock() + private var screenUnderlyingReceivedInvocations: [AnalyticsScreenProtocol] = [] + var screenReceivedInvocations: [AnalyticsScreenProtocol] { + get { screenReceivedInvocationsLock.withLock { screenUnderlyingReceivedInvocations } } + set { screenReceivedInvocationsLock.withLock { screenUnderlyingReceivedInvocations = newValue } } + } var screenClosure: ((AnalyticsScreenProtocol) -> Void)? func screen(_ event: AnalyticsScreenProtocol) { - screenCallsCount += 1 + screenCallsCountLock.withLock { screenUnderlyingCallsCount += 1 } screenReceivedEvent = event - DispatchQueue.main.async { - self.screenReceivedInvocations.append(event) - } + screenReceivedInvocationsLock.withLock { screenUnderlyingReceivedInvocations.append(event) } screenClosure?(event) } //MARK: - updateUserProperties - var updateUserPropertiesUnderlyingCallsCount = 0 + private let updateUserPropertiesCallsCountLock = NSLock() + private var updateUserPropertiesUnderlyingCallsCount = 0 var updateUserPropertiesCallsCount: Int { - get { - if Thread.isMainThread { - return updateUserPropertiesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateUserPropertiesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateUserPropertiesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateUserPropertiesUnderlyingCallsCount = newValue - } - } - } + get { updateUserPropertiesCallsCountLock.withLock { updateUserPropertiesUnderlyingCallsCount } } + set { updateUserPropertiesCallsCountLock.withLock { updateUserPropertiesUnderlyingCallsCount = newValue } } } var updateUserPropertiesCalled: Bool { return updateUserPropertiesCallsCount > 0 } - var updateUserPropertiesReceivedEvent: AnalyticsEvent.UserProperties? - var updateUserPropertiesReceivedInvocations: [AnalyticsEvent.UserProperties] = [] + private let updateUserPropertiesReceivedEventLock = NSLock() + private var updateUserPropertiesUnderlyingReceivedEvent: AnalyticsEvent.UserProperties? + var updateUserPropertiesReceivedEvent: AnalyticsEvent.UserProperties? { + get { updateUserPropertiesReceivedEventLock.withLock { updateUserPropertiesUnderlyingReceivedEvent } } + set { updateUserPropertiesReceivedEventLock.withLock { updateUserPropertiesUnderlyingReceivedEvent = newValue } } + } + private let updateUserPropertiesReceivedInvocationsLock = NSLock() + private var updateUserPropertiesUnderlyingReceivedInvocations: [AnalyticsEvent.UserProperties] = [] + var updateUserPropertiesReceivedInvocations: [AnalyticsEvent.UserProperties] { + get { updateUserPropertiesReceivedInvocationsLock.withLock { updateUserPropertiesUnderlyingReceivedInvocations } } + set { updateUserPropertiesReceivedInvocationsLock.withLock { updateUserPropertiesUnderlyingReceivedInvocations = newValue } } + } var updateUserPropertiesClosure: ((AnalyticsEvent.UserProperties) -> Void)? func updateUserProperties(_ event: AnalyticsEvent.UserProperties) { - updateUserPropertiesCallsCount += 1 + updateUserPropertiesCallsCountLock.withLock { updateUserPropertiesUnderlyingCallsCount += 1 } updateUserPropertiesReceivedEvent = event - DispatchQueue.main.async { - self.updateUserPropertiesReceivedInvocations.append(event) - } + updateUserPropertiesReceivedInvocationsLock.withLock { updateUserPropertiesUnderlyingReceivedInvocations.append(event) } updateUserPropertiesClosure?(event) } } @@ -275,29 +199,11 @@ class AnalyticsServiceMock: AnalyticsServiceProtocol, @unchecked Sendable { //MARK: - optIn - var optInUnderlyingCallsCount = 0 + private let optInCallsCountLock = NSLock() + private var optInUnderlyingCallsCount = 0 var optInCallsCount: Int { - get { - if Thread.isMainThread { - return optInUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = optInUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - optInUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - optInUnderlyingCallsCount = newValue - } - } - } + get { optInCallsCountLock.withLock { optInUnderlyingCallsCount } } + set { optInCallsCountLock.withLock { optInUnderlyingCallsCount = newValue } } } var optInCalled: Bool { return optInCallsCount > 0 @@ -305,34 +211,16 @@ class AnalyticsServiceMock: AnalyticsServiceProtocol, @unchecked Sendable { var optInClosure: (() -> Void)? func optIn() { - optInCallsCount += 1 + optInCallsCountLock.withLock { optInUnderlyingCallsCount += 1 } optInClosure?() } //MARK: - optOut - var optOutUnderlyingCallsCount = 0 + private let optOutCallsCountLock = NSLock() + private var optOutUnderlyingCallsCount = 0 var optOutCallsCount: Int { - get { - if Thread.isMainThread { - return optOutUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = optOutUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - optOutUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - optOutUnderlyingCallsCount = newValue - } - } - } + get { optOutCallsCountLock.withLock { optOutUnderlyingCallsCount } } + set { optOutCallsCountLock.withLock { optOutUnderlyingCallsCount = newValue } } } var optOutCalled: Bool { return optOutCallsCount > 0 @@ -340,34 +228,16 @@ class AnalyticsServiceMock: AnalyticsServiceProtocol, @unchecked Sendable { var optOutClosure: (() -> Void)? func optOut() { - optOutCallsCount += 1 + optOutCallsCountLock.withLock { optOutUnderlyingCallsCount += 1 } optOutClosure?() } //MARK: - startIfEnabled - var startIfEnabledUnderlyingCallsCount = 0 + private let startIfEnabledCallsCountLock = NSLock() + private var startIfEnabledUnderlyingCallsCount = 0 var startIfEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return startIfEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startIfEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startIfEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startIfEnabledUnderlyingCallsCount = newValue - } - } - } + get { startIfEnabledCallsCountLock.withLock { startIfEnabledUnderlyingCallsCount } } + set { startIfEnabledCallsCountLock.withLock { startIfEnabledUnderlyingCallsCount = newValue } } } var startIfEnabledCalled: Bool { return startIfEnabledCallsCount > 0 @@ -375,34 +245,16 @@ class AnalyticsServiceMock: AnalyticsServiceProtocol, @unchecked Sendable { var startIfEnabledClosure: (() -> Void)? func startIfEnabled() { - startIfEnabledCallsCount += 1 + startIfEnabledCallsCountLock.withLock { startIfEnabledUnderlyingCallsCount += 1 } startIfEnabledClosure?() } //MARK: - reset - var resetUnderlyingCallsCount = 0 + private let resetCallsCountLock = NSLock() + private var resetUnderlyingCallsCount = 0 var resetCallsCount: Int { - get { - if Thread.isMainThread { - return resetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetUnderlyingCallsCount = newValue - } - } - } + get { resetCallsCountLock.withLock { resetUnderlyingCallsCount } } + set { resetCallsCountLock.withLock { resetUnderlyingCallsCount = newValue } } } var resetCalled: Bool { return resetCallsCount > 0 @@ -410,34 +262,16 @@ class AnalyticsServiceMock: AnalyticsServiceProtocol, @unchecked Sendable { var resetClosure: (() -> Void)? func reset() { - resetCallsCount += 1 + resetCallsCountLock.withLock { resetUnderlyingCallsCount += 1 } resetClosure?() } //MARK: - resetConsentState - var resetConsentStateUnderlyingCallsCount = 0 + private let resetConsentStateCallsCountLock = NSLock() + private var resetConsentStateUnderlyingCallsCount = 0 var resetConsentStateCallsCount: Int { - get { - if Thread.isMainThread { - return resetConsentStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetConsentStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetConsentStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetConsentStateUnderlyingCallsCount = newValue - } - } - } + get { resetConsentStateCallsCountLock.withLock { resetConsentStateUnderlyingCallsCount } } + set { resetConsentStateCallsCountLock.withLock { resetConsentStateUnderlyingCallsCount = newValue } } } var resetConsentStateCalled: Bool { return resetConsentStateCallsCount > 0 @@ -445,362 +279,264 @@ class AnalyticsServiceMock: AnalyticsServiceProtocol, @unchecked Sendable { var resetConsentStateClosure: (() -> Void)? func resetConsentState() { - resetConsentStateCallsCount += 1 + resetConsentStateCallsCountLock.withLock { resetConsentStateUnderlyingCallsCount += 1 } resetConsentStateClosure?() } //MARK: - track - var trackScreenDurationUnderlyingCallsCount = 0 + private let trackScreenDurationCallsCountLock = NSLock() + private var trackScreenDurationUnderlyingCallsCount = 0 var trackScreenDurationCallsCount: Int { - get { - if Thread.isMainThread { - return trackScreenDurationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackScreenDurationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackScreenDurationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackScreenDurationUnderlyingCallsCount = newValue - } - } - } + get { trackScreenDurationCallsCountLock.withLock { trackScreenDurationUnderlyingCallsCount } } + set { trackScreenDurationCallsCountLock.withLock { trackScreenDurationUnderlyingCallsCount = newValue } } } var trackScreenDurationCalled: Bool { return trackScreenDurationCallsCount > 0 } - var trackScreenDurationReceivedArguments: (screen: AnalyticsEvent.MobileScreen.ScreenName, milliseconds: Int?)? - var trackScreenDurationReceivedInvocations: [(screen: AnalyticsEvent.MobileScreen.ScreenName, milliseconds: Int?)] = [] + private let trackScreenDurationReceivedArgumentsLock = NSLock() + private var trackScreenDurationUnderlyingReceivedArguments: (screen: AnalyticsEvent.MobileScreen.ScreenName, milliseconds: Int?)? + var trackScreenDurationReceivedArguments: (screen: AnalyticsEvent.MobileScreen.ScreenName, milliseconds: Int?)? { + get { trackScreenDurationReceivedArgumentsLock.withLock { trackScreenDurationUnderlyingReceivedArguments } } + set { trackScreenDurationReceivedArgumentsLock.withLock { trackScreenDurationUnderlyingReceivedArguments = newValue } } + } + private let trackScreenDurationReceivedInvocationsLock = NSLock() + private var trackScreenDurationUnderlyingReceivedInvocations: [(screen: AnalyticsEvent.MobileScreen.ScreenName, milliseconds: Int?)] = [] + var trackScreenDurationReceivedInvocations: [(screen: AnalyticsEvent.MobileScreen.ScreenName, milliseconds: Int?)] { + get { trackScreenDurationReceivedInvocationsLock.withLock { trackScreenDurationUnderlyingReceivedInvocations } } + set { trackScreenDurationReceivedInvocationsLock.withLock { trackScreenDurationUnderlyingReceivedInvocations = newValue } } + } var trackScreenDurationClosure: ((AnalyticsEvent.MobileScreen.ScreenName, Int?) -> Void)? func track(screen: AnalyticsEvent.MobileScreen.ScreenName, duration milliseconds: Int?) { - trackScreenDurationCallsCount += 1 + trackScreenDurationCallsCountLock.withLock { trackScreenDurationUnderlyingCallsCount += 1 } trackScreenDurationReceivedArguments = (screen: screen, milliseconds: milliseconds) - DispatchQueue.main.async { - self.trackScreenDurationReceivedInvocations.append((screen: screen, milliseconds: milliseconds)) - } + trackScreenDurationReceivedInvocationsLock.withLock { trackScreenDurationUnderlyingReceivedInvocations.append((screen: screen, milliseconds: milliseconds)) } trackScreenDurationClosure?(screen, milliseconds) } //MARK: - trackInteraction - var trackInteractionIndexNameUnderlyingCallsCount = 0 + private let trackInteractionIndexNameCallsCountLock = NSLock() + private var trackInteractionIndexNameUnderlyingCallsCount = 0 var trackInteractionIndexNameCallsCount: Int { - get { - if Thread.isMainThread { - return trackInteractionIndexNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackInteractionIndexNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackInteractionIndexNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackInteractionIndexNameUnderlyingCallsCount = newValue - } - } - } + get { trackInteractionIndexNameCallsCountLock.withLock { trackInteractionIndexNameUnderlyingCallsCount } } + set { trackInteractionIndexNameCallsCountLock.withLock { trackInteractionIndexNameUnderlyingCallsCount = newValue } } } var trackInteractionIndexNameCalled: Bool { return trackInteractionIndexNameCallsCount > 0 } - var trackInteractionIndexNameReceivedArguments: (index: Int?, name: AnalyticsEvent.Interaction.Name)? - var trackInteractionIndexNameReceivedInvocations: [(index: Int?, name: AnalyticsEvent.Interaction.Name)] = [] + private let trackInteractionIndexNameReceivedArgumentsLock = NSLock() + private var trackInteractionIndexNameUnderlyingReceivedArguments: (index: Int?, name: AnalyticsEvent.Interaction.Name)? + var trackInteractionIndexNameReceivedArguments: (index: Int?, name: AnalyticsEvent.Interaction.Name)? { + get { trackInteractionIndexNameReceivedArgumentsLock.withLock { trackInteractionIndexNameUnderlyingReceivedArguments } } + set { trackInteractionIndexNameReceivedArgumentsLock.withLock { trackInteractionIndexNameUnderlyingReceivedArguments = newValue } } + } + private let trackInteractionIndexNameReceivedInvocationsLock = NSLock() + private var trackInteractionIndexNameUnderlyingReceivedInvocations: [(index: Int?, name: AnalyticsEvent.Interaction.Name)] = [] + var trackInteractionIndexNameReceivedInvocations: [(index: Int?, name: AnalyticsEvent.Interaction.Name)] { + get { trackInteractionIndexNameReceivedInvocationsLock.withLock { trackInteractionIndexNameUnderlyingReceivedInvocations } } + set { trackInteractionIndexNameReceivedInvocationsLock.withLock { trackInteractionIndexNameUnderlyingReceivedInvocations = newValue } } + } var trackInteractionIndexNameClosure: ((Int?, AnalyticsEvent.Interaction.Name) -> Void)? func trackInteraction(index: Int?, name: AnalyticsEvent.Interaction.Name) { - trackInteractionIndexNameCallsCount += 1 + trackInteractionIndexNameCallsCountLock.withLock { trackInteractionIndexNameUnderlyingCallsCount += 1 } trackInteractionIndexNameReceivedArguments = (index: index, name: name) - DispatchQueue.main.async { - self.trackInteractionIndexNameReceivedInvocations.append((index: index, name: name)) - } + trackInteractionIndexNameReceivedInvocationsLock.withLock { trackInteractionIndexNameUnderlyingReceivedInvocations.append((index: index, name: name)) } trackInteractionIndexNameClosure?(index, name) } //MARK: - trackError - var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount = 0 + private let trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserCallsCountLock = NSLock() + private var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount = 0 var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserCallsCount: Int { - get { - if Thread.isMainThread { - return trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount = newValue - } - } - } + get { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserCallsCountLock.withLock { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount } } + set { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserCallsCountLock.withLock { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount = newValue } } } var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserCalled: Bool { return trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserCallsCount > 0 } - var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedArguments: (context: String?, domain: AnalyticsEvent.Error.Domain, name: AnalyticsEvent.Error.Name, timeToDecryptMillis: Int?, eventLocalAgeMillis: Int?, isFederated: Bool?, isMatrixDotOrg: Bool?, userTrustsOwnIdentity: Bool?, wasVisibleToUser: Bool?)? - var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedInvocations: [(context: String?, domain: AnalyticsEvent.Error.Domain, name: AnalyticsEvent.Error.Name, timeToDecryptMillis: Int?, eventLocalAgeMillis: Int?, isFederated: Bool?, isMatrixDotOrg: Bool?, userTrustsOwnIdentity: Bool?, wasVisibleToUser: Bool?)] = [] + private let trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedArgumentsLock = NSLock() + private var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingReceivedArguments: (context: String?, domain: AnalyticsEvent.Error.Domain, name: AnalyticsEvent.Error.Name, timeToDecryptMillis: Int?, eventLocalAgeMillis: Int?, isFederated: Bool?, isMatrixDotOrg: Bool?, userTrustsOwnIdentity: Bool?, wasVisibleToUser: Bool?)? + var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedArguments: (context: String?, domain: AnalyticsEvent.Error.Domain, name: AnalyticsEvent.Error.Name, timeToDecryptMillis: Int?, eventLocalAgeMillis: Int?, isFederated: Bool?, isMatrixDotOrg: Bool?, userTrustsOwnIdentity: Bool?, wasVisibleToUser: Bool?)? { + get { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedArgumentsLock.withLock { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingReceivedArguments } } + set { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedArgumentsLock.withLock { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingReceivedArguments = newValue } } + } + private let trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedInvocationsLock = NSLock() + private var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingReceivedInvocations: [(context: String?, domain: AnalyticsEvent.Error.Domain, name: AnalyticsEvent.Error.Name, timeToDecryptMillis: Int?, eventLocalAgeMillis: Int?, isFederated: Bool?, isMatrixDotOrg: Bool?, userTrustsOwnIdentity: Bool?, wasVisibleToUser: Bool?)] = [] + var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedInvocations: [(context: String?, domain: AnalyticsEvent.Error.Domain, name: AnalyticsEvent.Error.Name, timeToDecryptMillis: Int?, eventLocalAgeMillis: Int?, isFederated: Bool?, isMatrixDotOrg: Bool?, userTrustsOwnIdentity: Bool?, wasVisibleToUser: Bool?)] { + get { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedInvocationsLock.withLock { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingReceivedInvocations } } + set { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedInvocationsLock.withLock { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingReceivedInvocations = newValue } } + } var trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserClosure: ((String?, AnalyticsEvent.Error.Domain, AnalyticsEvent.Error.Name, Int?, Int?, Bool?, Bool?, Bool?, Bool?) -> Void)? func trackError(context: String?, domain: AnalyticsEvent.Error.Domain, name: AnalyticsEvent.Error.Name, timeToDecryptMillis: Int?, eventLocalAgeMillis: Int?, isFederated: Bool?, isMatrixDotOrg: Bool?, userTrustsOwnIdentity: Bool?, wasVisibleToUser: Bool?) { - trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserCallsCount += 1 + trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserCallsCountLock.withLock { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingCallsCount += 1 } trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedArguments = (context: context, domain: domain, name: name, timeToDecryptMillis: timeToDecryptMillis, eventLocalAgeMillis: eventLocalAgeMillis, isFederated: isFederated, isMatrixDotOrg: isMatrixDotOrg, userTrustsOwnIdentity: userTrustsOwnIdentity, wasVisibleToUser: wasVisibleToUser) - DispatchQueue.main.async { - self.trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedInvocations.append((context: context, domain: domain, name: name, timeToDecryptMillis: timeToDecryptMillis, eventLocalAgeMillis: eventLocalAgeMillis, isFederated: isFederated, isMatrixDotOrg: isMatrixDotOrg, userTrustsOwnIdentity: userTrustsOwnIdentity, wasVisibleToUser: wasVisibleToUser)) - } + trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserReceivedInvocationsLock.withLock { trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserUnderlyingReceivedInvocations.append((context: context, domain: domain, name: name, timeToDecryptMillis: timeToDecryptMillis, eventLocalAgeMillis: eventLocalAgeMillis, isFederated: isFederated, isMatrixDotOrg: isMatrixDotOrg, userTrustsOwnIdentity: userTrustsOwnIdentity, wasVisibleToUser: wasVisibleToUser)) } trackErrorContextDomainNameTimeToDecryptMillisEventLocalAgeMillisIsFederatedIsMatrixDotOrgUserTrustsOwnIdentityWasVisibleToUserClosure?(context, domain, name, timeToDecryptMillis, eventLocalAgeMillis, isFederated, isMatrixDotOrg, userTrustsOwnIdentity, wasVisibleToUser) } //MARK: - trackCreatedRoom - var trackCreatedRoomIsDMUnderlyingCallsCount = 0 + private let trackCreatedRoomIsDMCallsCountLock = NSLock() + private var trackCreatedRoomIsDMUnderlyingCallsCount = 0 var trackCreatedRoomIsDMCallsCount: Int { - get { - if Thread.isMainThread { - return trackCreatedRoomIsDMUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackCreatedRoomIsDMUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackCreatedRoomIsDMUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackCreatedRoomIsDMUnderlyingCallsCount = newValue - } - } - } + get { trackCreatedRoomIsDMCallsCountLock.withLock { trackCreatedRoomIsDMUnderlyingCallsCount } } + set { trackCreatedRoomIsDMCallsCountLock.withLock { trackCreatedRoomIsDMUnderlyingCallsCount = newValue } } } var trackCreatedRoomIsDMCalled: Bool { return trackCreatedRoomIsDMCallsCount > 0 } - var trackCreatedRoomIsDMReceivedIsDM: Bool? - var trackCreatedRoomIsDMReceivedInvocations: [Bool] = [] + private let trackCreatedRoomIsDMReceivedIsDMLock = NSLock() + private var trackCreatedRoomIsDMUnderlyingReceivedIsDM: Bool? + var trackCreatedRoomIsDMReceivedIsDM: Bool? { + get { trackCreatedRoomIsDMReceivedIsDMLock.withLock { trackCreatedRoomIsDMUnderlyingReceivedIsDM } } + set { trackCreatedRoomIsDMReceivedIsDMLock.withLock { trackCreatedRoomIsDMUnderlyingReceivedIsDM = newValue } } + } + private let trackCreatedRoomIsDMReceivedInvocationsLock = NSLock() + private var trackCreatedRoomIsDMUnderlyingReceivedInvocations: [Bool] = [] + var trackCreatedRoomIsDMReceivedInvocations: [Bool] { + get { trackCreatedRoomIsDMReceivedInvocationsLock.withLock { trackCreatedRoomIsDMUnderlyingReceivedInvocations } } + set { trackCreatedRoomIsDMReceivedInvocationsLock.withLock { trackCreatedRoomIsDMUnderlyingReceivedInvocations = newValue } } + } var trackCreatedRoomIsDMClosure: ((Bool) -> Void)? func trackCreatedRoom(isDM: Bool) { - trackCreatedRoomIsDMCallsCount += 1 + trackCreatedRoomIsDMCallsCountLock.withLock { trackCreatedRoomIsDMUnderlyingCallsCount += 1 } trackCreatedRoomIsDMReceivedIsDM = isDM - DispatchQueue.main.async { - self.trackCreatedRoomIsDMReceivedInvocations.append(isDM) - } + trackCreatedRoomIsDMReceivedInvocationsLock.withLock { trackCreatedRoomIsDMUnderlyingReceivedInvocations.append(isDM) } trackCreatedRoomIsDMClosure?(isDM) } //MARK: - trackComposer - var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount = 0 + private let trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadCallsCountLock = NSLock() + private var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount = 0 var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadCallsCount: Int { - get { - if Thread.isMainThread { - return trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount = newValue - } - } - } + get { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadCallsCountLock.withLock { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount } } + set { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadCallsCountLock.withLock { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount = newValue } } } var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadCalled: Bool { return trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadCallsCount > 0 } - var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedArguments: (inThread: Bool, isEditing: Bool, isReply: Bool, messageType: AnalyticsEvent.Composer.MessageType, startsThread: Bool?)? - var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedInvocations: [(inThread: Bool, isEditing: Bool, isReply: Bool, messageType: AnalyticsEvent.Composer.MessageType, startsThread: Bool?)] = [] + private let trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedArgumentsLock = NSLock() + private var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingReceivedArguments: (inThread: Bool, isEditing: Bool, isReply: Bool, messageType: AnalyticsEvent.Composer.MessageType, startsThread: Bool?)? + var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedArguments: (inThread: Bool, isEditing: Bool, isReply: Bool, messageType: AnalyticsEvent.Composer.MessageType, startsThread: Bool?)? { + get { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedArgumentsLock.withLock { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingReceivedArguments } } + set { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedArgumentsLock.withLock { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingReceivedArguments = newValue } } + } + private let trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedInvocationsLock = NSLock() + private var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingReceivedInvocations: [(inThread: Bool, isEditing: Bool, isReply: Bool, messageType: AnalyticsEvent.Composer.MessageType, startsThread: Bool?)] = [] + var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedInvocations: [(inThread: Bool, isEditing: Bool, isReply: Bool, messageType: AnalyticsEvent.Composer.MessageType, startsThread: Bool?)] { + get { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedInvocationsLock.withLock { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingReceivedInvocations } } + set { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedInvocationsLock.withLock { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingReceivedInvocations = newValue } } + } var trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadClosure: ((Bool, Bool, Bool, AnalyticsEvent.Composer.MessageType, Bool?) -> Void)? func trackComposer(inThread: Bool, isEditing: Bool, isReply: Bool, messageType: AnalyticsEvent.Composer.MessageType, startsThread: Bool?) { - trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadCallsCount += 1 + trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadCallsCountLock.withLock { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingCallsCount += 1 } trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedArguments = (inThread: inThread, isEditing: isEditing, isReply: isReply, messageType: messageType, startsThread: startsThread) - DispatchQueue.main.async { - self.trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedInvocations.append((inThread: inThread, isEditing: isEditing, isReply: isReply, messageType: messageType, startsThread: startsThread)) - } + trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadReceivedInvocationsLock.withLock { trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadUnderlyingReceivedInvocations.append((inThread: inThread, isEditing: isEditing, isReply: isReply, messageType: messageType, startsThread: startsThread)) } trackComposerInThreadIsEditingIsReplyMessageTypeStartsThreadClosure?(inThread, isEditing, isReply, messageType, startsThread) } //MARK: - trackViewRoom - var trackViewRoomIsDMIsSpaceUnderlyingCallsCount = 0 + private let trackViewRoomIsDMIsSpaceCallsCountLock = NSLock() + private var trackViewRoomIsDMIsSpaceUnderlyingCallsCount = 0 var trackViewRoomIsDMIsSpaceCallsCount: Int { - get { - if Thread.isMainThread { - return trackViewRoomIsDMIsSpaceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackViewRoomIsDMIsSpaceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackViewRoomIsDMIsSpaceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackViewRoomIsDMIsSpaceUnderlyingCallsCount = newValue - } - } - } + get { trackViewRoomIsDMIsSpaceCallsCountLock.withLock { trackViewRoomIsDMIsSpaceUnderlyingCallsCount } } + set { trackViewRoomIsDMIsSpaceCallsCountLock.withLock { trackViewRoomIsDMIsSpaceUnderlyingCallsCount = newValue } } } var trackViewRoomIsDMIsSpaceCalled: Bool { return trackViewRoomIsDMIsSpaceCallsCount > 0 } - var trackViewRoomIsDMIsSpaceReceivedArguments: (isDM: Bool, isSpace: Bool)? - var trackViewRoomIsDMIsSpaceReceivedInvocations: [(isDM: Bool, isSpace: Bool)] = [] + private let trackViewRoomIsDMIsSpaceReceivedArgumentsLock = NSLock() + private var trackViewRoomIsDMIsSpaceUnderlyingReceivedArguments: (isDM: Bool, isSpace: Bool)? + var trackViewRoomIsDMIsSpaceReceivedArguments: (isDM: Bool, isSpace: Bool)? { + get { trackViewRoomIsDMIsSpaceReceivedArgumentsLock.withLock { trackViewRoomIsDMIsSpaceUnderlyingReceivedArguments } } + set { trackViewRoomIsDMIsSpaceReceivedArgumentsLock.withLock { trackViewRoomIsDMIsSpaceUnderlyingReceivedArguments = newValue } } + } + private let trackViewRoomIsDMIsSpaceReceivedInvocationsLock = NSLock() + private var trackViewRoomIsDMIsSpaceUnderlyingReceivedInvocations: [(isDM: Bool, isSpace: Bool)] = [] + var trackViewRoomIsDMIsSpaceReceivedInvocations: [(isDM: Bool, isSpace: Bool)] { + get { trackViewRoomIsDMIsSpaceReceivedInvocationsLock.withLock { trackViewRoomIsDMIsSpaceUnderlyingReceivedInvocations } } + set { trackViewRoomIsDMIsSpaceReceivedInvocationsLock.withLock { trackViewRoomIsDMIsSpaceUnderlyingReceivedInvocations = newValue } } + } var trackViewRoomIsDMIsSpaceClosure: ((Bool, Bool) -> Void)? func trackViewRoom(isDM: Bool, isSpace: Bool) { - trackViewRoomIsDMIsSpaceCallsCount += 1 + trackViewRoomIsDMIsSpaceCallsCountLock.withLock { trackViewRoomIsDMIsSpaceUnderlyingCallsCount += 1 } trackViewRoomIsDMIsSpaceReceivedArguments = (isDM: isDM, isSpace: isSpace) - DispatchQueue.main.async { - self.trackViewRoomIsDMIsSpaceReceivedInvocations.append((isDM: isDM, isSpace: isSpace)) - } + trackViewRoomIsDMIsSpaceReceivedInvocationsLock.withLock { trackViewRoomIsDMIsSpaceUnderlyingReceivedInvocations.append((isDM: isDM, isSpace: isSpace)) } trackViewRoomIsDMIsSpaceClosure?(isDM, isSpace) } //MARK: - trackJoinedRoom - var trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount = 0 + private let trackJoinedRoomIsDMIsSpaceActiveMemberCountCallsCountLock = NSLock() + private var trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount = 0 var trackJoinedRoomIsDMIsSpaceActiveMemberCountCallsCount: Int { - get { - if Thread.isMainThread { - return trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount = newValue - } - } - } + get { trackJoinedRoomIsDMIsSpaceActiveMemberCountCallsCountLock.withLock { trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount } } + set { trackJoinedRoomIsDMIsSpaceActiveMemberCountCallsCountLock.withLock { trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount = newValue } } } var trackJoinedRoomIsDMIsSpaceActiveMemberCountCalled: Bool { return trackJoinedRoomIsDMIsSpaceActiveMemberCountCallsCount > 0 } - var trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedArguments: (isDM: Bool, isSpace: Bool, activeMemberCount: UInt)? - var trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedInvocations: [(isDM: Bool, isSpace: Bool, activeMemberCount: UInt)] = [] + private let trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedArgumentsLock = NSLock() + private var trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingReceivedArguments: (isDM: Bool, isSpace: Bool, activeMemberCount: UInt)? + var trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedArguments: (isDM: Bool, isSpace: Bool, activeMemberCount: UInt)? { + get { trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedArgumentsLock.withLock { trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingReceivedArguments } } + set { trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedArgumentsLock.withLock { trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingReceivedArguments = newValue } } + } + private let trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedInvocationsLock = NSLock() + private var trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingReceivedInvocations: [(isDM: Bool, isSpace: Bool, activeMemberCount: UInt)] = [] + var trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedInvocations: [(isDM: Bool, isSpace: Bool, activeMemberCount: UInt)] { + get { trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedInvocationsLock.withLock { trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingReceivedInvocations } } + set { trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedInvocationsLock.withLock { trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingReceivedInvocations = newValue } } + } var trackJoinedRoomIsDMIsSpaceActiveMemberCountClosure: ((Bool, Bool, UInt) -> Void)? func trackJoinedRoom(isDM: Bool, isSpace: Bool, activeMemberCount: UInt) { - trackJoinedRoomIsDMIsSpaceActiveMemberCountCallsCount += 1 + trackJoinedRoomIsDMIsSpaceActiveMemberCountCallsCountLock.withLock { trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingCallsCount += 1 } trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedArguments = (isDM: isDM, isSpace: isSpace, activeMemberCount: activeMemberCount) - DispatchQueue.main.async { - self.trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedInvocations.append((isDM: isDM, isSpace: isSpace, activeMemberCount: activeMemberCount)) - } + trackJoinedRoomIsDMIsSpaceActiveMemberCountReceivedInvocationsLock.withLock { trackJoinedRoomIsDMIsSpaceActiveMemberCountUnderlyingReceivedInvocations.append((isDM: isDM, isSpace: isSpace, activeMemberCount: activeMemberCount)) } trackJoinedRoomIsDMIsSpaceActiveMemberCountClosure?(isDM, isSpace, activeMemberCount) } //MARK: - trackPollCreated - var trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount = 0 + private let trackPollCreatedIsUndisclosedNumberOfAnswersCallsCountLock = NSLock() + private var trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount = 0 var trackPollCreatedIsUndisclosedNumberOfAnswersCallsCount: Int { - get { - if Thread.isMainThread { - return trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount = newValue - } - } - } + get { trackPollCreatedIsUndisclosedNumberOfAnswersCallsCountLock.withLock { trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount } } + set { trackPollCreatedIsUndisclosedNumberOfAnswersCallsCountLock.withLock { trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount = newValue } } } var trackPollCreatedIsUndisclosedNumberOfAnswersCalled: Bool { return trackPollCreatedIsUndisclosedNumberOfAnswersCallsCount > 0 } - var trackPollCreatedIsUndisclosedNumberOfAnswersReceivedArguments: (isUndisclosed: Bool, numberOfAnswers: Int)? - var trackPollCreatedIsUndisclosedNumberOfAnswersReceivedInvocations: [(isUndisclosed: Bool, numberOfAnswers: Int)] = [] + private let trackPollCreatedIsUndisclosedNumberOfAnswersReceivedArgumentsLock = NSLock() + private var trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingReceivedArguments: (isUndisclosed: Bool, numberOfAnswers: Int)? + var trackPollCreatedIsUndisclosedNumberOfAnswersReceivedArguments: (isUndisclosed: Bool, numberOfAnswers: Int)? { + get { trackPollCreatedIsUndisclosedNumberOfAnswersReceivedArgumentsLock.withLock { trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingReceivedArguments } } + set { trackPollCreatedIsUndisclosedNumberOfAnswersReceivedArgumentsLock.withLock { trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingReceivedArguments = newValue } } + } + private let trackPollCreatedIsUndisclosedNumberOfAnswersReceivedInvocationsLock = NSLock() + private var trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingReceivedInvocations: [(isUndisclosed: Bool, numberOfAnswers: Int)] = [] + var trackPollCreatedIsUndisclosedNumberOfAnswersReceivedInvocations: [(isUndisclosed: Bool, numberOfAnswers: Int)] { + get { trackPollCreatedIsUndisclosedNumberOfAnswersReceivedInvocationsLock.withLock { trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingReceivedInvocations } } + set { trackPollCreatedIsUndisclosedNumberOfAnswersReceivedInvocationsLock.withLock { trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingReceivedInvocations = newValue } } + } var trackPollCreatedIsUndisclosedNumberOfAnswersClosure: ((Bool, Int) -> Void)? func trackPollCreated(isUndisclosed: Bool, numberOfAnswers: Int) { - trackPollCreatedIsUndisclosedNumberOfAnswersCallsCount += 1 + trackPollCreatedIsUndisclosedNumberOfAnswersCallsCountLock.withLock { trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingCallsCount += 1 } trackPollCreatedIsUndisclosedNumberOfAnswersReceivedArguments = (isUndisclosed: isUndisclosed, numberOfAnswers: numberOfAnswers) - DispatchQueue.main.async { - self.trackPollCreatedIsUndisclosedNumberOfAnswersReceivedInvocations.append((isUndisclosed: isUndisclosed, numberOfAnswers: numberOfAnswers)) - } + trackPollCreatedIsUndisclosedNumberOfAnswersReceivedInvocationsLock.withLock { trackPollCreatedIsUndisclosedNumberOfAnswersUnderlyingReceivedInvocations.append((isUndisclosed: isUndisclosed, numberOfAnswers: numberOfAnswers)) } trackPollCreatedIsUndisclosedNumberOfAnswersClosure?(isUndisclosed, numberOfAnswers) } //MARK: - trackPollVote - var trackPollVoteUnderlyingCallsCount = 0 + private let trackPollVoteCallsCountLock = NSLock() + private var trackPollVoteUnderlyingCallsCount = 0 var trackPollVoteCallsCount: Int { - get { - if Thread.isMainThread { - return trackPollVoteUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackPollVoteUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackPollVoteUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackPollVoteUnderlyingCallsCount = newValue - } - } - } + get { trackPollVoteCallsCountLock.withLock { trackPollVoteUnderlyingCallsCount } } + set { trackPollVoteCallsCountLock.withLock { trackPollVoteUnderlyingCallsCount = newValue } } } var trackPollVoteCalled: Bool { return trackPollVoteCallsCount > 0 @@ -808,34 +544,16 @@ class AnalyticsServiceMock: AnalyticsServiceProtocol, @unchecked Sendable { var trackPollVoteClosure: (() -> Void)? func trackPollVote() { - trackPollVoteCallsCount += 1 + trackPollVoteCallsCountLock.withLock { trackPollVoteUnderlyingCallsCount += 1 } trackPollVoteClosure?() } //MARK: - trackPollEnd - var trackPollEndUnderlyingCallsCount = 0 + private let trackPollEndCallsCountLock = NSLock() + private var trackPollEndUnderlyingCallsCount = 0 var trackPollEndCallsCount: Int { - get { - if Thread.isMainThread { - return trackPollEndUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackPollEndUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackPollEndUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackPollEndUnderlyingCallsCount = newValue - } - } - } + get { trackPollEndCallsCountLock.withLock { trackPollEndUnderlyingCallsCount } } + set { trackPollEndCallsCountLock.withLock { trackPollEndUnderlyingCallsCount = newValue } } } var trackPollEndCalled: Bool { return trackPollEndCallsCount > 0 @@ -843,171 +561,131 @@ class AnalyticsServiceMock: AnalyticsServiceProtocol, @unchecked Sendable { var trackPollEndClosure: (() -> Void)? func trackPollEnd() { - trackPollEndCallsCount += 1 + trackPollEndCallsCountLock.withLock { trackPollEndUnderlyingCallsCount += 1 } trackPollEndClosure?() } //MARK: - trackRoomModeration - var trackRoomModerationActionRoleUnderlyingCallsCount = 0 + private let trackRoomModerationActionRoleCallsCountLock = NSLock() + private var trackRoomModerationActionRoleUnderlyingCallsCount = 0 var trackRoomModerationActionRoleCallsCount: Int { - get { - if Thread.isMainThread { - return trackRoomModerationActionRoleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackRoomModerationActionRoleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackRoomModerationActionRoleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackRoomModerationActionRoleUnderlyingCallsCount = newValue - } - } - } + get { trackRoomModerationActionRoleCallsCountLock.withLock { trackRoomModerationActionRoleUnderlyingCallsCount } } + set { trackRoomModerationActionRoleCallsCountLock.withLock { trackRoomModerationActionRoleUnderlyingCallsCount = newValue } } } var trackRoomModerationActionRoleCalled: Bool { return trackRoomModerationActionRoleCallsCount > 0 } - var trackRoomModerationActionRoleReceivedArguments: (action: AnalyticsEvent.RoomModeration.Action, role: RoomRole?)? - var trackRoomModerationActionRoleReceivedInvocations: [(action: AnalyticsEvent.RoomModeration.Action, role: RoomRole?)] = [] + private let trackRoomModerationActionRoleReceivedArgumentsLock = NSLock() + private var trackRoomModerationActionRoleUnderlyingReceivedArguments: (action: AnalyticsEvent.RoomModeration.Action, role: RoomRole?)? + var trackRoomModerationActionRoleReceivedArguments: (action: AnalyticsEvent.RoomModeration.Action, role: RoomRole?)? { + get { trackRoomModerationActionRoleReceivedArgumentsLock.withLock { trackRoomModerationActionRoleUnderlyingReceivedArguments } } + set { trackRoomModerationActionRoleReceivedArgumentsLock.withLock { trackRoomModerationActionRoleUnderlyingReceivedArguments = newValue } } + } + private let trackRoomModerationActionRoleReceivedInvocationsLock = NSLock() + private var trackRoomModerationActionRoleUnderlyingReceivedInvocations: [(action: AnalyticsEvent.RoomModeration.Action, role: RoomRole?)] = [] + var trackRoomModerationActionRoleReceivedInvocations: [(action: AnalyticsEvent.RoomModeration.Action, role: RoomRole?)] { + get { trackRoomModerationActionRoleReceivedInvocationsLock.withLock { trackRoomModerationActionRoleUnderlyingReceivedInvocations } } + set { trackRoomModerationActionRoleReceivedInvocationsLock.withLock { trackRoomModerationActionRoleUnderlyingReceivedInvocations = newValue } } + } var trackRoomModerationActionRoleClosure: ((AnalyticsEvent.RoomModeration.Action, RoomRole?) -> Void)? func trackRoomModeration(action: AnalyticsEvent.RoomModeration.Action, role: RoomRole?) { - trackRoomModerationActionRoleCallsCount += 1 + trackRoomModerationActionRoleCallsCountLock.withLock { trackRoomModerationActionRoleUnderlyingCallsCount += 1 } trackRoomModerationActionRoleReceivedArguments = (action: action, role: role) - DispatchQueue.main.async { - self.trackRoomModerationActionRoleReceivedInvocations.append((action: action, role: role)) - } + trackRoomModerationActionRoleReceivedInvocationsLock.withLock { trackRoomModerationActionRoleUnderlyingReceivedInvocations.append((action: action, role: role)) } trackRoomModerationActionRoleClosure?(action, role) } //MARK: - trackSessionSecurityState - var trackSessionSecurityStateUnderlyingCallsCount = 0 + private let trackSessionSecurityStateCallsCountLock = NSLock() + private var trackSessionSecurityStateUnderlyingCallsCount = 0 var trackSessionSecurityStateCallsCount: Int { - get { - if Thread.isMainThread { - return trackSessionSecurityStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackSessionSecurityStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackSessionSecurityStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackSessionSecurityStateUnderlyingCallsCount = newValue - } - } - } + get { trackSessionSecurityStateCallsCountLock.withLock { trackSessionSecurityStateUnderlyingCallsCount } } + set { trackSessionSecurityStateCallsCountLock.withLock { trackSessionSecurityStateUnderlyingCallsCount = newValue } } } var trackSessionSecurityStateCalled: Bool { return trackSessionSecurityStateCallsCount > 0 } - var trackSessionSecurityStateReceivedState: SessionSecurityState? - var trackSessionSecurityStateReceivedInvocations: [SessionSecurityState] = [] + private let trackSessionSecurityStateReceivedStateLock = NSLock() + private var trackSessionSecurityStateUnderlyingReceivedState: SessionSecurityState? + var trackSessionSecurityStateReceivedState: SessionSecurityState? { + get { trackSessionSecurityStateReceivedStateLock.withLock { trackSessionSecurityStateUnderlyingReceivedState } } + set { trackSessionSecurityStateReceivedStateLock.withLock { trackSessionSecurityStateUnderlyingReceivedState = newValue } } + } + private let trackSessionSecurityStateReceivedInvocationsLock = NSLock() + private var trackSessionSecurityStateUnderlyingReceivedInvocations: [SessionSecurityState] = [] + var trackSessionSecurityStateReceivedInvocations: [SessionSecurityState] { + get { trackSessionSecurityStateReceivedInvocationsLock.withLock { trackSessionSecurityStateUnderlyingReceivedInvocations } } + set { trackSessionSecurityStateReceivedInvocationsLock.withLock { trackSessionSecurityStateUnderlyingReceivedInvocations = newValue } } + } var trackSessionSecurityStateClosure: ((SessionSecurityState) -> Void)? func trackSessionSecurityState(_ state: SessionSecurityState) { - trackSessionSecurityStateCallsCount += 1 + trackSessionSecurityStateCallsCountLock.withLock { trackSessionSecurityStateUnderlyingCallsCount += 1 } trackSessionSecurityStateReceivedState = state - DispatchQueue.main.async { - self.trackSessionSecurityStateReceivedInvocations.append(state) - } + trackSessionSecurityStateReceivedInvocationsLock.withLock { trackSessionSecurityStateUnderlyingReceivedInvocations.append(state) } trackSessionSecurityStateClosure?(state) } //MARK: - updateUserProperties - var updateUserPropertiesUnderlyingCallsCount = 0 + private let updateUserPropertiesCallsCountLock = NSLock() + private var updateUserPropertiesUnderlyingCallsCount = 0 var updateUserPropertiesCallsCount: Int { - get { - if Thread.isMainThread { - return updateUserPropertiesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateUserPropertiesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateUserPropertiesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateUserPropertiesUnderlyingCallsCount = newValue - } - } - } + get { updateUserPropertiesCallsCountLock.withLock { updateUserPropertiesUnderlyingCallsCount } } + set { updateUserPropertiesCallsCountLock.withLock { updateUserPropertiesUnderlyingCallsCount = newValue } } } var updateUserPropertiesCalled: Bool { return updateUserPropertiesCallsCount > 0 } - var updateUserPropertiesReceivedUserProperties: AnalyticsEvent.UserProperties? - var updateUserPropertiesReceivedInvocations: [AnalyticsEvent.UserProperties] = [] + private let updateUserPropertiesReceivedUserPropertiesLock = NSLock() + private var updateUserPropertiesUnderlyingReceivedUserProperties: AnalyticsEvent.UserProperties? + var updateUserPropertiesReceivedUserProperties: AnalyticsEvent.UserProperties? { + get { updateUserPropertiesReceivedUserPropertiesLock.withLock { updateUserPropertiesUnderlyingReceivedUserProperties } } + set { updateUserPropertiesReceivedUserPropertiesLock.withLock { updateUserPropertiesUnderlyingReceivedUserProperties = newValue } } + } + private let updateUserPropertiesReceivedInvocationsLock = NSLock() + private var updateUserPropertiesUnderlyingReceivedInvocations: [AnalyticsEvent.UserProperties] = [] + var updateUserPropertiesReceivedInvocations: [AnalyticsEvent.UserProperties] { + get { updateUserPropertiesReceivedInvocationsLock.withLock { updateUserPropertiesUnderlyingReceivedInvocations } } + set { updateUserPropertiesReceivedInvocationsLock.withLock { updateUserPropertiesUnderlyingReceivedInvocations = newValue } } + } var updateUserPropertiesClosure: ((AnalyticsEvent.UserProperties) -> Void)? func updateUserProperties(_ userProperties: AnalyticsEvent.UserProperties) { - updateUserPropertiesCallsCount += 1 + updateUserPropertiesCallsCountLock.withLock { updateUserPropertiesUnderlyingCallsCount += 1 } updateUserPropertiesReceivedUserProperties = userProperties - DispatchQueue.main.async { - self.updateUserPropertiesReceivedInvocations.append(userProperties) - } + updateUserPropertiesReceivedInvocationsLock.withLock { updateUserPropertiesUnderlyingReceivedInvocations.append(userProperties) } updateUserPropertiesClosure?(userProperties) } //MARK: - trackPinUnpinEvent - var trackPinUnpinEventUnderlyingCallsCount = 0 + private let trackPinUnpinEventCallsCountLock = NSLock() + private var trackPinUnpinEventUnderlyingCallsCount = 0 var trackPinUnpinEventCallsCount: Int { - get { - if Thread.isMainThread { - return trackPinUnpinEventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackPinUnpinEventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackPinUnpinEventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackPinUnpinEventUnderlyingCallsCount = newValue - } - } - } + get { trackPinUnpinEventCallsCountLock.withLock { trackPinUnpinEventUnderlyingCallsCount } } + set { trackPinUnpinEventCallsCountLock.withLock { trackPinUnpinEventUnderlyingCallsCount = newValue } } } var trackPinUnpinEventCalled: Bool { return trackPinUnpinEventCallsCount > 0 } - var trackPinUnpinEventReceivedEvent: AnalyticsEvent.PinUnpinAction? - var trackPinUnpinEventReceivedInvocations: [AnalyticsEvent.PinUnpinAction] = [] + private let trackPinUnpinEventReceivedEventLock = NSLock() + private var trackPinUnpinEventUnderlyingReceivedEvent: AnalyticsEvent.PinUnpinAction? + var trackPinUnpinEventReceivedEvent: AnalyticsEvent.PinUnpinAction? { + get { trackPinUnpinEventReceivedEventLock.withLock { trackPinUnpinEventUnderlyingReceivedEvent } } + set { trackPinUnpinEventReceivedEventLock.withLock { trackPinUnpinEventUnderlyingReceivedEvent = newValue } } + } + private let trackPinUnpinEventReceivedInvocationsLock = NSLock() + private var trackPinUnpinEventUnderlyingReceivedInvocations: [AnalyticsEvent.PinUnpinAction] = [] + var trackPinUnpinEventReceivedInvocations: [AnalyticsEvent.PinUnpinAction] { + get { trackPinUnpinEventReceivedInvocationsLock.withLock { trackPinUnpinEventUnderlyingReceivedInvocations } } + set { trackPinUnpinEventReceivedInvocationsLock.withLock { trackPinUnpinEventUnderlyingReceivedInvocations = newValue } } + } var trackPinUnpinEventClosure: ((AnalyticsEvent.PinUnpinAction) -> Void)? func trackPinUnpinEvent(_ event: AnalyticsEvent.PinUnpinAction) { - trackPinUnpinEventCallsCount += 1 + trackPinUnpinEventCallsCountLock.withLock { trackPinUnpinEventUnderlyingCallsCount += 1 } trackPinUnpinEventReceivedEvent = event - DispatchQueue.main.async { - self.trackPinUnpinEventReceivedInvocations.append(event) - } + trackPinUnpinEventReceivedInvocationsLock.withLock { trackPinUnpinEventUnderlyingReceivedInvocations.append(event) } trackPinUnpinEventClosure?(event) } } @@ -1050,68 +728,40 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { //MARK: - setupPINCode - var setupPINCodeUnderlyingCallsCount = 0 + private let setupPINCodeCallsCountLock = NSLock() + private var setupPINCodeUnderlyingCallsCount = 0 var setupPINCodeCallsCount: Int { - get { - if Thread.isMainThread { - return setupPINCodeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setupPINCodeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setupPINCodeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setupPINCodeUnderlyingCallsCount = newValue - } - } - } + get { setupPINCodeCallsCountLock.withLock { setupPINCodeUnderlyingCallsCount } } + set { setupPINCodeCallsCountLock.withLock { setupPINCodeUnderlyingCallsCount = newValue } } } var setupPINCodeCalled: Bool { return setupPINCodeCallsCount > 0 } - var setupPINCodeReceivedPinCode: String? - var setupPINCodeReceivedInvocations: [String] = [] + private let setupPINCodeReceivedPinCodeLock = NSLock() + private var setupPINCodeUnderlyingReceivedPinCode: String? + var setupPINCodeReceivedPinCode: String? { + get { setupPINCodeReceivedPinCodeLock.withLock { setupPINCodeUnderlyingReceivedPinCode } } + set { setupPINCodeReceivedPinCodeLock.withLock { setupPINCodeUnderlyingReceivedPinCode = newValue } } + } + private let setupPINCodeReceivedInvocationsLock = NSLock() + private var setupPINCodeUnderlyingReceivedInvocations: [String] = [] + var setupPINCodeReceivedInvocations: [String] { + get { setupPINCodeReceivedInvocationsLock.withLock { setupPINCodeUnderlyingReceivedInvocations } } + set { setupPINCodeReceivedInvocationsLock.withLock { setupPINCodeUnderlyingReceivedInvocations = newValue } } + } - var setupPINCodeUnderlyingReturnValue: Result! + private let setupPINCodeReturnValueLock = NSLock() + private var setupPINCodeUnderlyingReturnValue: Result! var setupPINCodeReturnValue: Result! { - get { - if Thread.isMainThread { - return setupPINCodeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = setupPINCodeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setupPINCodeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setupPINCodeUnderlyingReturnValue = newValue - } - } - } + get { setupPINCodeReturnValueLock.withLock { setupPINCodeUnderlyingReturnValue } } + set { setupPINCodeReturnValueLock.withLock { setupPINCodeUnderlyingReturnValue = newValue } } } var setupPINCodeClosure: ((String) -> Result)? func setupPINCode(_ pinCode: String) -> Result { - setupPINCodeCallsCount += 1 + setupPINCodeCallsCountLock.withLock { setupPINCodeUnderlyingCallsCount += 1 } setupPINCodeReceivedPinCode = pinCode - DispatchQueue.main.async { - self.setupPINCodeReceivedInvocations.append(pinCode) - } + setupPINCodeReceivedInvocationsLock.withLock { setupPINCodeUnderlyingReceivedInvocations.append(pinCode) } if let setupPINCodeClosure = setupPINCodeClosure { return setupPINCodeClosure(pinCode) } else { @@ -1120,68 +770,40 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { } //MARK: - validate - var validateUnderlyingCallsCount = 0 + private let validateCallsCountLock = NSLock() + private var validateUnderlyingCallsCount = 0 var validateCallsCount: Int { - get { - if Thread.isMainThread { - return validateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = validateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - validateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - validateUnderlyingCallsCount = newValue - } - } - } + get { validateCallsCountLock.withLock { validateUnderlyingCallsCount } } + set { validateCallsCountLock.withLock { validateUnderlyingCallsCount = newValue } } } var validateCalled: Bool { return validateCallsCount > 0 } - var validateReceivedPinCode: String? - var validateReceivedInvocations: [String] = [] + private let validateReceivedPinCodeLock = NSLock() + private var validateUnderlyingReceivedPinCode: String? + var validateReceivedPinCode: String? { + get { validateReceivedPinCodeLock.withLock { validateUnderlyingReceivedPinCode } } + set { validateReceivedPinCodeLock.withLock { validateUnderlyingReceivedPinCode = newValue } } + } + private let validateReceivedInvocationsLock = NSLock() + private var validateUnderlyingReceivedInvocations: [String] = [] + var validateReceivedInvocations: [String] { + get { validateReceivedInvocationsLock.withLock { validateUnderlyingReceivedInvocations } } + set { validateReceivedInvocationsLock.withLock { validateUnderlyingReceivedInvocations = newValue } } + } - var validateUnderlyingReturnValue: Result! + private let validateReturnValueLock = NSLock() + private var validateUnderlyingReturnValue: Result! var validateReturnValue: Result! { - get { - if Thread.isMainThread { - return validateUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = validateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - validateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - validateUnderlyingReturnValue = newValue - } - } - } + get { validateReturnValueLock.withLock { validateUnderlyingReturnValue } } + set { validateReturnValueLock.withLock { validateUnderlyingReturnValue = newValue } } } var validateClosure: ((String) -> Result)? func validate(_ pinCode: String) -> Result { - validateCallsCount += 1 + validateCallsCountLock.withLock { validateUnderlyingCallsCount += 1 } validateReceivedPinCode = pinCode - DispatchQueue.main.async { - self.validateReceivedInvocations.append(pinCode) - } + validateReceivedInvocationsLock.withLock { validateUnderlyingReceivedInvocations.append(pinCode) } if let validateClosure = validateClosure { return validateClosure(pinCode) } else { @@ -1190,62 +812,26 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { } //MARK: - enableBiometricUnlock - var enableBiometricUnlockUnderlyingCallsCount = 0 + private let enableBiometricUnlockCallsCountLock = NSLock() + private var enableBiometricUnlockUnderlyingCallsCount = 0 var enableBiometricUnlockCallsCount: Int { - get { - if Thread.isMainThread { - return enableBiometricUnlockUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableBiometricUnlockUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableBiometricUnlockUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableBiometricUnlockUnderlyingCallsCount = newValue - } - } - } + get { enableBiometricUnlockCallsCountLock.withLock { enableBiometricUnlockUnderlyingCallsCount } } + set { enableBiometricUnlockCallsCountLock.withLock { enableBiometricUnlockUnderlyingCallsCount = newValue } } } var enableBiometricUnlockCalled: Bool { return enableBiometricUnlockCallsCount > 0 } - var enableBiometricUnlockUnderlyingReturnValue: Result! + private let enableBiometricUnlockReturnValueLock = NSLock() + private var enableBiometricUnlockUnderlyingReturnValue: Result! var enableBiometricUnlockReturnValue: Result! { - get { - if Thread.isMainThread { - return enableBiometricUnlockUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = enableBiometricUnlockUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableBiometricUnlockUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - enableBiometricUnlockUnderlyingReturnValue = newValue - } - } - } + get { enableBiometricUnlockReturnValueLock.withLock { enableBiometricUnlockUnderlyingReturnValue } } + set { enableBiometricUnlockReturnValueLock.withLock { enableBiometricUnlockUnderlyingReturnValue = newValue } } } var enableBiometricUnlockClosure: (() -> Result)? func enableBiometricUnlock() -> Result { - enableBiometricUnlockCallsCount += 1 + enableBiometricUnlockCallsCountLock.withLock { enableBiometricUnlockUnderlyingCallsCount += 1 } if let enableBiometricUnlockClosure = enableBiometricUnlockClosure { return enableBiometricUnlockClosure() } else { @@ -1254,29 +840,11 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { } //MARK: - disableBiometricUnlock - var disableBiometricUnlockUnderlyingCallsCount = 0 + private let disableBiometricUnlockCallsCountLock = NSLock() + private var disableBiometricUnlockUnderlyingCallsCount = 0 var disableBiometricUnlockCallsCount: Int { - get { - if Thread.isMainThread { - return disableBiometricUnlockUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = disableBiometricUnlockUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableBiometricUnlockUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - disableBiometricUnlockUnderlyingCallsCount = newValue - } - } - } + get { disableBiometricUnlockCallsCountLock.withLock { disableBiometricUnlockUnderlyingCallsCount } } + set { disableBiometricUnlockCallsCountLock.withLock { disableBiometricUnlockUnderlyingCallsCount = newValue } } } var disableBiometricUnlockCalled: Bool { return disableBiometricUnlockCallsCount > 0 @@ -1284,34 +852,16 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { var disableBiometricUnlockClosure: (() -> Void)? func disableBiometricUnlock() { - disableBiometricUnlockCallsCount += 1 + disableBiometricUnlockCallsCountLock.withLock { disableBiometricUnlockUnderlyingCallsCount += 1 } disableBiometricUnlockClosure?() } //MARK: - disable - var disableUnderlyingCallsCount = 0 + private let disableCallsCountLock = NSLock() + private var disableUnderlyingCallsCount = 0 var disableCallsCount: Int { - get { - if Thread.isMainThread { - return disableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = disableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - disableUnderlyingCallsCount = newValue - } - } - } + get { disableCallsCountLock.withLock { disableUnderlyingCallsCount } } + set { disableCallsCountLock.withLock { disableUnderlyingCallsCount = newValue } } } var disableCalled: Bool { return disableCallsCount > 0 @@ -1319,34 +869,16 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { var disableClosure: (() -> Void)? func disable() { - disableCallsCount += 1 + disableCallsCountLock.withLock { disableUnderlyingCallsCount += 1 } disableClosure?() } //MARK: - applicationDidEnterBackground - var applicationDidEnterBackgroundUnderlyingCallsCount = 0 + private let applicationDidEnterBackgroundCallsCountLock = NSLock() + private var applicationDidEnterBackgroundUnderlyingCallsCount = 0 var applicationDidEnterBackgroundCallsCount: Int { - get { - if Thread.isMainThread { - return applicationDidEnterBackgroundUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = applicationDidEnterBackgroundUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - applicationDidEnterBackgroundUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - applicationDidEnterBackgroundUnderlyingCallsCount = newValue - } - } - } + get { applicationDidEnterBackgroundCallsCountLock.withLock { applicationDidEnterBackgroundUnderlyingCallsCount } } + set { applicationDidEnterBackgroundCallsCountLock.withLock { applicationDidEnterBackgroundUnderlyingCallsCount = newValue } } } var applicationDidEnterBackgroundCalled: Bool { return applicationDidEnterBackgroundCallsCount > 0 @@ -1354,73 +886,45 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { var applicationDidEnterBackgroundClosure: (() -> Void)? func applicationDidEnterBackground() { - applicationDidEnterBackgroundCallsCount += 1 + applicationDidEnterBackgroundCallsCountLock.withLock { applicationDidEnterBackgroundUnderlyingCallsCount += 1 } applicationDidEnterBackgroundClosure?() } //MARK: - computeNeedsUnlock - var computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount = 0 + private let computeNeedsUnlockDidBecomeActiveAtCallsCountLock = NSLock() + private var computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount = 0 var computeNeedsUnlockDidBecomeActiveAtCallsCount: Int { - get { - if Thread.isMainThread { - return computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount = newValue - } - } - } + get { computeNeedsUnlockDidBecomeActiveAtCallsCountLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount } } + set { computeNeedsUnlockDidBecomeActiveAtCallsCountLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount = newValue } } } var computeNeedsUnlockDidBecomeActiveAtCalled: Bool { return computeNeedsUnlockDidBecomeActiveAtCallsCount > 0 } - var computeNeedsUnlockDidBecomeActiveAtReceivedDate: Date? - var computeNeedsUnlockDidBecomeActiveAtReceivedInvocations: [Date] = [] + private let computeNeedsUnlockDidBecomeActiveAtReceivedDateLock = NSLock() + private var computeNeedsUnlockDidBecomeActiveAtUnderlyingReceivedDate: Date? + var computeNeedsUnlockDidBecomeActiveAtReceivedDate: Date? { + get { computeNeedsUnlockDidBecomeActiveAtReceivedDateLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingReceivedDate } } + set { computeNeedsUnlockDidBecomeActiveAtReceivedDateLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingReceivedDate = newValue } } + } + private let computeNeedsUnlockDidBecomeActiveAtReceivedInvocationsLock = NSLock() + private var computeNeedsUnlockDidBecomeActiveAtUnderlyingReceivedInvocations: [Date] = [] + var computeNeedsUnlockDidBecomeActiveAtReceivedInvocations: [Date] { + get { computeNeedsUnlockDidBecomeActiveAtReceivedInvocationsLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingReceivedInvocations } } + set { computeNeedsUnlockDidBecomeActiveAtReceivedInvocationsLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingReceivedInvocations = newValue } } + } - var computeNeedsUnlockDidBecomeActiveAtUnderlyingReturnValue: Bool! + private let computeNeedsUnlockDidBecomeActiveAtReturnValueLock = NSLock() + private var computeNeedsUnlockDidBecomeActiveAtUnderlyingReturnValue: Bool! var computeNeedsUnlockDidBecomeActiveAtReturnValue: Bool! { - get { - if Thread.isMainThread { - return computeNeedsUnlockDidBecomeActiveAtUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = computeNeedsUnlockDidBecomeActiveAtUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - computeNeedsUnlockDidBecomeActiveAtUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - computeNeedsUnlockDidBecomeActiveAtUnderlyingReturnValue = newValue - } - } - } + get { computeNeedsUnlockDidBecomeActiveAtReturnValueLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingReturnValue } } + set { computeNeedsUnlockDidBecomeActiveAtReturnValueLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingReturnValue = newValue } } } var computeNeedsUnlockDidBecomeActiveAtClosure: ((Date) -> Bool)? func computeNeedsUnlock(didBecomeActiveAt date: Date) -> Bool { - computeNeedsUnlockDidBecomeActiveAtCallsCount += 1 + computeNeedsUnlockDidBecomeActiveAtCallsCountLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingCallsCount += 1 } computeNeedsUnlockDidBecomeActiveAtReceivedDate = date - DispatchQueue.main.async { - self.computeNeedsUnlockDidBecomeActiveAtReceivedInvocations.append(date) - } + computeNeedsUnlockDidBecomeActiveAtReceivedInvocationsLock.withLock { computeNeedsUnlockDidBecomeActiveAtUnderlyingReceivedInvocations.append(date) } if let computeNeedsUnlockDidBecomeActiveAtClosure = computeNeedsUnlockDidBecomeActiveAtClosure { return computeNeedsUnlockDidBecomeActiveAtClosure(date) } else { @@ -1429,68 +933,40 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { } //MARK: - unlock - var unlockWithUnderlyingCallsCount = 0 + private let unlockWithCallsCountLock = NSLock() + private var unlockWithUnderlyingCallsCount = 0 var unlockWithCallsCount: Int { - get { - if Thread.isMainThread { - return unlockWithUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unlockWithUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unlockWithUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unlockWithUnderlyingCallsCount = newValue - } - } - } + get { unlockWithCallsCountLock.withLock { unlockWithUnderlyingCallsCount } } + set { unlockWithCallsCountLock.withLock { unlockWithUnderlyingCallsCount = newValue } } } var unlockWithCalled: Bool { return unlockWithCallsCount > 0 } - var unlockWithReceivedPinCode: String? - var unlockWithReceivedInvocations: [String] = [] + private let unlockWithReceivedPinCodeLock = NSLock() + private var unlockWithUnderlyingReceivedPinCode: String? + var unlockWithReceivedPinCode: String? { + get { unlockWithReceivedPinCodeLock.withLock { unlockWithUnderlyingReceivedPinCode } } + set { unlockWithReceivedPinCodeLock.withLock { unlockWithUnderlyingReceivedPinCode = newValue } } + } + private let unlockWithReceivedInvocationsLock = NSLock() + private var unlockWithUnderlyingReceivedInvocations: [String] = [] + var unlockWithReceivedInvocations: [String] { + get { unlockWithReceivedInvocationsLock.withLock { unlockWithUnderlyingReceivedInvocations } } + set { unlockWithReceivedInvocationsLock.withLock { unlockWithUnderlyingReceivedInvocations = newValue } } + } - var unlockWithUnderlyingReturnValue: Bool! + private let unlockWithReturnValueLock = NSLock() + private var unlockWithUnderlyingReturnValue: Bool! var unlockWithReturnValue: Bool! { - get { - if Thread.isMainThread { - return unlockWithUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = unlockWithUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unlockWithUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - unlockWithUnderlyingReturnValue = newValue - } - } - } + get { unlockWithReturnValueLock.withLock { unlockWithUnderlyingReturnValue } } + set { unlockWithReturnValueLock.withLock { unlockWithUnderlyingReturnValue = newValue } } } var unlockWithClosure: ((String) -> Bool)? func unlock(with pinCode: String) -> Bool { - unlockWithCallsCount += 1 + unlockWithCallsCountLock.withLock { unlockWithUnderlyingCallsCount += 1 } unlockWithReceivedPinCode = pinCode - DispatchQueue.main.async { - self.unlockWithReceivedInvocations.append(pinCode) - } + unlockWithReceivedInvocationsLock.withLock { unlockWithUnderlyingReceivedInvocations.append(pinCode) } if let unlockWithClosure = unlockWithClosure { return unlockWithClosure(pinCode) } else { @@ -1499,62 +975,26 @@ class AppLockServiceMock: AppLockServiceProtocol, @unchecked Sendable { } //MARK: - unlockWithBiometrics - var unlockWithBiometricsUnderlyingCallsCount = 0 + private let unlockWithBiometricsCallsCountLock = NSLock() + private var unlockWithBiometricsUnderlyingCallsCount = 0 var unlockWithBiometricsCallsCount: Int { - get { - if Thread.isMainThread { - return unlockWithBiometricsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unlockWithBiometricsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unlockWithBiometricsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unlockWithBiometricsUnderlyingCallsCount = newValue - } - } - } + get { unlockWithBiometricsCallsCountLock.withLock { unlockWithBiometricsUnderlyingCallsCount } } + set { unlockWithBiometricsCallsCountLock.withLock { unlockWithBiometricsUnderlyingCallsCount = newValue } } } var unlockWithBiometricsCalled: Bool { return unlockWithBiometricsCallsCount > 0 } - var unlockWithBiometricsUnderlyingReturnValue: AppLockServiceBiometricResult! + private let unlockWithBiometricsReturnValueLock = NSLock() + private var unlockWithBiometricsUnderlyingReturnValue: AppLockServiceBiometricResult! var unlockWithBiometricsReturnValue: AppLockServiceBiometricResult! { - get { - if Thread.isMainThread { - return unlockWithBiometricsUnderlyingReturnValue - } else { - var returnValue: AppLockServiceBiometricResult? = nil - DispatchQueue.main.sync { - returnValue = unlockWithBiometricsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unlockWithBiometricsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - unlockWithBiometricsUnderlyingReturnValue = newValue - } - } - } + get { unlockWithBiometricsReturnValueLock.withLock { unlockWithBiometricsUnderlyingReturnValue } } + set { unlockWithBiometricsReturnValueLock.withLock { unlockWithBiometricsUnderlyingReturnValue = newValue } } } var unlockWithBiometricsClosure: (() async -> AppLockServiceBiometricResult)? func unlockWithBiometrics() async -> AppLockServiceBiometricResult { - unlockWithBiometricsCallsCount += 1 + unlockWithBiometricsCallsCountLock.withLock { unlockWithBiometricsUnderlyingCallsCount += 1 } if let unlockWithBiometricsClosure = unlockWithBiometricsClosure { return await unlockWithBiometricsClosure() } else { @@ -1581,62 +1021,26 @@ class AppMediatorMock: AppMediatorProtocol, @unchecked Sendable { //MARK: - beginBackgroundTask - var beginBackgroundTaskExpirationHandlerUnderlyingCallsCount = 0 + private let beginBackgroundTaskExpirationHandlerCallsCountLock = NSLock() + private var beginBackgroundTaskExpirationHandlerUnderlyingCallsCount = 0 var beginBackgroundTaskExpirationHandlerCallsCount: Int { - get { - if Thread.isMainThread { - return beginBackgroundTaskExpirationHandlerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = beginBackgroundTaskExpirationHandlerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - beginBackgroundTaskExpirationHandlerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - beginBackgroundTaskExpirationHandlerUnderlyingCallsCount = newValue - } - } - } + get { beginBackgroundTaskExpirationHandlerCallsCountLock.withLock { beginBackgroundTaskExpirationHandlerUnderlyingCallsCount } } + set { beginBackgroundTaskExpirationHandlerCallsCountLock.withLock { beginBackgroundTaskExpirationHandlerUnderlyingCallsCount = newValue } } } var beginBackgroundTaskExpirationHandlerCalled: Bool { return beginBackgroundTaskExpirationHandlerCallsCount > 0 } - var beginBackgroundTaskExpirationHandlerUnderlyingReturnValue: UIBackgroundTaskIdentifier! + private let beginBackgroundTaskExpirationHandlerReturnValueLock = NSLock() + private var beginBackgroundTaskExpirationHandlerUnderlyingReturnValue: UIBackgroundTaskIdentifier! var beginBackgroundTaskExpirationHandlerReturnValue: UIBackgroundTaskIdentifier! { - get { - if Thread.isMainThread { - return beginBackgroundTaskExpirationHandlerUnderlyingReturnValue - } else { - var returnValue: UIBackgroundTaskIdentifier? = nil - DispatchQueue.main.sync { - returnValue = beginBackgroundTaskExpirationHandlerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - beginBackgroundTaskExpirationHandlerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - beginBackgroundTaskExpirationHandlerUnderlyingReturnValue = newValue - } - } - } + get { beginBackgroundTaskExpirationHandlerReturnValueLock.withLock { beginBackgroundTaskExpirationHandlerUnderlyingReturnValue } } + set { beginBackgroundTaskExpirationHandlerReturnValueLock.withLock { beginBackgroundTaskExpirationHandlerUnderlyingReturnValue = newValue } } } var beginBackgroundTaskExpirationHandlerClosure: (((() -> Void)?) -> UIBackgroundTaskIdentifier)? func beginBackgroundTask(expirationHandler handler: (() -> Void)?) -> UIBackgroundTaskIdentifier { - beginBackgroundTaskExpirationHandlerCallsCount += 1 + beginBackgroundTaskExpirationHandlerCallsCountLock.withLock { beginBackgroundTaskExpirationHandlerUnderlyingCallsCount += 1 } if let beginBackgroundTaskExpirationHandlerClosure = beginBackgroundTaskExpirationHandlerClosure { return beginBackgroundTaskExpirationHandlerClosure(handler) } else { @@ -1645,111 +1049,73 @@ class AppMediatorMock: AppMediatorProtocol, @unchecked Sendable { } //MARK: - endBackgroundTask - var endBackgroundTaskUnderlyingCallsCount = 0 + private let endBackgroundTaskCallsCountLock = NSLock() + private var endBackgroundTaskUnderlyingCallsCount = 0 var endBackgroundTaskCallsCount: Int { - get { - if Thread.isMainThread { - return endBackgroundTaskUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = endBackgroundTaskUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - endBackgroundTaskUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - endBackgroundTaskUnderlyingCallsCount = newValue - } - } - } + get { endBackgroundTaskCallsCountLock.withLock { endBackgroundTaskUnderlyingCallsCount } } + set { endBackgroundTaskCallsCountLock.withLock { endBackgroundTaskUnderlyingCallsCount = newValue } } } var endBackgroundTaskCalled: Bool { return endBackgroundTaskCallsCount > 0 } - var endBackgroundTaskReceivedIdentifier: UIBackgroundTaskIdentifier? - var endBackgroundTaskReceivedInvocations: [UIBackgroundTaskIdentifier] = [] + private let endBackgroundTaskReceivedIdentifierLock = NSLock() + private var endBackgroundTaskUnderlyingReceivedIdentifier: UIBackgroundTaskIdentifier? + var endBackgroundTaskReceivedIdentifier: UIBackgroundTaskIdentifier? { + get { endBackgroundTaskReceivedIdentifierLock.withLock { endBackgroundTaskUnderlyingReceivedIdentifier } } + set { endBackgroundTaskReceivedIdentifierLock.withLock { endBackgroundTaskUnderlyingReceivedIdentifier = newValue } } + } + private let endBackgroundTaskReceivedInvocationsLock = NSLock() + private var endBackgroundTaskUnderlyingReceivedInvocations: [UIBackgroundTaskIdentifier] = [] + var endBackgroundTaskReceivedInvocations: [UIBackgroundTaskIdentifier] { + get { endBackgroundTaskReceivedInvocationsLock.withLock { endBackgroundTaskUnderlyingReceivedInvocations } } + set { endBackgroundTaskReceivedInvocationsLock.withLock { endBackgroundTaskUnderlyingReceivedInvocations = newValue } } + } var endBackgroundTaskClosure: ((UIBackgroundTaskIdentifier) -> Void)? func endBackgroundTask(_ identifier: UIBackgroundTaskIdentifier) { - endBackgroundTaskCallsCount += 1 + endBackgroundTaskCallsCountLock.withLock { endBackgroundTaskUnderlyingCallsCount += 1 } endBackgroundTaskReceivedIdentifier = identifier - DispatchQueue.main.async { - self.endBackgroundTaskReceivedInvocations.append(identifier) - } + endBackgroundTaskReceivedInvocationsLock.withLock { endBackgroundTaskUnderlyingReceivedInvocations.append(identifier) } endBackgroundTaskClosure?(identifier) } //MARK: - open - var openUnderlyingCallsCount = 0 + private let openCallsCountLock = NSLock() + private var openUnderlyingCallsCount = 0 var openCallsCount: Int { - get { - if Thread.isMainThread { - return openUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = openUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - openUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - openUnderlyingCallsCount = newValue - } - } - } + get { openCallsCountLock.withLock { openUnderlyingCallsCount } } + set { openCallsCountLock.withLock { openUnderlyingCallsCount = newValue } } } var openCalled: Bool { return openCallsCount > 0 } - var openReceivedUrl: URL? - var openReceivedInvocations: [URL] = [] + private let openReceivedUrlLock = NSLock() + private var openUnderlyingReceivedUrl: URL? + var openReceivedUrl: URL? { + get { openReceivedUrlLock.withLock { openUnderlyingReceivedUrl } } + set { openReceivedUrlLock.withLock { openUnderlyingReceivedUrl = newValue } } + } + private let openReceivedInvocationsLock = NSLock() + private var openUnderlyingReceivedInvocations: [URL] = [] + var openReceivedInvocations: [URL] { + get { openReceivedInvocationsLock.withLock { openUnderlyingReceivedInvocations } } + set { openReceivedInvocationsLock.withLock { openUnderlyingReceivedInvocations = newValue } } + } var openClosure: ((URL) -> Void)? func open(_ url: URL) { - openCallsCount += 1 + openCallsCountLock.withLock { openUnderlyingCallsCount += 1 } openReceivedUrl = url - DispatchQueue.main.async { - self.openReceivedInvocations.append(url) - } + openReceivedInvocationsLock.withLock { openUnderlyingReceivedInvocations.append(url) } openClosure?(url) } //MARK: - openAppSettings - var openAppSettingsUnderlyingCallsCount = 0 + private let openAppSettingsCallsCountLock = NSLock() + private var openAppSettingsUnderlyingCallsCount = 0 var openAppSettingsCallsCount: Int { - get { - if Thread.isMainThread { - return openAppSettingsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = openAppSettingsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - openAppSettingsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - openAppSettingsUnderlyingCallsCount = newValue - } - } - } + get { openAppSettingsCallsCountLock.withLock { openAppSettingsUnderlyingCallsCount } } + set { openAppSettingsCallsCountLock.withLock { openAppSettingsUnderlyingCallsCount = newValue } } } var openAppSettingsCalled: Bool { return openAppSettingsCallsCount > 0 @@ -1757,108 +1123,62 @@ class AppMediatorMock: AppMediatorProtocol, @unchecked Sendable { var openAppSettingsClosure: (() -> Void)? func openAppSettings() { - openAppSettingsCallsCount += 1 + openAppSettingsCallsCountLock.withLock { openAppSettingsUnderlyingCallsCount += 1 } openAppSettingsClosure?() } //MARK: - setIdleTimerDisabled - var setIdleTimerDisabledUnderlyingCallsCount = 0 + private let setIdleTimerDisabledCallsCountLock = NSLock() + private var setIdleTimerDisabledUnderlyingCallsCount = 0 var setIdleTimerDisabledCallsCount: Int { - get { - if Thread.isMainThread { - return setIdleTimerDisabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setIdleTimerDisabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setIdleTimerDisabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setIdleTimerDisabledUnderlyingCallsCount = newValue - } - } - } + get { setIdleTimerDisabledCallsCountLock.withLock { setIdleTimerDisabledUnderlyingCallsCount } } + set { setIdleTimerDisabledCallsCountLock.withLock { setIdleTimerDisabledUnderlyingCallsCount = newValue } } } var setIdleTimerDisabledCalled: Bool { return setIdleTimerDisabledCallsCount > 0 } - var setIdleTimerDisabledReceivedDisabled: Bool? - var setIdleTimerDisabledReceivedInvocations: [Bool] = [] + private let setIdleTimerDisabledReceivedDisabledLock = NSLock() + private var setIdleTimerDisabledUnderlyingReceivedDisabled: Bool? + var setIdleTimerDisabledReceivedDisabled: Bool? { + get { setIdleTimerDisabledReceivedDisabledLock.withLock { setIdleTimerDisabledUnderlyingReceivedDisabled } } + set { setIdleTimerDisabledReceivedDisabledLock.withLock { setIdleTimerDisabledUnderlyingReceivedDisabled = newValue } } + } + private let setIdleTimerDisabledReceivedInvocationsLock = NSLock() + private var setIdleTimerDisabledUnderlyingReceivedInvocations: [Bool] = [] + var setIdleTimerDisabledReceivedInvocations: [Bool] { + get { setIdleTimerDisabledReceivedInvocationsLock.withLock { setIdleTimerDisabledUnderlyingReceivedInvocations } } + set { setIdleTimerDisabledReceivedInvocationsLock.withLock { setIdleTimerDisabledUnderlyingReceivedInvocations = newValue } } + } var setIdleTimerDisabledClosure: ((Bool) -> Void)? func setIdleTimerDisabled(_ disabled: Bool) { - setIdleTimerDisabledCallsCount += 1 + setIdleTimerDisabledCallsCountLock.withLock { setIdleTimerDisabledUnderlyingCallsCount += 1 } setIdleTimerDisabledReceivedDisabled = disabled - DispatchQueue.main.async { - self.setIdleTimerDisabledReceivedInvocations.append(disabled) - } + setIdleTimerDisabledReceivedInvocationsLock.withLock { setIdleTimerDisabledUnderlyingReceivedInvocations.append(disabled) } setIdleTimerDisabledClosure?(disabled) } //MARK: - requestAuthorizationIfNeeded - var requestAuthorizationIfNeededUnderlyingCallsCount = 0 + private let requestAuthorizationIfNeededCallsCountLock = NSLock() + private var requestAuthorizationIfNeededUnderlyingCallsCount = 0 var requestAuthorizationIfNeededCallsCount: Int { - get { - if Thread.isMainThread { - return requestAuthorizationIfNeededUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestAuthorizationIfNeededUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestAuthorizationIfNeededUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestAuthorizationIfNeededUnderlyingCallsCount = newValue - } - } - } + get { requestAuthorizationIfNeededCallsCountLock.withLock { requestAuthorizationIfNeededUnderlyingCallsCount } } + set { requestAuthorizationIfNeededCallsCountLock.withLock { requestAuthorizationIfNeededUnderlyingCallsCount = newValue } } } var requestAuthorizationIfNeededCalled: Bool { return requestAuthorizationIfNeededCallsCount > 0 } - var requestAuthorizationIfNeededUnderlyingReturnValue: Bool! + private let requestAuthorizationIfNeededReturnValueLock = NSLock() + private var requestAuthorizationIfNeededUnderlyingReturnValue: Bool! var requestAuthorizationIfNeededReturnValue: Bool! { - get { - if Thread.isMainThread { - return requestAuthorizationIfNeededUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = requestAuthorizationIfNeededUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestAuthorizationIfNeededUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - requestAuthorizationIfNeededUnderlyingReturnValue = newValue - } - } - } + get { requestAuthorizationIfNeededReturnValueLock.withLock { requestAuthorizationIfNeededUnderlyingReturnValue } } + set { requestAuthorizationIfNeededReturnValueLock.withLock { requestAuthorizationIfNeededUnderlyingReturnValue = newValue } } } var requestAuthorizationIfNeededClosure: (() async -> Bool)? func requestAuthorizationIfNeeded() async -> Bool { - requestAuthorizationIfNeededCallsCount += 1 + requestAuthorizationIfNeededCallsCountLock.withLock { requestAuthorizationIfNeededUnderlyingCallsCount += 1 } if let requestAuthorizationIfNeededClosure = requestAuthorizationIfNeededClosure { return await requestAuthorizationIfNeededClosure() } else { @@ -1871,91 +1191,71 @@ class AudioConverterMock: AudioConverterProtocol, @unchecked Sendable { //MARK: - convertToOpusOgg var convertToOpusOggSourceURLDestinationURLThrowableError: Error? - var convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount = 0 + private let convertToOpusOggSourceURLDestinationURLCallsCountLock = NSLock() + private var convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount = 0 var convertToOpusOggSourceURLDestinationURLCallsCount: Int { - get { - if Thread.isMainThread { - return convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount = newValue - } - } - } + get { convertToOpusOggSourceURLDestinationURLCallsCountLock.withLock { convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount } } + set { convertToOpusOggSourceURLDestinationURLCallsCountLock.withLock { convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount = newValue } } } var convertToOpusOggSourceURLDestinationURLCalled: Bool { return convertToOpusOggSourceURLDestinationURLCallsCount > 0 } - var convertToOpusOggSourceURLDestinationURLReceivedArguments: (sourceURL: URL, destinationURL: URL)? - var convertToOpusOggSourceURLDestinationURLReceivedInvocations: [(sourceURL: URL, destinationURL: URL)] = [] + private let convertToOpusOggSourceURLDestinationURLReceivedArgumentsLock = NSLock() + private var convertToOpusOggSourceURLDestinationURLUnderlyingReceivedArguments: (sourceURL: URL, destinationURL: URL)? + var convertToOpusOggSourceURLDestinationURLReceivedArguments: (sourceURL: URL, destinationURL: URL)? { + get { convertToOpusOggSourceURLDestinationURLReceivedArgumentsLock.withLock { convertToOpusOggSourceURLDestinationURLUnderlyingReceivedArguments } } + set { convertToOpusOggSourceURLDestinationURLReceivedArgumentsLock.withLock { convertToOpusOggSourceURLDestinationURLUnderlyingReceivedArguments = newValue } } + } + private let convertToOpusOggSourceURLDestinationURLReceivedInvocationsLock = NSLock() + private var convertToOpusOggSourceURLDestinationURLUnderlyingReceivedInvocations: [(sourceURL: URL, destinationURL: URL)] = [] + var convertToOpusOggSourceURLDestinationURLReceivedInvocations: [(sourceURL: URL, destinationURL: URL)] { + get { convertToOpusOggSourceURLDestinationURLReceivedInvocationsLock.withLock { convertToOpusOggSourceURLDestinationURLUnderlyingReceivedInvocations } } + set { convertToOpusOggSourceURLDestinationURLReceivedInvocationsLock.withLock { convertToOpusOggSourceURLDestinationURLUnderlyingReceivedInvocations = newValue } } + } var convertToOpusOggSourceURLDestinationURLClosure: ((URL, URL) throws -> Void)? func convertToOpusOgg(sourceURL: URL, destinationURL: URL) throws { if let error = convertToOpusOggSourceURLDestinationURLThrowableError { throw error } - convertToOpusOggSourceURLDestinationURLCallsCount += 1 + convertToOpusOggSourceURLDestinationURLCallsCountLock.withLock { convertToOpusOggSourceURLDestinationURLUnderlyingCallsCount += 1 } convertToOpusOggSourceURLDestinationURLReceivedArguments = (sourceURL: sourceURL, destinationURL: destinationURL) - DispatchQueue.main.async { - self.convertToOpusOggSourceURLDestinationURLReceivedInvocations.append((sourceURL: sourceURL, destinationURL: destinationURL)) - } + convertToOpusOggSourceURLDestinationURLReceivedInvocationsLock.withLock { convertToOpusOggSourceURLDestinationURLUnderlyingReceivedInvocations.append((sourceURL: sourceURL, destinationURL: destinationURL)) } try convertToOpusOggSourceURLDestinationURLClosure?(sourceURL, destinationURL) } //MARK: - convertToMPEG4AAC var convertToMPEG4AACSourceURLDestinationURLThrowableError: Error? - var convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount = 0 + private let convertToMPEG4AACSourceURLDestinationURLCallsCountLock = NSLock() + private var convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount = 0 var convertToMPEG4AACSourceURLDestinationURLCallsCount: Int { - get { - if Thread.isMainThread { - return convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount = newValue - } - } - } + get { convertToMPEG4AACSourceURLDestinationURLCallsCountLock.withLock { convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount } } + set { convertToMPEG4AACSourceURLDestinationURLCallsCountLock.withLock { convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount = newValue } } } var convertToMPEG4AACSourceURLDestinationURLCalled: Bool { return convertToMPEG4AACSourceURLDestinationURLCallsCount > 0 } - var convertToMPEG4AACSourceURLDestinationURLReceivedArguments: (sourceURL: URL, destinationURL: URL)? - var convertToMPEG4AACSourceURLDestinationURLReceivedInvocations: [(sourceURL: URL, destinationURL: URL)] = [] + private let convertToMPEG4AACSourceURLDestinationURLReceivedArgumentsLock = NSLock() + private var convertToMPEG4AACSourceURLDestinationURLUnderlyingReceivedArguments: (sourceURL: URL, destinationURL: URL)? + var convertToMPEG4AACSourceURLDestinationURLReceivedArguments: (sourceURL: URL, destinationURL: URL)? { + get { convertToMPEG4AACSourceURLDestinationURLReceivedArgumentsLock.withLock { convertToMPEG4AACSourceURLDestinationURLUnderlyingReceivedArguments } } + set { convertToMPEG4AACSourceURLDestinationURLReceivedArgumentsLock.withLock { convertToMPEG4AACSourceURLDestinationURLUnderlyingReceivedArguments = newValue } } + } + private let convertToMPEG4AACSourceURLDestinationURLReceivedInvocationsLock = NSLock() + private var convertToMPEG4AACSourceURLDestinationURLUnderlyingReceivedInvocations: [(sourceURL: URL, destinationURL: URL)] = [] + var convertToMPEG4AACSourceURLDestinationURLReceivedInvocations: [(sourceURL: URL, destinationURL: URL)] { + get { convertToMPEG4AACSourceURLDestinationURLReceivedInvocationsLock.withLock { convertToMPEG4AACSourceURLDestinationURLUnderlyingReceivedInvocations } } + set { convertToMPEG4AACSourceURLDestinationURLReceivedInvocationsLock.withLock { convertToMPEG4AACSourceURLDestinationURLUnderlyingReceivedInvocations = newValue } } + } var convertToMPEG4AACSourceURLDestinationURLClosure: ((URL, URL) throws -> Void)? func convertToMPEG4AAC(sourceURL: URL, destinationURL: URL) throws { if let error = convertToMPEG4AACSourceURLDestinationURLThrowableError { throw error } - convertToMPEG4AACSourceURLDestinationURLCallsCount += 1 + convertToMPEG4AACSourceURLDestinationURLCallsCountLock.withLock { convertToMPEG4AACSourceURLDestinationURLUnderlyingCallsCount += 1 } convertToMPEG4AACSourceURLDestinationURLReceivedArguments = (sourceURL: sourceURL, destinationURL: destinationURL) - DispatchQueue.main.async { - self.convertToMPEG4AACSourceURLDestinationURLReceivedInvocations.append((sourceURL: sourceURL, destinationURL: destinationURL)) - } + convertToMPEG4AACSourceURLDestinationURLReceivedInvocationsLock.withLock { convertToMPEG4AACSourceURLDestinationURLUnderlyingReceivedInvocations.append((sourceURL: sourceURL, destinationURL: destinationURL)) } try convertToMPEG4AACSourceURLDestinationURLClosure?(sourceURL, destinationURL) } } @@ -1990,70 +1290,42 @@ class AudioPlayerMock: AudioPlayerProtocol, @unchecked Sendable { //MARK: - load - var loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount = 0 + private let loadSourceURLPlaybackURLAutoplayCallsCountLock = NSLock() + private var loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount = 0 var loadSourceURLPlaybackURLAutoplayCallsCount: Int { - get { - if Thread.isMainThread { - return loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount = newValue - } - } - } + get { loadSourceURLPlaybackURLAutoplayCallsCountLock.withLock { loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount } } + set { loadSourceURLPlaybackURLAutoplayCallsCountLock.withLock { loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount = newValue } } } var loadSourceURLPlaybackURLAutoplayCalled: Bool { return loadSourceURLPlaybackURLAutoplayCallsCount > 0 } - var loadSourceURLPlaybackURLAutoplayReceivedArguments: (sourceURL: URL, playbackURL: URL, autoplay: Bool)? - var loadSourceURLPlaybackURLAutoplayReceivedInvocations: [(sourceURL: URL, playbackURL: URL, autoplay: Bool)] = [] + private let loadSourceURLPlaybackURLAutoplayReceivedArgumentsLock = NSLock() + private var loadSourceURLPlaybackURLAutoplayUnderlyingReceivedArguments: (sourceURL: URL, playbackURL: URL, autoplay: Bool)? + var loadSourceURLPlaybackURLAutoplayReceivedArguments: (sourceURL: URL, playbackURL: URL, autoplay: Bool)? { + get { loadSourceURLPlaybackURLAutoplayReceivedArgumentsLock.withLock { loadSourceURLPlaybackURLAutoplayUnderlyingReceivedArguments } } + set { loadSourceURLPlaybackURLAutoplayReceivedArgumentsLock.withLock { loadSourceURLPlaybackURLAutoplayUnderlyingReceivedArguments = newValue } } + } + private let loadSourceURLPlaybackURLAutoplayReceivedInvocationsLock = NSLock() + private var loadSourceURLPlaybackURLAutoplayUnderlyingReceivedInvocations: [(sourceURL: URL, playbackURL: URL, autoplay: Bool)] = [] + var loadSourceURLPlaybackURLAutoplayReceivedInvocations: [(sourceURL: URL, playbackURL: URL, autoplay: Bool)] { + get { loadSourceURLPlaybackURLAutoplayReceivedInvocationsLock.withLock { loadSourceURLPlaybackURLAutoplayUnderlyingReceivedInvocations } } + set { loadSourceURLPlaybackURLAutoplayReceivedInvocationsLock.withLock { loadSourceURLPlaybackURLAutoplayUnderlyingReceivedInvocations = newValue } } + } var loadSourceURLPlaybackURLAutoplayClosure: ((URL, URL, Bool) -> Void)? func load(sourceURL: URL, playbackURL: URL, autoplay: Bool) { - loadSourceURLPlaybackURLAutoplayCallsCount += 1 + loadSourceURLPlaybackURLAutoplayCallsCountLock.withLock { loadSourceURLPlaybackURLAutoplayUnderlyingCallsCount += 1 } loadSourceURLPlaybackURLAutoplayReceivedArguments = (sourceURL: sourceURL, playbackURL: playbackURL, autoplay: autoplay) - DispatchQueue.main.async { - self.loadSourceURLPlaybackURLAutoplayReceivedInvocations.append((sourceURL: sourceURL, playbackURL: playbackURL, autoplay: autoplay)) - } + loadSourceURLPlaybackURLAutoplayReceivedInvocationsLock.withLock { loadSourceURLPlaybackURLAutoplayUnderlyingReceivedInvocations.append((sourceURL: sourceURL, playbackURL: playbackURL, autoplay: autoplay)) } loadSourceURLPlaybackURLAutoplayClosure?(sourceURL, playbackURL, autoplay) } //MARK: - reset - var resetUnderlyingCallsCount = 0 + private let resetCallsCountLock = NSLock() + private var resetUnderlyingCallsCount = 0 var resetCallsCount: Int { - get { - if Thread.isMainThread { - return resetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetUnderlyingCallsCount = newValue - } - } - } + get { resetCallsCountLock.withLock { resetUnderlyingCallsCount } } + set { resetCallsCountLock.withLock { resetUnderlyingCallsCount = newValue } } } var resetCalled: Bool { return resetCallsCount > 0 @@ -2061,34 +1333,16 @@ class AudioPlayerMock: AudioPlayerProtocol, @unchecked Sendable { var resetClosure: (() -> Void)? func reset() { - resetCallsCount += 1 + resetCallsCountLock.withLock { resetUnderlyingCallsCount += 1 } resetClosure?() } //MARK: - play - var playUnderlyingCallsCount = 0 + private let playCallsCountLock = NSLock() + private var playUnderlyingCallsCount = 0 var playCallsCount: Int { - get { - if Thread.isMainThread { - return playUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = playUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - playUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - playUnderlyingCallsCount = newValue - } - } - } + get { playCallsCountLock.withLock { playUnderlyingCallsCount } } + set { playCallsCountLock.withLock { playUnderlyingCallsCount = newValue } } } var playCalled: Bool { return playCallsCount > 0 @@ -2096,34 +1350,16 @@ class AudioPlayerMock: AudioPlayerProtocol, @unchecked Sendable { var playClosure: (() -> Void)? func play() { - playCallsCount += 1 + playCallsCountLock.withLock { playUnderlyingCallsCount += 1 } playClosure?() } //MARK: - pause - var pauseUnderlyingCallsCount = 0 + private let pauseCallsCountLock = NSLock() + private var pauseUnderlyingCallsCount = 0 var pauseCallsCount: Int { - get { - if Thread.isMainThread { - return pauseUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pauseUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pauseUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pauseUnderlyingCallsCount = newValue - } - } - } + get { pauseCallsCountLock.withLock { pauseUnderlyingCallsCount } } + set { pauseCallsCountLock.withLock { pauseUnderlyingCallsCount = newValue } } } var pauseCalled: Bool { return pauseCallsCount > 0 @@ -2131,34 +1367,16 @@ class AudioPlayerMock: AudioPlayerProtocol, @unchecked Sendable { var pauseClosure: (() -> Void)? func pause() { - pauseCallsCount += 1 + pauseCallsCountLock.withLock { pauseUnderlyingCallsCount += 1 } pauseClosure?() } //MARK: - stop - var stopUnderlyingCallsCount = 0 + private let stopCallsCountLock = NSLock() + private var stopUnderlyingCallsCount = 0 var stopCallsCount: Int { - get { - if Thread.isMainThread { - return stopUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopUnderlyingCallsCount = newValue - } - } - } + get { stopCallsCountLock.withLock { stopUnderlyingCallsCount } } + set { stopCallsCountLock.withLock { stopUnderlyingCallsCount = newValue } } } var stopCalled: Bool { return stopCallsCount > 0 @@ -2166,89 +1384,69 @@ class AudioPlayerMock: AudioPlayerProtocol, @unchecked Sendable { var stopClosure: (() -> Void)? func stop() { - stopCallsCount += 1 + stopCallsCountLock.withLock { stopUnderlyingCallsCount += 1 } stopClosure?() } //MARK: - seek - var seekToUnderlyingCallsCount = 0 + private let seekToCallsCountLock = NSLock() + private var seekToUnderlyingCallsCount = 0 var seekToCallsCount: Int { - get { - if Thread.isMainThread { - return seekToUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = seekToUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - seekToUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - seekToUnderlyingCallsCount = newValue - } - } - } + get { seekToCallsCountLock.withLock { seekToUnderlyingCallsCount } } + set { seekToCallsCountLock.withLock { seekToUnderlyingCallsCount = newValue } } } var seekToCalled: Bool { return seekToCallsCount > 0 } - var seekToReceivedProgress: Double? - var seekToReceivedInvocations: [Double] = [] + private let seekToReceivedProgressLock = NSLock() + private var seekToUnderlyingReceivedProgress: Double? + var seekToReceivedProgress: Double? { + get { seekToReceivedProgressLock.withLock { seekToUnderlyingReceivedProgress } } + set { seekToReceivedProgressLock.withLock { seekToUnderlyingReceivedProgress = newValue } } + } + private let seekToReceivedInvocationsLock = NSLock() + private var seekToUnderlyingReceivedInvocations: [Double] = [] + var seekToReceivedInvocations: [Double] { + get { seekToReceivedInvocationsLock.withLock { seekToUnderlyingReceivedInvocations } } + set { seekToReceivedInvocationsLock.withLock { seekToUnderlyingReceivedInvocations = newValue } } + } var seekToClosure: ((Double) async -> Void)? func seek(to progress: Double) async { - seekToCallsCount += 1 + seekToCallsCountLock.withLock { seekToUnderlyingCallsCount += 1 } seekToReceivedProgress = progress - DispatchQueue.main.async { - self.seekToReceivedInvocations.append(progress) - } + seekToReceivedInvocationsLock.withLock { seekToUnderlyingReceivedInvocations.append(progress) } await seekToClosure?(progress) } //MARK: - setPlaybackSpeed - var setPlaybackSpeedUnderlyingCallsCount = 0 + private let setPlaybackSpeedCallsCountLock = NSLock() + private var setPlaybackSpeedUnderlyingCallsCount = 0 var setPlaybackSpeedCallsCount: Int { - get { - if Thread.isMainThread { - return setPlaybackSpeedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setPlaybackSpeedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setPlaybackSpeedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setPlaybackSpeedUnderlyingCallsCount = newValue - } - } - } + get { setPlaybackSpeedCallsCountLock.withLock { setPlaybackSpeedUnderlyingCallsCount } } + set { setPlaybackSpeedCallsCountLock.withLock { setPlaybackSpeedUnderlyingCallsCount = newValue } } } var setPlaybackSpeedCalled: Bool { return setPlaybackSpeedCallsCount > 0 } - var setPlaybackSpeedReceivedSpeed: Float? - var setPlaybackSpeedReceivedInvocations: [Float] = [] + private let setPlaybackSpeedReceivedSpeedLock = NSLock() + private var setPlaybackSpeedUnderlyingReceivedSpeed: Float? + var setPlaybackSpeedReceivedSpeed: Float? { + get { setPlaybackSpeedReceivedSpeedLock.withLock { setPlaybackSpeedUnderlyingReceivedSpeed } } + set { setPlaybackSpeedReceivedSpeedLock.withLock { setPlaybackSpeedUnderlyingReceivedSpeed = newValue } } + } + private let setPlaybackSpeedReceivedInvocationsLock = NSLock() + private var setPlaybackSpeedUnderlyingReceivedInvocations: [Float] = [] + var setPlaybackSpeedReceivedInvocations: [Float] { + get { setPlaybackSpeedReceivedInvocationsLock.withLock { setPlaybackSpeedUnderlyingReceivedInvocations } } + set { setPlaybackSpeedReceivedInvocationsLock.withLock { setPlaybackSpeedUnderlyingReceivedInvocations = newValue } } + } var setPlaybackSpeedClosure: ((Float) -> Void)? func setPlaybackSpeed(_ speed: Float) { - setPlaybackSpeedCallsCount += 1 + setPlaybackSpeedCallsCountLock.withLock { setPlaybackSpeedUnderlyingCallsCount += 1 } setPlaybackSpeedReceivedSpeed = speed - DispatchQueue.main.async { - self.setPlaybackSpeedReceivedInvocations.append(speed) - } + setPlaybackSpeedReceivedInvocationsLock.withLock { setPlaybackSpeedUnderlyingReceivedInvocations.append(speed) } setPlaybackSpeedClosure?(speed) } } @@ -2272,70 +1470,42 @@ class AudioRecorderMock: AudioRecorderProtocol, @unchecked Sendable { //MARK: - record - var recordAudioFileURLUnderlyingCallsCount = 0 + private let recordAudioFileURLCallsCountLock = NSLock() + private var recordAudioFileURLUnderlyingCallsCount = 0 var recordAudioFileURLCallsCount: Int { - get { - if Thread.isMainThread { - return recordAudioFileURLUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recordAudioFileURLUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recordAudioFileURLUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recordAudioFileURLUnderlyingCallsCount = newValue - } - } - } + get { recordAudioFileURLCallsCountLock.withLock { recordAudioFileURLUnderlyingCallsCount } } + set { recordAudioFileURLCallsCountLock.withLock { recordAudioFileURLUnderlyingCallsCount = newValue } } } var recordAudioFileURLCalled: Bool { return recordAudioFileURLCallsCount > 0 } - var recordAudioFileURLReceivedAudioFileURL: URL? - var recordAudioFileURLReceivedInvocations: [URL] = [] + private let recordAudioFileURLReceivedAudioFileURLLock = NSLock() + private var recordAudioFileURLUnderlyingReceivedAudioFileURL: URL? + var recordAudioFileURLReceivedAudioFileURL: URL? { + get { recordAudioFileURLReceivedAudioFileURLLock.withLock { recordAudioFileURLUnderlyingReceivedAudioFileURL } } + set { recordAudioFileURLReceivedAudioFileURLLock.withLock { recordAudioFileURLUnderlyingReceivedAudioFileURL = newValue } } + } + private let recordAudioFileURLReceivedInvocationsLock = NSLock() + private var recordAudioFileURLUnderlyingReceivedInvocations: [URL] = [] + var recordAudioFileURLReceivedInvocations: [URL] { + get { recordAudioFileURLReceivedInvocationsLock.withLock { recordAudioFileURLUnderlyingReceivedInvocations } } + set { recordAudioFileURLReceivedInvocationsLock.withLock { recordAudioFileURLUnderlyingReceivedInvocations = newValue } } + } var recordAudioFileURLClosure: ((URL) async -> Void)? func record(audioFileURL: URL) async { - recordAudioFileURLCallsCount += 1 + recordAudioFileURLCallsCountLock.withLock { recordAudioFileURLUnderlyingCallsCount += 1 } recordAudioFileURLReceivedAudioFileURL = audioFileURL - DispatchQueue.main.async { - self.recordAudioFileURLReceivedInvocations.append(audioFileURL) - } + recordAudioFileURLReceivedInvocationsLock.withLock { recordAudioFileURLUnderlyingReceivedInvocations.append(audioFileURL) } await recordAudioFileURLClosure?(audioFileURL) } //MARK: - stopRecording - var stopRecordingUnderlyingCallsCount = 0 + private let stopRecordingCallsCountLock = NSLock() + private var stopRecordingUnderlyingCallsCount = 0 var stopRecordingCallsCount: Int { - get { - if Thread.isMainThread { - return stopRecordingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopRecordingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopRecordingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopRecordingUnderlyingCallsCount = newValue - } - } - } + get { stopRecordingCallsCountLock.withLock { stopRecordingUnderlyingCallsCount } } + set { stopRecordingCallsCountLock.withLock { stopRecordingUnderlyingCallsCount = newValue } } } var stopRecordingCalled: Bool { return stopRecordingCallsCount > 0 @@ -2343,34 +1513,16 @@ class AudioRecorderMock: AudioRecorderProtocol, @unchecked Sendable { var stopRecordingClosure: (() async -> Void)? func stopRecording() async { - stopRecordingCallsCount += 1 + stopRecordingCallsCountLock.withLock { stopRecordingUnderlyingCallsCount += 1 } await stopRecordingClosure?() } //MARK: - deleteRecording - var deleteRecordingUnderlyingCallsCount = 0 + private let deleteRecordingCallsCountLock = NSLock() + private var deleteRecordingUnderlyingCallsCount = 0 var deleteRecordingCallsCount: Int { - get { - if Thread.isMainThread { - return deleteRecordingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = deleteRecordingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deleteRecordingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - deleteRecordingUnderlyingCallsCount = newValue - } - } - } + get { deleteRecordingCallsCountLock.withLock { deleteRecordingUnderlyingCallsCount } } + set { deleteRecordingCallsCountLock.withLock { deleteRecordingUnderlyingCallsCount = newValue } } } var deleteRecordingCalled: Bool { return deleteRecordingCallsCount > 0 @@ -2378,67 +1530,31 @@ class AudioRecorderMock: AudioRecorderProtocol, @unchecked Sendable { var deleteRecordingClosure: (() async -> Void)? func deleteRecording() async { - deleteRecordingCallsCount += 1 + deleteRecordingCallsCountLock.withLock { deleteRecordingUnderlyingCallsCount += 1 } await deleteRecordingClosure?() } //MARK: - averagePower - var averagePowerUnderlyingCallsCount = 0 + private let averagePowerCallsCountLock = NSLock() + private var averagePowerUnderlyingCallsCount = 0 var averagePowerCallsCount: Int { - get { - if Thread.isMainThread { - return averagePowerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = averagePowerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - averagePowerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - averagePowerUnderlyingCallsCount = newValue - } - } - } + get { averagePowerCallsCountLock.withLock { averagePowerUnderlyingCallsCount } } + set { averagePowerCallsCountLock.withLock { averagePowerUnderlyingCallsCount = newValue } } } var averagePowerCalled: Bool { return averagePowerCallsCount > 0 } - var averagePowerUnderlyingReturnValue: Float! + private let averagePowerReturnValueLock = NSLock() + private var averagePowerUnderlyingReturnValue: Float! var averagePowerReturnValue: Float! { - get { - if Thread.isMainThread { - return averagePowerUnderlyingReturnValue - } else { - var returnValue: Float? = nil - DispatchQueue.main.sync { - returnValue = averagePowerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - averagePowerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - averagePowerUnderlyingReturnValue = newValue - } - } - } + get { averagePowerReturnValueLock.withLock { averagePowerUnderlyingReturnValue } } + set { averagePowerReturnValueLock.withLock { averagePowerUnderlyingReturnValue = newValue } } } var averagePowerClosure: (() -> Float)? func averagePower() -> Float { - averagePowerCallsCount += 1 + averagePowerCallsCountLock.withLock { averagePowerUnderlyingCallsCount += 1 } if let averagePowerClosure = averagePowerClosure { return averagePowerClosure() } else { @@ -2450,178 +1566,138 @@ class AudioSessionMock: AudioSessionProtocol, @unchecked Sendable { //MARK: - requestRecordPermission - var requestRecordPermissionUnderlyingCallsCount = 0 + private let requestRecordPermissionCallsCountLock = NSLock() + private var requestRecordPermissionUnderlyingCallsCount = 0 var requestRecordPermissionCallsCount: Int { - get { - if Thread.isMainThread { - return requestRecordPermissionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestRecordPermissionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestRecordPermissionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestRecordPermissionUnderlyingCallsCount = newValue - } - } - } + get { requestRecordPermissionCallsCountLock.withLock { requestRecordPermissionUnderlyingCallsCount } } + set { requestRecordPermissionCallsCountLock.withLock { requestRecordPermissionUnderlyingCallsCount = newValue } } } var requestRecordPermissionCalled: Bool { return requestRecordPermissionCallsCount > 0 } - var requestRecordPermissionReceivedResponse: ((Bool) -> Void)? - var requestRecordPermissionReceivedInvocations: [((Bool) -> Void)] = [] + private let requestRecordPermissionReceivedResponseLock = NSLock() + private var requestRecordPermissionUnderlyingReceivedResponse: ((Bool) -> Void)? + var requestRecordPermissionReceivedResponse: ((Bool) -> Void)? { + get { requestRecordPermissionReceivedResponseLock.withLock { requestRecordPermissionUnderlyingReceivedResponse } } + set { requestRecordPermissionReceivedResponseLock.withLock { requestRecordPermissionUnderlyingReceivedResponse = newValue } } + } + private let requestRecordPermissionReceivedInvocationsLock = NSLock() + private var requestRecordPermissionUnderlyingReceivedInvocations: [((Bool) -> Void)] = [] + var requestRecordPermissionReceivedInvocations: [((Bool) -> Void)] { + get { requestRecordPermissionReceivedInvocationsLock.withLock { requestRecordPermissionUnderlyingReceivedInvocations } } + set { requestRecordPermissionReceivedInvocationsLock.withLock { requestRecordPermissionUnderlyingReceivedInvocations = newValue } } + } var requestRecordPermissionClosure: ((@escaping (Bool) -> Void) -> Void)? func requestRecordPermission(_ response: @escaping (Bool) -> Void) { - requestRecordPermissionCallsCount += 1 + requestRecordPermissionCallsCountLock.withLock { requestRecordPermissionUnderlyingCallsCount += 1 } requestRecordPermissionReceivedResponse = response - DispatchQueue.main.async { - self.requestRecordPermissionReceivedInvocations.append(response) - } + requestRecordPermissionReceivedInvocationsLock.withLock { requestRecordPermissionUnderlyingReceivedInvocations.append(response) } requestRecordPermissionClosure?(response) } //MARK: - setAllowHapticsAndSystemSoundsDuringRecording var setAllowHapticsAndSystemSoundsDuringRecordingThrowableError: Error? - var setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount = 0 + private let setAllowHapticsAndSystemSoundsDuringRecordingCallsCountLock = NSLock() + private var setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount = 0 var setAllowHapticsAndSystemSoundsDuringRecordingCallsCount: Int { - get { - if Thread.isMainThread { - return setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount = newValue - } - } - } + get { setAllowHapticsAndSystemSoundsDuringRecordingCallsCountLock.withLock { setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount } } + set { setAllowHapticsAndSystemSoundsDuringRecordingCallsCountLock.withLock { setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount = newValue } } } var setAllowHapticsAndSystemSoundsDuringRecordingCalled: Bool { return setAllowHapticsAndSystemSoundsDuringRecordingCallsCount > 0 } - var setAllowHapticsAndSystemSoundsDuringRecordingReceivedInValue: Bool? - var setAllowHapticsAndSystemSoundsDuringRecordingReceivedInvocations: [Bool] = [] + private let setAllowHapticsAndSystemSoundsDuringRecordingReceivedInValueLock = NSLock() + private var setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingReceivedInValue: Bool? + var setAllowHapticsAndSystemSoundsDuringRecordingReceivedInValue: Bool? { + get { setAllowHapticsAndSystemSoundsDuringRecordingReceivedInValueLock.withLock { setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingReceivedInValue } } + set { setAllowHapticsAndSystemSoundsDuringRecordingReceivedInValueLock.withLock { setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingReceivedInValue = newValue } } + } + private let setAllowHapticsAndSystemSoundsDuringRecordingReceivedInvocationsLock = NSLock() + private var setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingReceivedInvocations: [Bool] = [] + var setAllowHapticsAndSystemSoundsDuringRecordingReceivedInvocations: [Bool] { + get { setAllowHapticsAndSystemSoundsDuringRecordingReceivedInvocationsLock.withLock { setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingReceivedInvocations } } + set { setAllowHapticsAndSystemSoundsDuringRecordingReceivedInvocationsLock.withLock { setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingReceivedInvocations = newValue } } + } var setAllowHapticsAndSystemSoundsDuringRecordingClosure: ((Bool) throws -> Void)? func setAllowHapticsAndSystemSoundsDuringRecording(_ inValue: Bool) throws { if let error = setAllowHapticsAndSystemSoundsDuringRecordingThrowableError { throw error } - setAllowHapticsAndSystemSoundsDuringRecordingCallsCount += 1 + setAllowHapticsAndSystemSoundsDuringRecordingCallsCountLock.withLock { setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingCallsCount += 1 } setAllowHapticsAndSystemSoundsDuringRecordingReceivedInValue = inValue - DispatchQueue.main.async { - self.setAllowHapticsAndSystemSoundsDuringRecordingReceivedInvocations.append(inValue) - } + setAllowHapticsAndSystemSoundsDuringRecordingReceivedInvocationsLock.withLock { setAllowHapticsAndSystemSoundsDuringRecordingUnderlyingReceivedInvocations.append(inValue) } try setAllowHapticsAndSystemSoundsDuringRecordingClosure?(inValue) } //MARK: - setCategory var setCategoryModeOptionsThrowableError: Error? - var setCategoryModeOptionsUnderlyingCallsCount = 0 + private let setCategoryModeOptionsCallsCountLock = NSLock() + private var setCategoryModeOptionsUnderlyingCallsCount = 0 var setCategoryModeOptionsCallsCount: Int { - get { - if Thread.isMainThread { - return setCategoryModeOptionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setCategoryModeOptionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setCategoryModeOptionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setCategoryModeOptionsUnderlyingCallsCount = newValue - } - } - } + get { setCategoryModeOptionsCallsCountLock.withLock { setCategoryModeOptionsUnderlyingCallsCount } } + set { setCategoryModeOptionsCallsCountLock.withLock { setCategoryModeOptionsUnderlyingCallsCount = newValue } } } var setCategoryModeOptionsCalled: Bool { return setCategoryModeOptionsCallsCount > 0 } - var setCategoryModeOptionsReceivedArguments: (category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions)? - var setCategoryModeOptionsReceivedInvocations: [(category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions)] = [] + private let setCategoryModeOptionsReceivedArgumentsLock = NSLock() + private var setCategoryModeOptionsUnderlyingReceivedArguments: (category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions)? + var setCategoryModeOptionsReceivedArguments: (category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions)? { + get { setCategoryModeOptionsReceivedArgumentsLock.withLock { setCategoryModeOptionsUnderlyingReceivedArguments } } + set { setCategoryModeOptionsReceivedArgumentsLock.withLock { setCategoryModeOptionsUnderlyingReceivedArguments = newValue } } + } + private let setCategoryModeOptionsReceivedInvocationsLock = NSLock() + private var setCategoryModeOptionsUnderlyingReceivedInvocations: [(category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions)] = [] + var setCategoryModeOptionsReceivedInvocations: [(category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions)] { + get { setCategoryModeOptionsReceivedInvocationsLock.withLock { setCategoryModeOptionsUnderlyingReceivedInvocations } } + set { setCategoryModeOptionsReceivedInvocationsLock.withLock { setCategoryModeOptionsUnderlyingReceivedInvocations = newValue } } + } var setCategoryModeOptionsClosure: ((AVAudioSession.Category, AVAudioSession.Mode, AVAudioSession.CategoryOptions) throws -> Void)? func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, options: AVAudioSession.CategoryOptions) throws { if let error = setCategoryModeOptionsThrowableError { throw error } - setCategoryModeOptionsCallsCount += 1 + setCategoryModeOptionsCallsCountLock.withLock { setCategoryModeOptionsUnderlyingCallsCount += 1 } setCategoryModeOptionsReceivedArguments = (category: category, mode: mode, options: options) - DispatchQueue.main.async { - self.setCategoryModeOptionsReceivedInvocations.append((category: category, mode: mode, options: options)) - } + setCategoryModeOptionsReceivedInvocationsLock.withLock { setCategoryModeOptionsUnderlyingReceivedInvocations.append((category: category, mode: mode, options: options)) } try setCategoryModeOptionsClosure?(category, mode, options) } //MARK: - setActive var setActiveOptionsThrowableError: Error? - var setActiveOptionsUnderlyingCallsCount = 0 + private let setActiveOptionsCallsCountLock = NSLock() + private var setActiveOptionsUnderlyingCallsCount = 0 var setActiveOptionsCallsCount: Int { - get { - if Thread.isMainThread { - return setActiveOptionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setActiveOptionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setActiveOptionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setActiveOptionsUnderlyingCallsCount = newValue - } - } - } + get { setActiveOptionsCallsCountLock.withLock { setActiveOptionsUnderlyingCallsCount } } + set { setActiveOptionsCallsCountLock.withLock { setActiveOptionsUnderlyingCallsCount = newValue } } } var setActiveOptionsCalled: Bool { return setActiveOptionsCallsCount > 0 } - var setActiveOptionsReceivedArguments: (active: Bool, options: AVAudioSession.SetActiveOptions)? - var setActiveOptionsReceivedInvocations: [(active: Bool, options: AVAudioSession.SetActiveOptions)] = [] + private let setActiveOptionsReceivedArgumentsLock = NSLock() + private var setActiveOptionsUnderlyingReceivedArguments: (active: Bool, options: AVAudioSession.SetActiveOptions)? + var setActiveOptionsReceivedArguments: (active: Bool, options: AVAudioSession.SetActiveOptions)? { + get { setActiveOptionsReceivedArgumentsLock.withLock { setActiveOptionsUnderlyingReceivedArguments } } + set { setActiveOptionsReceivedArgumentsLock.withLock { setActiveOptionsUnderlyingReceivedArguments = newValue } } + } + private let setActiveOptionsReceivedInvocationsLock = NSLock() + private var setActiveOptionsUnderlyingReceivedInvocations: [(active: Bool, options: AVAudioSession.SetActiveOptions)] = [] + var setActiveOptionsReceivedInvocations: [(active: Bool, options: AVAudioSession.SetActiveOptions)] { + get { setActiveOptionsReceivedInvocationsLock.withLock { setActiveOptionsUnderlyingReceivedInvocations } } + set { setActiveOptionsReceivedInvocationsLock.withLock { setActiveOptionsUnderlyingReceivedInvocations = newValue } } + } var setActiveOptionsClosure: ((Bool, AVAudioSession.SetActiveOptions) throws -> Void)? func setActive(_ active: Bool, options: AVAudioSession.SetActiveOptions) throws { if let error = setActiveOptionsThrowableError { throw error } - setActiveOptionsCallsCount += 1 + setActiveOptionsCallsCountLock.withLock { setActiveOptionsUnderlyingCallsCount += 1 } setActiveOptionsReceivedArguments = (active: active, options: options) - DispatchQueue.main.async { - self.setActiveOptionsReceivedInvocations.append((active: active, options: options)) - } + setActiveOptionsReceivedInvocationsLock.withLock { setActiveOptionsUnderlyingReceivedInvocations.append((active: active, options: options)) } try setActiveOptionsClosure?(active, options) } } @@ -2630,59 +1706,33 @@ class AuthenticationClientFactoryMock: AuthenticationClientFactoryProtocol, @unc //MARK: - makeClient var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksThrowableError: Error? - var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = 0 + private let makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCountLock = NSLock() + private var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = 0 var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount: Int { - get { - if Thread.isMainThread { - return makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = newValue - } - } - } + get { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCountLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount } } + set { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCountLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = newValue } } } var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCalled: Bool { return makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount > 0 } - var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedArguments: (homeserverAddress: String, sessionDirectories: SessionDirectories, passphrase: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)? - var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedInvocations: [(homeserverAddress: String, sessionDirectories: SessionDirectories, passphrase: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)] = [] + private let makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedArgumentsLock = NSLock() + private var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedArguments: (homeserverAddress: String, sessionDirectories: SessionDirectories, passphrase: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)? + var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedArguments: (homeserverAddress: String, sessionDirectories: SessionDirectories, passphrase: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)? { + get { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedArgumentsLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedArguments } } + set { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedArgumentsLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedArguments = newValue } } + } + private let makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedInvocationsLock = NSLock() + private var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedInvocations: [(homeserverAddress: String, sessionDirectories: SessionDirectories, passphrase: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)] = [] + var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedInvocations: [(homeserverAddress: String, sessionDirectories: SessionDirectories, passphrase: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)] { + get { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedInvocationsLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedInvocations } } + set { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedInvocationsLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedInvocations = newValue } } + } - var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue: ClientProtocol! + private let makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReturnValueLock = NSLock() + private var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue: ClientProtocol! var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReturnValue: ClientProtocol! { - get { - if Thread.isMainThread { - return makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue - } else { - var returnValue: ClientProtocol? = nil - DispatchQueue.main.sync { - returnValue = makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue = newValue - } - } - } + get { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReturnValueLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue } } + set { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReturnValueLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue = newValue } } } var makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksClosure: ((String, SessionDirectories, String, ClientSessionDelegate, AppSettings, AppHooks) async throws -> ClientProtocol)? @@ -2690,11 +1740,9 @@ class AuthenticationClientFactoryMock: AuthenticationClientFactoryProtocol, @unc if let error = makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksThrowableError { throw error } - makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCount += 1 + makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksCallsCountLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount += 1 } makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedArguments = (homeserverAddress: homeserverAddress, sessionDirectories: sessionDirectories, passphrase: passphrase, clientSessionDelegate: clientSessionDelegate, appSettings: appSettings, appHooks: appHooks) - DispatchQueue.main.async { - self.makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedInvocations.append((homeserverAddress: homeserverAddress, sessionDirectories: sessionDirectories, passphrase: passphrase, clientSessionDelegate: clientSessionDelegate, appSettings: appSettings, appHooks: appHooks)) - } + makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksReceivedInvocationsLock.withLock { makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedInvocations.append((homeserverAddress: homeserverAddress, sessionDirectories: sessionDirectories, passphrase: passphrase, clientSessionDelegate: clientSessionDelegate, appSettings: appSettings, appHooks: appHooks)) } if let makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksClosure = makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksClosure { return try await makeClientHomeserverAddressSessionDirectoriesPassphraseClientSessionDelegateAppSettingsAppHooksClosure(homeserverAddress, sessionDirectories, passphrase, clientSessionDelegate, appSettings, appHooks) } else { @@ -2704,59 +1752,33 @@ class AuthenticationClientFactoryMock: AuthenticationClientFactoryProtocol, @unc //MARK: - makeInMemoryClient var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksThrowableError: Error? - var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = 0 + private let makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksCallsCountLock = NSLock() + private var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = 0 var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksCallsCount: Int { - get { - if Thread.isMainThread { - return makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = newValue - } - } - } + get { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksCallsCountLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount } } + set { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksCallsCountLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount = newValue } } } var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksCalled: Bool { return makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksCallsCount > 0 } - var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedArguments: (homeserverAddress: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)? - var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedInvocations: [(homeserverAddress: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)] = [] + private let makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedArgumentsLock = NSLock() + private var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedArguments: (homeserverAddress: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)? + var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedArguments: (homeserverAddress: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)? { + get { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedArgumentsLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedArguments } } + set { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedArgumentsLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedArguments = newValue } } + } + private let makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedInvocationsLock = NSLock() + private var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedInvocations: [(homeserverAddress: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)] = [] + var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedInvocations: [(homeserverAddress: String, clientSessionDelegate: ClientSessionDelegate, appSettings: AppSettings, appHooks: AppHooks)] { + get { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedInvocationsLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedInvocations } } + set { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedInvocationsLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedInvocations = newValue } } + } - var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue: ClientProtocol! + private let makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReturnValueLock = NSLock() + private var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue: ClientProtocol! var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReturnValue: ClientProtocol! { - get { - if Thread.isMainThread { - return makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue - } else { - var returnValue: ClientProtocol? = nil - DispatchQueue.main.sync { - returnValue = makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue = newValue - } - } - } + get { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReturnValueLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue } } + set { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReturnValueLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReturnValue = newValue } } } var makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksClosure: ((String, ClientSessionDelegate, AppSettings, AppHooks) async throws -> ClientProtocol)? @@ -2764,11 +1786,9 @@ class AuthenticationClientFactoryMock: AuthenticationClientFactoryProtocol, @unc if let error = makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksThrowableError { throw error } - makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksCallsCount += 1 + makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksCallsCountLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingCallsCount += 1 } makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedArguments = (homeserverAddress: homeserverAddress, clientSessionDelegate: clientSessionDelegate, appSettings: appSettings, appHooks: appHooks) - DispatchQueue.main.async { - self.makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedInvocations.append((homeserverAddress: homeserverAddress, clientSessionDelegate: clientSessionDelegate, appSettings: appSettings, appHooks: appHooks)) - } + makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksReceivedInvocationsLock.withLock { makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksUnderlyingReceivedInvocations.append((homeserverAddress: homeserverAddress, clientSessionDelegate: clientSessionDelegate, appSettings: appSettings, appHooks: appHooks)) } if let makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksClosure = makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksClosure { return try await makeInMemoryClientHomeserverAddressClientSessionDelegateAppSettingsAppHooksClosure(homeserverAddress, clientSessionDelegate, appSettings, appHooks) } else { @@ -2795,62 +1815,26 @@ class BannedRoomProxyMock: BannedRoomProxyProtocol, @unchecked Sendable { //MARK: - forgetRoom - var forgetRoomUnderlyingCallsCount = 0 + private let forgetRoomCallsCountLock = NSLock() + private var forgetRoomUnderlyingCallsCount = 0 var forgetRoomCallsCount: Int { - get { - if Thread.isMainThread { - return forgetRoomUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = forgetRoomUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - forgetRoomUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - forgetRoomUnderlyingCallsCount = newValue - } - } - } + get { forgetRoomCallsCountLock.withLock { forgetRoomUnderlyingCallsCount } } + set { forgetRoomCallsCountLock.withLock { forgetRoomUnderlyingCallsCount = newValue } } } var forgetRoomCalled: Bool { return forgetRoomCallsCount > 0 } - var forgetRoomUnderlyingReturnValue: Result! + private let forgetRoomReturnValueLock = NSLock() + private var forgetRoomUnderlyingReturnValue: Result! var forgetRoomReturnValue: Result! { - get { - if Thread.isMainThread { - return forgetRoomUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = forgetRoomUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - forgetRoomUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - forgetRoomUnderlyingReturnValue = newValue - } - } - } + get { forgetRoomReturnValueLock.withLock { forgetRoomUnderlyingReturnValue } } + set { forgetRoomReturnValueLock.withLock { forgetRoomUnderlyingReturnValue = newValue } } } var forgetRoomClosure: (() async -> Result)? func forgetRoom() async -> Result { - forgetRoomCallsCount += 1 + forgetRoomCallsCountLock.withLock { forgetRoomUnderlyingCallsCount += 1 } if let forgetRoomClosure = forgetRoomClosure { return await forgetRoomClosure() } else { @@ -2873,68 +1857,40 @@ class BugReportServiceMock: BugReportServiceProtocol, @unchecked Sendable { //MARK: - submitBugReport - var submitBugReportProgressListenerUnderlyingCallsCount = 0 + private let submitBugReportProgressListenerCallsCountLock = NSLock() + private var submitBugReportProgressListenerUnderlyingCallsCount = 0 var submitBugReportProgressListenerCallsCount: Int { - get { - if Thread.isMainThread { - return submitBugReportProgressListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = submitBugReportProgressListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - submitBugReportProgressListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - submitBugReportProgressListenerUnderlyingCallsCount = newValue - } - } - } + get { submitBugReportProgressListenerCallsCountLock.withLock { submitBugReportProgressListenerUnderlyingCallsCount } } + set { submitBugReportProgressListenerCallsCountLock.withLock { submitBugReportProgressListenerUnderlyingCallsCount = newValue } } } var submitBugReportProgressListenerCalled: Bool { return submitBugReportProgressListenerCallsCount > 0 } - var submitBugReportProgressListenerReceivedArguments: (bugReport: BugReport, progressListener: CurrentValueSubject)? - var submitBugReportProgressListenerReceivedInvocations: [(bugReport: BugReport, progressListener: CurrentValueSubject)] = [] + private let submitBugReportProgressListenerReceivedArgumentsLock = NSLock() + private var submitBugReportProgressListenerUnderlyingReceivedArguments: (bugReport: BugReport, progressListener: CurrentValueSubject)? + var submitBugReportProgressListenerReceivedArguments: (bugReport: BugReport, progressListener: CurrentValueSubject)? { + get { submitBugReportProgressListenerReceivedArgumentsLock.withLock { submitBugReportProgressListenerUnderlyingReceivedArguments } } + set { submitBugReportProgressListenerReceivedArgumentsLock.withLock { submitBugReportProgressListenerUnderlyingReceivedArguments = newValue } } + } + private let submitBugReportProgressListenerReceivedInvocationsLock = NSLock() + private var submitBugReportProgressListenerUnderlyingReceivedInvocations: [(bugReport: BugReport, progressListener: CurrentValueSubject)] = [] + var submitBugReportProgressListenerReceivedInvocations: [(bugReport: BugReport, progressListener: CurrentValueSubject)] { + get { submitBugReportProgressListenerReceivedInvocationsLock.withLock { submitBugReportProgressListenerUnderlyingReceivedInvocations } } + set { submitBugReportProgressListenerReceivedInvocationsLock.withLock { submitBugReportProgressListenerUnderlyingReceivedInvocations = newValue } } + } - var submitBugReportProgressListenerUnderlyingReturnValue: Result! + private let submitBugReportProgressListenerReturnValueLock = NSLock() + private var submitBugReportProgressListenerUnderlyingReturnValue: Result! var submitBugReportProgressListenerReturnValue: Result! { - get { - if Thread.isMainThread { - return submitBugReportProgressListenerUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = submitBugReportProgressListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - submitBugReportProgressListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - submitBugReportProgressListenerUnderlyingReturnValue = newValue - } - } - } + get { submitBugReportProgressListenerReturnValueLock.withLock { submitBugReportProgressListenerUnderlyingReturnValue } } + set { submitBugReportProgressListenerReturnValueLock.withLock { submitBugReportProgressListenerUnderlyingReturnValue = newValue } } } var submitBugReportProgressListenerClosure: ((BugReport, CurrentValueSubject) async -> Result)? func submitBugReport(_ bugReport: BugReport, progressListener: CurrentValueSubject) async -> Result { - submitBugReportProgressListenerCallsCount += 1 + submitBugReportProgressListenerCallsCountLock.withLock { submitBugReportProgressListenerUnderlyingCallsCount += 1 } submitBugReportProgressListenerReceivedArguments = (bugReport: bugReport, progressListener: progressListener) - DispatchQueue.main.async { - self.submitBugReportProgressListenerReceivedInvocations.append((bugReport: bugReport, progressListener: progressListener)) - } + submitBugReportProgressListenerReceivedInvocationsLock.withLock { submitBugReportProgressListenerUnderlyingReceivedInvocations.append((bugReport: bugReport, progressListener: progressListener)) } if let submitBugReportProgressListenerClosure = submitBugReportProgressListenerClosure { return await submitBugReportProgressListenerClosure(bugReport, progressListener) } else { @@ -2982,29 +1938,11 @@ class CLLocationManagerMock: CLLocationManagerProtocol, @unchecked Sendable { //MARK: - requestAlwaysAuthorization - var requestAlwaysAuthorizationUnderlyingCallsCount = 0 + private let requestAlwaysAuthorizationCallsCountLock = NSLock() + private var requestAlwaysAuthorizationUnderlyingCallsCount = 0 var requestAlwaysAuthorizationCallsCount: Int { - get { - if Thread.isMainThread { - return requestAlwaysAuthorizationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestAlwaysAuthorizationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestAlwaysAuthorizationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestAlwaysAuthorizationUnderlyingCallsCount = newValue - } - } - } + get { requestAlwaysAuthorizationCallsCountLock.withLock { requestAlwaysAuthorizationUnderlyingCallsCount } } + set { requestAlwaysAuthorizationCallsCountLock.withLock { requestAlwaysAuthorizationUnderlyingCallsCount = newValue } } } var requestAlwaysAuthorizationCalled: Bool { return requestAlwaysAuthorizationCallsCount > 0 @@ -3012,34 +1950,16 @@ class CLLocationManagerMock: CLLocationManagerProtocol, @unchecked Sendable { var requestAlwaysAuthorizationClosure: (() -> Void)? func requestAlwaysAuthorization() { - requestAlwaysAuthorizationCallsCount += 1 + requestAlwaysAuthorizationCallsCountLock.withLock { requestAlwaysAuthorizationUnderlyingCallsCount += 1 } requestAlwaysAuthorizationClosure?() } //MARK: - startUpdatingLocation - var startUpdatingLocationUnderlyingCallsCount = 0 + private let startUpdatingLocationCallsCountLock = NSLock() + private var startUpdatingLocationUnderlyingCallsCount = 0 var startUpdatingLocationCallsCount: Int { - get { - if Thread.isMainThread { - return startUpdatingLocationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startUpdatingLocationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startUpdatingLocationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startUpdatingLocationUnderlyingCallsCount = newValue - } - } - } + get { startUpdatingLocationCallsCountLock.withLock { startUpdatingLocationUnderlyingCallsCount } } + set { startUpdatingLocationCallsCountLock.withLock { startUpdatingLocationUnderlyingCallsCount = newValue } } } var startUpdatingLocationCalled: Bool { return startUpdatingLocationCallsCount > 0 @@ -3047,34 +1967,16 @@ class CLLocationManagerMock: CLLocationManagerProtocol, @unchecked Sendable { var startUpdatingLocationClosure: (() -> Void)? func startUpdatingLocation() { - startUpdatingLocationCallsCount += 1 + startUpdatingLocationCallsCountLock.withLock { startUpdatingLocationUnderlyingCallsCount += 1 } startUpdatingLocationClosure?() } //MARK: - stopUpdatingLocation - var stopUpdatingLocationUnderlyingCallsCount = 0 + private let stopUpdatingLocationCallsCountLock = NSLock() + private var stopUpdatingLocationUnderlyingCallsCount = 0 var stopUpdatingLocationCallsCount: Int { - get { - if Thread.isMainThread { - return stopUpdatingLocationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopUpdatingLocationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopUpdatingLocationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopUpdatingLocationUnderlyingCallsCount = newValue - } - } - } + get { stopUpdatingLocationCallsCountLock.withLock { stopUpdatingLocationUnderlyingCallsCount } } + set { stopUpdatingLocationCallsCountLock.withLock { stopUpdatingLocationUnderlyingCallsCount = newValue } } } var stopUpdatingLocationCalled: Bool { return stopUpdatingLocationCallsCount > 0 @@ -3082,7 +1984,7 @@ class CLLocationManagerMock: CLLocationManagerProtocol, @unchecked Sendable { var stopUpdatingLocationClosure: (() -> Void)? func stopUpdatingLocation() { - stopUpdatingLocationCallsCount += 1 + stopUpdatingLocationCallsCountLock.withLock { stopUpdatingLocationUnderlyingCallsCount += 1 } stopUpdatingLocationClosure?() } } @@ -3090,125 +1992,95 @@ class CXProviderMock: CXProviderProtocol, @unchecked Sendable { //MARK: - setDelegate - var setDelegateQueueUnderlyingCallsCount = 0 + private let setDelegateQueueCallsCountLock = NSLock() + private var setDelegateQueueUnderlyingCallsCount = 0 var setDelegateQueueCallsCount: Int { - get { - if Thread.isMainThread { - return setDelegateQueueUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setDelegateQueueUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setDelegateQueueUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setDelegateQueueUnderlyingCallsCount = newValue - } - } - } + get { setDelegateQueueCallsCountLock.withLock { setDelegateQueueUnderlyingCallsCount } } + set { setDelegateQueueCallsCountLock.withLock { setDelegateQueueUnderlyingCallsCount = newValue } } } var setDelegateQueueCalled: Bool { return setDelegateQueueCallsCount > 0 } - var setDelegateQueueReceivedArguments: (delegate: CXProviderDelegate?, queue: DispatchQueue?)? - var setDelegateQueueReceivedInvocations: [(delegate: CXProviderDelegate?, queue: DispatchQueue?)] = [] + private let setDelegateQueueReceivedArgumentsLock = NSLock() + private var setDelegateQueueUnderlyingReceivedArguments: (delegate: CXProviderDelegate?, queue: DispatchQueue?)? + var setDelegateQueueReceivedArguments: (delegate: CXProviderDelegate?, queue: DispatchQueue?)? { + get { setDelegateQueueReceivedArgumentsLock.withLock { setDelegateQueueUnderlyingReceivedArguments } } + set { setDelegateQueueReceivedArgumentsLock.withLock { setDelegateQueueUnderlyingReceivedArguments = newValue } } + } + private let setDelegateQueueReceivedInvocationsLock = NSLock() + private var setDelegateQueueUnderlyingReceivedInvocations: [(delegate: CXProviderDelegate?, queue: DispatchQueue?)] = [] + var setDelegateQueueReceivedInvocations: [(delegate: CXProviderDelegate?, queue: DispatchQueue?)] { + get { setDelegateQueueReceivedInvocationsLock.withLock { setDelegateQueueUnderlyingReceivedInvocations } } + set { setDelegateQueueReceivedInvocationsLock.withLock { setDelegateQueueUnderlyingReceivedInvocations = newValue } } + } var setDelegateQueueClosure: ((CXProviderDelegate?, DispatchQueue?) -> Void)? func setDelegate(_ delegate: CXProviderDelegate?, queue: DispatchQueue?) { - setDelegateQueueCallsCount += 1 + setDelegateQueueCallsCountLock.withLock { setDelegateQueueUnderlyingCallsCount += 1 } setDelegateQueueReceivedArguments = (delegate: delegate, queue: queue) - DispatchQueue.main.async { - self.setDelegateQueueReceivedInvocations.append((delegate: delegate, queue: queue)) - } + setDelegateQueueReceivedInvocationsLock.withLock { setDelegateQueueUnderlyingReceivedInvocations.append((delegate: delegate, queue: queue)) } setDelegateQueueClosure?(delegate, queue) } //MARK: - reportNewIncomingCall - var reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount = 0 + private let reportNewIncomingCallWithUpdateCompletionCallsCountLock = NSLock() + private var reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount = 0 var reportNewIncomingCallWithUpdateCompletionCallsCount: Int { - get { - if Thread.isMainThread { - return reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount = newValue - } - } - } + get { reportNewIncomingCallWithUpdateCompletionCallsCountLock.withLock { reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount } } + set { reportNewIncomingCallWithUpdateCompletionCallsCountLock.withLock { reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount = newValue } } } var reportNewIncomingCallWithUpdateCompletionCalled: Bool { return reportNewIncomingCallWithUpdateCompletionCallsCount > 0 } - var reportNewIncomingCallWithUpdateCompletionReceivedArguments: (uuid: UUID, update: CXCallUpdate, completion: (Error?) -> Void)? - var reportNewIncomingCallWithUpdateCompletionReceivedInvocations: [(uuid: UUID, update: CXCallUpdate, completion: (Error?) -> Void)] = [] + private let reportNewIncomingCallWithUpdateCompletionReceivedArgumentsLock = NSLock() + private var reportNewIncomingCallWithUpdateCompletionUnderlyingReceivedArguments: (uuid: UUID, update: CXCallUpdate, completion: (Error?) -> Void)? + var reportNewIncomingCallWithUpdateCompletionReceivedArguments: (uuid: UUID, update: CXCallUpdate, completion: (Error?) -> Void)? { + get { reportNewIncomingCallWithUpdateCompletionReceivedArgumentsLock.withLock { reportNewIncomingCallWithUpdateCompletionUnderlyingReceivedArguments } } + set { reportNewIncomingCallWithUpdateCompletionReceivedArgumentsLock.withLock { reportNewIncomingCallWithUpdateCompletionUnderlyingReceivedArguments = newValue } } + } + private let reportNewIncomingCallWithUpdateCompletionReceivedInvocationsLock = NSLock() + private var reportNewIncomingCallWithUpdateCompletionUnderlyingReceivedInvocations: [(uuid: UUID, update: CXCallUpdate, completion: (Error?) -> Void)] = [] + var reportNewIncomingCallWithUpdateCompletionReceivedInvocations: [(uuid: UUID, update: CXCallUpdate, completion: (Error?) -> Void)] { + get { reportNewIncomingCallWithUpdateCompletionReceivedInvocationsLock.withLock { reportNewIncomingCallWithUpdateCompletionUnderlyingReceivedInvocations } } + set { reportNewIncomingCallWithUpdateCompletionReceivedInvocationsLock.withLock { reportNewIncomingCallWithUpdateCompletionUnderlyingReceivedInvocations = newValue } } + } var reportNewIncomingCallWithUpdateCompletionClosure: ((UUID, CXCallUpdate, @Sendable @escaping (Error?) -> Void) -> Void)? func reportNewIncomingCall(with uuid: UUID, update: CXCallUpdate, completion: @Sendable @escaping (Error?) -> Void) { - reportNewIncomingCallWithUpdateCompletionCallsCount += 1 + reportNewIncomingCallWithUpdateCompletionCallsCountLock.withLock { reportNewIncomingCallWithUpdateCompletionUnderlyingCallsCount += 1 } reportNewIncomingCallWithUpdateCompletionReceivedArguments = (uuid: uuid, update: update, completion: completion) - DispatchQueue.main.async { - self.reportNewIncomingCallWithUpdateCompletionReceivedInvocations.append((uuid: uuid, update: update, completion: completion)) - } + reportNewIncomingCallWithUpdateCompletionReceivedInvocationsLock.withLock { reportNewIncomingCallWithUpdateCompletionUnderlyingReceivedInvocations.append((uuid: uuid, update: update, completion: completion)) } reportNewIncomingCallWithUpdateCompletionClosure?(uuid, update, completion) } //MARK: - reportCall - var reportCallWithEndedAtReasonUnderlyingCallsCount = 0 + private let reportCallWithEndedAtReasonCallsCountLock = NSLock() + private var reportCallWithEndedAtReasonUnderlyingCallsCount = 0 var reportCallWithEndedAtReasonCallsCount: Int { - get { - if Thread.isMainThread { - return reportCallWithEndedAtReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = reportCallWithEndedAtReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportCallWithEndedAtReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - reportCallWithEndedAtReasonUnderlyingCallsCount = newValue - } - } - } + get { reportCallWithEndedAtReasonCallsCountLock.withLock { reportCallWithEndedAtReasonUnderlyingCallsCount } } + set { reportCallWithEndedAtReasonCallsCountLock.withLock { reportCallWithEndedAtReasonUnderlyingCallsCount = newValue } } } var reportCallWithEndedAtReasonCalled: Bool { return reportCallWithEndedAtReasonCallsCount > 0 } - var reportCallWithEndedAtReasonReceivedArguments: (uuid: UUID, endedAt: Date?, reason: CXCallEndedReason)? - var reportCallWithEndedAtReasonReceivedInvocations: [(uuid: UUID, endedAt: Date?, reason: CXCallEndedReason)] = [] + private let reportCallWithEndedAtReasonReceivedArgumentsLock = NSLock() + private var reportCallWithEndedAtReasonUnderlyingReceivedArguments: (uuid: UUID, endedAt: Date?, reason: CXCallEndedReason)? + var reportCallWithEndedAtReasonReceivedArguments: (uuid: UUID, endedAt: Date?, reason: CXCallEndedReason)? { + get { reportCallWithEndedAtReasonReceivedArgumentsLock.withLock { reportCallWithEndedAtReasonUnderlyingReceivedArguments } } + set { reportCallWithEndedAtReasonReceivedArgumentsLock.withLock { reportCallWithEndedAtReasonUnderlyingReceivedArguments = newValue } } + } + private let reportCallWithEndedAtReasonReceivedInvocationsLock = NSLock() + private var reportCallWithEndedAtReasonUnderlyingReceivedInvocations: [(uuid: UUID, endedAt: Date?, reason: CXCallEndedReason)] = [] + var reportCallWithEndedAtReasonReceivedInvocations: [(uuid: UUID, endedAt: Date?, reason: CXCallEndedReason)] { + get { reportCallWithEndedAtReasonReceivedInvocationsLock.withLock { reportCallWithEndedAtReasonUnderlyingReceivedInvocations } } + set { reportCallWithEndedAtReasonReceivedInvocationsLock.withLock { reportCallWithEndedAtReasonUnderlyingReceivedInvocations = newValue } } + } var reportCallWithEndedAtReasonClosure: ((UUID, Date?, CXCallEndedReason) -> Void)? func reportCall(with uuid: UUID, endedAt: Date?, reason: CXCallEndedReason) { - reportCallWithEndedAtReasonCallsCount += 1 + reportCallWithEndedAtReasonCallsCountLock.withLock { reportCallWithEndedAtReasonUnderlyingCallsCount += 1 } reportCallWithEndedAtReasonReceivedArguments = (uuid: uuid, endedAt: endedAt, reason: reason) - DispatchQueue.main.async { - self.reportCallWithEndedAtReasonReceivedInvocations.append((uuid: uuid, endedAt: endedAt, reason: reason)) - } + reportCallWithEndedAtReasonReceivedInvocationsLock.withLock { reportCallWithEndedAtReasonUnderlyingReceivedInvocations.append((uuid: uuid, endedAt: endedAt, reason: reason)) } reportCallWithEndedAtReasonClosure?(uuid, endedAt, reason) } } @@ -3217,57 +2089,21 @@ class ClassicAppManagerMock: ClassicAppManagerProtocol, @unchecked Sendable { //MARK: - loadAccounts var loadAccountsThrowableError: Error? - var loadAccountsUnderlyingCallsCount = 0 + private let loadAccountsCallsCountLock = NSLock() + private var loadAccountsUnderlyingCallsCount = 0 var loadAccountsCallsCount: Int { - get { - if Thread.isMainThread { - return loadAccountsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadAccountsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadAccountsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadAccountsUnderlyingCallsCount = newValue - } - } - } + get { loadAccountsCallsCountLock.withLock { loadAccountsUnderlyingCallsCount } } + set { loadAccountsCallsCountLock.withLock { loadAccountsUnderlyingCallsCount = newValue } } } var loadAccountsCalled: Bool { return loadAccountsCallsCount > 0 } - var loadAccountsUnderlyingReturnValue: [ClassicAppAccount]! + private let loadAccountsReturnValueLock = NSLock() + private var loadAccountsUnderlyingReturnValue: [ClassicAppAccount]! var loadAccountsReturnValue: [ClassicAppAccount]! { - get { - if Thread.isMainThread { - return loadAccountsUnderlyingReturnValue - } else { - var returnValue: [ClassicAppAccount]? = nil - DispatchQueue.main.sync { - returnValue = loadAccountsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadAccountsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadAccountsUnderlyingReturnValue = newValue - } - } - } + get { loadAccountsReturnValueLock.withLock { loadAccountsUnderlyingReturnValue } } + set { loadAccountsReturnValueLock.withLock { loadAccountsUnderlyingReturnValue = newValue } } } var loadAccountsClosure: (() throws -> [ClassicAppAccount])? @@ -3275,7 +2111,7 @@ class ClassicAppManagerMock: ClassicAppManagerProtocol, @unchecked Sendable { if let error = loadAccountsThrowableError { throw error } - loadAccountsCallsCount += 1 + loadAccountsCallsCountLock.withLock { loadAccountsUnderlyingCallsCount += 1 } if let loadAccountsClosure = loadAccountsClosure { return try loadAccountsClosure() } else { @@ -3285,59 +2121,33 @@ class ClassicAppManagerMock: ClassicAppManagerProtocol, @unchecked Sendable { //MARK: - availableSecrets var availableSecretsForThrowableError: Error? - var availableSecretsForUnderlyingCallsCount = 0 + private let availableSecretsForCallsCountLock = NSLock() + private var availableSecretsForUnderlyingCallsCount = 0 var availableSecretsForCallsCount: Int { - get { - if Thread.isMainThread { - return availableSecretsForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = availableSecretsForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - availableSecretsForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - availableSecretsForUnderlyingCallsCount = newValue - } - } - } + get { availableSecretsForCallsCountLock.withLock { availableSecretsForUnderlyingCallsCount } } + set { availableSecretsForCallsCountLock.withLock { availableSecretsForUnderlyingCallsCount = newValue } } } var availableSecretsForCalled: Bool { return availableSecretsForCallsCount > 0 } - var availableSecretsForReceivedAccount: ClassicAppAccount? - var availableSecretsForReceivedInvocations: [ClassicAppAccount] = [] + private let availableSecretsForReceivedAccountLock = NSLock() + private var availableSecretsForUnderlyingReceivedAccount: ClassicAppAccount? + var availableSecretsForReceivedAccount: ClassicAppAccount? { + get { availableSecretsForReceivedAccountLock.withLock { availableSecretsForUnderlyingReceivedAccount } } + set { availableSecretsForReceivedAccountLock.withLock { availableSecretsForUnderlyingReceivedAccount = newValue } } + } + private let availableSecretsForReceivedInvocationsLock = NSLock() + private var availableSecretsForUnderlyingReceivedInvocations: [ClassicAppAccount] = [] + var availableSecretsForReceivedInvocations: [ClassicAppAccount] { + get { availableSecretsForReceivedInvocationsLock.withLock { availableSecretsForUnderlyingReceivedInvocations } } + set { availableSecretsForReceivedInvocationsLock.withLock { availableSecretsForUnderlyingReceivedInvocations = newValue } } + } - var availableSecretsForUnderlyingReturnValue: ClassicAppAccount.AvailableSecrets! + private let availableSecretsForReturnValueLock = NSLock() + private var availableSecretsForUnderlyingReturnValue: ClassicAppAccount.AvailableSecrets! var availableSecretsForReturnValue: ClassicAppAccount.AvailableSecrets! { - get { - if Thread.isMainThread { - return availableSecretsForUnderlyingReturnValue - } else { - var returnValue: ClassicAppAccount.AvailableSecrets? = nil - DispatchQueue.main.sync { - returnValue = availableSecretsForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - availableSecretsForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - availableSecretsForUnderlyingReturnValue = newValue - } - } - } + get { availableSecretsForReturnValueLock.withLock { availableSecretsForUnderlyingReturnValue } } + set { availableSecretsForReturnValueLock.withLock { availableSecretsForUnderlyingReturnValue = newValue } } } var availableSecretsForClosure: ((ClassicAppAccount) async throws -> ClassicAppAccount.AvailableSecrets)? @@ -3345,11 +2155,9 @@ class ClassicAppManagerMock: ClassicAppManagerProtocol, @unchecked Sendable { if let error = availableSecretsForThrowableError { throw error } - availableSecretsForCallsCount += 1 + availableSecretsForCallsCountLock.withLock { availableSecretsForUnderlyingCallsCount += 1 } availableSecretsForReceivedAccount = account - DispatchQueue.main.async { - self.availableSecretsForReceivedInvocations.append(account) - } + availableSecretsForReceivedInvocationsLock.withLock { availableSecretsForUnderlyingReceivedInvocations.append(account) } if let availableSecretsForClosure = availableSecretsForClosure { return try await availableSecretsForClosure(account) } else { @@ -3359,59 +2167,33 @@ class ClassicAppManagerMock: ClassicAppManagerProtocol, @unchecked Sendable { //MARK: - secretsBundle var secretsBundleForThrowableError: Error? - var secretsBundleForUnderlyingCallsCount = 0 + private let secretsBundleForCallsCountLock = NSLock() + private var secretsBundleForUnderlyingCallsCount = 0 var secretsBundleForCallsCount: Int { - get { - if Thread.isMainThread { - return secretsBundleForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = secretsBundleForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - secretsBundleForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - secretsBundleForUnderlyingCallsCount = newValue - } - } - } + get { secretsBundleForCallsCountLock.withLock { secretsBundleForUnderlyingCallsCount } } + set { secretsBundleForCallsCountLock.withLock { secretsBundleForUnderlyingCallsCount = newValue } } } var secretsBundleForCalled: Bool { return secretsBundleForCallsCount > 0 } - var secretsBundleForReceivedAccount: ClassicAppAccount? - var secretsBundleForReceivedInvocations: [ClassicAppAccount] = [] + private let secretsBundleForReceivedAccountLock = NSLock() + private var secretsBundleForUnderlyingReceivedAccount: ClassicAppAccount? + var secretsBundleForReceivedAccount: ClassicAppAccount? { + get { secretsBundleForReceivedAccountLock.withLock { secretsBundleForUnderlyingReceivedAccount } } + set { secretsBundleForReceivedAccountLock.withLock { secretsBundleForUnderlyingReceivedAccount = newValue } } + } + private let secretsBundleForReceivedInvocationsLock = NSLock() + private var secretsBundleForUnderlyingReceivedInvocations: [ClassicAppAccount] = [] + var secretsBundleForReceivedInvocations: [ClassicAppAccount] { + get { secretsBundleForReceivedInvocationsLock.withLock { secretsBundleForUnderlyingReceivedInvocations } } + set { secretsBundleForReceivedInvocationsLock.withLock { secretsBundleForUnderlyingReceivedInvocations = newValue } } + } - var secretsBundleForUnderlyingReturnValue: SecretsBundleWithUserId! + private let secretsBundleForReturnValueLock = NSLock() + private var secretsBundleForUnderlyingReturnValue: SecretsBundleWithUserId! var secretsBundleForReturnValue: SecretsBundleWithUserId! { - get { - if Thread.isMainThread { - return secretsBundleForUnderlyingReturnValue - } else { - var returnValue: SecretsBundleWithUserId? = nil - DispatchQueue.main.sync { - returnValue = secretsBundleForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - secretsBundleForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - secretsBundleForUnderlyingReturnValue = newValue - } - } - } + get { secretsBundleForReturnValueLock.withLock { secretsBundleForUnderlyingReturnValue } } + set { secretsBundleForReturnValueLock.withLock { secretsBundleForUnderlyingReturnValue = newValue } } } var secretsBundleForClosure: ((ClassicAppAccount) async throws -> SecretsBundleWithUserId)? @@ -3419,11 +2201,9 @@ class ClassicAppManagerMock: ClassicAppManagerProtocol, @unchecked Sendable { if let error = secretsBundleForThrowableError { throw error } - secretsBundleForCallsCount += 1 + secretsBundleForCallsCountLock.withLock { secretsBundleForUnderlyingCallsCount += 1 } secretsBundleForReceivedAccount = account - DispatchQueue.main.async { - self.secretsBundleForReceivedInvocations.append(account) - } + secretsBundleForReceivedInvocationsLock.withLock { secretsBundleForUnderlyingReceivedInvocations.append(account) } if let secretsBundleForClosure = secretsBundleForClosure { return try await secretsBundleForClosure(account) } else { @@ -3617,62 +2397,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { //MARK: - isOnlyDeviceLeft - var isOnlyDeviceLeftUnderlyingCallsCount = 0 + private let isOnlyDeviceLeftCallsCountLock = NSLock() + private var isOnlyDeviceLeftUnderlyingCallsCount = 0 var isOnlyDeviceLeftCallsCount: Int { - get { - if Thread.isMainThread { - return isOnlyDeviceLeftUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isOnlyDeviceLeftUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isOnlyDeviceLeftUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isOnlyDeviceLeftUnderlyingCallsCount = newValue - } - } - } + get { isOnlyDeviceLeftCallsCountLock.withLock { isOnlyDeviceLeftUnderlyingCallsCount } } + set { isOnlyDeviceLeftCallsCountLock.withLock { isOnlyDeviceLeftUnderlyingCallsCount = newValue } } } var isOnlyDeviceLeftCalled: Bool { return isOnlyDeviceLeftCallsCount > 0 } - var isOnlyDeviceLeftUnderlyingReturnValue: Result! + private let isOnlyDeviceLeftReturnValueLock = NSLock() + private var isOnlyDeviceLeftUnderlyingReturnValue: Result! var isOnlyDeviceLeftReturnValue: Result! { - get { - if Thread.isMainThread { - return isOnlyDeviceLeftUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = isOnlyDeviceLeftUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isOnlyDeviceLeftUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isOnlyDeviceLeftUnderlyingReturnValue = newValue - } - } - } + get { isOnlyDeviceLeftReturnValueLock.withLock { isOnlyDeviceLeftUnderlyingReturnValue } } + set { isOnlyDeviceLeftReturnValueLock.withLock { isOnlyDeviceLeftUnderlyingReturnValue = newValue } } } var isOnlyDeviceLeftClosure: (() async -> Result)? func isOnlyDeviceLeft() async -> Result { - isOnlyDeviceLeftCallsCount += 1 + isOnlyDeviceLeftCallsCountLock.withLock { isOnlyDeviceLeftUnderlyingCallsCount += 1 } if let isOnlyDeviceLeftClosure = isOnlyDeviceLeftClosure { return await isOnlyDeviceLeftClosure() } else { @@ -3681,62 +2425,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - hasDevicesToVerifyAgainst - var hasDevicesToVerifyAgainstUnderlyingCallsCount = 0 + private let hasDevicesToVerifyAgainstCallsCountLock = NSLock() + private var hasDevicesToVerifyAgainstUnderlyingCallsCount = 0 var hasDevicesToVerifyAgainstCallsCount: Int { - get { - if Thread.isMainThread { - return hasDevicesToVerifyAgainstUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = hasDevicesToVerifyAgainstUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasDevicesToVerifyAgainstUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - hasDevicesToVerifyAgainstUnderlyingCallsCount = newValue - } - } - } + get { hasDevicesToVerifyAgainstCallsCountLock.withLock { hasDevicesToVerifyAgainstUnderlyingCallsCount } } + set { hasDevicesToVerifyAgainstCallsCountLock.withLock { hasDevicesToVerifyAgainstUnderlyingCallsCount = newValue } } } var hasDevicesToVerifyAgainstCalled: Bool { return hasDevicesToVerifyAgainstCallsCount > 0 } - var hasDevicesToVerifyAgainstUnderlyingReturnValue: Result! + private let hasDevicesToVerifyAgainstReturnValueLock = NSLock() + private var hasDevicesToVerifyAgainstUnderlyingReturnValue: Result! var hasDevicesToVerifyAgainstReturnValue: Result! { - get { - if Thread.isMainThread { - return hasDevicesToVerifyAgainstUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = hasDevicesToVerifyAgainstUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasDevicesToVerifyAgainstUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - hasDevicesToVerifyAgainstUnderlyingReturnValue = newValue - } - } - } + get { hasDevicesToVerifyAgainstReturnValueLock.withLock { hasDevicesToVerifyAgainstUnderlyingReturnValue } } + set { hasDevicesToVerifyAgainstReturnValueLock.withLock { hasDevicesToVerifyAgainstUnderlyingReturnValue = newValue } } } var hasDevicesToVerifyAgainstClosure: (() async -> Result)? func hasDevicesToVerifyAgainst() async -> Result { - hasDevicesToVerifyAgainstCallsCount += 1 + hasDevicesToVerifyAgainstCallsCountLock.withLock { hasDevicesToVerifyAgainstUnderlyingCallsCount += 1 } if let hasDevicesToVerifyAgainstClosure = hasDevicesToVerifyAgainstClosure { return await hasDevicesToVerifyAgainstClosure() } else { @@ -3745,29 +2453,11 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - startSync - var startSyncUnderlyingCallsCount = 0 + private let startSyncCallsCountLock = NSLock() + private var startSyncUnderlyingCallsCount = 0 var startSyncCallsCount: Int { - get { - if Thread.isMainThread { - return startSyncUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startSyncUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startSyncUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startSyncUnderlyingCallsCount = newValue - } - } - } + get { startSyncCallsCountLock.withLock { startSyncUnderlyingCallsCount } } + set { startSyncCallsCountLock.withLock { startSyncUnderlyingCallsCount = newValue } } } var startSyncCalled: Bool { return startSyncCallsCount > 0 @@ -3775,34 +2465,16 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { var startSyncClosure: (() -> Void)? func startSync() { - startSyncCallsCount += 1 + startSyncCallsCountLock.withLock { startSyncUnderlyingCallsCount += 1 } startSyncClosure?() } //MARK: - stopSync - var stopSyncUnderlyingCallsCount = 0 + private let stopSyncCallsCountLock = NSLock() + private var stopSyncUnderlyingCallsCount = 0 var stopSyncCallsCount: Int { - get { - if Thread.isMainThread { - return stopSyncUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopSyncUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopSyncUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopSyncUnderlyingCallsCount = newValue - } - } - } + get { stopSyncCallsCountLock.withLock { stopSyncUnderlyingCallsCount } } + set { stopSyncCallsCountLock.withLock { stopSyncUnderlyingCallsCount = newValue } } } var stopSyncCalled: Bool { return stopSyncCallsCount > 0 @@ -3810,34 +2482,16 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { var stopSyncClosure: (() -> Void)? func stopSync() { - stopSyncCallsCount += 1 + stopSyncCallsCountLock.withLock { stopSyncUnderlyingCallsCount += 1 } stopSyncClosure?() } //MARK: - stopSync - var stopSyncCompletionUnderlyingCallsCount = 0 + private let stopSyncCompletionCallsCountLock = NSLock() + private var stopSyncCompletionUnderlyingCallsCount = 0 var stopSyncCompletionCallsCount: Int { - get { - if Thread.isMainThread { - return stopSyncCompletionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopSyncCompletionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopSyncCompletionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopSyncCompletionUnderlyingCallsCount = newValue - } - } - } + get { stopSyncCompletionCallsCountLock.withLock { stopSyncCompletionUnderlyingCallsCount } } + set { stopSyncCompletionCallsCountLock.withLock { stopSyncCompletionUnderlyingCallsCount = newValue } } } var stopSyncCompletionCalled: Bool { return stopSyncCompletionCallsCount > 0 @@ -3845,34 +2499,16 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { var stopSyncCompletionClosure: (((() -> Void)?) -> Void)? func stopSync(completion: (() -> Void)?) { - stopSyncCompletionCallsCount += 1 + stopSyncCompletionCallsCountLock.withLock { stopSyncCompletionUnderlyingCallsCount += 1 } stopSyncCompletionClosure?(completion) } //MARK: - expireSyncSessions - var expireSyncSessionsUnderlyingCallsCount = 0 + private let expireSyncSessionsCallsCountLock = NSLock() + private var expireSyncSessionsUnderlyingCallsCount = 0 var expireSyncSessionsCallsCount: Int { - get { - if Thread.isMainThread { - return expireSyncSessionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = expireSyncSessionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - expireSyncSessionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - expireSyncSessionsUnderlyingCallsCount = newValue - } - } - } + get { expireSyncSessionsCallsCountLock.withLock { expireSyncSessionsUnderlyingCallsCount } } + set { expireSyncSessionsCallsCountLock.withLock { expireSyncSessionsUnderlyingCallsCount = newValue } } } var expireSyncSessionsCalled: Bool { return expireSyncSessionsCallsCount > 0 @@ -3880,73 +2516,45 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { var expireSyncSessionsClosure: (() async -> Void)? func expireSyncSessions() async { - expireSyncSessionsCallsCount += 1 + expireSyncSessionsCallsCountLock.withLock { expireSyncSessionsUnderlyingCallsCount += 1 } await expireSyncSessionsClosure?() } //MARK: - accountURL - var accountURLActionUnderlyingCallsCount = 0 + private let accountURLActionCallsCountLock = NSLock() + private var accountURLActionUnderlyingCallsCount = 0 var accountURLActionCallsCount: Int { - get { - if Thread.isMainThread { - return accountURLActionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = accountURLActionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - accountURLActionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - accountURLActionUnderlyingCallsCount = newValue - } - } - } + get { accountURLActionCallsCountLock.withLock { accountURLActionUnderlyingCallsCount } } + set { accountURLActionCallsCountLock.withLock { accountURLActionUnderlyingCallsCount = newValue } } } var accountURLActionCalled: Bool { return accountURLActionCallsCount > 0 } - var accountURLActionReceivedAction: AccountManagementAction? - var accountURLActionReceivedInvocations: [AccountManagementAction] = [] + private let accountURLActionReceivedActionLock = NSLock() + private var accountURLActionUnderlyingReceivedAction: AccountManagementAction? + var accountURLActionReceivedAction: AccountManagementAction? { + get { accountURLActionReceivedActionLock.withLock { accountURLActionUnderlyingReceivedAction } } + set { accountURLActionReceivedActionLock.withLock { accountURLActionUnderlyingReceivedAction = newValue } } + } + private let accountURLActionReceivedInvocationsLock = NSLock() + private var accountURLActionUnderlyingReceivedInvocations: [AccountManagementAction] = [] + var accountURLActionReceivedInvocations: [AccountManagementAction] { + get { accountURLActionReceivedInvocationsLock.withLock { accountURLActionUnderlyingReceivedInvocations } } + set { accountURLActionReceivedInvocationsLock.withLock { accountURLActionUnderlyingReceivedInvocations = newValue } } + } - var accountURLActionUnderlyingReturnValue: URL? + private let accountURLActionReturnValueLock = NSLock() + private var accountURLActionUnderlyingReturnValue: URL? var accountURLActionReturnValue: URL? { - get { - if Thread.isMainThread { - return accountURLActionUnderlyingReturnValue - } else { - var returnValue: URL?? = nil - DispatchQueue.main.sync { - returnValue = accountURLActionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - accountURLActionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - accountURLActionUnderlyingReturnValue = newValue - } - } - } + get { accountURLActionReturnValueLock.withLock { accountURLActionUnderlyingReturnValue } } + set { accountURLActionReturnValueLock.withLock { accountURLActionUnderlyingReturnValue = newValue } } } var accountURLActionClosure: ((AccountManagementAction) async -> URL?)? func accountURL(action: AccountManagementAction) async -> URL? { - accountURLActionCallsCount += 1 + accountURLActionCallsCountLock.withLock { accountURLActionUnderlyingCallsCount += 1 } accountURLActionReceivedAction = action - DispatchQueue.main.async { - self.accountURLActionReceivedInvocations.append(action) - } + accountURLActionReceivedInvocationsLock.withLock { accountURLActionUnderlyingReceivedInvocations.append(action) } if let accountURLActionClosure = accountURLActionClosure { return await accountURLActionClosure(action) } else { @@ -3955,68 +2563,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - directRoomForUserID - var directRoomForUserIDUnderlyingCallsCount = 0 + private let directRoomForUserIDCallsCountLock = NSLock() + private var directRoomForUserIDUnderlyingCallsCount = 0 var directRoomForUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return directRoomForUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = directRoomForUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - directRoomForUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - directRoomForUserIDUnderlyingCallsCount = newValue - } - } - } + get { directRoomForUserIDCallsCountLock.withLock { directRoomForUserIDUnderlyingCallsCount } } + set { directRoomForUserIDCallsCountLock.withLock { directRoomForUserIDUnderlyingCallsCount = newValue } } } var directRoomForUserIDCalled: Bool { return directRoomForUserIDCallsCount > 0 } - var directRoomForUserIDReceivedUserID: String? - var directRoomForUserIDReceivedInvocations: [String] = [] + private let directRoomForUserIDReceivedUserIDLock = NSLock() + private var directRoomForUserIDUnderlyingReceivedUserID: String? + var directRoomForUserIDReceivedUserID: String? { + get { directRoomForUserIDReceivedUserIDLock.withLock { directRoomForUserIDUnderlyingReceivedUserID } } + set { directRoomForUserIDReceivedUserIDLock.withLock { directRoomForUserIDUnderlyingReceivedUserID = newValue } } + } + private let directRoomForUserIDReceivedInvocationsLock = NSLock() + private var directRoomForUserIDUnderlyingReceivedInvocations: [String] = [] + var directRoomForUserIDReceivedInvocations: [String] { + get { directRoomForUserIDReceivedInvocationsLock.withLock { directRoomForUserIDUnderlyingReceivedInvocations } } + set { directRoomForUserIDReceivedInvocationsLock.withLock { directRoomForUserIDUnderlyingReceivedInvocations = newValue } } + } - var directRoomForUserIDUnderlyingReturnValue: Result! + private let directRoomForUserIDReturnValueLock = NSLock() + private var directRoomForUserIDUnderlyingReturnValue: Result! var directRoomForUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return directRoomForUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = directRoomForUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - directRoomForUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - directRoomForUserIDUnderlyingReturnValue = newValue - } - } - } + get { directRoomForUserIDReturnValueLock.withLock { directRoomForUserIDUnderlyingReturnValue } } + set { directRoomForUserIDReturnValueLock.withLock { directRoomForUserIDUnderlyingReturnValue = newValue } } } var directRoomForUserIDClosure: ((String) -> Result)? func directRoomForUserID(_ userID: String) -> Result { - directRoomForUserIDCallsCount += 1 + directRoomForUserIDCallsCountLock.withLock { directRoomForUserIDUnderlyingCallsCount += 1 } directRoomForUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.directRoomForUserIDReceivedInvocations.append(userID) - } + directRoomForUserIDReceivedInvocationsLock.withLock { directRoomForUserIDUnderlyingReceivedInvocations.append(userID) } if let directRoomForUserIDClosure = directRoomForUserIDClosure { return directRoomForUserIDClosure(userID) } else { @@ -4025,68 +2605,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - createDirectRoom - var createDirectRoomWithExpectedRoomNameUnderlyingCallsCount = 0 + private let createDirectRoomWithExpectedRoomNameCallsCountLock = NSLock() + private var createDirectRoomWithExpectedRoomNameUnderlyingCallsCount = 0 var createDirectRoomWithExpectedRoomNameCallsCount: Int { - get { - if Thread.isMainThread { - return createDirectRoomWithExpectedRoomNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = createDirectRoomWithExpectedRoomNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createDirectRoomWithExpectedRoomNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - createDirectRoomWithExpectedRoomNameUnderlyingCallsCount = newValue - } - } - } + get { createDirectRoomWithExpectedRoomNameCallsCountLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingCallsCount } } + set { createDirectRoomWithExpectedRoomNameCallsCountLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingCallsCount = newValue } } } var createDirectRoomWithExpectedRoomNameCalled: Bool { return createDirectRoomWithExpectedRoomNameCallsCount > 0 } - var createDirectRoomWithExpectedRoomNameReceivedArguments: (userID: String, expectedRoomName: String?)? - var createDirectRoomWithExpectedRoomNameReceivedInvocations: [(userID: String, expectedRoomName: String?)] = [] + private let createDirectRoomWithExpectedRoomNameReceivedArgumentsLock = NSLock() + private var createDirectRoomWithExpectedRoomNameUnderlyingReceivedArguments: (userID: String, expectedRoomName: String?)? + var createDirectRoomWithExpectedRoomNameReceivedArguments: (userID: String, expectedRoomName: String?)? { + get { createDirectRoomWithExpectedRoomNameReceivedArgumentsLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingReceivedArguments } } + set { createDirectRoomWithExpectedRoomNameReceivedArgumentsLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingReceivedArguments = newValue } } + } + private let createDirectRoomWithExpectedRoomNameReceivedInvocationsLock = NSLock() + private var createDirectRoomWithExpectedRoomNameUnderlyingReceivedInvocations: [(userID: String, expectedRoomName: String?)] = [] + var createDirectRoomWithExpectedRoomNameReceivedInvocations: [(userID: String, expectedRoomName: String?)] { + get { createDirectRoomWithExpectedRoomNameReceivedInvocationsLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingReceivedInvocations } } + set { createDirectRoomWithExpectedRoomNameReceivedInvocationsLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingReceivedInvocations = newValue } } + } - var createDirectRoomWithExpectedRoomNameUnderlyingReturnValue: Result! + private let createDirectRoomWithExpectedRoomNameReturnValueLock = NSLock() + private var createDirectRoomWithExpectedRoomNameUnderlyingReturnValue: Result! var createDirectRoomWithExpectedRoomNameReturnValue: Result! { - get { - if Thread.isMainThread { - return createDirectRoomWithExpectedRoomNameUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = createDirectRoomWithExpectedRoomNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createDirectRoomWithExpectedRoomNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - createDirectRoomWithExpectedRoomNameUnderlyingReturnValue = newValue - } - } - } + get { createDirectRoomWithExpectedRoomNameReturnValueLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingReturnValue } } + set { createDirectRoomWithExpectedRoomNameReturnValueLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingReturnValue = newValue } } } var createDirectRoomWithExpectedRoomNameClosure: ((String, String?) async -> Result)? func createDirectRoom(with userID: String, expectedRoomName: String?) async -> Result { - createDirectRoomWithExpectedRoomNameCallsCount += 1 + createDirectRoomWithExpectedRoomNameCallsCountLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingCallsCount += 1 } createDirectRoomWithExpectedRoomNameReceivedArguments = (userID: userID, expectedRoomName: expectedRoomName) - DispatchQueue.main.async { - self.createDirectRoomWithExpectedRoomNameReceivedInvocations.append((userID: userID, expectedRoomName: expectedRoomName)) - } + createDirectRoomWithExpectedRoomNameReceivedInvocationsLock.withLock { createDirectRoomWithExpectedRoomNameUnderlyingReceivedInvocations.append((userID: userID, expectedRoomName: expectedRoomName)) } if let createDirectRoomWithExpectedRoomNameClosure = createDirectRoomWithExpectedRoomNameClosure { return await createDirectRoomWithExpectedRoomNameClosure(userID, expectedRoomName) } else { @@ -4095,68 +2647,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - createRoom - var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount = 0 + private let createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartCallsCountLock = NSLock() + private var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount = 0 var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartCallsCount: Int { - get { - if Thread.isMainThread { - return createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount = newValue - } - } - } + get { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartCallsCountLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount } } + set { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartCallsCountLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount = newValue } } } var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartCalled: Bool { return createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartCallsCount > 0 } - var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedArguments: (name: String?, topic: String?, accessType: CreateRoomAccessType, isSpace: Bool, userIDs: [String], avatarURL: URL?, aliasLocalPart: String?)? - var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedInvocations: [(name: String?, topic: String?, accessType: CreateRoomAccessType, isSpace: Bool, userIDs: [String], avatarURL: URL?, aliasLocalPart: String?)] = [] + private let createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedArgumentsLock = NSLock() + private var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReceivedArguments: (name: String?, topic: String?, accessType: CreateRoomAccessType, isSpace: Bool, userIDs: [String], avatarURL: URL?, aliasLocalPart: String?)? + var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedArguments: (name: String?, topic: String?, accessType: CreateRoomAccessType, isSpace: Bool, userIDs: [String], avatarURL: URL?, aliasLocalPart: String?)? { + get { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedArgumentsLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReceivedArguments } } + set { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedArgumentsLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReceivedArguments = newValue } } + } + private let createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedInvocationsLock = NSLock() + private var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReceivedInvocations: [(name: String?, topic: String?, accessType: CreateRoomAccessType, isSpace: Bool, userIDs: [String], avatarURL: URL?, aliasLocalPart: String?)] = [] + var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedInvocations: [(name: String?, topic: String?, accessType: CreateRoomAccessType, isSpace: Bool, userIDs: [String], avatarURL: URL?, aliasLocalPart: String?)] { + get { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedInvocationsLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReceivedInvocations } } + set { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedInvocationsLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReceivedInvocations = newValue } } + } - var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReturnValue: Result! + private let createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReturnValueLock = NSLock() + private var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReturnValue: Result! var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReturnValue: Result! { - get { - if Thread.isMainThread { - return createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReturnValue = newValue - } - } - } + get { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReturnValueLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReturnValue } } + set { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReturnValueLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReturnValue = newValue } } } var createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartClosure: ((String?, String?, CreateRoomAccessType, Bool, [String], URL?, String?) async -> Result)? func createRoom(name: String?, topic: String?, accessType: CreateRoomAccessType, isSpace: Bool, userIDs: [String], avatarURL: URL?, aliasLocalPart: String?) async -> Result { - createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartCallsCount += 1 + createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartCallsCountLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingCallsCount += 1 } createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedArguments = (name: name, topic: topic, accessType: accessType, isSpace: isSpace, userIDs: userIDs, avatarURL: avatarURL, aliasLocalPart: aliasLocalPart) - DispatchQueue.main.async { - self.createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedInvocations.append((name: name, topic: topic, accessType: accessType, isSpace: isSpace, userIDs: userIDs, avatarURL: avatarURL, aliasLocalPart: aliasLocalPart)) - } + createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartReceivedInvocationsLock.withLock { createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartUnderlyingReceivedInvocations.append((name: name, topic: topic, accessType: accessType, isSpace: isSpace, userIDs: userIDs, avatarURL: avatarURL, aliasLocalPart: aliasLocalPart)) } if let createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartClosure = createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartClosure { return await createRoomNameTopicAccessTypeIsSpaceUserIDsAvatarURLAliasLocalPartClosure(name, topic, accessType, isSpace, userIDs, avatarURL, aliasLocalPart) } else { @@ -4165,68 +2689,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - joinRoom - var joinRoomViaUnderlyingCallsCount = 0 + private let joinRoomViaCallsCountLock = NSLock() + private var joinRoomViaUnderlyingCallsCount = 0 var joinRoomViaCallsCount: Int { - get { - if Thread.isMainThread { - return joinRoomViaUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinRoomViaUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinRoomViaUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinRoomViaUnderlyingCallsCount = newValue - } - } - } + get { joinRoomViaCallsCountLock.withLock { joinRoomViaUnderlyingCallsCount } } + set { joinRoomViaCallsCountLock.withLock { joinRoomViaUnderlyingCallsCount = newValue } } } var joinRoomViaCalled: Bool { return joinRoomViaCallsCount > 0 } - var joinRoomViaReceivedArguments: (roomID: String, via: [String])? - var joinRoomViaReceivedInvocations: [(roomID: String, via: [String])] = [] + private let joinRoomViaReceivedArgumentsLock = NSLock() + private var joinRoomViaUnderlyingReceivedArguments: (roomID: String, via: [String])? + var joinRoomViaReceivedArguments: (roomID: String, via: [String])? { + get { joinRoomViaReceivedArgumentsLock.withLock { joinRoomViaUnderlyingReceivedArguments } } + set { joinRoomViaReceivedArgumentsLock.withLock { joinRoomViaUnderlyingReceivedArguments = newValue } } + } + private let joinRoomViaReceivedInvocationsLock = NSLock() + private var joinRoomViaUnderlyingReceivedInvocations: [(roomID: String, via: [String])] = [] + var joinRoomViaReceivedInvocations: [(roomID: String, via: [String])] { + get { joinRoomViaReceivedInvocationsLock.withLock { joinRoomViaUnderlyingReceivedInvocations } } + set { joinRoomViaReceivedInvocationsLock.withLock { joinRoomViaUnderlyingReceivedInvocations = newValue } } + } - var joinRoomViaUnderlyingReturnValue: Result! + private let joinRoomViaReturnValueLock = NSLock() + private var joinRoomViaUnderlyingReturnValue: Result! var joinRoomViaReturnValue: Result! { - get { - if Thread.isMainThread { - return joinRoomViaUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = joinRoomViaUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinRoomViaUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - joinRoomViaUnderlyingReturnValue = newValue - } - } - } + get { joinRoomViaReturnValueLock.withLock { joinRoomViaUnderlyingReturnValue } } + set { joinRoomViaReturnValueLock.withLock { joinRoomViaUnderlyingReturnValue = newValue } } } var joinRoomViaClosure: ((String, [String]) async -> Result)? func joinRoom(_ roomID: String, via: [String]) async -> Result { - joinRoomViaCallsCount += 1 + joinRoomViaCallsCountLock.withLock { joinRoomViaUnderlyingCallsCount += 1 } joinRoomViaReceivedArguments = (roomID: roomID, via: via) - DispatchQueue.main.async { - self.joinRoomViaReceivedInvocations.append((roomID: roomID, via: via)) - } + joinRoomViaReceivedInvocationsLock.withLock { joinRoomViaUnderlyingReceivedInvocations.append((roomID: roomID, via: via)) } if let joinRoomViaClosure = joinRoomViaClosure { return await joinRoomViaClosure(roomID, via) } else { @@ -4235,68 +2731,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - joinRoomAlias - var joinRoomAliasUnderlyingCallsCount = 0 + private let joinRoomAliasCallsCountLock = NSLock() + private var joinRoomAliasUnderlyingCallsCount = 0 var joinRoomAliasCallsCount: Int { - get { - if Thread.isMainThread { - return joinRoomAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinRoomAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinRoomAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinRoomAliasUnderlyingCallsCount = newValue - } - } - } + get { joinRoomAliasCallsCountLock.withLock { joinRoomAliasUnderlyingCallsCount } } + set { joinRoomAliasCallsCountLock.withLock { joinRoomAliasUnderlyingCallsCount = newValue } } } var joinRoomAliasCalled: Bool { return joinRoomAliasCallsCount > 0 } - var joinRoomAliasReceivedRoomAlias: String? - var joinRoomAliasReceivedInvocations: [String] = [] + private let joinRoomAliasReceivedRoomAliasLock = NSLock() + private var joinRoomAliasUnderlyingReceivedRoomAlias: String? + var joinRoomAliasReceivedRoomAlias: String? { + get { joinRoomAliasReceivedRoomAliasLock.withLock { joinRoomAliasUnderlyingReceivedRoomAlias } } + set { joinRoomAliasReceivedRoomAliasLock.withLock { joinRoomAliasUnderlyingReceivedRoomAlias = newValue } } + } + private let joinRoomAliasReceivedInvocationsLock = NSLock() + private var joinRoomAliasUnderlyingReceivedInvocations: [String] = [] + var joinRoomAliasReceivedInvocations: [String] { + get { joinRoomAliasReceivedInvocationsLock.withLock { joinRoomAliasUnderlyingReceivedInvocations } } + set { joinRoomAliasReceivedInvocationsLock.withLock { joinRoomAliasUnderlyingReceivedInvocations = newValue } } + } - var joinRoomAliasUnderlyingReturnValue: Result! + private let joinRoomAliasReturnValueLock = NSLock() + private var joinRoomAliasUnderlyingReturnValue: Result! var joinRoomAliasReturnValue: Result! { - get { - if Thread.isMainThread { - return joinRoomAliasUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = joinRoomAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinRoomAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - joinRoomAliasUnderlyingReturnValue = newValue - } - } - } + get { joinRoomAliasReturnValueLock.withLock { joinRoomAliasUnderlyingReturnValue } } + set { joinRoomAliasReturnValueLock.withLock { joinRoomAliasUnderlyingReturnValue = newValue } } } var joinRoomAliasClosure: ((String) async -> Result)? func joinRoomAlias(_ roomAlias: String) async -> Result { - joinRoomAliasCallsCount += 1 + joinRoomAliasCallsCountLock.withLock { joinRoomAliasUnderlyingCallsCount += 1 } joinRoomAliasReceivedRoomAlias = roomAlias - DispatchQueue.main.async { - self.joinRoomAliasReceivedInvocations.append(roomAlias) - } + joinRoomAliasReceivedInvocationsLock.withLock { joinRoomAliasUnderlyingReceivedInvocations.append(roomAlias) } if let joinRoomAliasClosure = joinRoomAliasClosure { return await joinRoomAliasClosure(roomAlias) } else { @@ -4305,68 +2773,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - knockRoom - var knockRoomViaMessageUnderlyingCallsCount = 0 + private let knockRoomViaMessageCallsCountLock = NSLock() + private var knockRoomViaMessageUnderlyingCallsCount = 0 var knockRoomViaMessageCallsCount: Int { - get { - if Thread.isMainThread { - return knockRoomViaMessageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = knockRoomViaMessageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - knockRoomViaMessageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - knockRoomViaMessageUnderlyingCallsCount = newValue - } - } - } + get { knockRoomViaMessageCallsCountLock.withLock { knockRoomViaMessageUnderlyingCallsCount } } + set { knockRoomViaMessageCallsCountLock.withLock { knockRoomViaMessageUnderlyingCallsCount = newValue } } } var knockRoomViaMessageCalled: Bool { return knockRoomViaMessageCallsCount > 0 } - var knockRoomViaMessageReceivedArguments: (roomID: String, via: [String], message: String?)? - var knockRoomViaMessageReceivedInvocations: [(roomID: String, via: [String], message: String?)] = [] + private let knockRoomViaMessageReceivedArgumentsLock = NSLock() + private var knockRoomViaMessageUnderlyingReceivedArguments: (roomID: String, via: [String], message: String?)? + var knockRoomViaMessageReceivedArguments: (roomID: String, via: [String], message: String?)? { + get { knockRoomViaMessageReceivedArgumentsLock.withLock { knockRoomViaMessageUnderlyingReceivedArguments } } + set { knockRoomViaMessageReceivedArgumentsLock.withLock { knockRoomViaMessageUnderlyingReceivedArguments = newValue } } + } + private let knockRoomViaMessageReceivedInvocationsLock = NSLock() + private var knockRoomViaMessageUnderlyingReceivedInvocations: [(roomID: String, via: [String], message: String?)] = [] + var knockRoomViaMessageReceivedInvocations: [(roomID: String, via: [String], message: String?)] { + get { knockRoomViaMessageReceivedInvocationsLock.withLock { knockRoomViaMessageUnderlyingReceivedInvocations } } + set { knockRoomViaMessageReceivedInvocationsLock.withLock { knockRoomViaMessageUnderlyingReceivedInvocations = newValue } } + } - var knockRoomViaMessageUnderlyingReturnValue: Result! + private let knockRoomViaMessageReturnValueLock = NSLock() + private var knockRoomViaMessageUnderlyingReturnValue: Result! var knockRoomViaMessageReturnValue: Result! { - get { - if Thread.isMainThread { - return knockRoomViaMessageUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = knockRoomViaMessageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - knockRoomViaMessageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - knockRoomViaMessageUnderlyingReturnValue = newValue - } - } - } + get { knockRoomViaMessageReturnValueLock.withLock { knockRoomViaMessageUnderlyingReturnValue } } + set { knockRoomViaMessageReturnValueLock.withLock { knockRoomViaMessageUnderlyingReturnValue = newValue } } } var knockRoomViaMessageClosure: ((String, [String], String?) async -> Result)? func knockRoom(_ roomID: String, via: [String], message: String?) async -> Result { - knockRoomViaMessageCallsCount += 1 + knockRoomViaMessageCallsCountLock.withLock { knockRoomViaMessageUnderlyingCallsCount += 1 } knockRoomViaMessageReceivedArguments = (roomID: roomID, via: via, message: message) - DispatchQueue.main.async { - self.knockRoomViaMessageReceivedInvocations.append((roomID: roomID, via: via, message: message)) - } + knockRoomViaMessageReceivedInvocationsLock.withLock { knockRoomViaMessageUnderlyingReceivedInvocations.append((roomID: roomID, via: via, message: message)) } if let knockRoomViaMessageClosure = knockRoomViaMessageClosure { return await knockRoomViaMessageClosure(roomID, via, message) } else { @@ -4375,68 +2815,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - knockRoomAlias - var knockRoomAliasMessageUnderlyingCallsCount = 0 + private let knockRoomAliasMessageCallsCountLock = NSLock() + private var knockRoomAliasMessageUnderlyingCallsCount = 0 var knockRoomAliasMessageCallsCount: Int { - get { - if Thread.isMainThread { - return knockRoomAliasMessageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = knockRoomAliasMessageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - knockRoomAliasMessageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - knockRoomAliasMessageUnderlyingCallsCount = newValue - } - } - } + get { knockRoomAliasMessageCallsCountLock.withLock { knockRoomAliasMessageUnderlyingCallsCount } } + set { knockRoomAliasMessageCallsCountLock.withLock { knockRoomAliasMessageUnderlyingCallsCount = newValue } } } var knockRoomAliasMessageCalled: Bool { return knockRoomAliasMessageCallsCount > 0 } - var knockRoomAliasMessageReceivedArguments: (roomAlias: String, message: String?)? - var knockRoomAliasMessageReceivedInvocations: [(roomAlias: String, message: String?)] = [] + private let knockRoomAliasMessageReceivedArgumentsLock = NSLock() + private var knockRoomAliasMessageUnderlyingReceivedArguments: (roomAlias: String, message: String?)? + var knockRoomAliasMessageReceivedArguments: (roomAlias: String, message: String?)? { + get { knockRoomAliasMessageReceivedArgumentsLock.withLock { knockRoomAliasMessageUnderlyingReceivedArguments } } + set { knockRoomAliasMessageReceivedArgumentsLock.withLock { knockRoomAliasMessageUnderlyingReceivedArguments = newValue } } + } + private let knockRoomAliasMessageReceivedInvocationsLock = NSLock() + private var knockRoomAliasMessageUnderlyingReceivedInvocations: [(roomAlias: String, message: String?)] = [] + var knockRoomAliasMessageReceivedInvocations: [(roomAlias: String, message: String?)] { + get { knockRoomAliasMessageReceivedInvocationsLock.withLock { knockRoomAliasMessageUnderlyingReceivedInvocations } } + set { knockRoomAliasMessageReceivedInvocationsLock.withLock { knockRoomAliasMessageUnderlyingReceivedInvocations = newValue } } + } - var knockRoomAliasMessageUnderlyingReturnValue: Result! + private let knockRoomAliasMessageReturnValueLock = NSLock() + private var knockRoomAliasMessageUnderlyingReturnValue: Result! var knockRoomAliasMessageReturnValue: Result! { - get { - if Thread.isMainThread { - return knockRoomAliasMessageUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = knockRoomAliasMessageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - knockRoomAliasMessageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - knockRoomAliasMessageUnderlyingReturnValue = newValue - } - } - } + get { knockRoomAliasMessageReturnValueLock.withLock { knockRoomAliasMessageUnderlyingReturnValue } } + set { knockRoomAliasMessageReturnValueLock.withLock { knockRoomAliasMessageUnderlyingReturnValue = newValue } } } var knockRoomAliasMessageClosure: ((String, String?) async -> Result)? func knockRoomAlias(_ roomAlias: String, message: String?) async -> Result { - knockRoomAliasMessageCallsCount += 1 + knockRoomAliasMessageCallsCountLock.withLock { knockRoomAliasMessageUnderlyingCallsCount += 1 } knockRoomAliasMessageReceivedArguments = (roomAlias: roomAlias, message: message) - DispatchQueue.main.async { - self.knockRoomAliasMessageReceivedInvocations.append((roomAlias: roomAlias, message: message)) - } + knockRoomAliasMessageReceivedInvocationsLock.withLock { knockRoomAliasMessageUnderlyingReceivedInvocations.append((roomAlias: roomAlias, message: message)) } if let knockRoomAliasMessageClosure = knockRoomAliasMessageClosure { return await knockRoomAliasMessageClosure(roomAlias, message) } else { @@ -4445,68 +2857,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - canJoinRoom - var canJoinRoomWithUnderlyingCallsCount = 0 + private let canJoinRoomWithCallsCountLock = NSLock() + private var canJoinRoomWithUnderlyingCallsCount = 0 var canJoinRoomWithCallsCount: Int { - get { - if Thread.isMainThread { - return canJoinRoomWithUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canJoinRoomWithUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canJoinRoomWithUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canJoinRoomWithUnderlyingCallsCount = newValue - } - } - } + get { canJoinRoomWithCallsCountLock.withLock { canJoinRoomWithUnderlyingCallsCount } } + set { canJoinRoomWithCallsCountLock.withLock { canJoinRoomWithUnderlyingCallsCount = newValue } } } var canJoinRoomWithCalled: Bool { return canJoinRoomWithCallsCount > 0 } - var canJoinRoomWithReceivedRules: [AllowRule]? - var canJoinRoomWithReceivedInvocations: [[AllowRule]] = [] + private let canJoinRoomWithReceivedRulesLock = NSLock() + private var canJoinRoomWithUnderlyingReceivedRules: [AllowRule]? + var canJoinRoomWithReceivedRules: [AllowRule]? { + get { canJoinRoomWithReceivedRulesLock.withLock { canJoinRoomWithUnderlyingReceivedRules } } + set { canJoinRoomWithReceivedRulesLock.withLock { canJoinRoomWithUnderlyingReceivedRules = newValue } } + } + private let canJoinRoomWithReceivedInvocationsLock = NSLock() + private var canJoinRoomWithUnderlyingReceivedInvocations: [[AllowRule]] = [] + var canJoinRoomWithReceivedInvocations: [[AllowRule]] { + get { canJoinRoomWithReceivedInvocationsLock.withLock { canJoinRoomWithUnderlyingReceivedInvocations } } + set { canJoinRoomWithReceivedInvocationsLock.withLock { canJoinRoomWithUnderlyingReceivedInvocations = newValue } } + } - var canJoinRoomWithUnderlyingReturnValue: Bool! + private let canJoinRoomWithReturnValueLock = NSLock() + private var canJoinRoomWithUnderlyingReturnValue: Bool! var canJoinRoomWithReturnValue: Bool! { - get { - if Thread.isMainThread { - return canJoinRoomWithUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canJoinRoomWithUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canJoinRoomWithUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canJoinRoomWithUnderlyingReturnValue = newValue - } - } - } + get { canJoinRoomWithReturnValueLock.withLock { canJoinRoomWithUnderlyingReturnValue } } + set { canJoinRoomWithReturnValueLock.withLock { canJoinRoomWithUnderlyingReturnValue = newValue } } } var canJoinRoomWithClosure: (([AllowRule]) -> Bool)? func canJoinRoom(with rules: [AllowRule]) -> Bool { - canJoinRoomWithCallsCount += 1 + canJoinRoomWithCallsCountLock.withLock { canJoinRoomWithUnderlyingCallsCount += 1 } canJoinRoomWithReceivedRules = rules - DispatchQueue.main.async { - self.canJoinRoomWithReceivedInvocations.append(rules) - } + canJoinRoomWithReceivedInvocationsLock.withLock { canJoinRoomWithUnderlyingReceivedInvocations.append(rules) } if let canJoinRoomWithClosure = canJoinRoomWithClosure { return canJoinRoomWithClosure(rules) } else { @@ -4515,68 +2899,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - uploadMedia - var uploadMediaUnderlyingCallsCount = 0 + private let uploadMediaCallsCountLock = NSLock() + private var uploadMediaUnderlyingCallsCount = 0 var uploadMediaCallsCount: Int { - get { - if Thread.isMainThread { - return uploadMediaUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = uploadMediaUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uploadMediaUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - uploadMediaUnderlyingCallsCount = newValue - } - } - } + get { uploadMediaCallsCountLock.withLock { uploadMediaUnderlyingCallsCount } } + set { uploadMediaCallsCountLock.withLock { uploadMediaUnderlyingCallsCount = newValue } } } var uploadMediaCalled: Bool { return uploadMediaCallsCount > 0 } - var uploadMediaReceivedMedia: MediaInfo? - var uploadMediaReceivedInvocations: [MediaInfo] = [] + private let uploadMediaReceivedMediaLock = NSLock() + private var uploadMediaUnderlyingReceivedMedia: MediaInfo? + var uploadMediaReceivedMedia: MediaInfo? { + get { uploadMediaReceivedMediaLock.withLock { uploadMediaUnderlyingReceivedMedia } } + set { uploadMediaReceivedMediaLock.withLock { uploadMediaUnderlyingReceivedMedia = newValue } } + } + private let uploadMediaReceivedInvocationsLock = NSLock() + private var uploadMediaUnderlyingReceivedInvocations: [MediaInfo] = [] + var uploadMediaReceivedInvocations: [MediaInfo] { + get { uploadMediaReceivedInvocationsLock.withLock { uploadMediaUnderlyingReceivedInvocations } } + set { uploadMediaReceivedInvocationsLock.withLock { uploadMediaUnderlyingReceivedInvocations = newValue } } + } - var uploadMediaUnderlyingReturnValue: Result! + private let uploadMediaReturnValueLock = NSLock() + private var uploadMediaUnderlyingReturnValue: Result! var uploadMediaReturnValue: Result! { - get { - if Thread.isMainThread { - return uploadMediaUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = uploadMediaUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uploadMediaUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - uploadMediaUnderlyingReturnValue = newValue - } - } - } + get { uploadMediaReturnValueLock.withLock { uploadMediaUnderlyingReturnValue } } + set { uploadMediaReturnValueLock.withLock { uploadMediaUnderlyingReturnValue = newValue } } } var uploadMediaClosure: ((MediaInfo) async -> Result)? func uploadMedia(_ media: MediaInfo) async -> Result { - uploadMediaCallsCount += 1 + uploadMediaCallsCountLock.withLock { uploadMediaUnderlyingCallsCount += 1 } uploadMediaReceivedMedia = media - DispatchQueue.main.async { - self.uploadMediaReceivedInvocations.append(media) - } + uploadMediaReceivedInvocationsLock.withLock { uploadMediaUnderlyingReceivedInvocations.append(media) } if let uploadMediaClosure = uploadMediaClosure { return await uploadMediaClosure(media) } else { @@ -4585,68 +2941,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - roomForIdentifier - var roomForIdentifierUnderlyingCallsCount = 0 + private let roomForIdentifierCallsCountLock = NSLock() + private var roomForIdentifierUnderlyingCallsCount = 0 var roomForIdentifierCallsCount: Int { - get { - if Thread.isMainThread { - return roomForIdentifierUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomForIdentifierUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomForIdentifierUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomForIdentifierUnderlyingCallsCount = newValue - } - } - } + get { roomForIdentifierCallsCountLock.withLock { roomForIdentifierUnderlyingCallsCount } } + set { roomForIdentifierCallsCountLock.withLock { roomForIdentifierUnderlyingCallsCount = newValue } } } var roomForIdentifierCalled: Bool { return roomForIdentifierCallsCount > 0 } - var roomForIdentifierReceivedIdentifier: String? - var roomForIdentifierReceivedInvocations: [String] = [] + private let roomForIdentifierReceivedIdentifierLock = NSLock() + private var roomForIdentifierUnderlyingReceivedIdentifier: String? + var roomForIdentifierReceivedIdentifier: String? { + get { roomForIdentifierReceivedIdentifierLock.withLock { roomForIdentifierUnderlyingReceivedIdentifier } } + set { roomForIdentifierReceivedIdentifierLock.withLock { roomForIdentifierUnderlyingReceivedIdentifier = newValue } } + } + private let roomForIdentifierReceivedInvocationsLock = NSLock() + private var roomForIdentifierUnderlyingReceivedInvocations: [String] = [] + var roomForIdentifierReceivedInvocations: [String] { + get { roomForIdentifierReceivedInvocationsLock.withLock { roomForIdentifierUnderlyingReceivedInvocations } } + set { roomForIdentifierReceivedInvocationsLock.withLock { roomForIdentifierUnderlyingReceivedInvocations = newValue } } + } - var roomForIdentifierUnderlyingReturnValue: RoomProxyType? + private let roomForIdentifierReturnValueLock = NSLock() + private var roomForIdentifierUnderlyingReturnValue: RoomProxyType? var roomForIdentifierReturnValue: RoomProxyType? { - get { - if Thread.isMainThread { - return roomForIdentifierUnderlyingReturnValue - } else { - var returnValue: RoomProxyType?? = nil - DispatchQueue.main.sync { - returnValue = roomForIdentifierUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomForIdentifierUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomForIdentifierUnderlyingReturnValue = newValue - } - } - } + get { roomForIdentifierReturnValueLock.withLock { roomForIdentifierUnderlyingReturnValue } } + set { roomForIdentifierReturnValueLock.withLock { roomForIdentifierUnderlyingReturnValue = newValue } } } var roomForIdentifierClosure: ((String) async -> RoomProxyType?)? func roomForIdentifier(_ identifier: String) async -> RoomProxyType? { - roomForIdentifierCallsCount += 1 + roomForIdentifierCallsCountLock.withLock { roomForIdentifierUnderlyingCallsCount += 1 } roomForIdentifierReceivedIdentifier = identifier - DispatchQueue.main.async { - self.roomForIdentifierReceivedInvocations.append(identifier) - } + roomForIdentifierReceivedInvocationsLock.withLock { roomForIdentifierUnderlyingReceivedInvocations.append(identifier) } if let roomForIdentifierClosure = roomForIdentifierClosure { return await roomForIdentifierClosure(identifier) } else { @@ -4655,68 +2983,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - roomPreviewForIdentifier - var roomPreviewForIdentifierViaUnderlyingCallsCount = 0 + private let roomPreviewForIdentifierViaCallsCountLock = NSLock() + private var roomPreviewForIdentifierViaUnderlyingCallsCount = 0 var roomPreviewForIdentifierViaCallsCount: Int { - get { - if Thread.isMainThread { - return roomPreviewForIdentifierViaUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomPreviewForIdentifierViaUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomPreviewForIdentifierViaUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomPreviewForIdentifierViaUnderlyingCallsCount = newValue - } - } - } + get { roomPreviewForIdentifierViaCallsCountLock.withLock { roomPreviewForIdentifierViaUnderlyingCallsCount } } + set { roomPreviewForIdentifierViaCallsCountLock.withLock { roomPreviewForIdentifierViaUnderlyingCallsCount = newValue } } } var roomPreviewForIdentifierViaCalled: Bool { return roomPreviewForIdentifierViaCallsCount > 0 } - var roomPreviewForIdentifierViaReceivedArguments: (identifier: String, via: [String])? - var roomPreviewForIdentifierViaReceivedInvocations: [(identifier: String, via: [String])] = [] + private let roomPreviewForIdentifierViaReceivedArgumentsLock = NSLock() + private var roomPreviewForIdentifierViaUnderlyingReceivedArguments: (identifier: String, via: [String])? + var roomPreviewForIdentifierViaReceivedArguments: (identifier: String, via: [String])? { + get { roomPreviewForIdentifierViaReceivedArgumentsLock.withLock { roomPreviewForIdentifierViaUnderlyingReceivedArguments } } + set { roomPreviewForIdentifierViaReceivedArgumentsLock.withLock { roomPreviewForIdentifierViaUnderlyingReceivedArguments = newValue } } + } + private let roomPreviewForIdentifierViaReceivedInvocationsLock = NSLock() + private var roomPreviewForIdentifierViaUnderlyingReceivedInvocations: [(identifier: String, via: [String])] = [] + var roomPreviewForIdentifierViaReceivedInvocations: [(identifier: String, via: [String])] { + get { roomPreviewForIdentifierViaReceivedInvocationsLock.withLock { roomPreviewForIdentifierViaUnderlyingReceivedInvocations } } + set { roomPreviewForIdentifierViaReceivedInvocationsLock.withLock { roomPreviewForIdentifierViaUnderlyingReceivedInvocations = newValue } } + } - var roomPreviewForIdentifierViaUnderlyingReturnValue: Result! + private let roomPreviewForIdentifierViaReturnValueLock = NSLock() + private var roomPreviewForIdentifierViaUnderlyingReturnValue: Result! var roomPreviewForIdentifierViaReturnValue: Result! { - get { - if Thread.isMainThread { - return roomPreviewForIdentifierViaUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = roomPreviewForIdentifierViaUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomPreviewForIdentifierViaUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomPreviewForIdentifierViaUnderlyingReturnValue = newValue - } - } - } + get { roomPreviewForIdentifierViaReturnValueLock.withLock { roomPreviewForIdentifierViaUnderlyingReturnValue } } + set { roomPreviewForIdentifierViaReturnValueLock.withLock { roomPreviewForIdentifierViaUnderlyingReturnValue = newValue } } } var roomPreviewForIdentifierViaClosure: ((String, [String]) async -> Result)? func roomPreviewForIdentifier(_ identifier: String, via: [String]) async -> Result { - roomPreviewForIdentifierViaCallsCount += 1 + roomPreviewForIdentifierViaCallsCountLock.withLock { roomPreviewForIdentifierViaUnderlyingCallsCount += 1 } roomPreviewForIdentifierViaReceivedArguments = (identifier: identifier, via: via) - DispatchQueue.main.async { - self.roomPreviewForIdentifierViaReceivedInvocations.append((identifier: identifier, via: via)) - } + roomPreviewForIdentifierViaReceivedInvocationsLock.withLock { roomPreviewForIdentifierViaUnderlyingReceivedInvocations.append((identifier: identifier, via: via)) } if let roomPreviewForIdentifierViaClosure = roomPreviewForIdentifierViaClosure { return await roomPreviewForIdentifierViaClosure(identifier, via) } else { @@ -4725,68 +3025,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - roomSummaryForIdentifier - var roomSummaryForIdentifierUnderlyingCallsCount = 0 + private let roomSummaryForIdentifierCallsCountLock = NSLock() + private var roomSummaryForIdentifierUnderlyingCallsCount = 0 var roomSummaryForIdentifierCallsCount: Int { - get { - if Thread.isMainThread { - return roomSummaryForIdentifierUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomSummaryForIdentifierUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomSummaryForIdentifierUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomSummaryForIdentifierUnderlyingCallsCount = newValue - } - } - } + get { roomSummaryForIdentifierCallsCountLock.withLock { roomSummaryForIdentifierUnderlyingCallsCount } } + set { roomSummaryForIdentifierCallsCountLock.withLock { roomSummaryForIdentifierUnderlyingCallsCount = newValue } } } var roomSummaryForIdentifierCalled: Bool { return roomSummaryForIdentifierCallsCount > 0 } - var roomSummaryForIdentifierReceivedIdentifier: String? - var roomSummaryForIdentifierReceivedInvocations: [String] = [] + private let roomSummaryForIdentifierReceivedIdentifierLock = NSLock() + private var roomSummaryForIdentifierUnderlyingReceivedIdentifier: String? + var roomSummaryForIdentifierReceivedIdentifier: String? { + get { roomSummaryForIdentifierReceivedIdentifierLock.withLock { roomSummaryForIdentifierUnderlyingReceivedIdentifier } } + set { roomSummaryForIdentifierReceivedIdentifierLock.withLock { roomSummaryForIdentifierUnderlyingReceivedIdentifier = newValue } } + } + private let roomSummaryForIdentifierReceivedInvocationsLock = NSLock() + private var roomSummaryForIdentifierUnderlyingReceivedInvocations: [String] = [] + var roomSummaryForIdentifierReceivedInvocations: [String] { + get { roomSummaryForIdentifierReceivedInvocationsLock.withLock { roomSummaryForIdentifierUnderlyingReceivedInvocations } } + set { roomSummaryForIdentifierReceivedInvocationsLock.withLock { roomSummaryForIdentifierUnderlyingReceivedInvocations = newValue } } + } - var roomSummaryForIdentifierUnderlyingReturnValue: RoomSummary? + private let roomSummaryForIdentifierReturnValueLock = NSLock() + private var roomSummaryForIdentifierUnderlyingReturnValue: RoomSummary? var roomSummaryForIdentifierReturnValue: RoomSummary? { - get { - if Thread.isMainThread { - return roomSummaryForIdentifierUnderlyingReturnValue - } else { - var returnValue: RoomSummary?? = nil - DispatchQueue.main.sync { - returnValue = roomSummaryForIdentifierUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomSummaryForIdentifierUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomSummaryForIdentifierUnderlyingReturnValue = newValue - } - } - } + get { roomSummaryForIdentifierReturnValueLock.withLock { roomSummaryForIdentifierUnderlyingReturnValue } } + set { roomSummaryForIdentifierReturnValueLock.withLock { roomSummaryForIdentifierUnderlyingReturnValue = newValue } } } var roomSummaryForIdentifierClosure: ((String) -> RoomSummary?)? func roomSummaryForIdentifier(_ identifier: String) -> RoomSummary? { - roomSummaryForIdentifierCallsCount += 1 + roomSummaryForIdentifierCallsCountLock.withLock { roomSummaryForIdentifierUnderlyingCallsCount += 1 } roomSummaryForIdentifierReceivedIdentifier = identifier - DispatchQueue.main.async { - self.roomSummaryForIdentifierReceivedInvocations.append(identifier) - } + roomSummaryForIdentifierReceivedInvocationsLock.withLock { roomSummaryForIdentifierUnderlyingReceivedInvocations.append(identifier) } if let roomSummaryForIdentifierClosure = roomSummaryForIdentifierClosure { return roomSummaryForIdentifierClosure(identifier) } else { @@ -4795,68 +3067,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - roomSummaryForAlias - var roomSummaryForAliasUnderlyingCallsCount = 0 + private let roomSummaryForAliasCallsCountLock = NSLock() + private var roomSummaryForAliasUnderlyingCallsCount = 0 var roomSummaryForAliasCallsCount: Int { - get { - if Thread.isMainThread { - return roomSummaryForAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomSummaryForAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomSummaryForAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomSummaryForAliasUnderlyingCallsCount = newValue - } - } - } + get { roomSummaryForAliasCallsCountLock.withLock { roomSummaryForAliasUnderlyingCallsCount } } + set { roomSummaryForAliasCallsCountLock.withLock { roomSummaryForAliasUnderlyingCallsCount = newValue } } } var roomSummaryForAliasCalled: Bool { return roomSummaryForAliasCallsCount > 0 } - var roomSummaryForAliasReceivedAlias: String? - var roomSummaryForAliasReceivedInvocations: [String] = [] + private let roomSummaryForAliasReceivedAliasLock = NSLock() + private var roomSummaryForAliasUnderlyingReceivedAlias: String? + var roomSummaryForAliasReceivedAlias: String? { + get { roomSummaryForAliasReceivedAliasLock.withLock { roomSummaryForAliasUnderlyingReceivedAlias } } + set { roomSummaryForAliasReceivedAliasLock.withLock { roomSummaryForAliasUnderlyingReceivedAlias = newValue } } + } + private let roomSummaryForAliasReceivedInvocationsLock = NSLock() + private var roomSummaryForAliasUnderlyingReceivedInvocations: [String] = [] + var roomSummaryForAliasReceivedInvocations: [String] { + get { roomSummaryForAliasReceivedInvocationsLock.withLock { roomSummaryForAliasUnderlyingReceivedInvocations } } + set { roomSummaryForAliasReceivedInvocationsLock.withLock { roomSummaryForAliasUnderlyingReceivedInvocations = newValue } } + } - var roomSummaryForAliasUnderlyingReturnValue: RoomSummary? + private let roomSummaryForAliasReturnValueLock = NSLock() + private var roomSummaryForAliasUnderlyingReturnValue: RoomSummary? var roomSummaryForAliasReturnValue: RoomSummary? { - get { - if Thread.isMainThread { - return roomSummaryForAliasUnderlyingReturnValue - } else { - var returnValue: RoomSummary?? = nil - DispatchQueue.main.sync { - returnValue = roomSummaryForAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomSummaryForAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomSummaryForAliasUnderlyingReturnValue = newValue - } - } - } + get { roomSummaryForAliasReturnValueLock.withLock { roomSummaryForAliasUnderlyingReturnValue } } + set { roomSummaryForAliasReturnValueLock.withLock { roomSummaryForAliasUnderlyingReturnValue = newValue } } } var roomSummaryForAliasClosure: ((String) -> RoomSummary?)? func roomSummaryForAlias(_ alias: String) -> RoomSummary? { - roomSummaryForAliasCallsCount += 1 + roomSummaryForAliasCallsCountLock.withLock { roomSummaryForAliasUnderlyingCallsCount += 1 } roomSummaryForAliasReceivedAlias = alias - DispatchQueue.main.async { - self.roomSummaryForAliasReceivedInvocations.append(alias) - } + roomSummaryForAliasReceivedInvocationsLock.withLock { roomSummaryForAliasUnderlyingReceivedInvocations.append(alias) } if let roomSummaryForAliasClosure = roomSummaryForAliasClosure { return roomSummaryForAliasClosure(alias) } else { @@ -4865,68 +3109,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - reportRoomForIdentifier - var reportRoomForIdentifierReasonUnderlyingCallsCount = 0 + private let reportRoomForIdentifierReasonCallsCountLock = NSLock() + private var reportRoomForIdentifierReasonUnderlyingCallsCount = 0 var reportRoomForIdentifierReasonCallsCount: Int { - get { - if Thread.isMainThread { - return reportRoomForIdentifierReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = reportRoomForIdentifierReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportRoomForIdentifierReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - reportRoomForIdentifierReasonUnderlyingCallsCount = newValue - } - } - } + get { reportRoomForIdentifierReasonCallsCountLock.withLock { reportRoomForIdentifierReasonUnderlyingCallsCount } } + set { reportRoomForIdentifierReasonCallsCountLock.withLock { reportRoomForIdentifierReasonUnderlyingCallsCount = newValue } } } var reportRoomForIdentifierReasonCalled: Bool { return reportRoomForIdentifierReasonCallsCount > 0 } - var reportRoomForIdentifierReasonReceivedArguments: (identifier: String, reason: String)? - var reportRoomForIdentifierReasonReceivedInvocations: [(identifier: String, reason: String)] = [] + private let reportRoomForIdentifierReasonReceivedArgumentsLock = NSLock() + private var reportRoomForIdentifierReasonUnderlyingReceivedArguments: (identifier: String, reason: String)? + var reportRoomForIdentifierReasonReceivedArguments: (identifier: String, reason: String)? { + get { reportRoomForIdentifierReasonReceivedArgumentsLock.withLock { reportRoomForIdentifierReasonUnderlyingReceivedArguments } } + set { reportRoomForIdentifierReasonReceivedArgumentsLock.withLock { reportRoomForIdentifierReasonUnderlyingReceivedArguments = newValue } } + } + private let reportRoomForIdentifierReasonReceivedInvocationsLock = NSLock() + private var reportRoomForIdentifierReasonUnderlyingReceivedInvocations: [(identifier: String, reason: String)] = [] + var reportRoomForIdentifierReasonReceivedInvocations: [(identifier: String, reason: String)] { + get { reportRoomForIdentifierReasonReceivedInvocationsLock.withLock { reportRoomForIdentifierReasonUnderlyingReceivedInvocations } } + set { reportRoomForIdentifierReasonReceivedInvocationsLock.withLock { reportRoomForIdentifierReasonUnderlyingReceivedInvocations = newValue } } + } - var reportRoomForIdentifierReasonUnderlyingReturnValue: Result! + private let reportRoomForIdentifierReasonReturnValueLock = NSLock() + private var reportRoomForIdentifierReasonUnderlyingReturnValue: Result! var reportRoomForIdentifierReasonReturnValue: Result! { - get { - if Thread.isMainThread { - return reportRoomForIdentifierReasonUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = reportRoomForIdentifierReasonUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportRoomForIdentifierReasonUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - reportRoomForIdentifierReasonUnderlyingReturnValue = newValue - } - } - } + get { reportRoomForIdentifierReasonReturnValueLock.withLock { reportRoomForIdentifierReasonUnderlyingReturnValue } } + set { reportRoomForIdentifierReasonReturnValueLock.withLock { reportRoomForIdentifierReasonUnderlyingReturnValue = newValue } } } var reportRoomForIdentifierReasonClosure: ((String, String) async -> Result)? func reportRoomForIdentifier(_ identifier: String, reason: String) async -> Result { - reportRoomForIdentifierReasonCallsCount += 1 + reportRoomForIdentifierReasonCallsCountLock.withLock { reportRoomForIdentifierReasonUnderlyingCallsCount += 1 } reportRoomForIdentifierReasonReceivedArguments = (identifier: identifier, reason: reason) - DispatchQueue.main.async { - self.reportRoomForIdentifierReasonReceivedInvocations.append((identifier: identifier, reason: reason)) - } + reportRoomForIdentifierReasonReceivedInvocationsLock.withLock { reportRoomForIdentifierReasonUnderlyingReceivedInvocations.append((identifier: identifier, reason: reason)) } if let reportRoomForIdentifierReasonClosure = reportRoomForIdentifierReasonClosure { return await reportRoomForIdentifierReasonClosure(identifier, reason) } else { @@ -4935,63 +3151,27 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - loadUserDisplayName - var loadUserDisplayNameUnderlyingCallsCount = 0 + private let loadUserDisplayNameCallsCountLock = NSLock() + private var loadUserDisplayNameUnderlyingCallsCount = 0 var loadUserDisplayNameCallsCount: Int { - get { - if Thread.isMainThread { - return loadUserDisplayNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadUserDisplayNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadUserDisplayNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadUserDisplayNameUnderlyingCallsCount = newValue - } - } - } + get { loadUserDisplayNameCallsCountLock.withLock { loadUserDisplayNameUnderlyingCallsCount } } + set { loadUserDisplayNameCallsCountLock.withLock { loadUserDisplayNameUnderlyingCallsCount = newValue } } } var loadUserDisplayNameCalled: Bool { return loadUserDisplayNameCallsCount > 0 } - var loadUserDisplayNameUnderlyingReturnValue: Result! + private let loadUserDisplayNameReturnValueLock = NSLock() + private var loadUserDisplayNameUnderlyingReturnValue: Result! var loadUserDisplayNameReturnValue: Result! { - get { - if Thread.isMainThread { - return loadUserDisplayNameUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadUserDisplayNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadUserDisplayNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadUserDisplayNameUnderlyingReturnValue = newValue - } - } - } + get { loadUserDisplayNameReturnValueLock.withLock { loadUserDisplayNameUnderlyingReturnValue } } + set { loadUserDisplayNameReturnValueLock.withLock { loadUserDisplayNameUnderlyingReturnValue = newValue } } } var loadUserDisplayNameClosure: (() async -> Result)? @discardableResult func loadUserDisplayName() async -> Result { - loadUserDisplayNameCallsCount += 1 + loadUserDisplayNameCallsCountLock.withLock { loadUserDisplayNameUnderlyingCallsCount += 1 } if let loadUserDisplayNameClosure = loadUserDisplayNameClosure { return await loadUserDisplayNameClosure() } else { @@ -5000,68 +3180,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - setUserDisplayName - var setUserDisplayNameUnderlyingCallsCount = 0 + private let setUserDisplayNameCallsCountLock = NSLock() + private var setUserDisplayNameUnderlyingCallsCount = 0 var setUserDisplayNameCallsCount: Int { - get { - if Thread.isMainThread { - return setUserDisplayNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setUserDisplayNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setUserDisplayNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setUserDisplayNameUnderlyingCallsCount = newValue - } - } - } + get { setUserDisplayNameCallsCountLock.withLock { setUserDisplayNameUnderlyingCallsCount } } + set { setUserDisplayNameCallsCountLock.withLock { setUserDisplayNameUnderlyingCallsCount = newValue } } } var setUserDisplayNameCalled: Bool { return setUserDisplayNameCallsCount > 0 } - var setUserDisplayNameReceivedName: String? - var setUserDisplayNameReceivedInvocations: [String] = [] + private let setUserDisplayNameReceivedNameLock = NSLock() + private var setUserDisplayNameUnderlyingReceivedName: String? + var setUserDisplayNameReceivedName: String? { + get { setUserDisplayNameReceivedNameLock.withLock { setUserDisplayNameUnderlyingReceivedName } } + set { setUserDisplayNameReceivedNameLock.withLock { setUserDisplayNameUnderlyingReceivedName = newValue } } + } + private let setUserDisplayNameReceivedInvocationsLock = NSLock() + private var setUserDisplayNameUnderlyingReceivedInvocations: [String] = [] + var setUserDisplayNameReceivedInvocations: [String] { + get { setUserDisplayNameReceivedInvocationsLock.withLock { setUserDisplayNameUnderlyingReceivedInvocations } } + set { setUserDisplayNameReceivedInvocationsLock.withLock { setUserDisplayNameUnderlyingReceivedInvocations = newValue } } + } - var setUserDisplayNameUnderlyingReturnValue: Result! + private let setUserDisplayNameReturnValueLock = NSLock() + private var setUserDisplayNameUnderlyingReturnValue: Result! var setUserDisplayNameReturnValue: Result! { - get { - if Thread.isMainThread { - return setUserDisplayNameUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = setUserDisplayNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setUserDisplayNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setUserDisplayNameUnderlyingReturnValue = newValue - } - } - } + get { setUserDisplayNameReturnValueLock.withLock { setUserDisplayNameUnderlyingReturnValue } } + set { setUserDisplayNameReturnValueLock.withLock { setUserDisplayNameUnderlyingReturnValue = newValue } } } var setUserDisplayNameClosure: ((String) async -> Result)? func setUserDisplayName(_ name: String) async -> Result { - setUserDisplayNameCallsCount += 1 + setUserDisplayNameCallsCountLock.withLock { setUserDisplayNameUnderlyingCallsCount += 1 } setUserDisplayNameReceivedName = name - DispatchQueue.main.async { - self.setUserDisplayNameReceivedInvocations.append(name) - } + setUserDisplayNameReceivedInvocationsLock.withLock { setUserDisplayNameUnderlyingReceivedInvocations.append(name) } if let setUserDisplayNameClosure = setUserDisplayNameClosure { return await setUserDisplayNameClosure(name) } else { @@ -5070,63 +3222,27 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - loadUserAvatarURL - var loadUserAvatarURLUnderlyingCallsCount = 0 + private let loadUserAvatarURLCallsCountLock = NSLock() + private var loadUserAvatarURLUnderlyingCallsCount = 0 var loadUserAvatarURLCallsCount: Int { - get { - if Thread.isMainThread { - return loadUserAvatarURLUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadUserAvatarURLUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadUserAvatarURLUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadUserAvatarURLUnderlyingCallsCount = newValue - } - } - } + get { loadUserAvatarURLCallsCountLock.withLock { loadUserAvatarURLUnderlyingCallsCount } } + set { loadUserAvatarURLCallsCountLock.withLock { loadUserAvatarURLUnderlyingCallsCount = newValue } } } var loadUserAvatarURLCalled: Bool { return loadUserAvatarURLCallsCount > 0 } - var loadUserAvatarURLUnderlyingReturnValue: Result! + private let loadUserAvatarURLReturnValueLock = NSLock() + private var loadUserAvatarURLUnderlyingReturnValue: Result! var loadUserAvatarURLReturnValue: Result! { - get { - if Thread.isMainThread { - return loadUserAvatarURLUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadUserAvatarURLUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadUserAvatarURLUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadUserAvatarURLUnderlyingReturnValue = newValue - } - } - } + get { loadUserAvatarURLReturnValueLock.withLock { loadUserAvatarURLUnderlyingReturnValue } } + set { loadUserAvatarURLReturnValueLock.withLock { loadUserAvatarURLUnderlyingReturnValue = newValue } } } var loadUserAvatarURLClosure: (() async -> Result)? @discardableResult func loadUserAvatarURL() async -> Result { - loadUserAvatarURLCallsCount += 1 + loadUserAvatarURLCallsCountLock.withLock { loadUserAvatarURLUnderlyingCallsCount += 1 } if let loadUserAvatarURLClosure = loadUserAvatarURLClosure { return await loadUserAvatarURLClosure() } else { @@ -5135,68 +3251,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - setUserAvatar - var setUserAvatarMediaUnderlyingCallsCount = 0 + private let setUserAvatarMediaCallsCountLock = NSLock() + private var setUserAvatarMediaUnderlyingCallsCount = 0 var setUserAvatarMediaCallsCount: Int { - get { - if Thread.isMainThread { - return setUserAvatarMediaUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setUserAvatarMediaUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setUserAvatarMediaUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setUserAvatarMediaUnderlyingCallsCount = newValue - } - } - } + get { setUserAvatarMediaCallsCountLock.withLock { setUserAvatarMediaUnderlyingCallsCount } } + set { setUserAvatarMediaCallsCountLock.withLock { setUserAvatarMediaUnderlyingCallsCount = newValue } } } var setUserAvatarMediaCalled: Bool { return setUserAvatarMediaCallsCount > 0 } - var setUserAvatarMediaReceivedMedia: MediaInfo? - var setUserAvatarMediaReceivedInvocations: [MediaInfo] = [] + private let setUserAvatarMediaReceivedMediaLock = NSLock() + private var setUserAvatarMediaUnderlyingReceivedMedia: MediaInfo? + var setUserAvatarMediaReceivedMedia: MediaInfo? { + get { setUserAvatarMediaReceivedMediaLock.withLock { setUserAvatarMediaUnderlyingReceivedMedia } } + set { setUserAvatarMediaReceivedMediaLock.withLock { setUserAvatarMediaUnderlyingReceivedMedia = newValue } } + } + private let setUserAvatarMediaReceivedInvocationsLock = NSLock() + private var setUserAvatarMediaUnderlyingReceivedInvocations: [MediaInfo] = [] + var setUserAvatarMediaReceivedInvocations: [MediaInfo] { + get { setUserAvatarMediaReceivedInvocationsLock.withLock { setUserAvatarMediaUnderlyingReceivedInvocations } } + set { setUserAvatarMediaReceivedInvocationsLock.withLock { setUserAvatarMediaUnderlyingReceivedInvocations = newValue } } + } - var setUserAvatarMediaUnderlyingReturnValue: Result! + private let setUserAvatarMediaReturnValueLock = NSLock() + private var setUserAvatarMediaUnderlyingReturnValue: Result! var setUserAvatarMediaReturnValue: Result! { - get { - if Thread.isMainThread { - return setUserAvatarMediaUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = setUserAvatarMediaUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setUserAvatarMediaUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setUserAvatarMediaUnderlyingReturnValue = newValue - } - } - } + get { setUserAvatarMediaReturnValueLock.withLock { setUserAvatarMediaUnderlyingReturnValue } } + set { setUserAvatarMediaReturnValueLock.withLock { setUserAvatarMediaUnderlyingReturnValue = newValue } } } var setUserAvatarMediaClosure: ((MediaInfo) async -> Result)? func setUserAvatar(media: MediaInfo) async -> Result { - setUserAvatarMediaCallsCount += 1 + setUserAvatarMediaCallsCountLock.withLock { setUserAvatarMediaUnderlyingCallsCount += 1 } setUserAvatarMediaReceivedMedia = media - DispatchQueue.main.async { - self.setUserAvatarMediaReceivedInvocations.append(media) - } + setUserAvatarMediaReceivedInvocationsLock.withLock { setUserAvatarMediaUnderlyingReceivedInvocations.append(media) } if let setUserAvatarMediaClosure = setUserAvatarMediaClosure { return await setUserAvatarMediaClosure(media) } else { @@ -5205,62 +3293,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - removeUserAvatar - var removeUserAvatarUnderlyingCallsCount = 0 + private let removeUserAvatarCallsCountLock = NSLock() + private var removeUserAvatarUnderlyingCallsCount = 0 var removeUserAvatarCallsCount: Int { - get { - if Thread.isMainThread { - return removeUserAvatarUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeUserAvatarUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeUserAvatarUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeUserAvatarUnderlyingCallsCount = newValue - } - } - } + get { removeUserAvatarCallsCountLock.withLock { removeUserAvatarUnderlyingCallsCount } } + set { removeUserAvatarCallsCountLock.withLock { removeUserAvatarUnderlyingCallsCount = newValue } } } var removeUserAvatarCalled: Bool { return removeUserAvatarCallsCount > 0 } - var removeUserAvatarUnderlyingReturnValue: Result! + private let removeUserAvatarReturnValueLock = NSLock() + private var removeUserAvatarUnderlyingReturnValue: Result! var removeUserAvatarReturnValue: Result! { - get { - if Thread.isMainThread { - return removeUserAvatarUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = removeUserAvatarUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeUserAvatarUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - removeUserAvatarUnderlyingReturnValue = newValue - } - } - } + get { removeUserAvatarReturnValueLock.withLock { removeUserAvatarUnderlyingReturnValue } } + set { removeUserAvatarReturnValueLock.withLock { removeUserAvatarUnderlyingReturnValue = newValue } } } var removeUserAvatarClosure: (() async -> Result)? func removeUserAvatar() async -> Result { - removeUserAvatarCallsCount += 1 + removeUserAvatarCallsCountLock.withLock { removeUserAvatarUnderlyingCallsCount += 1 } if let removeUserAvatarClosure = removeUserAvatarClosure { return await removeUserAvatarClosure() } else { @@ -5269,62 +3321,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - linkNewDeviceService - var linkNewDeviceServiceUnderlyingCallsCount = 0 + private let linkNewDeviceServiceCallsCountLock = NSLock() + private var linkNewDeviceServiceUnderlyingCallsCount = 0 var linkNewDeviceServiceCallsCount: Int { - get { - if Thread.isMainThread { - return linkNewDeviceServiceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = linkNewDeviceServiceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - linkNewDeviceServiceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - linkNewDeviceServiceUnderlyingCallsCount = newValue - } - } - } + get { linkNewDeviceServiceCallsCountLock.withLock { linkNewDeviceServiceUnderlyingCallsCount } } + set { linkNewDeviceServiceCallsCountLock.withLock { linkNewDeviceServiceUnderlyingCallsCount = newValue } } } var linkNewDeviceServiceCalled: Bool { return linkNewDeviceServiceCallsCount > 0 } - var linkNewDeviceServiceUnderlyingReturnValue: LinkNewDeviceServiceProtocol! + private let linkNewDeviceServiceReturnValueLock = NSLock() + private var linkNewDeviceServiceUnderlyingReturnValue: LinkNewDeviceServiceProtocol! var linkNewDeviceServiceReturnValue: LinkNewDeviceServiceProtocol! { - get { - if Thread.isMainThread { - return linkNewDeviceServiceUnderlyingReturnValue - } else { - var returnValue: LinkNewDeviceServiceProtocol? = nil - DispatchQueue.main.sync { - returnValue = linkNewDeviceServiceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - linkNewDeviceServiceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - linkNewDeviceServiceUnderlyingReturnValue = newValue - } - } - } + get { linkNewDeviceServiceReturnValueLock.withLock { linkNewDeviceServiceUnderlyingReturnValue } } + set { linkNewDeviceServiceReturnValueLock.withLock { linkNewDeviceServiceUnderlyingReturnValue = newValue } } } var linkNewDeviceServiceClosure: (() -> LinkNewDeviceServiceProtocol)? func linkNewDeviceService() -> LinkNewDeviceServiceProtocol { - linkNewDeviceServiceCallsCount += 1 + linkNewDeviceServiceCallsCountLock.withLock { linkNewDeviceServiceUnderlyingCallsCount += 1 } if let linkNewDeviceServiceClosure = linkNewDeviceServiceClosure { return linkNewDeviceServiceClosure() } else { @@ -5333,68 +3349,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - deactivateAccount - var deactivateAccountPasswordEraseDataUnderlyingCallsCount = 0 + private let deactivateAccountPasswordEraseDataCallsCountLock = NSLock() + private var deactivateAccountPasswordEraseDataUnderlyingCallsCount = 0 var deactivateAccountPasswordEraseDataCallsCount: Int { - get { - if Thread.isMainThread { - return deactivateAccountPasswordEraseDataUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = deactivateAccountPasswordEraseDataUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deactivateAccountPasswordEraseDataUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - deactivateAccountPasswordEraseDataUnderlyingCallsCount = newValue - } - } - } + get { deactivateAccountPasswordEraseDataCallsCountLock.withLock { deactivateAccountPasswordEraseDataUnderlyingCallsCount } } + set { deactivateAccountPasswordEraseDataCallsCountLock.withLock { deactivateAccountPasswordEraseDataUnderlyingCallsCount = newValue } } } var deactivateAccountPasswordEraseDataCalled: Bool { return deactivateAccountPasswordEraseDataCallsCount > 0 } - var deactivateAccountPasswordEraseDataReceivedArguments: (password: String?, eraseData: Bool)? - var deactivateAccountPasswordEraseDataReceivedInvocations: [(password: String?, eraseData: Bool)] = [] + private let deactivateAccountPasswordEraseDataReceivedArgumentsLock = NSLock() + private var deactivateAccountPasswordEraseDataUnderlyingReceivedArguments: (password: String?, eraseData: Bool)? + var deactivateAccountPasswordEraseDataReceivedArguments: (password: String?, eraseData: Bool)? { + get { deactivateAccountPasswordEraseDataReceivedArgumentsLock.withLock { deactivateAccountPasswordEraseDataUnderlyingReceivedArguments } } + set { deactivateAccountPasswordEraseDataReceivedArgumentsLock.withLock { deactivateAccountPasswordEraseDataUnderlyingReceivedArguments = newValue } } + } + private let deactivateAccountPasswordEraseDataReceivedInvocationsLock = NSLock() + private var deactivateAccountPasswordEraseDataUnderlyingReceivedInvocations: [(password: String?, eraseData: Bool)] = [] + var deactivateAccountPasswordEraseDataReceivedInvocations: [(password: String?, eraseData: Bool)] { + get { deactivateAccountPasswordEraseDataReceivedInvocationsLock.withLock { deactivateAccountPasswordEraseDataUnderlyingReceivedInvocations } } + set { deactivateAccountPasswordEraseDataReceivedInvocationsLock.withLock { deactivateAccountPasswordEraseDataUnderlyingReceivedInvocations = newValue } } + } - var deactivateAccountPasswordEraseDataUnderlyingReturnValue: Result! + private let deactivateAccountPasswordEraseDataReturnValueLock = NSLock() + private var deactivateAccountPasswordEraseDataUnderlyingReturnValue: Result! var deactivateAccountPasswordEraseDataReturnValue: Result! { - get { - if Thread.isMainThread { - return deactivateAccountPasswordEraseDataUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = deactivateAccountPasswordEraseDataUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deactivateAccountPasswordEraseDataUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - deactivateAccountPasswordEraseDataUnderlyingReturnValue = newValue - } - } - } + get { deactivateAccountPasswordEraseDataReturnValueLock.withLock { deactivateAccountPasswordEraseDataUnderlyingReturnValue } } + set { deactivateAccountPasswordEraseDataReturnValueLock.withLock { deactivateAccountPasswordEraseDataUnderlyingReturnValue = newValue } } } var deactivateAccountPasswordEraseDataClosure: ((String?, Bool) async -> Result)? func deactivateAccount(password: String?, eraseData: Bool) async -> Result { - deactivateAccountPasswordEraseDataCallsCount += 1 + deactivateAccountPasswordEraseDataCallsCountLock.withLock { deactivateAccountPasswordEraseDataUnderlyingCallsCount += 1 } deactivateAccountPasswordEraseDataReceivedArguments = (password: password, eraseData: eraseData) - DispatchQueue.main.async { - self.deactivateAccountPasswordEraseDataReceivedInvocations.append((password: password, eraseData: eraseData)) - } + deactivateAccountPasswordEraseDataReceivedInvocationsLock.withLock { deactivateAccountPasswordEraseDataUnderlyingReceivedInvocations.append((password: password, eraseData: eraseData)) } if let deactivateAccountPasswordEraseDataClosure = deactivateAccountPasswordEraseDataClosure { return await deactivateAccountPasswordEraseDataClosure(password, eraseData) } else { @@ -5403,29 +3391,11 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - logout - var logoutUnderlyingCallsCount = 0 + private let logoutCallsCountLock = NSLock() + private var logoutUnderlyingCallsCount = 0 var logoutCallsCount: Int { - get { - if Thread.isMainThread { - return logoutUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = logoutUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - logoutUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - logoutUnderlyingCallsCount = newValue - } - } - } + get { logoutCallsCountLock.withLock { logoutUnderlyingCallsCount } } + set { logoutCallsCountLock.withLock { logoutUnderlyingCallsCount = newValue } } } var logoutCalled: Bool { return logoutCallsCount > 0 @@ -5433,118 +3403,80 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { var logoutClosure: (() async -> Void)? func logout() async { - logoutCallsCount += 1 + logoutCallsCountLock.withLock { logoutUnderlyingCallsCount += 1 } await logoutClosure?() } //MARK: - setPusher var setPusherWithThrowableError: Error? - var setPusherWithUnderlyingCallsCount = 0 + private let setPusherWithCallsCountLock = NSLock() + private var setPusherWithUnderlyingCallsCount = 0 var setPusherWithCallsCount: Int { - get { - if Thread.isMainThread { - return setPusherWithUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setPusherWithUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setPusherWithUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setPusherWithUnderlyingCallsCount = newValue - } - } - } + get { setPusherWithCallsCountLock.withLock { setPusherWithUnderlyingCallsCount } } + set { setPusherWithCallsCountLock.withLock { setPusherWithUnderlyingCallsCount = newValue } } } var setPusherWithCalled: Bool { return setPusherWithCallsCount > 0 } - var setPusherWithReceivedConfiguration: PusherConfiguration? - var setPusherWithReceivedInvocations: [PusherConfiguration] = [] + private let setPusherWithReceivedConfigurationLock = NSLock() + private var setPusherWithUnderlyingReceivedConfiguration: PusherConfiguration? + var setPusherWithReceivedConfiguration: PusherConfiguration? { + get { setPusherWithReceivedConfigurationLock.withLock { setPusherWithUnderlyingReceivedConfiguration } } + set { setPusherWithReceivedConfigurationLock.withLock { setPusherWithUnderlyingReceivedConfiguration = newValue } } + } + private let setPusherWithReceivedInvocationsLock = NSLock() + private var setPusherWithUnderlyingReceivedInvocations: [PusherConfiguration] = [] + var setPusherWithReceivedInvocations: [PusherConfiguration] { + get { setPusherWithReceivedInvocationsLock.withLock { setPusherWithUnderlyingReceivedInvocations } } + set { setPusherWithReceivedInvocationsLock.withLock { setPusherWithUnderlyingReceivedInvocations = newValue } } + } var setPusherWithClosure: ((PusherConfiguration) async throws -> Void)? func setPusher(with configuration: PusherConfiguration) async throws { if let error = setPusherWithThrowableError { throw error } - setPusherWithCallsCount += 1 + setPusherWithCallsCountLock.withLock { setPusherWithUnderlyingCallsCount += 1 } setPusherWithReceivedConfiguration = configuration - DispatchQueue.main.async { - self.setPusherWithReceivedInvocations.append(configuration) - } + setPusherWithReceivedInvocationsLock.withLock { setPusherWithUnderlyingReceivedInvocations.append(configuration) } try await setPusherWithClosure?(configuration) } //MARK: - searchUsers - var searchUsersSearchTermLimitUnderlyingCallsCount = 0 + private let searchUsersSearchTermLimitCallsCountLock = NSLock() + private var searchUsersSearchTermLimitUnderlyingCallsCount = 0 var searchUsersSearchTermLimitCallsCount: Int { - get { - if Thread.isMainThread { - return searchUsersSearchTermLimitUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = searchUsersSearchTermLimitUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchUsersSearchTermLimitUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - searchUsersSearchTermLimitUnderlyingCallsCount = newValue - } - } - } + get { searchUsersSearchTermLimitCallsCountLock.withLock { searchUsersSearchTermLimitUnderlyingCallsCount } } + set { searchUsersSearchTermLimitCallsCountLock.withLock { searchUsersSearchTermLimitUnderlyingCallsCount = newValue } } } var searchUsersSearchTermLimitCalled: Bool { return searchUsersSearchTermLimitCallsCount > 0 } - var searchUsersSearchTermLimitReceivedArguments: (searchTerm: String, limit: UInt)? - var searchUsersSearchTermLimitReceivedInvocations: [(searchTerm: String, limit: UInt)] = [] + private let searchUsersSearchTermLimitReceivedArgumentsLock = NSLock() + private var searchUsersSearchTermLimitUnderlyingReceivedArguments: (searchTerm: String, limit: UInt)? + var searchUsersSearchTermLimitReceivedArguments: (searchTerm: String, limit: UInt)? { + get { searchUsersSearchTermLimitReceivedArgumentsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedArguments } } + set { searchUsersSearchTermLimitReceivedArgumentsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedArguments = newValue } } + } + private let searchUsersSearchTermLimitReceivedInvocationsLock = NSLock() + private var searchUsersSearchTermLimitUnderlyingReceivedInvocations: [(searchTerm: String, limit: UInt)] = [] + var searchUsersSearchTermLimitReceivedInvocations: [(searchTerm: String, limit: UInt)] { + get { searchUsersSearchTermLimitReceivedInvocationsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedInvocations } } + set { searchUsersSearchTermLimitReceivedInvocationsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedInvocations = newValue } } + } - var searchUsersSearchTermLimitUnderlyingReturnValue: Result! + private let searchUsersSearchTermLimitReturnValueLock = NSLock() + private var searchUsersSearchTermLimitUnderlyingReturnValue: Result! var searchUsersSearchTermLimitReturnValue: Result! { - get { - if Thread.isMainThread { - return searchUsersSearchTermLimitUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = searchUsersSearchTermLimitUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchUsersSearchTermLimitUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - searchUsersSearchTermLimitUnderlyingReturnValue = newValue - } - } - } + get { searchUsersSearchTermLimitReturnValueLock.withLock { searchUsersSearchTermLimitUnderlyingReturnValue } } + set { searchUsersSearchTermLimitReturnValueLock.withLock { searchUsersSearchTermLimitUnderlyingReturnValue = newValue } } } var searchUsersSearchTermLimitClosure: ((String, UInt) async -> Result)? func searchUsers(searchTerm: String, limit: UInt) async -> Result { - searchUsersSearchTermLimitCallsCount += 1 + searchUsersSearchTermLimitCallsCountLock.withLock { searchUsersSearchTermLimitUnderlyingCallsCount += 1 } searchUsersSearchTermLimitReceivedArguments = (searchTerm: searchTerm, limit: limit) - DispatchQueue.main.async { - self.searchUsersSearchTermLimitReceivedInvocations.append((searchTerm: searchTerm, limit: limit)) - } + searchUsersSearchTermLimitReceivedInvocationsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedInvocations.append((searchTerm: searchTerm, limit: limit)) } if let searchUsersSearchTermLimitClosure = searchUsersSearchTermLimitClosure { return await searchUsersSearchTermLimitClosure(searchTerm, limit) } else { @@ -5553,68 +3485,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - profile - var profileForUnderlyingCallsCount = 0 + private let profileForCallsCountLock = NSLock() + private var profileForUnderlyingCallsCount = 0 var profileForCallsCount: Int { - get { - if Thread.isMainThread { - return profileForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = profileForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - profileForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - profileForUnderlyingCallsCount = newValue - } - } - } + get { profileForCallsCountLock.withLock { profileForUnderlyingCallsCount } } + set { profileForCallsCountLock.withLock { profileForUnderlyingCallsCount = newValue } } } var profileForCalled: Bool { return profileForCallsCount > 0 } - var profileForReceivedUserID: String? - var profileForReceivedInvocations: [String] = [] + private let profileForReceivedUserIDLock = NSLock() + private var profileForUnderlyingReceivedUserID: String? + var profileForReceivedUserID: String? { + get { profileForReceivedUserIDLock.withLock { profileForUnderlyingReceivedUserID } } + set { profileForReceivedUserIDLock.withLock { profileForUnderlyingReceivedUserID = newValue } } + } + private let profileForReceivedInvocationsLock = NSLock() + private var profileForUnderlyingReceivedInvocations: [String] = [] + var profileForReceivedInvocations: [String] { + get { profileForReceivedInvocationsLock.withLock { profileForUnderlyingReceivedInvocations } } + set { profileForReceivedInvocationsLock.withLock { profileForUnderlyingReceivedInvocations = newValue } } + } - var profileForUnderlyingReturnValue: Result! + private let profileForReturnValueLock = NSLock() + private var profileForUnderlyingReturnValue: Result! var profileForReturnValue: Result! { - get { - if Thread.isMainThread { - return profileForUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = profileForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - profileForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - profileForUnderlyingReturnValue = newValue - } - } - } + get { profileForReturnValueLock.withLock { profileForUnderlyingReturnValue } } + set { profileForReturnValueLock.withLock { profileForUnderlyingReturnValue = newValue } } } var profileForClosure: ((String) async -> Result)? func profile(for userID: String) async -> Result { - profileForCallsCount += 1 + profileForCallsCountLock.withLock { profileForUnderlyingCallsCount += 1 } profileForReceivedUserID = userID - DispatchQueue.main.async { - self.profileForReceivedInvocations.append(userID) - } + profileForReceivedInvocationsLock.withLock { profileForUnderlyingReceivedInvocations.append(userID) } if let profileForClosure = profileForClosure { return await profileForClosure(userID) } else { @@ -5623,62 +3527,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - roomDirectorySearchProxy - var roomDirectorySearchProxyUnderlyingCallsCount = 0 + private let roomDirectorySearchProxyCallsCountLock = NSLock() + private var roomDirectorySearchProxyUnderlyingCallsCount = 0 var roomDirectorySearchProxyCallsCount: Int { - get { - if Thread.isMainThread { - return roomDirectorySearchProxyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomDirectorySearchProxyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomDirectorySearchProxyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomDirectorySearchProxyUnderlyingCallsCount = newValue - } - } - } + get { roomDirectorySearchProxyCallsCountLock.withLock { roomDirectorySearchProxyUnderlyingCallsCount } } + set { roomDirectorySearchProxyCallsCountLock.withLock { roomDirectorySearchProxyUnderlyingCallsCount = newValue } } } var roomDirectorySearchProxyCalled: Bool { return roomDirectorySearchProxyCallsCount > 0 } - var roomDirectorySearchProxyUnderlyingReturnValue: RoomDirectorySearchProxyProtocol! + private let roomDirectorySearchProxyReturnValueLock = NSLock() + private var roomDirectorySearchProxyUnderlyingReturnValue: RoomDirectorySearchProxyProtocol! var roomDirectorySearchProxyReturnValue: RoomDirectorySearchProxyProtocol! { - get { - if Thread.isMainThread { - return roomDirectorySearchProxyUnderlyingReturnValue - } else { - var returnValue: RoomDirectorySearchProxyProtocol? = nil - DispatchQueue.main.sync { - returnValue = roomDirectorySearchProxyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomDirectorySearchProxyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomDirectorySearchProxyUnderlyingReturnValue = newValue - } - } - } + get { roomDirectorySearchProxyReturnValueLock.withLock { roomDirectorySearchProxyUnderlyingReturnValue } } + set { roomDirectorySearchProxyReturnValueLock.withLock { roomDirectorySearchProxyUnderlyingReturnValue = newValue } } } var roomDirectorySearchProxyClosure: (() -> RoomDirectorySearchProxyProtocol)? func roomDirectorySearchProxy() -> RoomDirectorySearchProxyProtocol { - roomDirectorySearchProxyCallsCount += 1 + roomDirectorySearchProxyCallsCountLock.withLock { roomDirectorySearchProxyUnderlyingCallsCount += 1 } if let roomDirectorySearchProxyClosure = roomDirectorySearchProxyClosure { return roomDirectorySearchProxyClosure() } else { @@ -5687,68 +3555,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - resolveRoomAlias - var resolveRoomAliasUnderlyingCallsCount = 0 + private let resolveRoomAliasCallsCountLock = NSLock() + private var resolveRoomAliasUnderlyingCallsCount = 0 var resolveRoomAliasCallsCount: Int { - get { - if Thread.isMainThread { - return resolveRoomAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resolveRoomAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resolveRoomAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resolveRoomAliasUnderlyingCallsCount = newValue - } - } - } + get { resolveRoomAliasCallsCountLock.withLock { resolveRoomAliasUnderlyingCallsCount } } + set { resolveRoomAliasCallsCountLock.withLock { resolveRoomAliasUnderlyingCallsCount = newValue } } } var resolveRoomAliasCalled: Bool { return resolveRoomAliasCallsCount > 0 } - var resolveRoomAliasReceivedAlias: String? - var resolveRoomAliasReceivedInvocations: [String] = [] + private let resolveRoomAliasReceivedAliasLock = NSLock() + private var resolveRoomAliasUnderlyingReceivedAlias: String? + var resolveRoomAliasReceivedAlias: String? { + get { resolveRoomAliasReceivedAliasLock.withLock { resolveRoomAliasUnderlyingReceivedAlias } } + set { resolveRoomAliasReceivedAliasLock.withLock { resolveRoomAliasUnderlyingReceivedAlias = newValue } } + } + private let resolveRoomAliasReceivedInvocationsLock = NSLock() + private var resolveRoomAliasUnderlyingReceivedInvocations: [String] = [] + var resolveRoomAliasReceivedInvocations: [String] { + get { resolveRoomAliasReceivedInvocationsLock.withLock { resolveRoomAliasUnderlyingReceivedInvocations } } + set { resolveRoomAliasReceivedInvocationsLock.withLock { resolveRoomAliasUnderlyingReceivedInvocations = newValue } } + } - var resolveRoomAliasUnderlyingReturnValue: Result! + private let resolveRoomAliasReturnValueLock = NSLock() + private var resolveRoomAliasUnderlyingReturnValue: Result! var resolveRoomAliasReturnValue: Result! { - get { - if Thread.isMainThread { - return resolveRoomAliasUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = resolveRoomAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resolveRoomAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - resolveRoomAliasUnderlyingReturnValue = newValue - } - } - } + get { resolveRoomAliasReturnValueLock.withLock { resolveRoomAliasUnderlyingReturnValue } } + set { resolveRoomAliasReturnValueLock.withLock { resolveRoomAliasUnderlyingReturnValue = newValue } } } var resolveRoomAliasClosure: ((String) async -> Result)? func resolveRoomAlias(_ alias: String) async -> Result { - resolveRoomAliasCallsCount += 1 + resolveRoomAliasCallsCountLock.withLock { resolveRoomAliasUnderlyingCallsCount += 1 } resolveRoomAliasReceivedAlias = alias - DispatchQueue.main.async { - self.resolveRoomAliasReceivedInvocations.append(alias) - } + resolveRoomAliasReceivedInvocationsLock.withLock { resolveRoomAliasUnderlyingReceivedInvocations.append(alias) } if let resolveRoomAliasClosure = resolveRoomAliasClosure { return await resolveRoomAliasClosure(alias) } else { @@ -5757,68 +3597,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - isAliasAvailable - var isAliasAvailableUnderlyingCallsCount = 0 + private let isAliasAvailableCallsCountLock = NSLock() + private var isAliasAvailableUnderlyingCallsCount = 0 var isAliasAvailableCallsCount: Int { - get { - if Thread.isMainThread { - return isAliasAvailableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isAliasAvailableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isAliasAvailableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isAliasAvailableUnderlyingCallsCount = newValue - } - } - } + get { isAliasAvailableCallsCountLock.withLock { isAliasAvailableUnderlyingCallsCount } } + set { isAliasAvailableCallsCountLock.withLock { isAliasAvailableUnderlyingCallsCount = newValue } } } var isAliasAvailableCalled: Bool { return isAliasAvailableCallsCount > 0 } - var isAliasAvailableReceivedAlias: String? - var isAliasAvailableReceivedInvocations: [String] = [] + private let isAliasAvailableReceivedAliasLock = NSLock() + private var isAliasAvailableUnderlyingReceivedAlias: String? + var isAliasAvailableReceivedAlias: String? { + get { isAliasAvailableReceivedAliasLock.withLock { isAliasAvailableUnderlyingReceivedAlias } } + set { isAliasAvailableReceivedAliasLock.withLock { isAliasAvailableUnderlyingReceivedAlias = newValue } } + } + private let isAliasAvailableReceivedInvocationsLock = NSLock() + private var isAliasAvailableUnderlyingReceivedInvocations: [String] = [] + var isAliasAvailableReceivedInvocations: [String] { + get { isAliasAvailableReceivedInvocationsLock.withLock { isAliasAvailableUnderlyingReceivedInvocations } } + set { isAliasAvailableReceivedInvocationsLock.withLock { isAliasAvailableUnderlyingReceivedInvocations = newValue } } + } - var isAliasAvailableUnderlyingReturnValue: Result! + private let isAliasAvailableReturnValueLock = NSLock() + private var isAliasAvailableUnderlyingReturnValue: Result! var isAliasAvailableReturnValue: Result! { - get { - if Thread.isMainThread { - return isAliasAvailableUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = isAliasAvailableUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isAliasAvailableUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isAliasAvailableUnderlyingReturnValue = newValue - } - } - } + get { isAliasAvailableReturnValueLock.withLock { isAliasAvailableUnderlyingReturnValue } } + set { isAliasAvailableReturnValueLock.withLock { isAliasAvailableUnderlyingReturnValue = newValue } } } var isAliasAvailableClosure: ((String) async -> Result)? func isAliasAvailable(_ alias: String) async -> Result { - isAliasAvailableCallsCount += 1 + isAliasAvailableCallsCountLock.withLock { isAliasAvailableUnderlyingCallsCount += 1 } isAliasAvailableReceivedAlias = alias - DispatchQueue.main.async { - self.isAliasAvailableReceivedInvocations.append(alias) - } + isAliasAvailableReceivedInvocationsLock.withLock { isAliasAvailableUnderlyingReceivedInvocations.append(alias) } if let isAliasAvailableClosure = isAliasAvailableClosure { return await isAliasAvailableClosure(alias) } else { @@ -5827,63 +3639,27 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - clearCaches - var clearCachesUnderlyingCallsCount = 0 + private let clearCachesCallsCountLock = NSLock() + private var clearCachesUnderlyingCallsCount = 0 var clearCachesCallsCount: Int { - get { - if Thread.isMainThread { - return clearCachesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = clearCachesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearCachesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - clearCachesUnderlyingCallsCount = newValue - } - } - } + get { clearCachesCallsCountLock.withLock { clearCachesUnderlyingCallsCount } } + set { clearCachesCallsCountLock.withLock { clearCachesUnderlyingCallsCount = newValue } } } var clearCachesCalled: Bool { return clearCachesCallsCount > 0 } - var clearCachesUnderlyingReturnValue: Result! + private let clearCachesReturnValueLock = NSLock() + private var clearCachesUnderlyingReturnValue: Result! var clearCachesReturnValue: Result! { - get { - if Thread.isMainThread { - return clearCachesUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = clearCachesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearCachesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - clearCachesUnderlyingReturnValue = newValue - } - } - } + get { clearCachesReturnValueLock.withLock { clearCachesUnderlyingReturnValue } } + set { clearCachesReturnValueLock.withLock { clearCachesUnderlyingReturnValue = newValue } } } var clearCachesClosure: (() async -> Result)? @discardableResult func clearCaches() async -> Result { - clearCachesCallsCount += 1 + clearCachesCallsCountLock.withLock { clearCachesUnderlyingCallsCount += 1 } if let clearCachesClosure = clearCachesClosure { return await clearCachesClosure() } else { @@ -5892,63 +3668,27 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - optimizeStores - var optimizeStoresUnderlyingCallsCount = 0 + private let optimizeStoresCallsCountLock = NSLock() + private var optimizeStoresUnderlyingCallsCount = 0 var optimizeStoresCallsCount: Int { - get { - if Thread.isMainThread { - return optimizeStoresUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = optimizeStoresUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - optimizeStoresUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - optimizeStoresUnderlyingCallsCount = newValue - } - } - } + get { optimizeStoresCallsCountLock.withLock { optimizeStoresUnderlyingCallsCount } } + set { optimizeStoresCallsCountLock.withLock { optimizeStoresUnderlyingCallsCount = newValue } } } var optimizeStoresCalled: Bool { return optimizeStoresCallsCount > 0 } - var optimizeStoresUnderlyingReturnValue: Result! + private let optimizeStoresReturnValueLock = NSLock() + private var optimizeStoresUnderlyingReturnValue: Result! var optimizeStoresReturnValue: Result! { - get { - if Thread.isMainThread { - return optimizeStoresUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = optimizeStoresUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - optimizeStoresUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - optimizeStoresUnderlyingReturnValue = newValue - } - } - } + get { optimizeStoresReturnValueLock.withLock { optimizeStoresUnderlyingReturnValue } } + set { optimizeStoresReturnValueLock.withLock { optimizeStoresUnderlyingReturnValue = newValue } } } var optimizeStoresClosure: (() async -> Result)? @discardableResult func optimizeStores() async -> Result { - optimizeStoresCallsCount += 1 + optimizeStoresCallsCountLock.withLock { optimizeStoresUnderlyingCallsCount += 1 } if let optimizeStoresClosure = optimizeStoresClosure { return await optimizeStoresClosure() } else { @@ -5957,63 +3697,27 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - markAllRoomsAsRead - var markAllRoomsAsReadUnderlyingCallsCount = 0 + private let markAllRoomsAsReadCallsCountLock = NSLock() + private var markAllRoomsAsReadUnderlyingCallsCount = 0 var markAllRoomsAsReadCallsCount: Int { - get { - if Thread.isMainThread { - return markAllRoomsAsReadUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAllRoomsAsReadUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAllRoomsAsReadUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAllRoomsAsReadUnderlyingCallsCount = newValue - } - } - } + get { markAllRoomsAsReadCallsCountLock.withLock { markAllRoomsAsReadUnderlyingCallsCount } } + set { markAllRoomsAsReadCallsCountLock.withLock { markAllRoomsAsReadUnderlyingCallsCount = newValue } } } var markAllRoomsAsReadCalled: Bool { return markAllRoomsAsReadCallsCount > 0 } - var markAllRoomsAsReadUnderlyingReturnValue: Result! + private let markAllRoomsAsReadReturnValueLock = NSLock() + private var markAllRoomsAsReadUnderlyingReturnValue: Result! var markAllRoomsAsReadReturnValue: Result! { - get { - if Thread.isMainThread { - return markAllRoomsAsReadUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = markAllRoomsAsReadUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAllRoomsAsReadUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - markAllRoomsAsReadUnderlyingReturnValue = newValue - } - } - } + get { markAllRoomsAsReadReturnValueLock.withLock { markAllRoomsAsReadUnderlyingReturnValue } } + set { markAllRoomsAsReadReturnValueLock.withLock { markAllRoomsAsReadUnderlyingReturnValue = newValue } } } var markAllRoomsAsReadClosure: (() async -> Result)? @discardableResult func markAllRoomsAsRead() async -> Result { - markAllRoomsAsReadCallsCount += 1 + markAllRoomsAsReadCallsCountLock.withLock { markAllRoomsAsReadUnderlyingCallsCount += 1 } if let markAllRoomsAsReadClosure = markAllRoomsAsReadClosure { return await markAllRoomsAsReadClosure() } else { @@ -6022,62 +3726,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - storeSizes - var storeSizesUnderlyingCallsCount = 0 + private let storeSizesCallsCountLock = NSLock() + private var storeSizesUnderlyingCallsCount = 0 var storeSizesCallsCount: Int { - get { - if Thread.isMainThread { - return storeSizesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = storeSizesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - storeSizesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - storeSizesUnderlyingCallsCount = newValue - } - } - } + get { storeSizesCallsCountLock.withLock { storeSizesUnderlyingCallsCount } } + set { storeSizesCallsCountLock.withLock { storeSizesUnderlyingCallsCount = newValue } } } var storeSizesCalled: Bool { return storeSizesCallsCount > 0 } - var storeSizesUnderlyingReturnValue: Result! + private let storeSizesReturnValueLock = NSLock() + private var storeSizesUnderlyingReturnValue: Result! var storeSizesReturnValue: Result! { - get { - if Thread.isMainThread { - return storeSizesUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = storeSizesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - storeSizesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - storeSizesUnderlyingReturnValue = newValue - } - } - } + get { storeSizesReturnValueLock.withLock { storeSizesUnderlyingReturnValue } } + set { storeSizesReturnValueLock.withLock { storeSizesUnderlyingReturnValue = newValue } } } var storeSizesClosure: (() async -> Result)? func storeSizes() async -> Result { - storeSizesCallsCount += 1 + storeSizesCallsCountLock.withLock { storeSizesUnderlyingCallsCount += 1 } if let storeSizesClosure = storeSizesClosure { return await storeSizesClosure() } else { @@ -6086,62 +3754,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - fetchMediaPreviewConfiguration - var fetchMediaPreviewConfigurationUnderlyingCallsCount = 0 + private let fetchMediaPreviewConfigurationCallsCountLock = NSLock() + private var fetchMediaPreviewConfigurationUnderlyingCallsCount = 0 var fetchMediaPreviewConfigurationCallsCount: Int { - get { - if Thread.isMainThread { - return fetchMediaPreviewConfigurationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = fetchMediaPreviewConfigurationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchMediaPreviewConfigurationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - fetchMediaPreviewConfigurationUnderlyingCallsCount = newValue - } - } - } + get { fetchMediaPreviewConfigurationCallsCountLock.withLock { fetchMediaPreviewConfigurationUnderlyingCallsCount } } + set { fetchMediaPreviewConfigurationCallsCountLock.withLock { fetchMediaPreviewConfigurationUnderlyingCallsCount = newValue } } } var fetchMediaPreviewConfigurationCalled: Bool { return fetchMediaPreviewConfigurationCallsCount > 0 } - var fetchMediaPreviewConfigurationUnderlyingReturnValue: Result! + private let fetchMediaPreviewConfigurationReturnValueLock = NSLock() + private var fetchMediaPreviewConfigurationUnderlyingReturnValue: Result! var fetchMediaPreviewConfigurationReturnValue: Result! { - get { - if Thread.isMainThread { - return fetchMediaPreviewConfigurationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = fetchMediaPreviewConfigurationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchMediaPreviewConfigurationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - fetchMediaPreviewConfigurationUnderlyingReturnValue = newValue - } - } - } + get { fetchMediaPreviewConfigurationReturnValueLock.withLock { fetchMediaPreviewConfigurationUnderlyingReturnValue } } + set { fetchMediaPreviewConfigurationReturnValueLock.withLock { fetchMediaPreviewConfigurationUnderlyingReturnValue = newValue } } } var fetchMediaPreviewConfigurationClosure: (() async -> Result)? func fetchMediaPreviewConfiguration() async -> Result { - fetchMediaPreviewConfigurationCallsCount += 1 + fetchMediaPreviewConfigurationCallsCountLock.withLock { fetchMediaPreviewConfigurationUnderlyingCallsCount += 1 } if let fetchMediaPreviewConfigurationClosure = fetchMediaPreviewConfigurationClosure { return await fetchMediaPreviewConfigurationClosure() } else { @@ -6150,68 +3782,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - ignoreUser - var ignoreUserUnderlyingCallsCount = 0 + private let ignoreUserCallsCountLock = NSLock() + private var ignoreUserUnderlyingCallsCount = 0 var ignoreUserCallsCount: Int { - get { - if Thread.isMainThread { - return ignoreUserUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ignoreUserUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoreUserUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ignoreUserUnderlyingCallsCount = newValue - } - } - } + get { ignoreUserCallsCountLock.withLock { ignoreUserUnderlyingCallsCount } } + set { ignoreUserCallsCountLock.withLock { ignoreUserUnderlyingCallsCount = newValue } } } var ignoreUserCalled: Bool { return ignoreUserCallsCount > 0 } - var ignoreUserReceivedUserID: String? - var ignoreUserReceivedInvocations: [String] = [] + private let ignoreUserReceivedUserIDLock = NSLock() + private var ignoreUserUnderlyingReceivedUserID: String? + var ignoreUserReceivedUserID: String? { + get { ignoreUserReceivedUserIDLock.withLock { ignoreUserUnderlyingReceivedUserID } } + set { ignoreUserReceivedUserIDLock.withLock { ignoreUserUnderlyingReceivedUserID = newValue } } + } + private let ignoreUserReceivedInvocationsLock = NSLock() + private var ignoreUserUnderlyingReceivedInvocations: [String] = [] + var ignoreUserReceivedInvocations: [String] { + get { ignoreUserReceivedInvocationsLock.withLock { ignoreUserUnderlyingReceivedInvocations } } + set { ignoreUserReceivedInvocationsLock.withLock { ignoreUserUnderlyingReceivedInvocations = newValue } } + } - var ignoreUserUnderlyingReturnValue: Result! + private let ignoreUserReturnValueLock = NSLock() + private var ignoreUserUnderlyingReturnValue: Result! var ignoreUserReturnValue: Result! { - get { - if Thread.isMainThread { - return ignoreUserUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = ignoreUserUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoreUserUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - ignoreUserUnderlyingReturnValue = newValue - } - } - } + get { ignoreUserReturnValueLock.withLock { ignoreUserUnderlyingReturnValue } } + set { ignoreUserReturnValueLock.withLock { ignoreUserUnderlyingReturnValue = newValue } } } var ignoreUserClosure: ((String) async -> Result)? func ignoreUser(_ userID: String) async -> Result { - ignoreUserCallsCount += 1 + ignoreUserCallsCountLock.withLock { ignoreUserUnderlyingCallsCount += 1 } ignoreUserReceivedUserID = userID - DispatchQueue.main.async { - self.ignoreUserReceivedInvocations.append(userID) - } + ignoreUserReceivedInvocationsLock.withLock { ignoreUserUnderlyingReceivedInvocations.append(userID) } if let ignoreUserClosure = ignoreUserClosure { return await ignoreUserClosure(userID) } else { @@ -6220,68 +3824,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - unignoreUser - var unignoreUserUnderlyingCallsCount = 0 + private let unignoreUserCallsCountLock = NSLock() + private var unignoreUserUnderlyingCallsCount = 0 var unignoreUserCallsCount: Int { - get { - if Thread.isMainThread { - return unignoreUserUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unignoreUserUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unignoreUserUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unignoreUserUnderlyingCallsCount = newValue - } - } - } + get { unignoreUserCallsCountLock.withLock { unignoreUserUnderlyingCallsCount } } + set { unignoreUserCallsCountLock.withLock { unignoreUserUnderlyingCallsCount = newValue } } } var unignoreUserCalled: Bool { return unignoreUserCallsCount > 0 } - var unignoreUserReceivedUserID: String? - var unignoreUserReceivedInvocations: [String] = [] + private let unignoreUserReceivedUserIDLock = NSLock() + private var unignoreUserUnderlyingReceivedUserID: String? + var unignoreUserReceivedUserID: String? { + get { unignoreUserReceivedUserIDLock.withLock { unignoreUserUnderlyingReceivedUserID } } + set { unignoreUserReceivedUserIDLock.withLock { unignoreUserUnderlyingReceivedUserID = newValue } } + } + private let unignoreUserReceivedInvocationsLock = NSLock() + private var unignoreUserUnderlyingReceivedInvocations: [String] = [] + var unignoreUserReceivedInvocations: [String] { + get { unignoreUserReceivedInvocationsLock.withLock { unignoreUserUnderlyingReceivedInvocations } } + set { unignoreUserReceivedInvocationsLock.withLock { unignoreUserUnderlyingReceivedInvocations = newValue } } + } - var unignoreUserUnderlyingReturnValue: Result! + private let unignoreUserReturnValueLock = NSLock() + private var unignoreUserUnderlyingReturnValue: Result! var unignoreUserReturnValue: Result! { - get { - if Thread.isMainThread { - return unignoreUserUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = unignoreUserUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unignoreUserUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - unignoreUserUnderlyingReturnValue = newValue - } - } - } + get { unignoreUserReturnValueLock.withLock { unignoreUserUnderlyingReturnValue } } + set { unignoreUserReturnValueLock.withLock { unignoreUserUnderlyingReturnValue = newValue } } } var unignoreUserClosure: ((String) async -> Result)? func unignoreUser(_ userID: String) async -> Result { - unignoreUserCallsCount += 1 + unignoreUserCallsCountLock.withLock { unignoreUserUnderlyingCallsCount += 1 } unignoreUserReceivedUserID = userID - DispatchQueue.main.async { - self.unignoreUserReceivedInvocations.append(userID) - } + unignoreUserReceivedInvocationsLock.withLock { unignoreUserUnderlyingReceivedInvocations.append(userID) } if let unignoreUserClosure = unignoreUserClosure { return await unignoreUserClosure(userID) } else { @@ -6290,68 +3866,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - trackRecentlyVisitedRoom - var trackRecentlyVisitedRoomUnderlyingCallsCount = 0 + private let trackRecentlyVisitedRoomCallsCountLock = NSLock() + private var trackRecentlyVisitedRoomUnderlyingCallsCount = 0 var trackRecentlyVisitedRoomCallsCount: Int { - get { - if Thread.isMainThread { - return trackRecentlyVisitedRoomUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackRecentlyVisitedRoomUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackRecentlyVisitedRoomUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackRecentlyVisitedRoomUnderlyingCallsCount = newValue - } - } - } + get { trackRecentlyVisitedRoomCallsCountLock.withLock { trackRecentlyVisitedRoomUnderlyingCallsCount } } + set { trackRecentlyVisitedRoomCallsCountLock.withLock { trackRecentlyVisitedRoomUnderlyingCallsCount = newValue } } } var trackRecentlyVisitedRoomCalled: Bool { return trackRecentlyVisitedRoomCallsCount > 0 } - var trackRecentlyVisitedRoomReceivedRoomID: String? - var trackRecentlyVisitedRoomReceivedInvocations: [String] = [] + private let trackRecentlyVisitedRoomReceivedRoomIDLock = NSLock() + private var trackRecentlyVisitedRoomUnderlyingReceivedRoomID: String? + var trackRecentlyVisitedRoomReceivedRoomID: String? { + get { trackRecentlyVisitedRoomReceivedRoomIDLock.withLock { trackRecentlyVisitedRoomUnderlyingReceivedRoomID } } + set { trackRecentlyVisitedRoomReceivedRoomIDLock.withLock { trackRecentlyVisitedRoomUnderlyingReceivedRoomID = newValue } } + } + private let trackRecentlyVisitedRoomReceivedInvocationsLock = NSLock() + private var trackRecentlyVisitedRoomUnderlyingReceivedInvocations: [String] = [] + var trackRecentlyVisitedRoomReceivedInvocations: [String] { + get { trackRecentlyVisitedRoomReceivedInvocationsLock.withLock { trackRecentlyVisitedRoomUnderlyingReceivedInvocations } } + set { trackRecentlyVisitedRoomReceivedInvocationsLock.withLock { trackRecentlyVisitedRoomUnderlyingReceivedInvocations = newValue } } + } - var trackRecentlyVisitedRoomUnderlyingReturnValue: Result! + private let trackRecentlyVisitedRoomReturnValueLock = NSLock() + private var trackRecentlyVisitedRoomUnderlyingReturnValue: Result! var trackRecentlyVisitedRoomReturnValue: Result! { - get { - if Thread.isMainThread { - return trackRecentlyVisitedRoomUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = trackRecentlyVisitedRoomUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackRecentlyVisitedRoomUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - trackRecentlyVisitedRoomUnderlyingReturnValue = newValue - } - } - } + get { trackRecentlyVisitedRoomReturnValueLock.withLock { trackRecentlyVisitedRoomUnderlyingReturnValue } } + set { trackRecentlyVisitedRoomReturnValueLock.withLock { trackRecentlyVisitedRoomUnderlyingReturnValue = newValue } } } var trackRecentlyVisitedRoomClosure: ((String) async -> Result)? func trackRecentlyVisitedRoom(_ roomID: String) async -> Result { - trackRecentlyVisitedRoomCallsCount += 1 + trackRecentlyVisitedRoomCallsCountLock.withLock { trackRecentlyVisitedRoomUnderlyingCallsCount += 1 } trackRecentlyVisitedRoomReceivedRoomID = roomID - DispatchQueue.main.async { - self.trackRecentlyVisitedRoomReceivedInvocations.append(roomID) - } + trackRecentlyVisitedRoomReceivedInvocationsLock.withLock { trackRecentlyVisitedRoomUnderlyingReceivedInvocations.append(roomID) } if let trackRecentlyVisitedRoomClosure = trackRecentlyVisitedRoomClosure { return await trackRecentlyVisitedRoomClosure(roomID) } else { @@ -6360,62 +3908,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - recentlyVisitedRooms - var recentlyVisitedRoomsFilterUnderlyingCallsCount = 0 + private let recentlyVisitedRoomsFilterCallsCountLock = NSLock() + private var recentlyVisitedRoomsFilterUnderlyingCallsCount = 0 var recentlyVisitedRoomsFilterCallsCount: Int { - get { - if Thread.isMainThread { - return recentlyVisitedRoomsFilterUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recentlyVisitedRoomsFilterUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recentlyVisitedRoomsFilterUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recentlyVisitedRoomsFilterUnderlyingCallsCount = newValue - } - } - } + get { recentlyVisitedRoomsFilterCallsCountLock.withLock { recentlyVisitedRoomsFilterUnderlyingCallsCount } } + set { recentlyVisitedRoomsFilterCallsCountLock.withLock { recentlyVisitedRoomsFilterUnderlyingCallsCount = newValue } } } var recentlyVisitedRoomsFilterCalled: Bool { return recentlyVisitedRoomsFilterCallsCount > 0 } - var recentlyVisitedRoomsFilterUnderlyingReturnValue: [JoinedRoomProxyProtocol]! + private let recentlyVisitedRoomsFilterReturnValueLock = NSLock() + private var recentlyVisitedRoomsFilterUnderlyingReturnValue: [JoinedRoomProxyProtocol]! var recentlyVisitedRoomsFilterReturnValue: [JoinedRoomProxyProtocol]! { - get { - if Thread.isMainThread { - return recentlyVisitedRoomsFilterUnderlyingReturnValue - } else { - var returnValue: [JoinedRoomProxyProtocol]? = nil - DispatchQueue.main.sync { - returnValue = recentlyVisitedRoomsFilterUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recentlyVisitedRoomsFilterUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - recentlyVisitedRoomsFilterUnderlyingReturnValue = newValue - } - } - } + get { recentlyVisitedRoomsFilterReturnValueLock.withLock { recentlyVisitedRoomsFilterUnderlyingReturnValue } } + set { recentlyVisitedRoomsFilterReturnValueLock.withLock { recentlyVisitedRoomsFilterUnderlyingReturnValue = newValue } } } var recentlyVisitedRoomsFilterClosure: (((JoinedRoomProxyProtocol) -> Bool) async -> [JoinedRoomProxyProtocol])? func recentlyVisitedRooms(filter: (JoinedRoomProxyProtocol) -> Bool) async -> [JoinedRoomProxyProtocol] { - recentlyVisitedRoomsFilterCallsCount += 1 + recentlyVisitedRoomsFilterCallsCountLock.withLock { recentlyVisitedRoomsFilterUnderlyingCallsCount += 1 } if let recentlyVisitedRoomsFilterClosure = recentlyVisitedRoomsFilterClosure { return await recentlyVisitedRoomsFilterClosure(filter) } else { @@ -6424,62 +3936,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - recentConversationCounterparts - var recentConversationCounterpartsUnderlyingCallsCount = 0 + private let recentConversationCounterpartsCallsCountLock = NSLock() + private var recentConversationCounterpartsUnderlyingCallsCount = 0 var recentConversationCounterpartsCallsCount: Int { - get { - if Thread.isMainThread { - return recentConversationCounterpartsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recentConversationCounterpartsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recentConversationCounterpartsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recentConversationCounterpartsUnderlyingCallsCount = newValue - } - } - } + get { recentConversationCounterpartsCallsCountLock.withLock { recentConversationCounterpartsUnderlyingCallsCount } } + set { recentConversationCounterpartsCallsCountLock.withLock { recentConversationCounterpartsUnderlyingCallsCount = newValue } } } var recentConversationCounterpartsCalled: Bool { return recentConversationCounterpartsCallsCount > 0 } - var recentConversationCounterpartsUnderlyingReturnValue: [UserProfileProxy]! + private let recentConversationCounterpartsReturnValueLock = NSLock() + private var recentConversationCounterpartsUnderlyingReturnValue: [UserProfileProxy]! var recentConversationCounterpartsReturnValue: [UserProfileProxy]! { - get { - if Thread.isMainThread { - return recentConversationCounterpartsUnderlyingReturnValue - } else { - var returnValue: [UserProfileProxy]? = nil - DispatchQueue.main.sync { - returnValue = recentConversationCounterpartsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recentConversationCounterpartsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - recentConversationCounterpartsUnderlyingReturnValue = newValue - } - } - } + get { recentConversationCounterpartsReturnValueLock.withLock { recentConversationCounterpartsUnderlyingReturnValue } } + set { recentConversationCounterpartsReturnValueLock.withLock { recentConversationCounterpartsUnderlyingReturnValue = newValue } } } var recentConversationCounterpartsClosure: (() async -> [UserProfileProxy])? func recentConversationCounterparts() async -> [UserProfileProxy] { - recentConversationCounterpartsCallsCount += 1 + recentConversationCounterpartsCallsCountLock.withLock { recentConversationCounterpartsUnderlyingCallsCount += 1 } if let recentConversationCounterpartsClosure = recentConversationCounterpartsClosure { return await recentConversationCounterpartsClosure() } else { @@ -6488,62 +3964,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - ed25519Base64 - var ed25519Base64UnderlyingCallsCount = 0 + private let ed25519Base64CallsCountLock = NSLock() + private var ed25519Base64UnderlyingCallsCount = 0 var ed25519Base64CallsCount: Int { - get { - if Thread.isMainThread { - return ed25519Base64UnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ed25519Base64UnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ed25519Base64UnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ed25519Base64UnderlyingCallsCount = newValue - } - } - } + get { ed25519Base64CallsCountLock.withLock { ed25519Base64UnderlyingCallsCount } } + set { ed25519Base64CallsCountLock.withLock { ed25519Base64UnderlyingCallsCount = newValue } } } var ed25519Base64Called: Bool { return ed25519Base64CallsCount > 0 } - var ed25519Base64UnderlyingReturnValue: String? + private let ed25519Base64ReturnValueLock = NSLock() + private var ed25519Base64UnderlyingReturnValue: String? var ed25519Base64ReturnValue: String? { - get { - if Thread.isMainThread { - return ed25519Base64UnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = ed25519Base64UnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ed25519Base64UnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - ed25519Base64UnderlyingReturnValue = newValue - } - } - } + get { ed25519Base64ReturnValueLock.withLock { ed25519Base64UnderlyingReturnValue } } + set { ed25519Base64ReturnValueLock.withLock { ed25519Base64UnderlyingReturnValue = newValue } } } var ed25519Base64Closure: (() async -> String?)? func ed25519Base64() async -> String? { - ed25519Base64CallsCount += 1 + ed25519Base64CallsCountLock.withLock { ed25519Base64UnderlyingCallsCount += 1 } if let ed25519Base64Closure = ed25519Base64Closure { return await ed25519Base64Closure() } else { @@ -6552,62 +3992,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - curve25519Base64 - var curve25519Base64UnderlyingCallsCount = 0 + private let curve25519Base64CallsCountLock = NSLock() + private var curve25519Base64UnderlyingCallsCount = 0 var curve25519Base64CallsCount: Int { - get { - if Thread.isMainThread { - return curve25519Base64UnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = curve25519Base64UnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - curve25519Base64UnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - curve25519Base64UnderlyingCallsCount = newValue - } - } - } + get { curve25519Base64CallsCountLock.withLock { curve25519Base64UnderlyingCallsCount } } + set { curve25519Base64CallsCountLock.withLock { curve25519Base64UnderlyingCallsCount = newValue } } } var curve25519Base64Called: Bool { return curve25519Base64CallsCount > 0 } - var curve25519Base64UnderlyingReturnValue: String? + private let curve25519Base64ReturnValueLock = NSLock() + private var curve25519Base64UnderlyingReturnValue: String? var curve25519Base64ReturnValue: String? { - get { - if Thread.isMainThread { - return curve25519Base64UnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = curve25519Base64UnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - curve25519Base64UnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - curve25519Base64UnderlyingReturnValue = newValue - } - } - } + get { curve25519Base64ReturnValueLock.withLock { curve25519Base64UnderlyingReturnValue } } + set { curve25519Base64ReturnValueLock.withLock { curve25519Base64UnderlyingReturnValue = newValue } } } var curve25519Base64Closure: (() async -> String?)? func curve25519Base64() async -> String? { - curve25519Base64CallsCount += 1 + curve25519Base64CallsCountLock.withLock { curve25519Base64UnderlyingCallsCount += 1 } if let curve25519Base64Closure = curve25519Base64Closure { return await curve25519Base64Closure() } else { @@ -6616,68 +4020,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - pinUserIdentity - var pinUserIdentityUnderlyingCallsCount = 0 + private let pinUserIdentityCallsCountLock = NSLock() + private var pinUserIdentityUnderlyingCallsCount = 0 var pinUserIdentityCallsCount: Int { - get { - if Thread.isMainThread { - return pinUserIdentityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pinUserIdentityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinUserIdentityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pinUserIdentityUnderlyingCallsCount = newValue - } - } - } + get { pinUserIdentityCallsCountLock.withLock { pinUserIdentityUnderlyingCallsCount } } + set { pinUserIdentityCallsCountLock.withLock { pinUserIdentityUnderlyingCallsCount = newValue } } } var pinUserIdentityCalled: Bool { return pinUserIdentityCallsCount > 0 } - var pinUserIdentityReceivedUserID: String? - var pinUserIdentityReceivedInvocations: [String] = [] + private let pinUserIdentityReceivedUserIDLock = NSLock() + private var pinUserIdentityUnderlyingReceivedUserID: String? + var pinUserIdentityReceivedUserID: String? { + get { pinUserIdentityReceivedUserIDLock.withLock { pinUserIdentityUnderlyingReceivedUserID } } + set { pinUserIdentityReceivedUserIDLock.withLock { pinUserIdentityUnderlyingReceivedUserID = newValue } } + } + private let pinUserIdentityReceivedInvocationsLock = NSLock() + private var pinUserIdentityUnderlyingReceivedInvocations: [String] = [] + var pinUserIdentityReceivedInvocations: [String] { + get { pinUserIdentityReceivedInvocationsLock.withLock { pinUserIdentityUnderlyingReceivedInvocations } } + set { pinUserIdentityReceivedInvocationsLock.withLock { pinUserIdentityUnderlyingReceivedInvocations = newValue } } + } - var pinUserIdentityUnderlyingReturnValue: Result! + private let pinUserIdentityReturnValueLock = NSLock() + private var pinUserIdentityUnderlyingReturnValue: Result! var pinUserIdentityReturnValue: Result! { - get { - if Thread.isMainThread { - return pinUserIdentityUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = pinUserIdentityUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinUserIdentityUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - pinUserIdentityUnderlyingReturnValue = newValue - } - } - } + get { pinUserIdentityReturnValueLock.withLock { pinUserIdentityUnderlyingReturnValue } } + set { pinUserIdentityReturnValueLock.withLock { pinUserIdentityUnderlyingReturnValue = newValue } } } var pinUserIdentityClosure: ((String) async -> Result)? func pinUserIdentity(_ userID: String) async -> Result { - pinUserIdentityCallsCount += 1 + pinUserIdentityCallsCountLock.withLock { pinUserIdentityUnderlyingCallsCount += 1 } pinUserIdentityReceivedUserID = userID - DispatchQueue.main.async { - self.pinUserIdentityReceivedInvocations.append(userID) - } + pinUserIdentityReceivedInvocationsLock.withLock { pinUserIdentityUnderlyingReceivedInvocations.append(userID) } if let pinUserIdentityClosure = pinUserIdentityClosure { return await pinUserIdentityClosure(userID) } else { @@ -6686,68 +4062,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - withdrawUserIdentityVerification - var withdrawUserIdentityVerificationUnderlyingCallsCount = 0 + private let withdrawUserIdentityVerificationCallsCountLock = NSLock() + private var withdrawUserIdentityVerificationUnderlyingCallsCount = 0 var withdrawUserIdentityVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return withdrawUserIdentityVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withdrawUserIdentityVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withdrawUserIdentityVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withdrawUserIdentityVerificationUnderlyingCallsCount = newValue - } - } - } + get { withdrawUserIdentityVerificationCallsCountLock.withLock { withdrawUserIdentityVerificationUnderlyingCallsCount } } + set { withdrawUserIdentityVerificationCallsCountLock.withLock { withdrawUserIdentityVerificationUnderlyingCallsCount = newValue } } } var withdrawUserIdentityVerificationCalled: Bool { return withdrawUserIdentityVerificationCallsCount > 0 } - var withdrawUserIdentityVerificationReceivedUserID: String? - var withdrawUserIdentityVerificationReceivedInvocations: [String] = [] + private let withdrawUserIdentityVerificationReceivedUserIDLock = NSLock() + private var withdrawUserIdentityVerificationUnderlyingReceivedUserID: String? + var withdrawUserIdentityVerificationReceivedUserID: String? { + get { withdrawUserIdentityVerificationReceivedUserIDLock.withLock { withdrawUserIdentityVerificationUnderlyingReceivedUserID } } + set { withdrawUserIdentityVerificationReceivedUserIDLock.withLock { withdrawUserIdentityVerificationUnderlyingReceivedUserID = newValue } } + } + private let withdrawUserIdentityVerificationReceivedInvocationsLock = NSLock() + private var withdrawUserIdentityVerificationUnderlyingReceivedInvocations: [String] = [] + var withdrawUserIdentityVerificationReceivedInvocations: [String] { + get { withdrawUserIdentityVerificationReceivedInvocationsLock.withLock { withdrawUserIdentityVerificationUnderlyingReceivedInvocations } } + set { withdrawUserIdentityVerificationReceivedInvocationsLock.withLock { withdrawUserIdentityVerificationUnderlyingReceivedInvocations = newValue } } + } - var withdrawUserIdentityVerificationUnderlyingReturnValue: Result! + private let withdrawUserIdentityVerificationReturnValueLock = NSLock() + private var withdrawUserIdentityVerificationUnderlyingReturnValue: Result! var withdrawUserIdentityVerificationReturnValue: Result! { - get { - if Thread.isMainThread { - return withdrawUserIdentityVerificationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = withdrawUserIdentityVerificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withdrawUserIdentityVerificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - withdrawUserIdentityVerificationUnderlyingReturnValue = newValue - } - } - } + get { withdrawUserIdentityVerificationReturnValueLock.withLock { withdrawUserIdentityVerificationUnderlyingReturnValue } } + set { withdrawUserIdentityVerificationReturnValueLock.withLock { withdrawUserIdentityVerificationUnderlyingReturnValue = newValue } } } var withdrawUserIdentityVerificationClosure: ((String) async -> Result)? func withdrawUserIdentityVerification(_ userID: String) async -> Result { - withdrawUserIdentityVerificationCallsCount += 1 + withdrawUserIdentityVerificationCallsCountLock.withLock { withdrawUserIdentityVerificationUnderlyingCallsCount += 1 } withdrawUserIdentityVerificationReceivedUserID = userID - DispatchQueue.main.async { - self.withdrawUserIdentityVerificationReceivedInvocations.append(userID) - } + withdrawUserIdentityVerificationReceivedInvocationsLock.withLock { withdrawUserIdentityVerificationUnderlyingReceivedInvocations.append(userID) } if let withdrawUserIdentityVerificationClosure = withdrawUserIdentityVerificationClosure { return await withdrawUserIdentityVerificationClosure(userID) } else { @@ -6756,62 +4104,26 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - resetIdentity - var resetIdentityUnderlyingCallsCount = 0 + private let resetIdentityCallsCountLock = NSLock() + private var resetIdentityUnderlyingCallsCount = 0 var resetIdentityCallsCount: Int { - get { - if Thread.isMainThread { - return resetIdentityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetIdentityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetIdentityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetIdentityUnderlyingCallsCount = newValue - } - } - } + get { resetIdentityCallsCountLock.withLock { resetIdentityUnderlyingCallsCount } } + set { resetIdentityCallsCountLock.withLock { resetIdentityUnderlyingCallsCount = newValue } } } var resetIdentityCalled: Bool { return resetIdentityCallsCount > 0 } - var resetIdentityUnderlyingReturnValue: Result! + private let resetIdentityReturnValueLock = NSLock() + private var resetIdentityUnderlyingReturnValue: Result! var resetIdentityReturnValue: Result! { - get { - if Thread.isMainThread { - return resetIdentityUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = resetIdentityUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetIdentityUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - resetIdentityUnderlyingReturnValue = newValue - } - } - } + get { resetIdentityReturnValueLock.withLock { resetIdentityUnderlyingReturnValue } } + set { resetIdentityReturnValueLock.withLock { resetIdentityUnderlyingReturnValue = newValue } } } var resetIdentityClosure: (() async -> Result)? func resetIdentity() async -> Result { - resetIdentityCallsCount += 1 + resetIdentityCallsCountLock.withLock { resetIdentityUnderlyingCallsCount += 1 } if let resetIdentityClosure = resetIdentityClosure { return await resetIdentityClosure() } else { @@ -6820,68 +4132,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - userIdentity - var userIdentityForFallBackToServerUnderlyingCallsCount = 0 + private let userIdentityForFallBackToServerCallsCountLock = NSLock() + private var userIdentityForFallBackToServerUnderlyingCallsCount = 0 var userIdentityForFallBackToServerCallsCount: Int { - get { - if Thread.isMainThread { - return userIdentityForFallBackToServerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = userIdentityForFallBackToServerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userIdentityForFallBackToServerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - userIdentityForFallBackToServerUnderlyingCallsCount = newValue - } - } - } + get { userIdentityForFallBackToServerCallsCountLock.withLock { userIdentityForFallBackToServerUnderlyingCallsCount } } + set { userIdentityForFallBackToServerCallsCountLock.withLock { userIdentityForFallBackToServerUnderlyingCallsCount = newValue } } } var userIdentityForFallBackToServerCalled: Bool { return userIdentityForFallBackToServerCallsCount > 0 } - var userIdentityForFallBackToServerReceivedArguments: (userID: String, fallBackToServer: Bool)? - var userIdentityForFallBackToServerReceivedInvocations: [(userID: String, fallBackToServer: Bool)] = [] + private let userIdentityForFallBackToServerReceivedArgumentsLock = NSLock() + private var userIdentityForFallBackToServerUnderlyingReceivedArguments: (userID: String, fallBackToServer: Bool)? + var userIdentityForFallBackToServerReceivedArguments: (userID: String, fallBackToServer: Bool)? { + get { userIdentityForFallBackToServerReceivedArgumentsLock.withLock { userIdentityForFallBackToServerUnderlyingReceivedArguments } } + set { userIdentityForFallBackToServerReceivedArgumentsLock.withLock { userIdentityForFallBackToServerUnderlyingReceivedArguments = newValue } } + } + private let userIdentityForFallBackToServerReceivedInvocationsLock = NSLock() + private var userIdentityForFallBackToServerUnderlyingReceivedInvocations: [(userID: String, fallBackToServer: Bool)] = [] + var userIdentityForFallBackToServerReceivedInvocations: [(userID: String, fallBackToServer: Bool)] { + get { userIdentityForFallBackToServerReceivedInvocationsLock.withLock { userIdentityForFallBackToServerUnderlyingReceivedInvocations } } + set { userIdentityForFallBackToServerReceivedInvocationsLock.withLock { userIdentityForFallBackToServerUnderlyingReceivedInvocations = newValue } } + } - var userIdentityForFallBackToServerUnderlyingReturnValue: Result! + private let userIdentityForFallBackToServerReturnValueLock = NSLock() + private var userIdentityForFallBackToServerUnderlyingReturnValue: Result! var userIdentityForFallBackToServerReturnValue: Result! { - get { - if Thread.isMainThread { - return userIdentityForFallBackToServerUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = userIdentityForFallBackToServerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userIdentityForFallBackToServerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - userIdentityForFallBackToServerUnderlyingReturnValue = newValue - } - } - } + get { userIdentityForFallBackToServerReturnValueLock.withLock { userIdentityForFallBackToServerUnderlyingReturnValue } } + set { userIdentityForFallBackToServerReturnValueLock.withLock { userIdentityForFallBackToServerUnderlyingReturnValue = newValue } } } var userIdentityForFallBackToServerClosure: ((String, Bool) async -> Result)? func userIdentity(for userID: String, fallBackToServer: Bool) async -> Result { - userIdentityForFallBackToServerCallsCount += 1 + userIdentityForFallBackToServerCallsCountLock.withLock { userIdentityForFallBackToServerUnderlyingCallsCount += 1 } userIdentityForFallBackToServerReceivedArguments = (userID: userID, fallBackToServer: fallBackToServer) - DispatchQueue.main.async { - self.userIdentityForFallBackToServerReceivedInvocations.append((userID: userID, fallBackToServer: fallBackToServer)) - } + userIdentityForFallBackToServerReceivedInvocationsLock.withLock { userIdentityForFallBackToServerUnderlyingReceivedInvocations.append((userID: userID, fallBackToServer: fallBackToServer)) } if let userIdentityForFallBackToServerClosure = userIdentityForFallBackToServerClosure { return await userIdentityForFallBackToServerClosure(userID, fallBackToServer) } else { @@ -6890,68 +4174,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - setTimelineMediaVisibility - var setTimelineMediaVisibilityUnderlyingCallsCount = 0 + private let setTimelineMediaVisibilityCallsCountLock = NSLock() + private var setTimelineMediaVisibilityUnderlyingCallsCount = 0 var setTimelineMediaVisibilityCallsCount: Int { - get { - if Thread.isMainThread { - return setTimelineMediaVisibilityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setTimelineMediaVisibilityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setTimelineMediaVisibilityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setTimelineMediaVisibilityUnderlyingCallsCount = newValue - } - } - } + get { setTimelineMediaVisibilityCallsCountLock.withLock { setTimelineMediaVisibilityUnderlyingCallsCount } } + set { setTimelineMediaVisibilityCallsCountLock.withLock { setTimelineMediaVisibilityUnderlyingCallsCount = newValue } } } var setTimelineMediaVisibilityCalled: Bool { return setTimelineMediaVisibilityCallsCount > 0 } - var setTimelineMediaVisibilityReceivedValue: TimelineMediaVisibility? - var setTimelineMediaVisibilityReceivedInvocations: [TimelineMediaVisibility] = [] + private let setTimelineMediaVisibilityReceivedValueLock = NSLock() + private var setTimelineMediaVisibilityUnderlyingReceivedValue: TimelineMediaVisibility? + var setTimelineMediaVisibilityReceivedValue: TimelineMediaVisibility? { + get { setTimelineMediaVisibilityReceivedValueLock.withLock { setTimelineMediaVisibilityUnderlyingReceivedValue } } + set { setTimelineMediaVisibilityReceivedValueLock.withLock { setTimelineMediaVisibilityUnderlyingReceivedValue = newValue } } + } + private let setTimelineMediaVisibilityReceivedInvocationsLock = NSLock() + private var setTimelineMediaVisibilityUnderlyingReceivedInvocations: [TimelineMediaVisibility] = [] + var setTimelineMediaVisibilityReceivedInvocations: [TimelineMediaVisibility] { + get { setTimelineMediaVisibilityReceivedInvocationsLock.withLock { setTimelineMediaVisibilityUnderlyingReceivedInvocations } } + set { setTimelineMediaVisibilityReceivedInvocationsLock.withLock { setTimelineMediaVisibilityUnderlyingReceivedInvocations = newValue } } + } - var setTimelineMediaVisibilityUnderlyingReturnValue: Result! + private let setTimelineMediaVisibilityReturnValueLock = NSLock() + private var setTimelineMediaVisibilityUnderlyingReturnValue: Result! var setTimelineMediaVisibilityReturnValue: Result! { - get { - if Thread.isMainThread { - return setTimelineMediaVisibilityUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = setTimelineMediaVisibilityUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setTimelineMediaVisibilityUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setTimelineMediaVisibilityUnderlyingReturnValue = newValue - } - } - } + get { setTimelineMediaVisibilityReturnValueLock.withLock { setTimelineMediaVisibilityUnderlyingReturnValue } } + set { setTimelineMediaVisibilityReturnValueLock.withLock { setTimelineMediaVisibilityUnderlyingReturnValue = newValue } } } var setTimelineMediaVisibilityClosure: ((TimelineMediaVisibility) async -> Result)? func setTimelineMediaVisibility(_ value: TimelineMediaVisibility) async -> Result { - setTimelineMediaVisibilityCallsCount += 1 + setTimelineMediaVisibilityCallsCountLock.withLock { setTimelineMediaVisibilityUnderlyingCallsCount += 1 } setTimelineMediaVisibilityReceivedValue = value - DispatchQueue.main.async { - self.setTimelineMediaVisibilityReceivedInvocations.append(value) - } + setTimelineMediaVisibilityReceivedInvocationsLock.withLock { setTimelineMediaVisibilityUnderlyingReceivedInvocations.append(value) } if let setTimelineMediaVisibilityClosure = setTimelineMediaVisibilityClosure { return await setTimelineMediaVisibilityClosure(value) } else { @@ -6960,68 +4216,40 @@ class ClientProxyMock: ClientProxyProtocol, @unchecked Sendable { } //MARK: - setHideInviteAvatars - var setHideInviteAvatarsUnderlyingCallsCount = 0 + private let setHideInviteAvatarsCallsCountLock = NSLock() + private var setHideInviteAvatarsUnderlyingCallsCount = 0 var setHideInviteAvatarsCallsCount: Int { - get { - if Thread.isMainThread { - return setHideInviteAvatarsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setHideInviteAvatarsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setHideInviteAvatarsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setHideInviteAvatarsUnderlyingCallsCount = newValue - } - } - } + get { setHideInviteAvatarsCallsCountLock.withLock { setHideInviteAvatarsUnderlyingCallsCount } } + set { setHideInviteAvatarsCallsCountLock.withLock { setHideInviteAvatarsUnderlyingCallsCount = newValue } } } var setHideInviteAvatarsCalled: Bool { return setHideInviteAvatarsCallsCount > 0 } - var setHideInviteAvatarsReceivedValue: Bool? - var setHideInviteAvatarsReceivedInvocations: [Bool] = [] + private let setHideInviteAvatarsReceivedValueLock = NSLock() + private var setHideInviteAvatarsUnderlyingReceivedValue: Bool? + var setHideInviteAvatarsReceivedValue: Bool? { + get { setHideInviteAvatarsReceivedValueLock.withLock { setHideInviteAvatarsUnderlyingReceivedValue } } + set { setHideInviteAvatarsReceivedValueLock.withLock { setHideInviteAvatarsUnderlyingReceivedValue = newValue } } + } + private let setHideInviteAvatarsReceivedInvocationsLock = NSLock() + private var setHideInviteAvatarsUnderlyingReceivedInvocations: [Bool] = [] + var setHideInviteAvatarsReceivedInvocations: [Bool] { + get { setHideInviteAvatarsReceivedInvocationsLock.withLock { setHideInviteAvatarsUnderlyingReceivedInvocations } } + set { setHideInviteAvatarsReceivedInvocationsLock.withLock { setHideInviteAvatarsUnderlyingReceivedInvocations = newValue } } + } - var setHideInviteAvatarsUnderlyingReturnValue: Result! + private let setHideInviteAvatarsReturnValueLock = NSLock() + private var setHideInviteAvatarsUnderlyingReturnValue: Result! var setHideInviteAvatarsReturnValue: Result! { - get { - if Thread.isMainThread { - return setHideInviteAvatarsUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = setHideInviteAvatarsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setHideInviteAvatarsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setHideInviteAvatarsUnderlyingReturnValue = newValue - } - } - } + get { setHideInviteAvatarsReturnValueLock.withLock { setHideInviteAvatarsUnderlyingReturnValue } } + set { setHideInviteAvatarsReturnValueLock.withLock { setHideInviteAvatarsUnderlyingReturnValue = newValue } } } var setHideInviteAvatarsClosure: ((Bool) async -> Result)? func setHideInviteAvatars(_ value: Bool) async -> Result { - setHideInviteAvatarsCallsCount += 1 + setHideInviteAvatarsCallsCountLock.withLock { setHideInviteAvatarsUnderlyingCallsCount += 1 } setHideInviteAvatarsReceivedValue = value - DispatchQueue.main.async { - self.setHideInviteAvatarsReceivedInvocations.append(value) - } + setHideInviteAvatarsReceivedInvocationsLock.withLock { setHideInviteAvatarsUnderlyingReceivedInvocations.append(value) } if let setHideInviteAvatarsClosure = setHideInviteAvatarsClosure { return await setHideInviteAvatarsClosure(value) } else { @@ -7038,84 +4266,64 @@ class CompletionSuggestionServiceMock: CompletionSuggestionServiceProtocol, @unc //MARK: - processTextMessage - var processTextMessageSelectedRangeUnderlyingCallsCount = 0 + private let processTextMessageSelectedRangeCallsCountLock = NSLock() + private var processTextMessageSelectedRangeUnderlyingCallsCount = 0 var processTextMessageSelectedRangeCallsCount: Int { - get { - if Thread.isMainThread { - return processTextMessageSelectedRangeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = processTextMessageSelectedRangeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - processTextMessageSelectedRangeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - processTextMessageSelectedRangeUnderlyingCallsCount = newValue - } - } - } + get { processTextMessageSelectedRangeCallsCountLock.withLock { processTextMessageSelectedRangeUnderlyingCallsCount } } + set { processTextMessageSelectedRangeCallsCountLock.withLock { processTextMessageSelectedRangeUnderlyingCallsCount = newValue } } } var processTextMessageSelectedRangeCalled: Bool { return processTextMessageSelectedRangeCallsCount > 0 } - var processTextMessageSelectedRangeReceivedArguments: (textMessage: String, selectedRange: NSRange)? - var processTextMessageSelectedRangeReceivedInvocations: [(textMessage: String, selectedRange: NSRange)] = [] + private let processTextMessageSelectedRangeReceivedArgumentsLock = NSLock() + private var processTextMessageSelectedRangeUnderlyingReceivedArguments: (textMessage: String, selectedRange: NSRange)? + var processTextMessageSelectedRangeReceivedArguments: (textMessage: String, selectedRange: NSRange)? { + get { processTextMessageSelectedRangeReceivedArgumentsLock.withLock { processTextMessageSelectedRangeUnderlyingReceivedArguments } } + set { processTextMessageSelectedRangeReceivedArgumentsLock.withLock { processTextMessageSelectedRangeUnderlyingReceivedArguments = newValue } } + } + private let processTextMessageSelectedRangeReceivedInvocationsLock = NSLock() + private var processTextMessageSelectedRangeUnderlyingReceivedInvocations: [(textMessage: String, selectedRange: NSRange)] = [] + var processTextMessageSelectedRangeReceivedInvocations: [(textMessage: String, selectedRange: NSRange)] { + get { processTextMessageSelectedRangeReceivedInvocationsLock.withLock { processTextMessageSelectedRangeUnderlyingReceivedInvocations } } + set { processTextMessageSelectedRangeReceivedInvocationsLock.withLock { processTextMessageSelectedRangeUnderlyingReceivedInvocations = newValue } } + } var processTextMessageSelectedRangeClosure: ((String, NSRange) -> Void)? func processTextMessage(_ textMessage: String, selectedRange: NSRange) { - processTextMessageSelectedRangeCallsCount += 1 + processTextMessageSelectedRangeCallsCountLock.withLock { processTextMessageSelectedRangeUnderlyingCallsCount += 1 } processTextMessageSelectedRangeReceivedArguments = (textMessage: textMessage, selectedRange: selectedRange) - DispatchQueue.main.async { - self.processTextMessageSelectedRangeReceivedInvocations.append((textMessage: textMessage, selectedRange: selectedRange)) - } + processTextMessageSelectedRangeReceivedInvocationsLock.withLock { processTextMessageSelectedRangeUnderlyingReceivedInvocations.append((textMessage: textMessage, selectedRange: selectedRange)) } processTextMessageSelectedRangeClosure?(textMessage, selectedRange) } //MARK: - setSuggestionTrigger - var setSuggestionTriggerUnderlyingCallsCount = 0 + private let setSuggestionTriggerCallsCountLock = NSLock() + private var setSuggestionTriggerUnderlyingCallsCount = 0 var setSuggestionTriggerCallsCount: Int { - get { - if Thread.isMainThread { - return setSuggestionTriggerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setSuggestionTriggerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setSuggestionTriggerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setSuggestionTriggerUnderlyingCallsCount = newValue - } - } - } + get { setSuggestionTriggerCallsCountLock.withLock { setSuggestionTriggerUnderlyingCallsCount } } + set { setSuggestionTriggerCallsCountLock.withLock { setSuggestionTriggerUnderlyingCallsCount = newValue } } } var setSuggestionTriggerCalled: Bool { return setSuggestionTriggerCallsCount > 0 } - var setSuggestionTriggerReceivedSuggestionTrigger: SuggestionTrigger? - var setSuggestionTriggerReceivedInvocations: [SuggestionTrigger?] = [] + private let setSuggestionTriggerReceivedSuggestionTriggerLock = NSLock() + private var setSuggestionTriggerUnderlyingReceivedSuggestionTrigger: SuggestionTrigger? + var setSuggestionTriggerReceivedSuggestionTrigger: SuggestionTrigger? { + get { setSuggestionTriggerReceivedSuggestionTriggerLock.withLock { setSuggestionTriggerUnderlyingReceivedSuggestionTrigger } } + set { setSuggestionTriggerReceivedSuggestionTriggerLock.withLock { setSuggestionTriggerUnderlyingReceivedSuggestionTrigger = newValue } } + } + private let setSuggestionTriggerReceivedInvocationsLock = NSLock() + private var setSuggestionTriggerUnderlyingReceivedInvocations: [SuggestionTrigger?] = [] + var setSuggestionTriggerReceivedInvocations: [SuggestionTrigger?] { + get { setSuggestionTriggerReceivedInvocationsLock.withLock { setSuggestionTriggerUnderlyingReceivedInvocations } } + set { setSuggestionTriggerReceivedInvocationsLock.withLock { setSuggestionTriggerUnderlyingReceivedInvocations = newValue } } + } var setSuggestionTriggerClosure: ((SuggestionTrigger?) -> Void)? func setSuggestionTrigger(_ suggestionTrigger: SuggestionTrigger?) { - setSuggestionTriggerCallsCount += 1 + setSuggestionTriggerCallsCountLock.withLock { setSuggestionTriggerUnderlyingCallsCount += 1 } setSuggestionTriggerReceivedSuggestionTrigger = suggestionTrigger - DispatchQueue.main.async { - self.setSuggestionTriggerReceivedInvocations.append(suggestionTrigger) - } + setSuggestionTriggerReceivedInvocationsLock.withLock { setSuggestionTriggerUnderlyingReceivedInvocations.append(suggestionTrigger) } setSuggestionTriggerClosure?(suggestionTrigger) } } @@ -7123,68 +4331,40 @@ class ComposerDraftServiceMock: ComposerDraftServiceProtocol, @unchecked Sendabl //MARK: - saveDraft - var saveDraftUnderlyingCallsCount = 0 + private let saveDraftCallsCountLock = NSLock() + private var saveDraftUnderlyingCallsCount = 0 var saveDraftCallsCount: Int { - get { - if Thread.isMainThread { - return saveDraftUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = saveDraftUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - saveDraftUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - saveDraftUnderlyingCallsCount = newValue - } - } - } + get { saveDraftCallsCountLock.withLock { saveDraftUnderlyingCallsCount } } + set { saveDraftCallsCountLock.withLock { saveDraftUnderlyingCallsCount = newValue } } } var saveDraftCalled: Bool { return saveDraftCallsCount > 0 } - var saveDraftReceivedDraft: ComposerDraftProxy? - var saveDraftReceivedInvocations: [ComposerDraftProxy] = [] + private let saveDraftReceivedDraftLock = NSLock() + private var saveDraftUnderlyingReceivedDraft: ComposerDraftProxy? + var saveDraftReceivedDraft: ComposerDraftProxy? { + get { saveDraftReceivedDraftLock.withLock { saveDraftUnderlyingReceivedDraft } } + set { saveDraftReceivedDraftLock.withLock { saveDraftUnderlyingReceivedDraft = newValue } } + } + private let saveDraftReceivedInvocationsLock = NSLock() + private var saveDraftUnderlyingReceivedInvocations: [ComposerDraftProxy] = [] + var saveDraftReceivedInvocations: [ComposerDraftProxy] { + get { saveDraftReceivedInvocationsLock.withLock { saveDraftUnderlyingReceivedInvocations } } + set { saveDraftReceivedInvocationsLock.withLock { saveDraftUnderlyingReceivedInvocations = newValue } } + } - var saveDraftUnderlyingReturnValue: Result! + private let saveDraftReturnValueLock = NSLock() + private var saveDraftUnderlyingReturnValue: Result! var saveDraftReturnValue: Result! { - get { - if Thread.isMainThread { - return saveDraftUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = saveDraftUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - saveDraftUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - saveDraftUnderlyingReturnValue = newValue - } - } - } + get { saveDraftReturnValueLock.withLock { saveDraftUnderlyingReturnValue } } + set { saveDraftReturnValueLock.withLock { saveDraftUnderlyingReturnValue = newValue } } } var saveDraftClosure: ((ComposerDraftProxy) async -> Result)? func saveDraft(_ draft: ComposerDraftProxy) async -> Result { - saveDraftCallsCount += 1 + saveDraftCallsCountLock.withLock { saveDraftUnderlyingCallsCount += 1 } saveDraftReceivedDraft = draft - DispatchQueue.main.async { - self.saveDraftReceivedInvocations.append(draft) - } + saveDraftReceivedInvocationsLock.withLock { saveDraftUnderlyingReceivedInvocations.append(draft) } if let saveDraftClosure = saveDraftClosure { return await saveDraftClosure(draft) } else { @@ -7193,103 +4373,57 @@ class ComposerDraftServiceMock: ComposerDraftServiceProtocol, @unchecked Sendabl } //MARK: - saveVolatileDraft - var saveVolatileDraftUnderlyingCallsCount = 0 + private let saveVolatileDraftCallsCountLock = NSLock() + private var saveVolatileDraftUnderlyingCallsCount = 0 var saveVolatileDraftCallsCount: Int { - get { - if Thread.isMainThread { - return saveVolatileDraftUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = saveVolatileDraftUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - saveVolatileDraftUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - saveVolatileDraftUnderlyingCallsCount = newValue - } - } - } + get { saveVolatileDraftCallsCountLock.withLock { saveVolatileDraftUnderlyingCallsCount } } + set { saveVolatileDraftCallsCountLock.withLock { saveVolatileDraftUnderlyingCallsCount = newValue } } } var saveVolatileDraftCalled: Bool { return saveVolatileDraftCallsCount > 0 } - var saveVolatileDraftReceivedDraft: ComposerDraftProxy? - var saveVolatileDraftReceivedInvocations: [ComposerDraftProxy] = [] + private let saveVolatileDraftReceivedDraftLock = NSLock() + private var saveVolatileDraftUnderlyingReceivedDraft: ComposerDraftProxy? + var saveVolatileDraftReceivedDraft: ComposerDraftProxy? { + get { saveVolatileDraftReceivedDraftLock.withLock { saveVolatileDraftUnderlyingReceivedDraft } } + set { saveVolatileDraftReceivedDraftLock.withLock { saveVolatileDraftUnderlyingReceivedDraft = newValue } } + } + private let saveVolatileDraftReceivedInvocationsLock = NSLock() + private var saveVolatileDraftUnderlyingReceivedInvocations: [ComposerDraftProxy] = [] + var saveVolatileDraftReceivedInvocations: [ComposerDraftProxy] { + get { saveVolatileDraftReceivedInvocationsLock.withLock { saveVolatileDraftUnderlyingReceivedInvocations } } + set { saveVolatileDraftReceivedInvocationsLock.withLock { saveVolatileDraftUnderlyingReceivedInvocations = newValue } } + } var saveVolatileDraftClosure: ((ComposerDraftProxy) -> Void)? func saveVolatileDraft(_ draft: ComposerDraftProxy) { - saveVolatileDraftCallsCount += 1 + saveVolatileDraftCallsCountLock.withLock { saveVolatileDraftUnderlyingCallsCount += 1 } saveVolatileDraftReceivedDraft = draft - DispatchQueue.main.async { - self.saveVolatileDraftReceivedInvocations.append(draft) - } + saveVolatileDraftReceivedInvocationsLock.withLock { saveVolatileDraftUnderlyingReceivedInvocations.append(draft) } saveVolatileDraftClosure?(draft) } //MARK: - loadDraft - var loadDraftUnderlyingCallsCount = 0 + private let loadDraftCallsCountLock = NSLock() + private var loadDraftUnderlyingCallsCount = 0 var loadDraftCallsCount: Int { - get { - if Thread.isMainThread { - return loadDraftUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadDraftUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadDraftUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadDraftUnderlyingCallsCount = newValue - } - } - } + get { loadDraftCallsCountLock.withLock { loadDraftUnderlyingCallsCount } } + set { loadDraftCallsCountLock.withLock { loadDraftUnderlyingCallsCount = newValue } } } var loadDraftCalled: Bool { return loadDraftCallsCount > 0 } - var loadDraftUnderlyingReturnValue: Result! + private let loadDraftReturnValueLock = NSLock() + private var loadDraftUnderlyingReturnValue: Result! var loadDraftReturnValue: Result! { - get { - if Thread.isMainThread { - return loadDraftUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadDraftUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadDraftUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadDraftUnderlyingReturnValue = newValue - } - } - } + get { loadDraftReturnValueLock.withLock { loadDraftUnderlyingReturnValue } } + set { loadDraftReturnValueLock.withLock { loadDraftUnderlyingReturnValue = newValue } } } var loadDraftClosure: (() async -> Result)? func loadDraft() async -> Result { - loadDraftCallsCount += 1 + loadDraftCallsCountLock.withLock { loadDraftUnderlyingCallsCount += 1 } if let loadDraftClosure = loadDraftClosure { return await loadDraftClosure() } else { @@ -7298,62 +4432,26 @@ class ComposerDraftServiceMock: ComposerDraftServiceProtocol, @unchecked Sendabl } //MARK: - loadVolatileDraft - var loadVolatileDraftUnderlyingCallsCount = 0 + private let loadVolatileDraftCallsCountLock = NSLock() + private var loadVolatileDraftUnderlyingCallsCount = 0 var loadVolatileDraftCallsCount: Int { - get { - if Thread.isMainThread { - return loadVolatileDraftUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadVolatileDraftUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadVolatileDraftUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadVolatileDraftUnderlyingCallsCount = newValue - } - } - } + get { loadVolatileDraftCallsCountLock.withLock { loadVolatileDraftUnderlyingCallsCount } } + set { loadVolatileDraftCallsCountLock.withLock { loadVolatileDraftUnderlyingCallsCount = newValue } } } var loadVolatileDraftCalled: Bool { return loadVolatileDraftCallsCount > 0 } - var loadVolatileDraftUnderlyingReturnValue: ComposerDraftProxy? + private let loadVolatileDraftReturnValueLock = NSLock() + private var loadVolatileDraftUnderlyingReturnValue: ComposerDraftProxy? var loadVolatileDraftReturnValue: ComposerDraftProxy? { - get { - if Thread.isMainThread { - return loadVolatileDraftUnderlyingReturnValue - } else { - var returnValue: ComposerDraftProxy?? = nil - DispatchQueue.main.sync { - returnValue = loadVolatileDraftUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadVolatileDraftUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadVolatileDraftUnderlyingReturnValue = newValue - } - } - } + get { loadVolatileDraftReturnValueLock.withLock { loadVolatileDraftUnderlyingReturnValue } } + set { loadVolatileDraftReturnValueLock.withLock { loadVolatileDraftUnderlyingReturnValue = newValue } } } var loadVolatileDraftClosure: (() -> ComposerDraftProxy?)? func loadVolatileDraft() -> ComposerDraftProxy? { - loadVolatileDraftCallsCount += 1 + loadVolatileDraftCallsCountLock.withLock { loadVolatileDraftUnderlyingCallsCount += 1 } if let loadVolatileDraftClosure = loadVolatileDraftClosure { return loadVolatileDraftClosure() } else { @@ -7362,62 +4460,26 @@ class ComposerDraftServiceMock: ComposerDraftServiceProtocol, @unchecked Sendabl } //MARK: - clearDraft - var clearDraftUnderlyingCallsCount = 0 + private let clearDraftCallsCountLock = NSLock() + private var clearDraftUnderlyingCallsCount = 0 var clearDraftCallsCount: Int { - get { - if Thread.isMainThread { - return clearDraftUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = clearDraftUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearDraftUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - clearDraftUnderlyingCallsCount = newValue - } - } - } + get { clearDraftCallsCountLock.withLock { clearDraftUnderlyingCallsCount } } + set { clearDraftCallsCountLock.withLock { clearDraftUnderlyingCallsCount = newValue } } } var clearDraftCalled: Bool { return clearDraftCallsCount > 0 } - var clearDraftUnderlyingReturnValue: Result! + private let clearDraftReturnValueLock = NSLock() + private var clearDraftUnderlyingReturnValue: Result! var clearDraftReturnValue: Result! { - get { - if Thread.isMainThread { - return clearDraftUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = clearDraftUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearDraftUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - clearDraftUnderlyingReturnValue = newValue - } - } - } + get { clearDraftReturnValueLock.withLock { clearDraftUnderlyingReturnValue } } + set { clearDraftReturnValueLock.withLock { clearDraftUnderlyingReturnValue = newValue } } } var clearDraftClosure: (() async -> Result)? func clearDraft() async -> Result { - clearDraftCallsCount += 1 + clearDraftCallsCountLock.withLock { clearDraftUnderlyingCallsCount += 1 } if let clearDraftClosure = clearDraftClosure { return await clearDraftClosure() } else { @@ -7426,29 +4488,11 @@ class ComposerDraftServiceMock: ComposerDraftServiceProtocol, @unchecked Sendabl } //MARK: - clearVolatileDraft - var clearVolatileDraftUnderlyingCallsCount = 0 + private let clearVolatileDraftCallsCountLock = NSLock() + private var clearVolatileDraftUnderlyingCallsCount = 0 var clearVolatileDraftCallsCount: Int { - get { - if Thread.isMainThread { - return clearVolatileDraftUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = clearVolatileDraftUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearVolatileDraftUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - clearVolatileDraftUnderlyingCallsCount = newValue - } - } - } + get { clearVolatileDraftCallsCountLock.withLock { clearVolatileDraftUnderlyingCallsCount } } + set { clearVolatileDraftCallsCountLock.withLock { clearVolatileDraftUnderlyingCallsCount = newValue } } } var clearVolatileDraftCalled: Bool { return clearVolatileDraftCallsCount > 0 @@ -7456,73 +4500,45 @@ class ComposerDraftServiceMock: ComposerDraftServiceProtocol, @unchecked Sendabl var clearVolatileDraftClosure: (() -> Void)? func clearVolatileDraft() { - clearVolatileDraftCallsCount += 1 + clearVolatileDraftCallsCountLock.withLock { clearVolatileDraftUnderlyingCallsCount += 1 } clearVolatileDraftClosure?() } //MARK: - getReply - var getReplyEventIDUnderlyingCallsCount = 0 + private let getReplyEventIDCallsCountLock = NSLock() + private var getReplyEventIDUnderlyingCallsCount = 0 var getReplyEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return getReplyEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getReplyEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getReplyEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getReplyEventIDUnderlyingCallsCount = newValue - } - } - } + get { getReplyEventIDCallsCountLock.withLock { getReplyEventIDUnderlyingCallsCount } } + set { getReplyEventIDCallsCountLock.withLock { getReplyEventIDUnderlyingCallsCount = newValue } } } var getReplyEventIDCalled: Bool { return getReplyEventIDCallsCount > 0 } - var getReplyEventIDReceivedEventID: String? - var getReplyEventIDReceivedInvocations: [String] = [] + private let getReplyEventIDReceivedEventIDLock = NSLock() + private var getReplyEventIDUnderlyingReceivedEventID: String? + var getReplyEventIDReceivedEventID: String? { + get { getReplyEventIDReceivedEventIDLock.withLock { getReplyEventIDUnderlyingReceivedEventID } } + set { getReplyEventIDReceivedEventIDLock.withLock { getReplyEventIDUnderlyingReceivedEventID = newValue } } + } + private let getReplyEventIDReceivedInvocationsLock = NSLock() + private var getReplyEventIDUnderlyingReceivedInvocations: [String] = [] + var getReplyEventIDReceivedInvocations: [String] { + get { getReplyEventIDReceivedInvocationsLock.withLock { getReplyEventIDUnderlyingReceivedInvocations } } + set { getReplyEventIDReceivedInvocationsLock.withLock { getReplyEventIDUnderlyingReceivedInvocations = newValue } } + } - var getReplyEventIDUnderlyingReturnValue: Result! + private let getReplyEventIDReturnValueLock = NSLock() + private var getReplyEventIDUnderlyingReturnValue: Result! var getReplyEventIDReturnValue: Result! { - get { - if Thread.isMainThread { - return getReplyEventIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = getReplyEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getReplyEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getReplyEventIDUnderlyingReturnValue = newValue - } - } - } + get { getReplyEventIDReturnValueLock.withLock { getReplyEventIDUnderlyingReturnValue } } + set { getReplyEventIDReturnValueLock.withLock { getReplyEventIDUnderlyingReturnValue = newValue } } } var getReplyEventIDClosure: ((String) async -> Result)? func getReply(eventID: String) async -> Result { - getReplyEventIDCallsCount += 1 + getReplyEventIDCallsCountLock.withLock { getReplyEventIDUnderlyingCallsCount += 1 } getReplyEventIDReceivedEventID = eventID - DispatchQueue.main.async { - self.getReplyEventIDReceivedInvocations.append(eventID) - } + getReplyEventIDReceivedInvocationsLock.withLock { getReplyEventIDUnderlyingReceivedInvocations.append(eventID) } if let getReplyEventIDClosure = getReplyEventIDClosure { return await getReplyEventIDClosure(eventID) } else { @@ -7544,111 +4560,73 @@ class ElementCallServiceMock: ElementCallServiceProtocol, @unchecked Sendable { //MARK: - setClientProxy - var setClientProxyUnderlyingCallsCount = 0 + private let setClientProxyCallsCountLock = NSLock() + private var setClientProxyUnderlyingCallsCount = 0 var setClientProxyCallsCount: Int { - get { - if Thread.isMainThread { - return setClientProxyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setClientProxyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setClientProxyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setClientProxyUnderlyingCallsCount = newValue - } - } - } + get { setClientProxyCallsCountLock.withLock { setClientProxyUnderlyingCallsCount } } + set { setClientProxyCallsCountLock.withLock { setClientProxyUnderlyingCallsCount = newValue } } } var setClientProxyCalled: Bool { return setClientProxyCallsCount > 0 } - var setClientProxyReceivedClientProxy: ClientProxyProtocol? - var setClientProxyReceivedInvocations: [ClientProxyProtocol] = [] + private let setClientProxyReceivedClientProxyLock = NSLock() + private var setClientProxyUnderlyingReceivedClientProxy: ClientProxyProtocol? + var setClientProxyReceivedClientProxy: ClientProxyProtocol? { + get { setClientProxyReceivedClientProxyLock.withLock { setClientProxyUnderlyingReceivedClientProxy } } + set { setClientProxyReceivedClientProxyLock.withLock { setClientProxyUnderlyingReceivedClientProxy = newValue } } + } + private let setClientProxyReceivedInvocationsLock = NSLock() + private var setClientProxyUnderlyingReceivedInvocations: [ClientProxyProtocol] = [] + var setClientProxyReceivedInvocations: [ClientProxyProtocol] { + get { setClientProxyReceivedInvocationsLock.withLock { setClientProxyUnderlyingReceivedInvocations } } + set { setClientProxyReceivedInvocationsLock.withLock { setClientProxyUnderlyingReceivedInvocations = newValue } } + } var setClientProxyClosure: ((ClientProxyProtocol) -> Void)? func setClientProxy(_ clientProxy: ClientProxyProtocol) { - setClientProxyCallsCount += 1 + setClientProxyCallsCountLock.withLock { setClientProxyUnderlyingCallsCount += 1 } setClientProxyReceivedClientProxy = clientProxy - DispatchQueue.main.async { - self.setClientProxyReceivedInvocations.append(clientProxy) - } + setClientProxyReceivedInvocationsLock.withLock { setClientProxyUnderlyingReceivedInvocations.append(clientProxy) } setClientProxyClosure?(clientProxy) } //MARK: - setupCallSession - var setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount = 0 + private let setupCallSessionRoomIDRoomDisplayNameCallsCountLock = NSLock() + private var setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount = 0 var setupCallSessionRoomIDRoomDisplayNameCallsCount: Int { - get { - if Thread.isMainThread { - return setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount = newValue - } - } - } + get { setupCallSessionRoomIDRoomDisplayNameCallsCountLock.withLock { setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount } } + set { setupCallSessionRoomIDRoomDisplayNameCallsCountLock.withLock { setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount = newValue } } } var setupCallSessionRoomIDRoomDisplayNameCalled: Bool { return setupCallSessionRoomIDRoomDisplayNameCallsCount > 0 } - var setupCallSessionRoomIDRoomDisplayNameReceivedArguments: (roomID: String, roomDisplayName: String)? - var setupCallSessionRoomIDRoomDisplayNameReceivedInvocations: [(roomID: String, roomDisplayName: String)] = [] + private let setupCallSessionRoomIDRoomDisplayNameReceivedArgumentsLock = NSLock() + private var setupCallSessionRoomIDRoomDisplayNameUnderlyingReceivedArguments: (roomID: String, roomDisplayName: String)? + var setupCallSessionRoomIDRoomDisplayNameReceivedArguments: (roomID: String, roomDisplayName: String)? { + get { setupCallSessionRoomIDRoomDisplayNameReceivedArgumentsLock.withLock { setupCallSessionRoomIDRoomDisplayNameUnderlyingReceivedArguments } } + set { setupCallSessionRoomIDRoomDisplayNameReceivedArgumentsLock.withLock { setupCallSessionRoomIDRoomDisplayNameUnderlyingReceivedArguments = newValue } } + } + private let setupCallSessionRoomIDRoomDisplayNameReceivedInvocationsLock = NSLock() + private var setupCallSessionRoomIDRoomDisplayNameUnderlyingReceivedInvocations: [(roomID: String, roomDisplayName: String)] = [] + var setupCallSessionRoomIDRoomDisplayNameReceivedInvocations: [(roomID: String, roomDisplayName: String)] { + get { setupCallSessionRoomIDRoomDisplayNameReceivedInvocationsLock.withLock { setupCallSessionRoomIDRoomDisplayNameUnderlyingReceivedInvocations } } + set { setupCallSessionRoomIDRoomDisplayNameReceivedInvocationsLock.withLock { setupCallSessionRoomIDRoomDisplayNameUnderlyingReceivedInvocations = newValue } } + } var setupCallSessionRoomIDRoomDisplayNameClosure: ((String, String) async -> Void)? func setupCallSession(roomID: String, roomDisplayName: String) async { - setupCallSessionRoomIDRoomDisplayNameCallsCount += 1 + setupCallSessionRoomIDRoomDisplayNameCallsCountLock.withLock { setupCallSessionRoomIDRoomDisplayNameUnderlyingCallsCount += 1 } setupCallSessionRoomIDRoomDisplayNameReceivedArguments = (roomID: roomID, roomDisplayName: roomDisplayName) - DispatchQueue.main.async { - self.setupCallSessionRoomIDRoomDisplayNameReceivedInvocations.append((roomID: roomID, roomDisplayName: roomDisplayName)) - } + setupCallSessionRoomIDRoomDisplayNameReceivedInvocationsLock.withLock { setupCallSessionRoomIDRoomDisplayNameUnderlyingReceivedInvocations.append((roomID: roomID, roomDisplayName: roomDisplayName)) } await setupCallSessionRoomIDRoomDisplayNameClosure?(roomID, roomDisplayName) } //MARK: - tearDownCallSession - var tearDownCallSessionUnderlyingCallsCount = 0 + private let tearDownCallSessionCallsCountLock = NSLock() + private var tearDownCallSessionUnderlyingCallsCount = 0 var tearDownCallSessionCallsCount: Int { - get { - if Thread.isMainThread { - return tearDownCallSessionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = tearDownCallSessionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - tearDownCallSessionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - tearDownCallSessionUnderlyingCallsCount = newValue - } - } - } + get { tearDownCallSessionCallsCountLock.withLock { tearDownCallSessionUnderlyingCallsCount } } + set { tearDownCallSessionCallsCountLock.withLock { tearDownCallSessionUnderlyingCallsCount = newValue } } } var tearDownCallSessionCalled: Bool { return tearDownCallSessionCallsCount > 0 @@ -7656,48 +4634,38 @@ class ElementCallServiceMock: ElementCallServiceProtocol, @unchecked Sendable { var tearDownCallSessionClosure: (() -> Void)? func tearDownCallSession() { - tearDownCallSessionCallsCount += 1 + tearDownCallSessionCallsCountLock.withLock { tearDownCallSessionUnderlyingCallsCount += 1 } tearDownCallSessionClosure?() } //MARK: - setAudioEnabled - var setAudioEnabledRoomIDUnderlyingCallsCount = 0 + private let setAudioEnabledRoomIDCallsCountLock = NSLock() + private var setAudioEnabledRoomIDUnderlyingCallsCount = 0 var setAudioEnabledRoomIDCallsCount: Int { - get { - if Thread.isMainThread { - return setAudioEnabledRoomIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setAudioEnabledRoomIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setAudioEnabledRoomIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setAudioEnabledRoomIDUnderlyingCallsCount = newValue - } - } - } + get { setAudioEnabledRoomIDCallsCountLock.withLock { setAudioEnabledRoomIDUnderlyingCallsCount } } + set { setAudioEnabledRoomIDCallsCountLock.withLock { setAudioEnabledRoomIDUnderlyingCallsCount = newValue } } } var setAudioEnabledRoomIDCalled: Bool { return setAudioEnabledRoomIDCallsCount > 0 } - var setAudioEnabledRoomIDReceivedArguments: (enabled: Bool, roomID: String)? - var setAudioEnabledRoomIDReceivedInvocations: [(enabled: Bool, roomID: String)] = [] + private let setAudioEnabledRoomIDReceivedArgumentsLock = NSLock() + private var setAudioEnabledRoomIDUnderlyingReceivedArguments: (enabled: Bool, roomID: String)? + var setAudioEnabledRoomIDReceivedArguments: (enabled: Bool, roomID: String)? { + get { setAudioEnabledRoomIDReceivedArgumentsLock.withLock { setAudioEnabledRoomIDUnderlyingReceivedArguments } } + set { setAudioEnabledRoomIDReceivedArgumentsLock.withLock { setAudioEnabledRoomIDUnderlyingReceivedArguments = newValue } } + } + private let setAudioEnabledRoomIDReceivedInvocationsLock = NSLock() + private var setAudioEnabledRoomIDUnderlyingReceivedInvocations: [(enabled: Bool, roomID: String)] = [] + var setAudioEnabledRoomIDReceivedInvocations: [(enabled: Bool, roomID: String)] { + get { setAudioEnabledRoomIDReceivedInvocationsLock.withLock { setAudioEnabledRoomIDUnderlyingReceivedInvocations } } + set { setAudioEnabledRoomIDReceivedInvocationsLock.withLock { setAudioEnabledRoomIDUnderlyingReceivedInvocations = newValue } } + } var setAudioEnabledRoomIDClosure: ((Bool, String) -> Void)? func setAudioEnabled(_ enabled: Bool, roomID: String) { - setAudioEnabledRoomIDCallsCount += 1 + setAudioEnabledRoomIDCallsCountLock.withLock { setAudioEnabledRoomIDUnderlyingCallsCount += 1 } setAudioEnabledRoomIDReceivedArguments = (enabled: enabled, roomID: roomID) - DispatchQueue.main.async { - self.setAudioEnabledRoomIDReceivedInvocations.append((enabled: enabled, roomID: roomID)) - } + setAudioEnabledRoomIDReceivedInvocationsLock.withLock { setAudioEnabledRoomIDUnderlyingReceivedInvocations.append((enabled: enabled, roomID: roomID)) } setAudioEnabledRoomIDClosure?(enabled, roomID) } } @@ -7720,68 +4688,40 @@ class ElementCallWidgetDriverMock: ElementCallWidgetDriverProtocol, @unchecked S //MARK: - start - var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount = 0 + private let startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationCallsCountLock = NSLock() + private var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount = 0 var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationCallsCount: Int { - get { - if Thread.isMainThread { - return startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount = newValue - } - } - } + get { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationCallsCountLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount } } + set { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationCallsCountLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount = newValue } } } var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationCalled: Bool { return startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationCallsCount > 0 } - var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedArguments: (baseURL: URL, clientID: String, colorScheme: ColorScheme, voiceOnly: Bool, rageshakeURL: String?, analyticsConfiguration: ElementCallAnalyticsConfiguration?)? - var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedInvocations: [(baseURL: URL, clientID: String, colorScheme: ColorScheme, voiceOnly: Bool, rageshakeURL: String?, analyticsConfiguration: ElementCallAnalyticsConfiguration?)] = [] + private let startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedArgumentsLock = NSLock() + private var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReceivedArguments: (baseURL: URL, clientID: String, colorScheme: ColorScheme, voiceOnly: Bool, rageshakeURL: String?, analyticsConfiguration: ElementCallAnalyticsConfiguration?)? + var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedArguments: (baseURL: URL, clientID: String, colorScheme: ColorScheme, voiceOnly: Bool, rageshakeURL: String?, analyticsConfiguration: ElementCallAnalyticsConfiguration?)? { + get { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedArgumentsLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReceivedArguments } } + set { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedArgumentsLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReceivedArguments = newValue } } + } + private let startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedInvocationsLock = NSLock() + private var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReceivedInvocations: [(baseURL: URL, clientID: String, colorScheme: ColorScheme, voiceOnly: Bool, rageshakeURL: String?, analyticsConfiguration: ElementCallAnalyticsConfiguration?)] = [] + var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedInvocations: [(baseURL: URL, clientID: String, colorScheme: ColorScheme, voiceOnly: Bool, rageshakeURL: String?, analyticsConfiguration: ElementCallAnalyticsConfiguration?)] { + get { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedInvocationsLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReceivedInvocations } } + set { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedInvocationsLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReceivedInvocations = newValue } } + } - var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue: Result! + private let startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReturnValueLock = NSLock() + private var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue: Result! var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReturnValue: Result! { - get { - if Thread.isMainThread { - return startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue = newValue - } - } - } + get { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReturnValueLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue } } + set { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReturnValueLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReturnValue = newValue } } } var startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationClosure: ((URL, String, ColorScheme, Bool, String?, ElementCallAnalyticsConfiguration?) async -> Result)? func start(baseURL: URL, clientID: String, colorScheme: ColorScheme, voiceOnly: Bool, rageshakeURL: String?, analyticsConfiguration: ElementCallAnalyticsConfiguration?) async -> Result { - startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationCallsCount += 1 + startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationCallsCountLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingCallsCount += 1 } startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedArguments = (baseURL: baseURL, clientID: clientID, colorScheme: colorScheme, voiceOnly: voiceOnly, rageshakeURL: rageshakeURL, analyticsConfiguration: analyticsConfiguration) - DispatchQueue.main.async { - self.startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedInvocations.append((baseURL: baseURL, clientID: clientID, colorScheme: colorScheme, voiceOnly: voiceOnly, rageshakeURL: rageshakeURL, analyticsConfiguration: analyticsConfiguration)) - } + startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationReceivedInvocationsLock.withLock { startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationUnderlyingReceivedInvocations.append((baseURL: baseURL, clientID: clientID, colorScheme: colorScheme, voiceOnly: voiceOnly, rageshakeURL: rageshakeURL, analyticsConfiguration: analyticsConfiguration)) } if let startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationClosure = startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationClosure { return await startBaseURLClientIDColorSchemeVoiceOnlyRageshakeURLAnalyticsConfigurationClosure(baseURL, clientID, colorScheme, voiceOnly, rageshakeURL, analyticsConfiguration) } else { @@ -7790,69 +4730,41 @@ class ElementCallWidgetDriverMock: ElementCallWidgetDriverProtocol, @unchecked S } //MARK: - handleMessage - var handleMessageUnderlyingCallsCount = 0 + private let handleMessageCallsCountLock = NSLock() + private var handleMessageUnderlyingCallsCount = 0 var handleMessageCallsCount: Int { - get { - if Thread.isMainThread { - return handleMessageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = handleMessageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - handleMessageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - handleMessageUnderlyingCallsCount = newValue - } - } - } + get { handleMessageCallsCountLock.withLock { handleMessageUnderlyingCallsCount } } + set { handleMessageCallsCountLock.withLock { handleMessageUnderlyingCallsCount = newValue } } } var handleMessageCalled: Bool { return handleMessageCallsCount > 0 } - var handleMessageReceivedMessage: String? - var handleMessageReceivedInvocations: [String] = [] + private let handleMessageReceivedMessageLock = NSLock() + private var handleMessageUnderlyingReceivedMessage: String? + var handleMessageReceivedMessage: String? { + get { handleMessageReceivedMessageLock.withLock { handleMessageUnderlyingReceivedMessage } } + set { handleMessageReceivedMessageLock.withLock { handleMessageUnderlyingReceivedMessage = newValue } } + } + private let handleMessageReceivedInvocationsLock = NSLock() + private var handleMessageUnderlyingReceivedInvocations: [String] = [] + var handleMessageReceivedInvocations: [String] { + get { handleMessageReceivedInvocationsLock.withLock { handleMessageUnderlyingReceivedInvocations } } + set { handleMessageReceivedInvocationsLock.withLock { handleMessageUnderlyingReceivedInvocations = newValue } } + } - var handleMessageUnderlyingReturnValue: Result! + private let handleMessageReturnValueLock = NSLock() + private var handleMessageUnderlyingReturnValue: Result! var handleMessageReturnValue: Result! { - get { - if Thread.isMainThread { - return handleMessageUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = handleMessageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - handleMessageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - handleMessageUnderlyingReturnValue = newValue - } - } - } + get { handleMessageReturnValueLock.withLock { handleMessageUnderlyingReturnValue } } + set { handleMessageReturnValueLock.withLock { handleMessageUnderlyingReturnValue = newValue } } } var handleMessageClosure: ((String) async -> Result)? @discardableResult func handleMessage(_ message: String) async -> Result { - handleMessageCallsCount += 1 + handleMessageCallsCountLock.withLock { handleMessageUnderlyingCallsCount += 1 } handleMessageReceivedMessage = message - DispatchQueue.main.async { - self.handleMessageReceivedInvocations.append(message) - } + handleMessageReceivedInvocationsLock.withLock { handleMessageUnderlyingReceivedInvocations.append(message) } if let handleMessageClosure = handleMessageClosure { return await handleMessageClosure(message) } else { @@ -7864,29 +4776,11 @@ class HomeserverCapabilitiesProxyMock: HomeserverCapabilitiesProxyProtocol, @unc //MARK: - refresh - var refreshUnderlyingCallsCount = 0 + private let refreshCallsCountLock = NSLock() + private var refreshUnderlyingCallsCount = 0 var refreshCallsCount: Int { - get { - if Thread.isMainThread { - return refreshUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = refreshUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - refreshUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - refreshUnderlyingCallsCount = newValue - } - } - } + get { refreshCallsCountLock.withLock { refreshUnderlyingCallsCount } } + set { refreshCallsCountLock.withLock { refreshUnderlyingCallsCount = newValue } } } var refreshCalled: Bool { return refreshCallsCount > 0 @@ -7894,67 +4788,31 @@ class HomeserverCapabilitiesProxyMock: HomeserverCapabilitiesProxyProtocol, @unc var refreshClosure: (() async -> Void)? func refresh() async { - refreshCallsCount += 1 + refreshCallsCountLock.withLock { refreshUnderlyingCallsCount += 1 } await refreshClosure?() } //MARK: - canChangeAvatar - var canChangeAvatarUnderlyingCallsCount = 0 + private let canChangeAvatarCallsCountLock = NSLock() + private var canChangeAvatarUnderlyingCallsCount = 0 var canChangeAvatarCallsCount: Int { - get { - if Thread.isMainThread { - return canChangeAvatarUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canChangeAvatarUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeAvatarUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canChangeAvatarUnderlyingCallsCount = newValue - } - } - } + get { canChangeAvatarCallsCountLock.withLock { canChangeAvatarUnderlyingCallsCount } } + set { canChangeAvatarCallsCountLock.withLock { canChangeAvatarUnderlyingCallsCount = newValue } } } var canChangeAvatarCalled: Bool { return canChangeAvatarCallsCount > 0 } - var canChangeAvatarUnderlyingReturnValue: Bool! + private let canChangeAvatarReturnValueLock = NSLock() + private var canChangeAvatarUnderlyingReturnValue: Bool! var canChangeAvatarReturnValue: Bool! { - get { - if Thread.isMainThread { - return canChangeAvatarUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canChangeAvatarUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeAvatarUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canChangeAvatarUnderlyingReturnValue = newValue - } - } - } + get { canChangeAvatarReturnValueLock.withLock { canChangeAvatarUnderlyingReturnValue } } + set { canChangeAvatarReturnValueLock.withLock { canChangeAvatarUnderlyingReturnValue = newValue } } } var canChangeAvatarClosure: (() async -> Bool)? func canChangeAvatar() async -> Bool { - canChangeAvatarCallsCount += 1 + canChangeAvatarCallsCountLock.withLock { canChangeAvatarUnderlyingCallsCount += 1 } if let canChangeAvatarClosure = canChangeAvatarClosure { return await canChangeAvatarClosure() } else { @@ -7963,62 +4821,26 @@ class HomeserverCapabilitiesProxyMock: HomeserverCapabilitiesProxyProtocol, @unc } //MARK: - canChangeDisplayName - var canChangeDisplayNameUnderlyingCallsCount = 0 + private let canChangeDisplayNameCallsCountLock = NSLock() + private var canChangeDisplayNameUnderlyingCallsCount = 0 var canChangeDisplayNameCallsCount: Int { - get { - if Thread.isMainThread { - return canChangeDisplayNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canChangeDisplayNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeDisplayNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canChangeDisplayNameUnderlyingCallsCount = newValue - } - } - } + get { canChangeDisplayNameCallsCountLock.withLock { canChangeDisplayNameUnderlyingCallsCount } } + set { canChangeDisplayNameCallsCountLock.withLock { canChangeDisplayNameUnderlyingCallsCount = newValue } } } var canChangeDisplayNameCalled: Bool { return canChangeDisplayNameCallsCount > 0 } - var canChangeDisplayNameUnderlyingReturnValue: Bool! + private let canChangeDisplayNameReturnValueLock = NSLock() + private var canChangeDisplayNameUnderlyingReturnValue: Bool! var canChangeDisplayNameReturnValue: Bool! { - get { - if Thread.isMainThread { - return canChangeDisplayNameUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canChangeDisplayNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeDisplayNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canChangeDisplayNameUnderlyingReturnValue = newValue - } - } - } + get { canChangeDisplayNameReturnValueLock.withLock { canChangeDisplayNameUnderlyingReturnValue } } + set { canChangeDisplayNameReturnValueLock.withLock { canChangeDisplayNameUnderlyingReturnValue = newValue } } } var canChangeDisplayNameClosure: (() async -> Bool)? func canChangeDisplayName() async -> Bool { - canChangeDisplayNameCallsCount += 1 + canChangeDisplayNameCallsCountLock.withLock { canChangeDisplayNameUnderlyingCallsCount += 1 } if let canChangeDisplayNameClosure = canChangeDisplayNameClosure { return await canChangeDisplayNameClosure() } else { @@ -8046,62 +4868,26 @@ class InvitedRoomProxyMock: InvitedRoomProxyProtocol, @unchecked Sendable { //MARK: - rejectInvitation - var rejectInvitationUnderlyingCallsCount = 0 + private let rejectInvitationCallsCountLock = NSLock() + private var rejectInvitationUnderlyingCallsCount = 0 var rejectInvitationCallsCount: Int { - get { - if Thread.isMainThread { - return rejectInvitationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = rejectInvitationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - rejectInvitationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - rejectInvitationUnderlyingCallsCount = newValue - } - } - } + get { rejectInvitationCallsCountLock.withLock { rejectInvitationUnderlyingCallsCount } } + set { rejectInvitationCallsCountLock.withLock { rejectInvitationUnderlyingCallsCount = newValue } } } var rejectInvitationCalled: Bool { return rejectInvitationCallsCount > 0 } - var rejectInvitationUnderlyingReturnValue: Result! + private let rejectInvitationReturnValueLock = NSLock() + private var rejectInvitationUnderlyingReturnValue: Result! var rejectInvitationReturnValue: Result! { - get { - if Thread.isMainThread { - return rejectInvitationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = rejectInvitationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - rejectInvitationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - rejectInvitationUnderlyingReturnValue = newValue - } - } - } + get { rejectInvitationReturnValueLock.withLock { rejectInvitationUnderlyingReturnValue } } + set { rejectInvitationReturnValueLock.withLock { rejectInvitationUnderlyingReturnValue = newValue } } } var rejectInvitationClosure: (() async -> Result)? func rejectInvitation() async -> Result { - rejectInvitationCallsCount += 1 + rejectInvitationCallsCountLock.withLock { rejectInvitationUnderlyingCallsCount += 1 } if let rejectInvitationClosure = rejectInvitationClosure { return await rejectInvitationClosure() } else { @@ -8155,29 +4941,11 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { //MARK: - subscribeForUpdates - var subscribeForUpdatesUnderlyingCallsCount = 0 + private let subscribeForUpdatesCallsCountLock = NSLock() + private var subscribeForUpdatesUnderlyingCallsCount = 0 var subscribeForUpdatesCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeForUpdatesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeForUpdatesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeForUpdatesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeForUpdatesUnderlyingCallsCount = newValue - } - } - } + get { subscribeForUpdatesCallsCountLock.withLock { subscribeForUpdatesUnderlyingCallsCount } } + set { subscribeForUpdatesCallsCountLock.withLock { subscribeForUpdatesUnderlyingCallsCount = newValue } } } var subscribeForUpdatesCalled: Bool { return subscribeForUpdatesCallsCount > 0 @@ -8185,34 +4953,16 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { var subscribeForUpdatesClosure: (() async -> Void)? func subscribeForUpdates() async { - subscribeForUpdatesCallsCount += 1 + subscribeForUpdatesCallsCountLock.withLock { subscribeForUpdatesUnderlyingCallsCount += 1 } await subscribeForUpdatesClosure?() } //MARK: - subscribeToRoomInfoUpdates - var subscribeToRoomInfoUpdatesUnderlyingCallsCount = 0 + private let subscribeToRoomInfoUpdatesCallsCountLock = NSLock() + private var subscribeToRoomInfoUpdatesUnderlyingCallsCount = 0 var subscribeToRoomInfoUpdatesCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToRoomInfoUpdatesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToRoomInfoUpdatesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToRoomInfoUpdatesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToRoomInfoUpdatesUnderlyingCallsCount = newValue - } - } - } + get { subscribeToRoomInfoUpdatesCallsCountLock.withLock { subscribeToRoomInfoUpdatesUnderlyingCallsCount } } + set { subscribeToRoomInfoUpdatesCallsCountLock.withLock { subscribeToRoomInfoUpdatesUnderlyingCallsCount = newValue } } } var subscribeToRoomInfoUpdatesCalled: Bool { return subscribeToRoomInfoUpdatesCallsCount > 0 @@ -8220,73 +4970,45 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { var subscribeToRoomInfoUpdatesClosure: (() -> Void)? func subscribeToRoomInfoUpdates() { - subscribeToRoomInfoUpdatesCallsCount += 1 + subscribeToRoomInfoUpdatesCallsCountLock.withLock { subscribeToRoomInfoUpdatesUnderlyingCallsCount += 1 } subscribeToRoomInfoUpdatesClosure?() } //MARK: - timelineFocusedOnEvent - var timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount = 0 + private let timelineFocusedOnEventEventIDNumberOfEventsCallsCountLock = NSLock() + private var timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount = 0 var timelineFocusedOnEventEventIDNumberOfEventsCallsCount: Int { - get { - if Thread.isMainThread { - return timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount = newValue - } - } - } + get { timelineFocusedOnEventEventIDNumberOfEventsCallsCountLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount } } + set { timelineFocusedOnEventEventIDNumberOfEventsCallsCountLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount = newValue } } } var timelineFocusedOnEventEventIDNumberOfEventsCalled: Bool { return timelineFocusedOnEventEventIDNumberOfEventsCallsCount > 0 } - var timelineFocusedOnEventEventIDNumberOfEventsReceivedArguments: (eventID: String, numberOfEvents: UInt16)? - var timelineFocusedOnEventEventIDNumberOfEventsReceivedInvocations: [(eventID: String, numberOfEvents: UInt16)] = [] + private let timelineFocusedOnEventEventIDNumberOfEventsReceivedArgumentsLock = NSLock() + private var timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReceivedArguments: (eventID: String, numberOfEvents: UInt16)? + var timelineFocusedOnEventEventIDNumberOfEventsReceivedArguments: (eventID: String, numberOfEvents: UInt16)? { + get { timelineFocusedOnEventEventIDNumberOfEventsReceivedArgumentsLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReceivedArguments } } + set { timelineFocusedOnEventEventIDNumberOfEventsReceivedArgumentsLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReceivedArguments = newValue } } + } + private let timelineFocusedOnEventEventIDNumberOfEventsReceivedInvocationsLock = NSLock() + private var timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReceivedInvocations: [(eventID: String, numberOfEvents: UInt16)] = [] + var timelineFocusedOnEventEventIDNumberOfEventsReceivedInvocations: [(eventID: String, numberOfEvents: UInt16)] { + get { timelineFocusedOnEventEventIDNumberOfEventsReceivedInvocationsLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReceivedInvocations } } + set { timelineFocusedOnEventEventIDNumberOfEventsReceivedInvocationsLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReceivedInvocations = newValue } } + } - var timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReturnValue: Result! + private let timelineFocusedOnEventEventIDNumberOfEventsReturnValueLock = NSLock() + private var timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReturnValue: Result! var timelineFocusedOnEventEventIDNumberOfEventsReturnValue: Result! { - get { - if Thread.isMainThread { - return timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReturnValue = newValue - } - } - } + get { timelineFocusedOnEventEventIDNumberOfEventsReturnValueLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReturnValue } } + set { timelineFocusedOnEventEventIDNumberOfEventsReturnValueLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReturnValue = newValue } } } var timelineFocusedOnEventEventIDNumberOfEventsClosure: ((String, UInt16) async -> Result)? func timelineFocusedOnEvent(eventID: String, numberOfEvents: UInt16) async -> Result { - timelineFocusedOnEventEventIDNumberOfEventsCallsCount += 1 + timelineFocusedOnEventEventIDNumberOfEventsCallsCountLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingCallsCount += 1 } timelineFocusedOnEventEventIDNumberOfEventsReceivedArguments = (eventID: eventID, numberOfEvents: numberOfEvents) - DispatchQueue.main.async { - self.timelineFocusedOnEventEventIDNumberOfEventsReceivedInvocations.append((eventID: eventID, numberOfEvents: numberOfEvents)) - } + timelineFocusedOnEventEventIDNumberOfEventsReceivedInvocationsLock.withLock { timelineFocusedOnEventEventIDNumberOfEventsUnderlyingReceivedInvocations.append((eventID: eventID, numberOfEvents: numberOfEvents)) } if let timelineFocusedOnEventEventIDNumberOfEventsClosure = timelineFocusedOnEventEventIDNumberOfEventsClosure { return await timelineFocusedOnEventEventIDNumberOfEventsClosure(eventID, numberOfEvents) } else { @@ -8295,68 +5017,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - threadTimeline - var threadTimelineEventIDUnderlyingCallsCount = 0 + private let threadTimelineEventIDCallsCountLock = NSLock() + private var threadTimelineEventIDUnderlyingCallsCount = 0 var threadTimelineEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return threadTimelineEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = threadTimelineEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadTimelineEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - threadTimelineEventIDUnderlyingCallsCount = newValue - } - } - } + get { threadTimelineEventIDCallsCountLock.withLock { threadTimelineEventIDUnderlyingCallsCount } } + set { threadTimelineEventIDCallsCountLock.withLock { threadTimelineEventIDUnderlyingCallsCount = newValue } } } var threadTimelineEventIDCalled: Bool { return threadTimelineEventIDCallsCount > 0 } - var threadTimelineEventIDReceivedEventID: String? - var threadTimelineEventIDReceivedInvocations: [String] = [] + private let threadTimelineEventIDReceivedEventIDLock = NSLock() + private var threadTimelineEventIDUnderlyingReceivedEventID: String? + var threadTimelineEventIDReceivedEventID: String? { + get { threadTimelineEventIDReceivedEventIDLock.withLock { threadTimelineEventIDUnderlyingReceivedEventID } } + set { threadTimelineEventIDReceivedEventIDLock.withLock { threadTimelineEventIDUnderlyingReceivedEventID = newValue } } + } + private let threadTimelineEventIDReceivedInvocationsLock = NSLock() + private var threadTimelineEventIDUnderlyingReceivedInvocations: [String] = [] + var threadTimelineEventIDReceivedInvocations: [String] { + get { threadTimelineEventIDReceivedInvocationsLock.withLock { threadTimelineEventIDUnderlyingReceivedInvocations } } + set { threadTimelineEventIDReceivedInvocationsLock.withLock { threadTimelineEventIDUnderlyingReceivedInvocations = newValue } } + } - var threadTimelineEventIDUnderlyingReturnValue: Result! + private let threadTimelineEventIDReturnValueLock = NSLock() + private var threadTimelineEventIDUnderlyingReturnValue: Result! var threadTimelineEventIDReturnValue: Result! { - get { - if Thread.isMainThread { - return threadTimelineEventIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = threadTimelineEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadTimelineEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - threadTimelineEventIDUnderlyingReturnValue = newValue - } - } - } + get { threadTimelineEventIDReturnValueLock.withLock { threadTimelineEventIDUnderlyingReturnValue } } + set { threadTimelineEventIDReturnValueLock.withLock { threadTimelineEventIDUnderlyingReturnValue = newValue } } } var threadTimelineEventIDClosure: ((String) async -> Result)? func threadTimeline(eventID: String) async -> Result { - threadTimelineEventIDCallsCount += 1 + threadTimelineEventIDCallsCountLock.withLock { threadTimelineEventIDUnderlyingCallsCount += 1 } threadTimelineEventIDReceivedEventID = eventID - DispatchQueue.main.async { - self.threadTimelineEventIDReceivedInvocations.append(eventID) - } + threadTimelineEventIDReceivedInvocationsLock.withLock { threadTimelineEventIDUnderlyingReceivedInvocations.append(eventID) } if let threadTimelineEventIDClosure = threadTimelineEventIDClosure { return await threadTimelineEventIDClosure(eventID) } else { @@ -8365,62 +5059,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - threadListService - var threadListServiceUnderlyingCallsCount = 0 + private let threadListServiceCallsCountLock = NSLock() + private var threadListServiceUnderlyingCallsCount = 0 var threadListServiceCallsCount: Int { - get { - if Thread.isMainThread { - return threadListServiceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = threadListServiceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadListServiceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - threadListServiceUnderlyingCallsCount = newValue - } - } - } + get { threadListServiceCallsCountLock.withLock { threadListServiceUnderlyingCallsCount } } + set { threadListServiceCallsCountLock.withLock { threadListServiceUnderlyingCallsCount = newValue } } } var threadListServiceCalled: Bool { return threadListServiceCallsCount > 0 } - var threadListServiceUnderlyingReturnValue: RoomThreadListServiceProxyProtocol! + private let threadListServiceReturnValueLock = NSLock() + private var threadListServiceUnderlyingReturnValue: RoomThreadListServiceProxyProtocol! var threadListServiceReturnValue: RoomThreadListServiceProxyProtocol! { - get { - if Thread.isMainThread { - return threadListServiceUnderlyingReturnValue - } else { - var returnValue: RoomThreadListServiceProxyProtocol? = nil - DispatchQueue.main.sync { - returnValue = threadListServiceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadListServiceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - threadListServiceUnderlyingReturnValue = newValue - } - } - } + get { threadListServiceReturnValueLock.withLock { threadListServiceUnderlyingReturnValue } } + set { threadListServiceReturnValueLock.withLock { threadListServiceUnderlyingReturnValue = newValue } } } var threadListServiceClosure: (() -> RoomThreadListServiceProxyProtocol)? func threadListService() -> RoomThreadListServiceProxyProtocol { - threadListServiceCallsCount += 1 + threadListServiceCallsCountLock.withLock { threadListServiceUnderlyingCallsCount += 1 } if let threadListServiceClosure = threadListServiceClosure { return threadListServiceClosure() } else { @@ -8429,68 +5087,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - loadOrFetchEventDetails - var loadOrFetchEventDetailsForUnderlyingCallsCount = 0 + private let loadOrFetchEventDetailsForCallsCountLock = NSLock() + private var loadOrFetchEventDetailsForUnderlyingCallsCount = 0 var loadOrFetchEventDetailsForCallsCount: Int { - get { - if Thread.isMainThread { - return loadOrFetchEventDetailsForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadOrFetchEventDetailsForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadOrFetchEventDetailsForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadOrFetchEventDetailsForUnderlyingCallsCount = newValue - } - } - } + get { loadOrFetchEventDetailsForCallsCountLock.withLock { loadOrFetchEventDetailsForUnderlyingCallsCount } } + set { loadOrFetchEventDetailsForCallsCountLock.withLock { loadOrFetchEventDetailsForUnderlyingCallsCount = newValue } } } var loadOrFetchEventDetailsForCalled: Bool { return loadOrFetchEventDetailsForCallsCount > 0 } - var loadOrFetchEventDetailsForReceivedEventID: String? - var loadOrFetchEventDetailsForReceivedInvocations: [String] = [] + private let loadOrFetchEventDetailsForReceivedEventIDLock = NSLock() + private var loadOrFetchEventDetailsForUnderlyingReceivedEventID: String? + var loadOrFetchEventDetailsForReceivedEventID: String? { + get { loadOrFetchEventDetailsForReceivedEventIDLock.withLock { loadOrFetchEventDetailsForUnderlyingReceivedEventID } } + set { loadOrFetchEventDetailsForReceivedEventIDLock.withLock { loadOrFetchEventDetailsForUnderlyingReceivedEventID = newValue } } + } + private let loadOrFetchEventDetailsForReceivedInvocationsLock = NSLock() + private var loadOrFetchEventDetailsForUnderlyingReceivedInvocations: [String] = [] + var loadOrFetchEventDetailsForReceivedInvocations: [String] { + get { loadOrFetchEventDetailsForReceivedInvocationsLock.withLock { loadOrFetchEventDetailsForUnderlyingReceivedInvocations } } + set { loadOrFetchEventDetailsForReceivedInvocationsLock.withLock { loadOrFetchEventDetailsForUnderlyingReceivedInvocations = newValue } } + } - var loadOrFetchEventDetailsForUnderlyingReturnValue: Result! + private let loadOrFetchEventDetailsForReturnValueLock = NSLock() + private var loadOrFetchEventDetailsForUnderlyingReturnValue: Result! var loadOrFetchEventDetailsForReturnValue: Result! { - get { - if Thread.isMainThread { - return loadOrFetchEventDetailsForUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadOrFetchEventDetailsForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadOrFetchEventDetailsForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadOrFetchEventDetailsForUnderlyingReturnValue = newValue - } - } - } + get { loadOrFetchEventDetailsForReturnValueLock.withLock { loadOrFetchEventDetailsForUnderlyingReturnValue } } + set { loadOrFetchEventDetailsForReturnValueLock.withLock { loadOrFetchEventDetailsForUnderlyingReturnValue = newValue } } } var loadOrFetchEventDetailsForClosure: ((String) async -> Result)? func loadOrFetchEventDetails(for eventID: String) async -> Result { - loadOrFetchEventDetailsForCallsCount += 1 + loadOrFetchEventDetailsForCallsCountLock.withLock { loadOrFetchEventDetailsForUnderlyingCallsCount += 1 } loadOrFetchEventDetailsForReceivedEventID = eventID - DispatchQueue.main.async { - self.loadOrFetchEventDetailsForReceivedInvocations.append(eventID) - } + loadOrFetchEventDetailsForReceivedInvocationsLock.withLock { loadOrFetchEventDetailsForUnderlyingReceivedInvocations.append(eventID) } if let loadOrFetchEventDetailsForClosure = loadOrFetchEventDetailsForClosure { return await loadOrFetchEventDetailsForClosure(eventID) } else { @@ -8499,68 +5129,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - messageFilteredTimeline - var messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount = 0 + private let messageFilteredTimelineFocusAllowedMessageTypesPresentationCallsCountLock = NSLock() + private var messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount = 0 var messageFilteredTimelineFocusAllowedMessageTypesPresentationCallsCount: Int { - get { - if Thread.isMainThread { - return messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount = newValue - } - } - } + get { messageFilteredTimelineFocusAllowedMessageTypesPresentationCallsCountLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount } } + set { messageFilteredTimelineFocusAllowedMessageTypesPresentationCallsCountLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount = newValue } } } var messageFilteredTimelineFocusAllowedMessageTypesPresentationCalled: Bool { return messageFilteredTimelineFocusAllowedMessageTypesPresentationCallsCount > 0 } - var messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedArguments: (focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation)? - var messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedInvocations: [(focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation)] = [] + private let messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedArgumentsLock = NSLock() + private var messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReceivedArguments: (focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation)? + var messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedArguments: (focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation)? { + get { messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedArgumentsLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReceivedArguments } } + set { messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedArgumentsLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReceivedArguments = newValue } } + } + private let messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedInvocationsLock = NSLock() + private var messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReceivedInvocations: [(focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation)] = [] + var messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedInvocations: [(focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation)] { + get { messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedInvocationsLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReceivedInvocations } } + set { messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedInvocationsLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReceivedInvocations = newValue } } + } - var messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReturnValue: Result! + private let messageFilteredTimelineFocusAllowedMessageTypesPresentationReturnValueLock = NSLock() + private var messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReturnValue: Result! var messageFilteredTimelineFocusAllowedMessageTypesPresentationReturnValue: Result! { - get { - if Thread.isMainThread { - return messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReturnValue = newValue - } - } - } + get { messageFilteredTimelineFocusAllowedMessageTypesPresentationReturnValueLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReturnValue } } + set { messageFilteredTimelineFocusAllowedMessageTypesPresentationReturnValueLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReturnValue = newValue } } } var messageFilteredTimelineFocusAllowedMessageTypesPresentationClosure: ((TimelineFocus, [TimelineAllowedMessageType], TimelineKind.MediaPresentation) async -> Result)? func messageFilteredTimeline(focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation) async -> Result { - messageFilteredTimelineFocusAllowedMessageTypesPresentationCallsCount += 1 + messageFilteredTimelineFocusAllowedMessageTypesPresentationCallsCountLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingCallsCount += 1 } messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedArguments = (focus: focus, allowedMessageTypes: allowedMessageTypes, presentation: presentation) - DispatchQueue.main.async { - self.messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedInvocations.append((focus: focus, allowedMessageTypes: allowedMessageTypes, presentation: presentation)) - } + messageFilteredTimelineFocusAllowedMessageTypesPresentationReceivedInvocationsLock.withLock { messageFilteredTimelineFocusAllowedMessageTypesPresentationUnderlyingReceivedInvocations.append((focus: focus, allowedMessageTypes: allowedMessageTypes, presentation: presentation)) } if let messageFilteredTimelineFocusAllowedMessageTypesPresentationClosure = messageFilteredTimelineFocusAllowedMessageTypesPresentationClosure { return await messageFilteredTimelineFocusAllowedMessageTypesPresentationClosure(focus, allowedMessageTypes, presentation) } else { @@ -8569,62 +5171,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - pinnedEventsTimeline - var pinnedEventsTimelineUnderlyingCallsCount = 0 + private let pinnedEventsTimelineCallsCountLock = NSLock() + private var pinnedEventsTimelineUnderlyingCallsCount = 0 var pinnedEventsTimelineCallsCount: Int { - get { - if Thread.isMainThread { - return pinnedEventsTimelineUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pinnedEventsTimelineUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinnedEventsTimelineUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pinnedEventsTimelineUnderlyingCallsCount = newValue - } - } - } + get { pinnedEventsTimelineCallsCountLock.withLock { pinnedEventsTimelineUnderlyingCallsCount } } + set { pinnedEventsTimelineCallsCountLock.withLock { pinnedEventsTimelineUnderlyingCallsCount = newValue } } } var pinnedEventsTimelineCalled: Bool { return pinnedEventsTimelineCallsCount > 0 } - var pinnedEventsTimelineUnderlyingReturnValue: Result! + private let pinnedEventsTimelineReturnValueLock = NSLock() + private var pinnedEventsTimelineUnderlyingReturnValue: Result! var pinnedEventsTimelineReturnValue: Result! { - get { - if Thread.isMainThread { - return pinnedEventsTimelineUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = pinnedEventsTimelineUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinnedEventsTimelineUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - pinnedEventsTimelineUnderlyingReturnValue = newValue - } - } - } + get { pinnedEventsTimelineReturnValueLock.withLock { pinnedEventsTimelineUnderlyingReturnValue } } + set { pinnedEventsTimelineReturnValueLock.withLock { pinnedEventsTimelineUnderlyingReturnValue = newValue } } } var pinnedEventsTimelineClosure: (() async -> Result)? func pinnedEventsTimeline() async -> Result { - pinnedEventsTimelineCallsCount += 1 + pinnedEventsTimelineCallsCountLock.withLock { pinnedEventsTimelineUnderlyingCallsCount += 1 } if let pinnedEventsTimelineClosure = pinnedEventsTimelineClosure { return await pinnedEventsTimelineClosure() } else { @@ -8633,62 +5199,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - enableEncryption - var enableEncryptionUnderlyingCallsCount = 0 + private let enableEncryptionCallsCountLock = NSLock() + private var enableEncryptionUnderlyingCallsCount = 0 var enableEncryptionCallsCount: Int { - get { - if Thread.isMainThread { - return enableEncryptionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableEncryptionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableEncryptionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableEncryptionUnderlyingCallsCount = newValue - } - } - } + get { enableEncryptionCallsCountLock.withLock { enableEncryptionUnderlyingCallsCount } } + set { enableEncryptionCallsCountLock.withLock { enableEncryptionUnderlyingCallsCount = newValue } } } var enableEncryptionCalled: Bool { return enableEncryptionCallsCount > 0 } - var enableEncryptionUnderlyingReturnValue: Result! + private let enableEncryptionReturnValueLock = NSLock() + private var enableEncryptionUnderlyingReturnValue: Result! var enableEncryptionReturnValue: Result! { - get { - if Thread.isMainThread { - return enableEncryptionUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = enableEncryptionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableEncryptionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - enableEncryptionUnderlyingReturnValue = newValue - } - } - } + get { enableEncryptionReturnValueLock.withLock { enableEncryptionUnderlyingReturnValue } } + set { enableEncryptionReturnValueLock.withLock { enableEncryptionUnderlyingReturnValue = newValue } } } var enableEncryptionClosure: (() async -> Result)? func enableEncryption() async -> Result { - enableEncryptionCallsCount += 1 + enableEncryptionCallsCountLock.withLock { enableEncryptionUnderlyingCallsCount += 1 } if let enableEncryptionClosure = enableEncryptionClosure { return await enableEncryptionClosure() } else { @@ -8697,68 +5227,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - redact - var redactUnderlyingCallsCount = 0 + private let redactCallsCountLock = NSLock() + private var redactUnderlyingCallsCount = 0 var redactCallsCount: Int { - get { - if Thread.isMainThread { - return redactUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = redactUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - redactUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - redactUnderlyingCallsCount = newValue - } - } - } + get { redactCallsCountLock.withLock { redactUnderlyingCallsCount } } + set { redactCallsCountLock.withLock { redactUnderlyingCallsCount = newValue } } } var redactCalled: Bool { return redactCallsCount > 0 } - var redactReceivedEventID: String? - var redactReceivedInvocations: [String] = [] + private let redactReceivedEventIDLock = NSLock() + private var redactUnderlyingReceivedEventID: String? + var redactReceivedEventID: String? { + get { redactReceivedEventIDLock.withLock { redactUnderlyingReceivedEventID } } + set { redactReceivedEventIDLock.withLock { redactUnderlyingReceivedEventID = newValue } } + } + private let redactReceivedInvocationsLock = NSLock() + private var redactUnderlyingReceivedInvocations: [String] = [] + var redactReceivedInvocations: [String] { + get { redactReceivedInvocationsLock.withLock { redactUnderlyingReceivedInvocations } } + set { redactReceivedInvocationsLock.withLock { redactUnderlyingReceivedInvocations = newValue } } + } - var redactUnderlyingReturnValue: Result! + private let redactReturnValueLock = NSLock() + private var redactUnderlyingReturnValue: Result! var redactReturnValue: Result! { - get { - if Thread.isMainThread { - return redactUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = redactUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - redactUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - redactUnderlyingReturnValue = newValue - } - } - } + get { redactReturnValueLock.withLock { redactUnderlyingReturnValue } } + set { redactReturnValueLock.withLock { redactUnderlyingReturnValue = newValue } } } var redactClosure: ((String) async -> Result)? func redact(_ eventID: String) async -> Result { - redactCallsCount += 1 + redactCallsCountLock.withLock { redactUnderlyingCallsCount += 1 } redactReceivedEventID = eventID - DispatchQueue.main.async { - self.redactReceivedInvocations.append(eventID) - } + redactReceivedInvocationsLock.withLock { redactUnderlyingReceivedInvocations.append(eventID) } if let redactClosure = redactClosure { return await redactClosure(eventID) } else { @@ -8767,68 +5269,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - reportContent - var reportContentReasonUnderlyingCallsCount = 0 + private let reportContentReasonCallsCountLock = NSLock() + private var reportContentReasonUnderlyingCallsCount = 0 var reportContentReasonCallsCount: Int { - get { - if Thread.isMainThread { - return reportContentReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = reportContentReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportContentReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - reportContentReasonUnderlyingCallsCount = newValue - } - } - } + get { reportContentReasonCallsCountLock.withLock { reportContentReasonUnderlyingCallsCount } } + set { reportContentReasonCallsCountLock.withLock { reportContentReasonUnderlyingCallsCount = newValue } } } var reportContentReasonCalled: Bool { return reportContentReasonCallsCount > 0 } - var reportContentReasonReceivedArguments: (eventID: String, reason: String?)? - var reportContentReasonReceivedInvocations: [(eventID: String, reason: String?)] = [] + private let reportContentReasonReceivedArgumentsLock = NSLock() + private var reportContentReasonUnderlyingReceivedArguments: (eventID: String, reason: String?)? + var reportContentReasonReceivedArguments: (eventID: String, reason: String?)? { + get { reportContentReasonReceivedArgumentsLock.withLock { reportContentReasonUnderlyingReceivedArguments } } + set { reportContentReasonReceivedArgumentsLock.withLock { reportContentReasonUnderlyingReceivedArguments = newValue } } + } + private let reportContentReasonReceivedInvocationsLock = NSLock() + private var reportContentReasonUnderlyingReceivedInvocations: [(eventID: String, reason: String?)] = [] + var reportContentReasonReceivedInvocations: [(eventID: String, reason: String?)] { + get { reportContentReasonReceivedInvocationsLock.withLock { reportContentReasonUnderlyingReceivedInvocations } } + set { reportContentReasonReceivedInvocationsLock.withLock { reportContentReasonUnderlyingReceivedInvocations = newValue } } + } - var reportContentReasonUnderlyingReturnValue: Result! + private let reportContentReasonReturnValueLock = NSLock() + private var reportContentReasonUnderlyingReturnValue: Result! var reportContentReasonReturnValue: Result! { - get { - if Thread.isMainThread { - return reportContentReasonUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = reportContentReasonUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportContentReasonUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - reportContentReasonUnderlyingReturnValue = newValue - } - } - } + get { reportContentReasonReturnValueLock.withLock { reportContentReasonUnderlyingReturnValue } } + set { reportContentReasonReturnValueLock.withLock { reportContentReasonUnderlyingReturnValue = newValue } } } var reportContentReasonClosure: ((String, String?) async -> Result)? func reportContent(_ eventID: String, reason: String?) async -> Result { - reportContentReasonCallsCount += 1 + reportContentReasonCallsCountLock.withLock { reportContentReasonUnderlyingCallsCount += 1 } reportContentReasonReceivedArguments = (eventID: eventID, reason: reason) - DispatchQueue.main.async { - self.reportContentReasonReceivedInvocations.append((eventID: eventID, reason: reason)) - } + reportContentReasonReceivedInvocationsLock.withLock { reportContentReasonUnderlyingReceivedInvocations.append((eventID: eventID, reason: reason)) } if let reportContentReasonClosure = reportContentReasonClosure { return await reportContentReasonClosure(eventID, reason) } else { @@ -8837,68 +5311,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - reportRoom - var reportRoomReasonUnderlyingCallsCount = 0 + private let reportRoomReasonCallsCountLock = NSLock() + private var reportRoomReasonUnderlyingCallsCount = 0 var reportRoomReasonCallsCount: Int { - get { - if Thread.isMainThread { - return reportRoomReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = reportRoomReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportRoomReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - reportRoomReasonUnderlyingCallsCount = newValue - } - } - } + get { reportRoomReasonCallsCountLock.withLock { reportRoomReasonUnderlyingCallsCount } } + set { reportRoomReasonCallsCountLock.withLock { reportRoomReasonUnderlyingCallsCount = newValue } } } var reportRoomReasonCalled: Bool { return reportRoomReasonCallsCount > 0 } - var reportRoomReasonReceivedReason: String? - var reportRoomReasonReceivedInvocations: [String] = [] + private let reportRoomReasonReceivedReasonLock = NSLock() + private var reportRoomReasonUnderlyingReceivedReason: String? + var reportRoomReasonReceivedReason: String? { + get { reportRoomReasonReceivedReasonLock.withLock { reportRoomReasonUnderlyingReceivedReason } } + set { reportRoomReasonReceivedReasonLock.withLock { reportRoomReasonUnderlyingReceivedReason = newValue } } + } + private let reportRoomReasonReceivedInvocationsLock = NSLock() + private var reportRoomReasonUnderlyingReceivedInvocations: [String] = [] + var reportRoomReasonReceivedInvocations: [String] { + get { reportRoomReasonReceivedInvocationsLock.withLock { reportRoomReasonUnderlyingReceivedInvocations } } + set { reportRoomReasonReceivedInvocationsLock.withLock { reportRoomReasonUnderlyingReceivedInvocations = newValue } } + } - var reportRoomReasonUnderlyingReturnValue: Result! + private let reportRoomReasonReturnValueLock = NSLock() + private var reportRoomReasonUnderlyingReturnValue: Result! var reportRoomReasonReturnValue: Result! { - get { - if Thread.isMainThread { - return reportRoomReasonUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = reportRoomReasonUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportRoomReasonUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - reportRoomReasonUnderlyingReturnValue = newValue - } - } - } + get { reportRoomReasonReturnValueLock.withLock { reportRoomReasonUnderlyingReturnValue } } + set { reportRoomReasonReturnValueLock.withLock { reportRoomReasonUnderlyingReturnValue = newValue } } } var reportRoomReasonClosure: ((String) async -> Result)? func reportRoom(reason: String) async -> Result { - reportRoomReasonCallsCount += 1 + reportRoomReasonCallsCountLock.withLock { reportRoomReasonUnderlyingCallsCount += 1 } reportRoomReasonReceivedReason = reason - DispatchQueue.main.async { - self.reportRoomReasonReceivedInvocations.append(reason) - } + reportRoomReasonReceivedInvocationsLock.withLock { reportRoomReasonUnderlyingReceivedInvocations.append(reason) } if let reportRoomReasonClosure = reportRoomReasonClosure { return await reportRoomReasonClosure(reason) } else { @@ -8907,62 +5353,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - leaveRoom - var leaveRoomUnderlyingCallsCount = 0 + private let leaveRoomCallsCountLock = NSLock() + private var leaveRoomUnderlyingCallsCount = 0 var leaveRoomCallsCount: Int { - get { - if Thread.isMainThread { - return leaveRoomUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = leaveRoomUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveRoomUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - leaveRoomUnderlyingCallsCount = newValue - } - } - } + get { leaveRoomCallsCountLock.withLock { leaveRoomUnderlyingCallsCount } } + set { leaveRoomCallsCountLock.withLock { leaveRoomUnderlyingCallsCount = newValue } } } var leaveRoomCalled: Bool { return leaveRoomCallsCount > 0 } - var leaveRoomUnderlyingReturnValue: Result! + private let leaveRoomReturnValueLock = NSLock() + private var leaveRoomUnderlyingReturnValue: Result! var leaveRoomReturnValue: Result! { - get { - if Thread.isMainThread { - return leaveRoomUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = leaveRoomUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveRoomUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - leaveRoomUnderlyingReturnValue = newValue - } - } - } + get { leaveRoomReturnValueLock.withLock { leaveRoomUnderlyingReturnValue } } + set { leaveRoomReturnValueLock.withLock { leaveRoomUnderlyingReturnValue = newValue } } } var leaveRoomClosure: (() async -> Result)? func leaveRoom() async -> Result { - leaveRoomCallsCount += 1 + leaveRoomCallsCountLock.withLock { leaveRoomUnderlyingCallsCount += 1 } if let leaveRoomClosure = leaveRoomClosure { return await leaveRoomClosure() } else { @@ -8971,29 +5381,11 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - updateMembers - var updateMembersUnderlyingCallsCount = 0 + private let updateMembersCallsCountLock = NSLock() + private var updateMembersUnderlyingCallsCount = 0 var updateMembersCallsCount: Int { - get { - if Thread.isMainThread { - return updateMembersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateMembersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateMembersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateMembersUnderlyingCallsCount = newValue - } - } - } + get { updateMembersCallsCountLock.withLock { updateMembersUnderlyingCallsCount } } + set { updateMembersCallsCountLock.withLock { updateMembersUnderlyingCallsCount = newValue } } } var updateMembersCalled: Bool { return updateMembersCallsCount > 0 @@ -9001,73 +5393,45 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { var updateMembersClosure: (() async -> Void)? func updateMembers() async { - updateMembersCallsCount += 1 + updateMembersCallsCountLock.withLock { updateMembersUnderlyingCallsCount += 1 } await updateMembersClosure?() } //MARK: - getMember - var getMemberUserIDUnderlyingCallsCount = 0 + private let getMemberUserIDCallsCountLock = NSLock() + private var getMemberUserIDUnderlyingCallsCount = 0 var getMemberUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return getMemberUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getMemberUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMemberUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getMemberUserIDUnderlyingCallsCount = newValue - } - } - } + get { getMemberUserIDCallsCountLock.withLock { getMemberUserIDUnderlyingCallsCount } } + set { getMemberUserIDCallsCountLock.withLock { getMemberUserIDUnderlyingCallsCount = newValue } } } var getMemberUserIDCalled: Bool { return getMemberUserIDCallsCount > 0 } - var getMemberUserIDReceivedUserID: String? - var getMemberUserIDReceivedInvocations: [String] = [] + private let getMemberUserIDReceivedUserIDLock = NSLock() + private var getMemberUserIDUnderlyingReceivedUserID: String? + var getMemberUserIDReceivedUserID: String? { + get { getMemberUserIDReceivedUserIDLock.withLock { getMemberUserIDUnderlyingReceivedUserID } } + set { getMemberUserIDReceivedUserIDLock.withLock { getMemberUserIDUnderlyingReceivedUserID = newValue } } + } + private let getMemberUserIDReceivedInvocationsLock = NSLock() + private var getMemberUserIDUnderlyingReceivedInvocations: [String] = [] + var getMemberUserIDReceivedInvocations: [String] { + get { getMemberUserIDReceivedInvocationsLock.withLock { getMemberUserIDUnderlyingReceivedInvocations } } + set { getMemberUserIDReceivedInvocationsLock.withLock { getMemberUserIDUnderlyingReceivedInvocations = newValue } } + } - var getMemberUserIDUnderlyingReturnValue: Result! + private let getMemberUserIDReturnValueLock = NSLock() + private var getMemberUserIDUnderlyingReturnValue: Result! var getMemberUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return getMemberUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = getMemberUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMemberUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getMemberUserIDUnderlyingReturnValue = newValue - } - } - } + get { getMemberUserIDReturnValueLock.withLock { getMemberUserIDUnderlyingReturnValue } } + set { getMemberUserIDReturnValueLock.withLock { getMemberUserIDUnderlyingReturnValue = newValue } } } var getMemberUserIDClosure: ((String) async -> Result)? func getMember(userID: String) async -> Result { - getMemberUserIDCallsCount += 1 + getMemberUserIDCallsCountLock.withLock { getMemberUserIDUnderlyingCallsCount += 1 } getMemberUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.getMemberUserIDReceivedInvocations.append(userID) - } + getMemberUserIDReceivedInvocationsLock.withLock { getMemberUserIDUnderlyingReceivedInvocations.append(userID) } if let getMemberUserIDClosure = getMemberUserIDClosure { return await getMemberUserIDClosure(userID) } else { @@ -9076,68 +5440,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - invite - var inviteUserIDUnderlyingCallsCount = 0 + private let inviteUserIDCallsCountLock = NSLock() + private var inviteUserIDUnderlyingCallsCount = 0 var inviteUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return inviteUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = inviteUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inviteUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - inviteUserIDUnderlyingCallsCount = newValue - } - } - } + get { inviteUserIDCallsCountLock.withLock { inviteUserIDUnderlyingCallsCount } } + set { inviteUserIDCallsCountLock.withLock { inviteUserIDUnderlyingCallsCount = newValue } } } var inviteUserIDCalled: Bool { return inviteUserIDCallsCount > 0 } - var inviteUserIDReceivedUserID: String? - var inviteUserIDReceivedInvocations: [String] = [] + private let inviteUserIDReceivedUserIDLock = NSLock() + private var inviteUserIDUnderlyingReceivedUserID: String? + var inviteUserIDReceivedUserID: String? { + get { inviteUserIDReceivedUserIDLock.withLock { inviteUserIDUnderlyingReceivedUserID } } + set { inviteUserIDReceivedUserIDLock.withLock { inviteUserIDUnderlyingReceivedUserID = newValue } } + } + private let inviteUserIDReceivedInvocationsLock = NSLock() + private var inviteUserIDUnderlyingReceivedInvocations: [String] = [] + var inviteUserIDReceivedInvocations: [String] { + get { inviteUserIDReceivedInvocationsLock.withLock { inviteUserIDUnderlyingReceivedInvocations } } + set { inviteUserIDReceivedInvocationsLock.withLock { inviteUserIDUnderlyingReceivedInvocations = newValue } } + } - var inviteUserIDUnderlyingReturnValue: Result! + private let inviteUserIDReturnValueLock = NSLock() + private var inviteUserIDUnderlyingReturnValue: Result! var inviteUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return inviteUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = inviteUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inviteUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - inviteUserIDUnderlyingReturnValue = newValue - } - } - } + get { inviteUserIDReturnValueLock.withLock { inviteUserIDUnderlyingReturnValue } } + set { inviteUserIDReturnValueLock.withLock { inviteUserIDUnderlyingReturnValue = newValue } } } var inviteUserIDClosure: ((String) async -> Result)? func invite(userID: String) async -> Result { - inviteUserIDCallsCount += 1 + inviteUserIDCallsCountLock.withLock { inviteUserIDUnderlyingCallsCount += 1 } inviteUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.inviteUserIDReceivedInvocations.append(userID) - } + inviteUserIDReceivedInvocationsLock.withLock { inviteUserIDUnderlyingReceivedInvocations.append(userID) } if let inviteUserIDClosure = inviteUserIDClosure { return await inviteUserIDClosure(userID) } else { @@ -9146,68 +5482,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - setName - var setNameUnderlyingCallsCount = 0 + private let setNameCallsCountLock = NSLock() + private var setNameUnderlyingCallsCount = 0 var setNameCallsCount: Int { - get { - if Thread.isMainThread { - return setNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setNameUnderlyingCallsCount = newValue - } - } - } + get { setNameCallsCountLock.withLock { setNameUnderlyingCallsCount } } + set { setNameCallsCountLock.withLock { setNameUnderlyingCallsCount = newValue } } } var setNameCalled: Bool { return setNameCallsCount > 0 } - var setNameReceivedName: String? - var setNameReceivedInvocations: [String] = [] + private let setNameReceivedNameLock = NSLock() + private var setNameUnderlyingReceivedName: String? + var setNameReceivedName: String? { + get { setNameReceivedNameLock.withLock { setNameUnderlyingReceivedName } } + set { setNameReceivedNameLock.withLock { setNameUnderlyingReceivedName = newValue } } + } + private let setNameReceivedInvocationsLock = NSLock() + private var setNameUnderlyingReceivedInvocations: [String] = [] + var setNameReceivedInvocations: [String] { + get { setNameReceivedInvocationsLock.withLock { setNameUnderlyingReceivedInvocations } } + set { setNameReceivedInvocationsLock.withLock { setNameUnderlyingReceivedInvocations = newValue } } + } - var setNameUnderlyingReturnValue: Result! + private let setNameReturnValueLock = NSLock() + private var setNameUnderlyingReturnValue: Result! var setNameReturnValue: Result! { - get { - if Thread.isMainThread { - return setNameUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = setNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setNameUnderlyingReturnValue = newValue - } - } - } + get { setNameReturnValueLock.withLock { setNameUnderlyingReturnValue } } + set { setNameReturnValueLock.withLock { setNameUnderlyingReturnValue = newValue } } } var setNameClosure: ((String) async -> Result)? func setName(_ name: String) async -> Result { - setNameCallsCount += 1 + setNameCallsCountLock.withLock { setNameUnderlyingCallsCount += 1 } setNameReceivedName = name - DispatchQueue.main.async { - self.setNameReceivedInvocations.append(name) - } + setNameReceivedInvocationsLock.withLock { setNameUnderlyingReceivedInvocations.append(name) } if let setNameClosure = setNameClosure { return await setNameClosure(name) } else { @@ -9216,68 +5524,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - setTopic - var setTopicUnderlyingCallsCount = 0 + private let setTopicCallsCountLock = NSLock() + private var setTopicUnderlyingCallsCount = 0 var setTopicCallsCount: Int { - get { - if Thread.isMainThread { - return setTopicUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setTopicUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setTopicUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setTopicUnderlyingCallsCount = newValue - } - } - } + get { setTopicCallsCountLock.withLock { setTopicUnderlyingCallsCount } } + set { setTopicCallsCountLock.withLock { setTopicUnderlyingCallsCount = newValue } } } var setTopicCalled: Bool { return setTopicCallsCount > 0 } - var setTopicReceivedTopic: String? - var setTopicReceivedInvocations: [String] = [] + private let setTopicReceivedTopicLock = NSLock() + private var setTopicUnderlyingReceivedTopic: String? + var setTopicReceivedTopic: String? { + get { setTopicReceivedTopicLock.withLock { setTopicUnderlyingReceivedTopic } } + set { setTopicReceivedTopicLock.withLock { setTopicUnderlyingReceivedTopic = newValue } } + } + private let setTopicReceivedInvocationsLock = NSLock() + private var setTopicUnderlyingReceivedInvocations: [String] = [] + var setTopicReceivedInvocations: [String] { + get { setTopicReceivedInvocationsLock.withLock { setTopicUnderlyingReceivedInvocations } } + set { setTopicReceivedInvocationsLock.withLock { setTopicUnderlyingReceivedInvocations = newValue } } + } - var setTopicUnderlyingReturnValue: Result! + private let setTopicReturnValueLock = NSLock() + private var setTopicUnderlyingReturnValue: Result! var setTopicReturnValue: Result! { - get { - if Thread.isMainThread { - return setTopicUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = setTopicUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setTopicUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setTopicUnderlyingReturnValue = newValue - } - } - } + get { setTopicReturnValueLock.withLock { setTopicUnderlyingReturnValue } } + set { setTopicReturnValueLock.withLock { setTopicUnderlyingReturnValue = newValue } } } var setTopicClosure: ((String) async -> Result)? func setTopic(_ topic: String) async -> Result { - setTopicCallsCount += 1 + setTopicCallsCountLock.withLock { setTopicUnderlyingCallsCount += 1 } setTopicReceivedTopic = topic - DispatchQueue.main.async { - self.setTopicReceivedInvocations.append(topic) - } + setTopicReceivedInvocationsLock.withLock { setTopicUnderlyingReceivedInvocations.append(topic) } if let setTopicClosure = setTopicClosure { return await setTopicClosure(topic) } else { @@ -9286,62 +5566,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - removeAvatar - var removeAvatarUnderlyingCallsCount = 0 + private let removeAvatarCallsCountLock = NSLock() + private var removeAvatarUnderlyingCallsCount = 0 var removeAvatarCallsCount: Int { - get { - if Thread.isMainThread { - return removeAvatarUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeAvatarUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeAvatarUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeAvatarUnderlyingCallsCount = newValue - } - } - } + get { removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount } } + set { removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount = newValue } } } var removeAvatarCalled: Bool { return removeAvatarCallsCount > 0 } - var removeAvatarUnderlyingReturnValue: Result! + private let removeAvatarReturnValueLock = NSLock() + private var removeAvatarUnderlyingReturnValue: Result! var removeAvatarReturnValue: Result! { - get { - if Thread.isMainThread { - return removeAvatarUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = removeAvatarUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeAvatarUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - removeAvatarUnderlyingReturnValue = newValue - } - } - } + get { removeAvatarReturnValueLock.withLock { removeAvatarUnderlyingReturnValue } } + set { removeAvatarReturnValueLock.withLock { removeAvatarUnderlyingReturnValue = newValue } } } var removeAvatarClosure: (() async -> Result)? func removeAvatar() async -> Result { - removeAvatarCallsCount += 1 + removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount += 1 } if let removeAvatarClosure = removeAvatarClosure { return await removeAvatarClosure() } else { @@ -9350,68 +5594,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - uploadAvatar - var uploadAvatarMediaUnderlyingCallsCount = 0 + private let uploadAvatarMediaCallsCountLock = NSLock() + private var uploadAvatarMediaUnderlyingCallsCount = 0 var uploadAvatarMediaCallsCount: Int { - get { - if Thread.isMainThread { - return uploadAvatarMediaUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = uploadAvatarMediaUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uploadAvatarMediaUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - uploadAvatarMediaUnderlyingCallsCount = newValue - } - } - } + get { uploadAvatarMediaCallsCountLock.withLock { uploadAvatarMediaUnderlyingCallsCount } } + set { uploadAvatarMediaCallsCountLock.withLock { uploadAvatarMediaUnderlyingCallsCount = newValue } } } var uploadAvatarMediaCalled: Bool { return uploadAvatarMediaCallsCount > 0 } - var uploadAvatarMediaReceivedMedia: MediaInfo? - var uploadAvatarMediaReceivedInvocations: [MediaInfo] = [] + private let uploadAvatarMediaReceivedMediaLock = NSLock() + private var uploadAvatarMediaUnderlyingReceivedMedia: MediaInfo? + var uploadAvatarMediaReceivedMedia: MediaInfo? { + get { uploadAvatarMediaReceivedMediaLock.withLock { uploadAvatarMediaUnderlyingReceivedMedia } } + set { uploadAvatarMediaReceivedMediaLock.withLock { uploadAvatarMediaUnderlyingReceivedMedia = newValue } } + } + private let uploadAvatarMediaReceivedInvocationsLock = NSLock() + private var uploadAvatarMediaUnderlyingReceivedInvocations: [MediaInfo] = [] + var uploadAvatarMediaReceivedInvocations: [MediaInfo] { + get { uploadAvatarMediaReceivedInvocationsLock.withLock { uploadAvatarMediaUnderlyingReceivedInvocations } } + set { uploadAvatarMediaReceivedInvocationsLock.withLock { uploadAvatarMediaUnderlyingReceivedInvocations = newValue } } + } - var uploadAvatarMediaUnderlyingReturnValue: Result! + private let uploadAvatarMediaReturnValueLock = NSLock() + private var uploadAvatarMediaUnderlyingReturnValue: Result! var uploadAvatarMediaReturnValue: Result! { - get { - if Thread.isMainThread { - return uploadAvatarMediaUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = uploadAvatarMediaUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uploadAvatarMediaUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - uploadAvatarMediaUnderlyingReturnValue = newValue - } - } - } + get { uploadAvatarMediaReturnValueLock.withLock { uploadAvatarMediaUnderlyingReturnValue } } + set { uploadAvatarMediaReturnValueLock.withLock { uploadAvatarMediaUnderlyingReturnValue = newValue } } } var uploadAvatarMediaClosure: ((MediaInfo) async -> Result)? func uploadAvatar(media: MediaInfo) async -> Result { - uploadAvatarMediaCallsCount += 1 + uploadAvatarMediaCallsCountLock.withLock { uploadAvatarMediaUnderlyingCallsCount += 1 } uploadAvatarMediaReceivedMedia = media - DispatchQueue.main.async { - self.uploadAvatarMediaReceivedInvocations.append(media) - } + uploadAvatarMediaReceivedInvocationsLock.withLock { uploadAvatarMediaUnderlyingReceivedInvocations.append(media) } if let uploadAvatarMediaClosure = uploadAvatarMediaClosure { return await uploadAvatarMediaClosure(media) } else { @@ -9420,68 +5636,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - markAsRead - var markAsReadReceiptTypeUnderlyingCallsCount = 0 + private let markAsReadReceiptTypeCallsCountLock = NSLock() + private var markAsReadReceiptTypeUnderlyingCallsCount = 0 var markAsReadReceiptTypeCallsCount: Int { - get { - if Thread.isMainThread { - return markAsReadReceiptTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAsReadReceiptTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsReadReceiptTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAsReadReceiptTypeUnderlyingCallsCount = newValue - } - } - } + get { markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount } } + set { markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount = newValue } } } var markAsReadReceiptTypeCalled: Bool { return markAsReadReceiptTypeCallsCount > 0 } - var markAsReadReceiptTypeReceivedReceiptType: ReceiptType? - var markAsReadReceiptTypeReceivedInvocations: [ReceiptType] = [] + private let markAsReadReceiptTypeReceivedReceiptTypeLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReceivedReceiptType: ReceiptType? + var markAsReadReceiptTypeReceivedReceiptType: ReceiptType? { + get { markAsReadReceiptTypeReceivedReceiptTypeLock.withLock { markAsReadReceiptTypeUnderlyingReceivedReceiptType } } + set { markAsReadReceiptTypeReceivedReceiptTypeLock.withLock { markAsReadReceiptTypeUnderlyingReceivedReceiptType = newValue } } + } + private let markAsReadReceiptTypeReceivedInvocationsLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReceivedInvocations: [ReceiptType] = [] + var markAsReadReceiptTypeReceivedInvocations: [ReceiptType] { + get { markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations } } + set { markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations = newValue } } + } - var markAsReadReceiptTypeUnderlyingReturnValue: Result! + private let markAsReadReceiptTypeReturnValueLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReturnValue: Result! var markAsReadReceiptTypeReturnValue: Result! { - get { - if Thread.isMainThread { - return markAsReadReceiptTypeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = markAsReadReceiptTypeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsReadReceiptTypeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - markAsReadReceiptTypeUnderlyingReturnValue = newValue - } - } - } + get { markAsReadReceiptTypeReturnValueLock.withLock { markAsReadReceiptTypeUnderlyingReturnValue } } + set { markAsReadReceiptTypeReturnValueLock.withLock { markAsReadReceiptTypeUnderlyingReturnValue = newValue } } } var markAsReadReceiptTypeClosure: ((ReceiptType) async -> Result)? func markAsRead(receiptType: ReceiptType) async -> Result { - markAsReadReceiptTypeCallsCount += 1 + markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount += 1 } markAsReadReceiptTypeReceivedReceiptType = receiptType - DispatchQueue.main.async { - self.markAsReadReceiptTypeReceivedInvocations.append(receiptType) - } + markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations.append(receiptType) } if let markAsReadReceiptTypeClosure = markAsReadReceiptTypeClosure { return await markAsReadReceiptTypeClosure(receiptType) } else { @@ -9490,68 +5678,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - edit - var editEventIDNewContentUnderlyingCallsCount = 0 + private let editEventIDNewContentCallsCountLock = NSLock() + private var editEventIDNewContentUnderlyingCallsCount = 0 var editEventIDNewContentCallsCount: Int { - get { - if Thread.isMainThread { - return editEventIDNewContentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editEventIDNewContentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editEventIDNewContentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editEventIDNewContentUnderlyingCallsCount = newValue - } - } - } + get { editEventIDNewContentCallsCountLock.withLock { editEventIDNewContentUnderlyingCallsCount } } + set { editEventIDNewContentCallsCountLock.withLock { editEventIDNewContentUnderlyingCallsCount = newValue } } } var editEventIDNewContentCalled: Bool { return editEventIDNewContentCallsCount > 0 } - var editEventIDNewContentReceivedArguments: (eventID: String, newContent: RoomMessageEventContentWithoutRelation)? - var editEventIDNewContentReceivedInvocations: [(eventID: String, newContent: RoomMessageEventContentWithoutRelation)] = [] + private let editEventIDNewContentReceivedArgumentsLock = NSLock() + private var editEventIDNewContentUnderlyingReceivedArguments: (eventID: String, newContent: RoomMessageEventContentWithoutRelation)? + var editEventIDNewContentReceivedArguments: (eventID: String, newContent: RoomMessageEventContentWithoutRelation)? { + get { editEventIDNewContentReceivedArgumentsLock.withLock { editEventIDNewContentUnderlyingReceivedArguments } } + set { editEventIDNewContentReceivedArgumentsLock.withLock { editEventIDNewContentUnderlyingReceivedArguments = newValue } } + } + private let editEventIDNewContentReceivedInvocationsLock = NSLock() + private var editEventIDNewContentUnderlyingReceivedInvocations: [(eventID: String, newContent: RoomMessageEventContentWithoutRelation)] = [] + var editEventIDNewContentReceivedInvocations: [(eventID: String, newContent: RoomMessageEventContentWithoutRelation)] { + get { editEventIDNewContentReceivedInvocationsLock.withLock { editEventIDNewContentUnderlyingReceivedInvocations } } + set { editEventIDNewContentReceivedInvocationsLock.withLock { editEventIDNewContentUnderlyingReceivedInvocations = newValue } } + } - var editEventIDNewContentUnderlyingReturnValue: Result! + private let editEventIDNewContentReturnValueLock = NSLock() + private var editEventIDNewContentUnderlyingReturnValue: Result! var editEventIDNewContentReturnValue: Result! { - get { - if Thread.isMainThread { - return editEventIDNewContentUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = editEventIDNewContentUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editEventIDNewContentUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - editEventIDNewContentUnderlyingReturnValue = newValue - } - } - } + get { editEventIDNewContentReturnValueLock.withLock { editEventIDNewContentUnderlyingReturnValue } } + set { editEventIDNewContentReturnValueLock.withLock { editEventIDNewContentUnderlyingReturnValue = newValue } } } var editEventIDNewContentClosure: ((String, RoomMessageEventContentWithoutRelation) async -> Result)? func edit(eventID: String, newContent: RoomMessageEventContentWithoutRelation) async -> Result { - editEventIDNewContentCallsCount += 1 + editEventIDNewContentCallsCountLock.withLock { editEventIDNewContentUnderlyingCallsCount += 1 } editEventIDNewContentReceivedArguments = (eventID: eventID, newContent: newContent) - DispatchQueue.main.async { - self.editEventIDNewContentReceivedInvocations.append((eventID: eventID, newContent: newContent)) - } + editEventIDNewContentReceivedInvocationsLock.withLock { editEventIDNewContentUnderlyingReceivedInvocations.append((eventID: eventID, newContent: newContent)) } if let editEventIDNewContentClosure = editEventIDNewContentClosure { return await editEventIDNewContentClosure(eventID, newContent) } else { @@ -9560,69 +5720,41 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - sendTypingNotification - var sendTypingNotificationIsTypingUnderlyingCallsCount = 0 + private let sendTypingNotificationIsTypingCallsCountLock = NSLock() + private var sendTypingNotificationIsTypingUnderlyingCallsCount = 0 var sendTypingNotificationIsTypingCallsCount: Int { - get { - if Thread.isMainThread { - return sendTypingNotificationIsTypingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendTypingNotificationIsTypingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendTypingNotificationIsTypingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendTypingNotificationIsTypingUnderlyingCallsCount = newValue - } - } - } + get { sendTypingNotificationIsTypingCallsCountLock.withLock { sendTypingNotificationIsTypingUnderlyingCallsCount } } + set { sendTypingNotificationIsTypingCallsCountLock.withLock { sendTypingNotificationIsTypingUnderlyingCallsCount = newValue } } } var sendTypingNotificationIsTypingCalled: Bool { return sendTypingNotificationIsTypingCallsCount > 0 } - var sendTypingNotificationIsTypingReceivedIsTyping: Bool? - var sendTypingNotificationIsTypingReceivedInvocations: [Bool] = [] + private let sendTypingNotificationIsTypingReceivedIsTypingLock = NSLock() + private var sendTypingNotificationIsTypingUnderlyingReceivedIsTyping: Bool? + var sendTypingNotificationIsTypingReceivedIsTyping: Bool? { + get { sendTypingNotificationIsTypingReceivedIsTypingLock.withLock { sendTypingNotificationIsTypingUnderlyingReceivedIsTyping } } + set { sendTypingNotificationIsTypingReceivedIsTypingLock.withLock { sendTypingNotificationIsTypingUnderlyingReceivedIsTyping = newValue } } + } + private let sendTypingNotificationIsTypingReceivedInvocationsLock = NSLock() + private var sendTypingNotificationIsTypingUnderlyingReceivedInvocations: [Bool] = [] + var sendTypingNotificationIsTypingReceivedInvocations: [Bool] { + get { sendTypingNotificationIsTypingReceivedInvocationsLock.withLock { sendTypingNotificationIsTypingUnderlyingReceivedInvocations } } + set { sendTypingNotificationIsTypingReceivedInvocationsLock.withLock { sendTypingNotificationIsTypingUnderlyingReceivedInvocations = newValue } } + } - var sendTypingNotificationIsTypingUnderlyingReturnValue: Result! + private let sendTypingNotificationIsTypingReturnValueLock = NSLock() + private var sendTypingNotificationIsTypingUnderlyingReturnValue: Result! var sendTypingNotificationIsTypingReturnValue: Result! { - get { - if Thread.isMainThread { - return sendTypingNotificationIsTypingUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendTypingNotificationIsTypingUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendTypingNotificationIsTypingUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendTypingNotificationIsTypingUnderlyingReturnValue = newValue - } - } - } + get { sendTypingNotificationIsTypingReturnValueLock.withLock { sendTypingNotificationIsTypingUnderlyingReturnValue } } + set { sendTypingNotificationIsTypingReturnValueLock.withLock { sendTypingNotificationIsTypingUnderlyingReturnValue = newValue } } } var sendTypingNotificationIsTypingClosure: ((Bool) async -> Result)? @discardableResult func sendTypingNotification(isTyping: Bool) async -> Result { - sendTypingNotificationIsTypingCallsCount += 1 + sendTypingNotificationIsTypingCallsCountLock.withLock { sendTypingNotificationIsTypingUnderlyingCallsCount += 1 } sendTypingNotificationIsTypingReceivedIsTyping = isTyping - DispatchQueue.main.async { - self.sendTypingNotificationIsTypingReceivedInvocations.append(isTyping) - } + sendTypingNotificationIsTypingReceivedInvocationsLock.withLock { sendTypingNotificationIsTypingUnderlyingReceivedInvocations.append(isTyping) } if let sendTypingNotificationIsTypingClosure = sendTypingNotificationIsTypingClosure { return await sendTypingNotificationIsTypingClosure(isTyping) } else { @@ -9631,68 +5763,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - ignoreDeviceTrustAndResend - var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = 0 + private let ignoreDeviceTrustAndResendDevicesSendHandleCallsCountLock = NSLock() + private var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = 0 var ignoreDeviceTrustAndResendDevicesSendHandleCallsCount: Int { - get { - if Thread.isMainThread { - return ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = newValue - } - } - } + get { ignoreDeviceTrustAndResendDevicesSendHandleCallsCountLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount } } + set { ignoreDeviceTrustAndResendDevicesSendHandleCallsCountLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = newValue } } } var ignoreDeviceTrustAndResendDevicesSendHandleCalled: Bool { return ignoreDeviceTrustAndResendDevicesSendHandleCallsCount > 0 } - var ignoreDeviceTrustAndResendDevicesSendHandleReceivedArguments: (devices: [String: [String]], sendHandle: SendHandleProxy)? - var ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocations: [(devices: [String: [String]], sendHandle: SendHandleProxy)] = [] + private let ignoreDeviceTrustAndResendDevicesSendHandleReceivedArgumentsLock = NSLock() + private var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedArguments: (devices: [String: [String]], sendHandle: SendHandleProxy)? + var ignoreDeviceTrustAndResendDevicesSendHandleReceivedArguments: (devices: [String: [String]], sendHandle: SendHandleProxy)? { + get { ignoreDeviceTrustAndResendDevicesSendHandleReceivedArgumentsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedArguments } } + set { ignoreDeviceTrustAndResendDevicesSendHandleReceivedArgumentsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedArguments = newValue } } + } + private let ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocationsLock = NSLock() + private var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedInvocations: [(devices: [String: [String]], sendHandle: SendHandleProxy)] = [] + var ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocations: [(devices: [String: [String]], sendHandle: SendHandleProxy)] { + get { ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocationsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedInvocations } } + set { ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocationsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedInvocations = newValue } } + } - var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReturnValue: Result! + private let ignoreDeviceTrustAndResendDevicesSendHandleReturnValueLock = NSLock() + private var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReturnValue: Result! var ignoreDeviceTrustAndResendDevicesSendHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReturnValue = newValue - } - } - } + get { ignoreDeviceTrustAndResendDevicesSendHandleReturnValueLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReturnValue } } + set { ignoreDeviceTrustAndResendDevicesSendHandleReturnValueLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReturnValue = newValue } } } var ignoreDeviceTrustAndResendDevicesSendHandleClosure: (([String: [String]], SendHandleProxy) async -> Result)? func ignoreDeviceTrustAndResend(devices: [String: [String]], sendHandle: SendHandleProxy) async -> Result { - ignoreDeviceTrustAndResendDevicesSendHandleCallsCount += 1 + ignoreDeviceTrustAndResendDevicesSendHandleCallsCountLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount += 1 } ignoreDeviceTrustAndResendDevicesSendHandleReceivedArguments = (devices: devices, sendHandle: sendHandle) - DispatchQueue.main.async { - self.ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocations.append((devices: devices, sendHandle: sendHandle)) - } + ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocationsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedInvocations.append((devices: devices, sendHandle: sendHandle)) } if let ignoreDeviceTrustAndResendDevicesSendHandleClosure = ignoreDeviceTrustAndResendDevicesSendHandleClosure { return await ignoreDeviceTrustAndResendDevicesSendHandleClosure(devices, sendHandle) } else { @@ -9701,68 +5805,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - withdrawVerificationAndResend - var withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount = 0 + private let withdrawVerificationAndResendUserIDsSendHandleCallsCountLock = NSLock() + private var withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount = 0 var withdrawVerificationAndResendUserIDsSendHandleCallsCount: Int { - get { - if Thread.isMainThread { - return withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount = newValue - } - } - } + get { withdrawVerificationAndResendUserIDsSendHandleCallsCountLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount } } + set { withdrawVerificationAndResendUserIDsSendHandleCallsCountLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount = newValue } } } var withdrawVerificationAndResendUserIDsSendHandleCalled: Bool { return withdrawVerificationAndResendUserIDsSendHandleCallsCount > 0 } - var withdrawVerificationAndResendUserIDsSendHandleReceivedArguments: (userIDs: [String], sendHandle: SendHandleProxy)? - var withdrawVerificationAndResendUserIDsSendHandleReceivedInvocations: [(userIDs: [String], sendHandle: SendHandleProxy)] = [] + private let withdrawVerificationAndResendUserIDsSendHandleReceivedArgumentsLock = NSLock() + private var withdrawVerificationAndResendUserIDsSendHandleUnderlyingReceivedArguments: (userIDs: [String], sendHandle: SendHandleProxy)? + var withdrawVerificationAndResendUserIDsSendHandleReceivedArguments: (userIDs: [String], sendHandle: SendHandleProxy)? { + get { withdrawVerificationAndResendUserIDsSendHandleReceivedArgumentsLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingReceivedArguments } } + set { withdrawVerificationAndResendUserIDsSendHandleReceivedArgumentsLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingReceivedArguments = newValue } } + } + private let withdrawVerificationAndResendUserIDsSendHandleReceivedInvocationsLock = NSLock() + private var withdrawVerificationAndResendUserIDsSendHandleUnderlyingReceivedInvocations: [(userIDs: [String], sendHandle: SendHandleProxy)] = [] + var withdrawVerificationAndResendUserIDsSendHandleReceivedInvocations: [(userIDs: [String], sendHandle: SendHandleProxy)] { + get { withdrawVerificationAndResendUserIDsSendHandleReceivedInvocationsLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingReceivedInvocations } } + set { withdrawVerificationAndResendUserIDsSendHandleReceivedInvocationsLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingReceivedInvocations = newValue } } + } - var withdrawVerificationAndResendUserIDsSendHandleUnderlyingReturnValue: Result! + private let withdrawVerificationAndResendUserIDsSendHandleReturnValueLock = NSLock() + private var withdrawVerificationAndResendUserIDsSendHandleUnderlyingReturnValue: Result! var withdrawVerificationAndResendUserIDsSendHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return withdrawVerificationAndResendUserIDsSendHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = withdrawVerificationAndResendUserIDsSendHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withdrawVerificationAndResendUserIDsSendHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - withdrawVerificationAndResendUserIDsSendHandleUnderlyingReturnValue = newValue - } - } - } + get { withdrawVerificationAndResendUserIDsSendHandleReturnValueLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingReturnValue } } + set { withdrawVerificationAndResendUserIDsSendHandleReturnValueLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingReturnValue = newValue } } } var withdrawVerificationAndResendUserIDsSendHandleClosure: (([String], SendHandleProxy) async -> Result)? func withdrawVerificationAndResend(userIDs: [String], sendHandle: SendHandleProxy) async -> Result { - withdrawVerificationAndResendUserIDsSendHandleCallsCount += 1 + withdrawVerificationAndResendUserIDsSendHandleCallsCountLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingCallsCount += 1 } withdrawVerificationAndResendUserIDsSendHandleReceivedArguments = (userIDs: userIDs, sendHandle: sendHandle) - DispatchQueue.main.async { - self.withdrawVerificationAndResendUserIDsSendHandleReceivedInvocations.append((userIDs: userIDs, sendHandle: sendHandle)) - } + withdrawVerificationAndResendUserIDsSendHandleReceivedInvocationsLock.withLock { withdrawVerificationAndResendUserIDsSendHandleUnderlyingReceivedInvocations.append((userIDs: userIDs, sendHandle: sendHandle)) } if let withdrawVerificationAndResendUserIDsSendHandleClosure = withdrawVerificationAndResendUserIDsSendHandleClosure { return await withdrawVerificationAndResendUserIDsSendHandleClosure(userIDs, sendHandle) } else { @@ -9771,68 +5847,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - updateJoinRule - var updateJoinRuleUnderlyingCallsCount = 0 + private let updateJoinRuleCallsCountLock = NSLock() + private var updateJoinRuleUnderlyingCallsCount = 0 var updateJoinRuleCallsCount: Int { - get { - if Thread.isMainThread { - return updateJoinRuleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateJoinRuleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateJoinRuleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateJoinRuleUnderlyingCallsCount = newValue - } - } - } + get { updateJoinRuleCallsCountLock.withLock { updateJoinRuleUnderlyingCallsCount } } + set { updateJoinRuleCallsCountLock.withLock { updateJoinRuleUnderlyingCallsCount = newValue } } } var updateJoinRuleCalled: Bool { return updateJoinRuleCallsCount > 0 } - var updateJoinRuleReceivedRule: JoinRule? - var updateJoinRuleReceivedInvocations: [JoinRule] = [] + private let updateJoinRuleReceivedRuleLock = NSLock() + private var updateJoinRuleUnderlyingReceivedRule: JoinRule? + var updateJoinRuleReceivedRule: JoinRule? { + get { updateJoinRuleReceivedRuleLock.withLock { updateJoinRuleUnderlyingReceivedRule } } + set { updateJoinRuleReceivedRuleLock.withLock { updateJoinRuleUnderlyingReceivedRule = newValue } } + } + private let updateJoinRuleReceivedInvocationsLock = NSLock() + private var updateJoinRuleUnderlyingReceivedInvocations: [JoinRule] = [] + var updateJoinRuleReceivedInvocations: [JoinRule] { + get { updateJoinRuleReceivedInvocationsLock.withLock { updateJoinRuleUnderlyingReceivedInvocations } } + set { updateJoinRuleReceivedInvocationsLock.withLock { updateJoinRuleUnderlyingReceivedInvocations = newValue } } + } - var updateJoinRuleUnderlyingReturnValue: Result! + private let updateJoinRuleReturnValueLock = NSLock() + private var updateJoinRuleUnderlyingReturnValue: Result! var updateJoinRuleReturnValue: Result! { - get { - if Thread.isMainThread { - return updateJoinRuleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = updateJoinRuleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateJoinRuleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - updateJoinRuleUnderlyingReturnValue = newValue - } - } - } + get { updateJoinRuleReturnValueLock.withLock { updateJoinRuleUnderlyingReturnValue } } + set { updateJoinRuleReturnValueLock.withLock { updateJoinRuleUnderlyingReturnValue = newValue } } } var updateJoinRuleClosure: ((JoinRule) async -> Result)? func updateJoinRule(_ rule: JoinRule) async -> Result { - updateJoinRuleCallsCount += 1 + updateJoinRuleCallsCountLock.withLock { updateJoinRuleUnderlyingCallsCount += 1 } updateJoinRuleReceivedRule = rule - DispatchQueue.main.async { - self.updateJoinRuleReceivedInvocations.append(rule) - } + updateJoinRuleReceivedInvocationsLock.withLock { updateJoinRuleUnderlyingReceivedInvocations.append(rule) } if let updateJoinRuleClosure = updateJoinRuleClosure { return await updateJoinRuleClosure(rule) } else { @@ -9841,68 +5889,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - updateHistoryVisibility - var updateHistoryVisibilityUnderlyingCallsCount = 0 + private let updateHistoryVisibilityCallsCountLock = NSLock() + private var updateHistoryVisibilityUnderlyingCallsCount = 0 var updateHistoryVisibilityCallsCount: Int { - get { - if Thread.isMainThread { - return updateHistoryVisibilityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateHistoryVisibilityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateHistoryVisibilityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateHistoryVisibilityUnderlyingCallsCount = newValue - } - } - } + get { updateHistoryVisibilityCallsCountLock.withLock { updateHistoryVisibilityUnderlyingCallsCount } } + set { updateHistoryVisibilityCallsCountLock.withLock { updateHistoryVisibilityUnderlyingCallsCount = newValue } } } var updateHistoryVisibilityCalled: Bool { return updateHistoryVisibilityCallsCount > 0 } - var updateHistoryVisibilityReceivedVisibility: RoomHistoryVisibility? - var updateHistoryVisibilityReceivedInvocations: [RoomHistoryVisibility] = [] + private let updateHistoryVisibilityReceivedVisibilityLock = NSLock() + private var updateHistoryVisibilityUnderlyingReceivedVisibility: RoomHistoryVisibility? + var updateHistoryVisibilityReceivedVisibility: RoomHistoryVisibility? { + get { updateHistoryVisibilityReceivedVisibilityLock.withLock { updateHistoryVisibilityUnderlyingReceivedVisibility } } + set { updateHistoryVisibilityReceivedVisibilityLock.withLock { updateHistoryVisibilityUnderlyingReceivedVisibility = newValue } } + } + private let updateHistoryVisibilityReceivedInvocationsLock = NSLock() + private var updateHistoryVisibilityUnderlyingReceivedInvocations: [RoomHistoryVisibility] = [] + var updateHistoryVisibilityReceivedInvocations: [RoomHistoryVisibility] { + get { updateHistoryVisibilityReceivedInvocationsLock.withLock { updateHistoryVisibilityUnderlyingReceivedInvocations } } + set { updateHistoryVisibilityReceivedInvocationsLock.withLock { updateHistoryVisibilityUnderlyingReceivedInvocations = newValue } } + } - var updateHistoryVisibilityUnderlyingReturnValue: Result! + private let updateHistoryVisibilityReturnValueLock = NSLock() + private var updateHistoryVisibilityUnderlyingReturnValue: Result! var updateHistoryVisibilityReturnValue: Result! { - get { - if Thread.isMainThread { - return updateHistoryVisibilityUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = updateHistoryVisibilityUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateHistoryVisibilityUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - updateHistoryVisibilityUnderlyingReturnValue = newValue - } - } - } + get { updateHistoryVisibilityReturnValueLock.withLock { updateHistoryVisibilityUnderlyingReturnValue } } + set { updateHistoryVisibilityReturnValueLock.withLock { updateHistoryVisibilityUnderlyingReturnValue = newValue } } } var updateHistoryVisibilityClosure: ((RoomHistoryVisibility) async -> Result)? func updateHistoryVisibility(_ visibility: RoomHistoryVisibility) async -> Result { - updateHistoryVisibilityCallsCount += 1 + updateHistoryVisibilityCallsCountLock.withLock { updateHistoryVisibilityUnderlyingCallsCount += 1 } updateHistoryVisibilityReceivedVisibility = visibility - DispatchQueue.main.async { - self.updateHistoryVisibilityReceivedInvocations.append(visibility) - } + updateHistoryVisibilityReceivedInvocationsLock.withLock { updateHistoryVisibilityUnderlyingReceivedInvocations.append(visibility) } if let updateHistoryVisibilityClosure = updateHistoryVisibilityClosure { return await updateHistoryVisibilityClosure(visibility) } else { @@ -9911,62 +5931,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - isVisibleInRoomDirectory - var isVisibleInRoomDirectoryUnderlyingCallsCount = 0 + private let isVisibleInRoomDirectoryCallsCountLock = NSLock() + private var isVisibleInRoomDirectoryUnderlyingCallsCount = 0 var isVisibleInRoomDirectoryCallsCount: Int { - get { - if Thread.isMainThread { - return isVisibleInRoomDirectoryUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isVisibleInRoomDirectoryUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isVisibleInRoomDirectoryUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isVisibleInRoomDirectoryUnderlyingCallsCount = newValue - } - } - } + get { isVisibleInRoomDirectoryCallsCountLock.withLock { isVisibleInRoomDirectoryUnderlyingCallsCount } } + set { isVisibleInRoomDirectoryCallsCountLock.withLock { isVisibleInRoomDirectoryUnderlyingCallsCount = newValue } } } var isVisibleInRoomDirectoryCalled: Bool { return isVisibleInRoomDirectoryCallsCount > 0 } - var isVisibleInRoomDirectoryUnderlyingReturnValue: Result! + private let isVisibleInRoomDirectoryReturnValueLock = NSLock() + private var isVisibleInRoomDirectoryUnderlyingReturnValue: Result! var isVisibleInRoomDirectoryReturnValue: Result! { - get { - if Thread.isMainThread { - return isVisibleInRoomDirectoryUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = isVisibleInRoomDirectoryUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isVisibleInRoomDirectoryUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isVisibleInRoomDirectoryUnderlyingReturnValue = newValue - } - } - } + get { isVisibleInRoomDirectoryReturnValueLock.withLock { isVisibleInRoomDirectoryUnderlyingReturnValue } } + set { isVisibleInRoomDirectoryReturnValueLock.withLock { isVisibleInRoomDirectoryUnderlyingReturnValue = newValue } } } var isVisibleInRoomDirectoryClosure: (() async -> Result)? func isVisibleInRoomDirectory() async -> Result { - isVisibleInRoomDirectoryCallsCount += 1 + isVisibleInRoomDirectoryCallsCountLock.withLock { isVisibleInRoomDirectoryUnderlyingCallsCount += 1 } if let isVisibleInRoomDirectoryClosure = isVisibleInRoomDirectoryClosure { return await isVisibleInRoomDirectoryClosure() } else { @@ -9975,68 +5959,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - updateRoomDirectoryVisibility - var updateRoomDirectoryVisibilityUnderlyingCallsCount = 0 + private let updateRoomDirectoryVisibilityCallsCountLock = NSLock() + private var updateRoomDirectoryVisibilityUnderlyingCallsCount = 0 var updateRoomDirectoryVisibilityCallsCount: Int { - get { - if Thread.isMainThread { - return updateRoomDirectoryVisibilityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateRoomDirectoryVisibilityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateRoomDirectoryVisibilityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateRoomDirectoryVisibilityUnderlyingCallsCount = newValue - } - } - } + get { updateRoomDirectoryVisibilityCallsCountLock.withLock { updateRoomDirectoryVisibilityUnderlyingCallsCount } } + set { updateRoomDirectoryVisibilityCallsCountLock.withLock { updateRoomDirectoryVisibilityUnderlyingCallsCount = newValue } } } var updateRoomDirectoryVisibilityCalled: Bool { return updateRoomDirectoryVisibilityCallsCount > 0 } - var updateRoomDirectoryVisibilityReceivedVisibility: RoomVisibility? - var updateRoomDirectoryVisibilityReceivedInvocations: [RoomVisibility] = [] + private let updateRoomDirectoryVisibilityReceivedVisibilityLock = NSLock() + private var updateRoomDirectoryVisibilityUnderlyingReceivedVisibility: RoomVisibility? + var updateRoomDirectoryVisibilityReceivedVisibility: RoomVisibility? { + get { updateRoomDirectoryVisibilityReceivedVisibilityLock.withLock { updateRoomDirectoryVisibilityUnderlyingReceivedVisibility } } + set { updateRoomDirectoryVisibilityReceivedVisibilityLock.withLock { updateRoomDirectoryVisibilityUnderlyingReceivedVisibility = newValue } } + } + private let updateRoomDirectoryVisibilityReceivedInvocationsLock = NSLock() + private var updateRoomDirectoryVisibilityUnderlyingReceivedInvocations: [RoomVisibility] = [] + var updateRoomDirectoryVisibilityReceivedInvocations: [RoomVisibility] { + get { updateRoomDirectoryVisibilityReceivedInvocationsLock.withLock { updateRoomDirectoryVisibilityUnderlyingReceivedInvocations } } + set { updateRoomDirectoryVisibilityReceivedInvocationsLock.withLock { updateRoomDirectoryVisibilityUnderlyingReceivedInvocations = newValue } } + } - var updateRoomDirectoryVisibilityUnderlyingReturnValue: Result! + private let updateRoomDirectoryVisibilityReturnValueLock = NSLock() + private var updateRoomDirectoryVisibilityUnderlyingReturnValue: Result! var updateRoomDirectoryVisibilityReturnValue: Result! { - get { - if Thread.isMainThread { - return updateRoomDirectoryVisibilityUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = updateRoomDirectoryVisibilityUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateRoomDirectoryVisibilityUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - updateRoomDirectoryVisibilityUnderlyingReturnValue = newValue - } - } - } + get { updateRoomDirectoryVisibilityReturnValueLock.withLock { updateRoomDirectoryVisibilityUnderlyingReturnValue } } + set { updateRoomDirectoryVisibilityReturnValueLock.withLock { updateRoomDirectoryVisibilityUnderlyingReturnValue = newValue } } } var updateRoomDirectoryVisibilityClosure: ((RoomVisibility) async -> Result)? func updateRoomDirectoryVisibility(_ visibility: RoomVisibility) async -> Result { - updateRoomDirectoryVisibilityCallsCount += 1 + updateRoomDirectoryVisibilityCallsCountLock.withLock { updateRoomDirectoryVisibilityUnderlyingCallsCount += 1 } updateRoomDirectoryVisibilityReceivedVisibility = visibility - DispatchQueue.main.async { - self.updateRoomDirectoryVisibilityReceivedInvocations.append(visibility) - } + updateRoomDirectoryVisibilityReceivedInvocationsLock.withLock { updateRoomDirectoryVisibilityUnderlyingReceivedInvocations.append(visibility) } if let updateRoomDirectoryVisibilityClosure = updateRoomDirectoryVisibilityClosure { return await updateRoomDirectoryVisibilityClosure(visibility) } else { @@ -10045,68 +6001,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - updateCanonicalAlias - var updateCanonicalAliasAltAliasesUnderlyingCallsCount = 0 + private let updateCanonicalAliasAltAliasesCallsCountLock = NSLock() + private var updateCanonicalAliasAltAliasesUnderlyingCallsCount = 0 var updateCanonicalAliasAltAliasesCallsCount: Int { - get { - if Thread.isMainThread { - return updateCanonicalAliasAltAliasesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateCanonicalAliasAltAliasesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateCanonicalAliasAltAliasesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateCanonicalAliasAltAliasesUnderlyingCallsCount = newValue - } - } - } + get { updateCanonicalAliasAltAliasesCallsCountLock.withLock { updateCanonicalAliasAltAliasesUnderlyingCallsCount } } + set { updateCanonicalAliasAltAliasesCallsCountLock.withLock { updateCanonicalAliasAltAliasesUnderlyingCallsCount = newValue } } } var updateCanonicalAliasAltAliasesCalled: Bool { return updateCanonicalAliasAltAliasesCallsCount > 0 } - var updateCanonicalAliasAltAliasesReceivedArguments: (alias: String?, altAliases: [String])? - var updateCanonicalAliasAltAliasesReceivedInvocations: [(alias: String?, altAliases: [String])] = [] + private let updateCanonicalAliasAltAliasesReceivedArgumentsLock = NSLock() + private var updateCanonicalAliasAltAliasesUnderlyingReceivedArguments: (alias: String?, altAliases: [String])? + var updateCanonicalAliasAltAliasesReceivedArguments: (alias: String?, altAliases: [String])? { + get { updateCanonicalAliasAltAliasesReceivedArgumentsLock.withLock { updateCanonicalAliasAltAliasesUnderlyingReceivedArguments } } + set { updateCanonicalAliasAltAliasesReceivedArgumentsLock.withLock { updateCanonicalAliasAltAliasesUnderlyingReceivedArguments = newValue } } + } + private let updateCanonicalAliasAltAliasesReceivedInvocationsLock = NSLock() + private var updateCanonicalAliasAltAliasesUnderlyingReceivedInvocations: [(alias: String?, altAliases: [String])] = [] + var updateCanonicalAliasAltAliasesReceivedInvocations: [(alias: String?, altAliases: [String])] { + get { updateCanonicalAliasAltAliasesReceivedInvocationsLock.withLock { updateCanonicalAliasAltAliasesUnderlyingReceivedInvocations } } + set { updateCanonicalAliasAltAliasesReceivedInvocationsLock.withLock { updateCanonicalAliasAltAliasesUnderlyingReceivedInvocations = newValue } } + } - var updateCanonicalAliasAltAliasesUnderlyingReturnValue: Result! + private let updateCanonicalAliasAltAliasesReturnValueLock = NSLock() + private var updateCanonicalAliasAltAliasesUnderlyingReturnValue: Result! var updateCanonicalAliasAltAliasesReturnValue: Result! { - get { - if Thread.isMainThread { - return updateCanonicalAliasAltAliasesUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = updateCanonicalAliasAltAliasesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateCanonicalAliasAltAliasesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - updateCanonicalAliasAltAliasesUnderlyingReturnValue = newValue - } - } - } + get { updateCanonicalAliasAltAliasesReturnValueLock.withLock { updateCanonicalAliasAltAliasesUnderlyingReturnValue } } + set { updateCanonicalAliasAltAliasesReturnValueLock.withLock { updateCanonicalAliasAltAliasesUnderlyingReturnValue = newValue } } } var updateCanonicalAliasAltAliasesClosure: ((String?, [String]) async -> Result)? func updateCanonicalAlias(_ alias: String?, altAliases: [String]) async -> Result { - updateCanonicalAliasAltAliasesCallsCount += 1 + updateCanonicalAliasAltAliasesCallsCountLock.withLock { updateCanonicalAliasAltAliasesUnderlyingCallsCount += 1 } updateCanonicalAliasAltAliasesReceivedArguments = (alias: alias, altAliases: altAliases) - DispatchQueue.main.async { - self.updateCanonicalAliasAltAliasesReceivedInvocations.append((alias: alias, altAliases: altAliases)) - } + updateCanonicalAliasAltAliasesReceivedInvocationsLock.withLock { updateCanonicalAliasAltAliasesUnderlyingReceivedInvocations.append((alias: alias, altAliases: altAliases)) } if let updateCanonicalAliasAltAliasesClosure = updateCanonicalAliasAltAliasesClosure { return await updateCanonicalAliasAltAliasesClosure(alias, altAliases) } else { @@ -10115,68 +6043,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - publishRoomAliasInRoomDirectory - var publishRoomAliasInRoomDirectoryUnderlyingCallsCount = 0 + private let publishRoomAliasInRoomDirectoryCallsCountLock = NSLock() + private var publishRoomAliasInRoomDirectoryUnderlyingCallsCount = 0 var publishRoomAliasInRoomDirectoryCallsCount: Int { - get { - if Thread.isMainThread { - return publishRoomAliasInRoomDirectoryUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = publishRoomAliasInRoomDirectoryUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - publishRoomAliasInRoomDirectoryUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - publishRoomAliasInRoomDirectoryUnderlyingCallsCount = newValue - } - } - } + get { publishRoomAliasInRoomDirectoryCallsCountLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingCallsCount } } + set { publishRoomAliasInRoomDirectoryCallsCountLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingCallsCount = newValue } } } var publishRoomAliasInRoomDirectoryCalled: Bool { return publishRoomAliasInRoomDirectoryCallsCount > 0 } - var publishRoomAliasInRoomDirectoryReceivedAlias: String? - var publishRoomAliasInRoomDirectoryReceivedInvocations: [String] = [] + private let publishRoomAliasInRoomDirectoryReceivedAliasLock = NSLock() + private var publishRoomAliasInRoomDirectoryUnderlyingReceivedAlias: String? + var publishRoomAliasInRoomDirectoryReceivedAlias: String? { + get { publishRoomAliasInRoomDirectoryReceivedAliasLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingReceivedAlias } } + set { publishRoomAliasInRoomDirectoryReceivedAliasLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingReceivedAlias = newValue } } + } + private let publishRoomAliasInRoomDirectoryReceivedInvocationsLock = NSLock() + private var publishRoomAliasInRoomDirectoryUnderlyingReceivedInvocations: [String] = [] + var publishRoomAliasInRoomDirectoryReceivedInvocations: [String] { + get { publishRoomAliasInRoomDirectoryReceivedInvocationsLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingReceivedInvocations } } + set { publishRoomAliasInRoomDirectoryReceivedInvocationsLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingReceivedInvocations = newValue } } + } - var publishRoomAliasInRoomDirectoryUnderlyingReturnValue: Result! + private let publishRoomAliasInRoomDirectoryReturnValueLock = NSLock() + private var publishRoomAliasInRoomDirectoryUnderlyingReturnValue: Result! var publishRoomAliasInRoomDirectoryReturnValue: Result! { - get { - if Thread.isMainThread { - return publishRoomAliasInRoomDirectoryUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = publishRoomAliasInRoomDirectoryUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - publishRoomAliasInRoomDirectoryUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - publishRoomAliasInRoomDirectoryUnderlyingReturnValue = newValue - } - } - } + get { publishRoomAliasInRoomDirectoryReturnValueLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingReturnValue } } + set { publishRoomAliasInRoomDirectoryReturnValueLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingReturnValue = newValue } } } var publishRoomAliasInRoomDirectoryClosure: ((String) async -> Result)? func publishRoomAliasInRoomDirectory(_ alias: String) async -> Result { - publishRoomAliasInRoomDirectoryCallsCount += 1 + publishRoomAliasInRoomDirectoryCallsCountLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingCallsCount += 1 } publishRoomAliasInRoomDirectoryReceivedAlias = alias - DispatchQueue.main.async { - self.publishRoomAliasInRoomDirectoryReceivedInvocations.append(alias) - } + publishRoomAliasInRoomDirectoryReceivedInvocationsLock.withLock { publishRoomAliasInRoomDirectoryUnderlyingReceivedInvocations.append(alias) } if let publishRoomAliasInRoomDirectoryClosure = publishRoomAliasInRoomDirectoryClosure { return await publishRoomAliasInRoomDirectoryClosure(alias) } else { @@ -10185,68 +6085,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - removeRoomAliasFromRoomDirectory - var removeRoomAliasFromRoomDirectoryUnderlyingCallsCount = 0 + private let removeRoomAliasFromRoomDirectoryCallsCountLock = NSLock() + private var removeRoomAliasFromRoomDirectoryUnderlyingCallsCount = 0 var removeRoomAliasFromRoomDirectoryCallsCount: Int { - get { - if Thread.isMainThread { - return removeRoomAliasFromRoomDirectoryUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeRoomAliasFromRoomDirectoryUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeRoomAliasFromRoomDirectoryUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeRoomAliasFromRoomDirectoryUnderlyingCallsCount = newValue - } - } - } + get { removeRoomAliasFromRoomDirectoryCallsCountLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingCallsCount } } + set { removeRoomAliasFromRoomDirectoryCallsCountLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingCallsCount = newValue } } } var removeRoomAliasFromRoomDirectoryCalled: Bool { return removeRoomAliasFromRoomDirectoryCallsCount > 0 } - var removeRoomAliasFromRoomDirectoryReceivedAlias: String? - var removeRoomAliasFromRoomDirectoryReceivedInvocations: [String] = [] + private let removeRoomAliasFromRoomDirectoryReceivedAliasLock = NSLock() + private var removeRoomAliasFromRoomDirectoryUnderlyingReceivedAlias: String? + var removeRoomAliasFromRoomDirectoryReceivedAlias: String? { + get { removeRoomAliasFromRoomDirectoryReceivedAliasLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingReceivedAlias } } + set { removeRoomAliasFromRoomDirectoryReceivedAliasLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingReceivedAlias = newValue } } + } + private let removeRoomAliasFromRoomDirectoryReceivedInvocationsLock = NSLock() + private var removeRoomAliasFromRoomDirectoryUnderlyingReceivedInvocations: [String] = [] + var removeRoomAliasFromRoomDirectoryReceivedInvocations: [String] { + get { removeRoomAliasFromRoomDirectoryReceivedInvocationsLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingReceivedInvocations } } + set { removeRoomAliasFromRoomDirectoryReceivedInvocationsLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingReceivedInvocations = newValue } } + } - var removeRoomAliasFromRoomDirectoryUnderlyingReturnValue: Result! + private let removeRoomAliasFromRoomDirectoryReturnValueLock = NSLock() + private var removeRoomAliasFromRoomDirectoryUnderlyingReturnValue: Result! var removeRoomAliasFromRoomDirectoryReturnValue: Result! { - get { - if Thread.isMainThread { - return removeRoomAliasFromRoomDirectoryUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = removeRoomAliasFromRoomDirectoryUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeRoomAliasFromRoomDirectoryUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - removeRoomAliasFromRoomDirectoryUnderlyingReturnValue = newValue - } - } - } + get { removeRoomAliasFromRoomDirectoryReturnValueLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingReturnValue } } + set { removeRoomAliasFromRoomDirectoryReturnValueLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingReturnValue = newValue } } } var removeRoomAliasFromRoomDirectoryClosure: ((String) async -> Result)? func removeRoomAliasFromRoomDirectory(_ alias: String) async -> Result { - removeRoomAliasFromRoomDirectoryCallsCount += 1 + removeRoomAliasFromRoomDirectoryCallsCountLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingCallsCount += 1 } removeRoomAliasFromRoomDirectoryReceivedAlias = alias - DispatchQueue.main.async { - self.removeRoomAliasFromRoomDirectoryReceivedInvocations.append(alias) - } + removeRoomAliasFromRoomDirectoryReceivedInvocationsLock.withLock { removeRoomAliasFromRoomDirectoryUnderlyingReceivedInvocations.append(alias) } if let removeRoomAliasFromRoomDirectoryClosure = removeRoomAliasFromRoomDirectoryClosure { return await removeRoomAliasFromRoomDirectoryClosure(alias) } else { @@ -10255,68 +6127,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - flagAsUnread - var flagAsUnreadUnderlyingCallsCount = 0 + private let flagAsUnreadCallsCountLock = NSLock() + private var flagAsUnreadUnderlyingCallsCount = 0 var flagAsUnreadCallsCount: Int { - get { - if Thread.isMainThread { - return flagAsUnreadUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = flagAsUnreadUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - flagAsUnreadUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - flagAsUnreadUnderlyingCallsCount = newValue - } - } - } + get { flagAsUnreadCallsCountLock.withLock { flagAsUnreadUnderlyingCallsCount } } + set { flagAsUnreadCallsCountLock.withLock { flagAsUnreadUnderlyingCallsCount = newValue } } } var flagAsUnreadCalled: Bool { return flagAsUnreadCallsCount > 0 } - var flagAsUnreadReceivedIsUnread: Bool? - var flagAsUnreadReceivedInvocations: [Bool] = [] + private let flagAsUnreadReceivedIsUnreadLock = NSLock() + private var flagAsUnreadUnderlyingReceivedIsUnread: Bool? + var flagAsUnreadReceivedIsUnread: Bool? { + get { flagAsUnreadReceivedIsUnreadLock.withLock { flagAsUnreadUnderlyingReceivedIsUnread } } + set { flagAsUnreadReceivedIsUnreadLock.withLock { flagAsUnreadUnderlyingReceivedIsUnread = newValue } } + } + private let flagAsUnreadReceivedInvocationsLock = NSLock() + private var flagAsUnreadUnderlyingReceivedInvocations: [Bool] = [] + var flagAsUnreadReceivedInvocations: [Bool] { + get { flagAsUnreadReceivedInvocationsLock.withLock { flagAsUnreadUnderlyingReceivedInvocations } } + set { flagAsUnreadReceivedInvocationsLock.withLock { flagAsUnreadUnderlyingReceivedInvocations = newValue } } + } - var flagAsUnreadUnderlyingReturnValue: Result! + private let flagAsUnreadReturnValueLock = NSLock() + private var flagAsUnreadUnderlyingReturnValue: Result! var flagAsUnreadReturnValue: Result! { - get { - if Thread.isMainThread { - return flagAsUnreadUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = flagAsUnreadUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - flagAsUnreadUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - flagAsUnreadUnderlyingReturnValue = newValue - } - } - } + get { flagAsUnreadReturnValueLock.withLock { flagAsUnreadUnderlyingReturnValue } } + set { flagAsUnreadReturnValueLock.withLock { flagAsUnreadUnderlyingReturnValue = newValue } } } var flagAsUnreadClosure: ((Bool) async -> Result)? func flagAsUnread(_ isUnread: Bool) async -> Result { - flagAsUnreadCallsCount += 1 + flagAsUnreadCallsCountLock.withLock { flagAsUnreadUnderlyingCallsCount += 1 } flagAsUnreadReceivedIsUnread = isUnread - DispatchQueue.main.async { - self.flagAsUnreadReceivedInvocations.append(isUnread) - } + flagAsUnreadReceivedInvocationsLock.withLock { flagAsUnreadUnderlyingReceivedInvocations.append(isUnread) } if let flagAsUnreadClosure = flagAsUnreadClosure { return await flagAsUnreadClosure(isUnread) } else { @@ -10325,68 +6169,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - flagAsFavourite - var flagAsFavouriteUnderlyingCallsCount = 0 + private let flagAsFavouriteCallsCountLock = NSLock() + private var flagAsFavouriteUnderlyingCallsCount = 0 var flagAsFavouriteCallsCount: Int { - get { - if Thread.isMainThread { - return flagAsFavouriteUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = flagAsFavouriteUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - flagAsFavouriteUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - flagAsFavouriteUnderlyingCallsCount = newValue - } - } - } + get { flagAsFavouriteCallsCountLock.withLock { flagAsFavouriteUnderlyingCallsCount } } + set { flagAsFavouriteCallsCountLock.withLock { flagAsFavouriteUnderlyingCallsCount = newValue } } } var flagAsFavouriteCalled: Bool { return flagAsFavouriteCallsCount > 0 } - var flagAsFavouriteReceivedIsFavourite: Bool? - var flagAsFavouriteReceivedInvocations: [Bool] = [] + private let flagAsFavouriteReceivedIsFavouriteLock = NSLock() + private var flagAsFavouriteUnderlyingReceivedIsFavourite: Bool? + var flagAsFavouriteReceivedIsFavourite: Bool? { + get { flagAsFavouriteReceivedIsFavouriteLock.withLock { flagAsFavouriteUnderlyingReceivedIsFavourite } } + set { flagAsFavouriteReceivedIsFavouriteLock.withLock { flagAsFavouriteUnderlyingReceivedIsFavourite = newValue } } + } + private let flagAsFavouriteReceivedInvocationsLock = NSLock() + private var flagAsFavouriteUnderlyingReceivedInvocations: [Bool] = [] + var flagAsFavouriteReceivedInvocations: [Bool] { + get { flagAsFavouriteReceivedInvocationsLock.withLock { flagAsFavouriteUnderlyingReceivedInvocations } } + set { flagAsFavouriteReceivedInvocationsLock.withLock { flagAsFavouriteUnderlyingReceivedInvocations = newValue } } + } - var flagAsFavouriteUnderlyingReturnValue: Result! + private let flagAsFavouriteReturnValueLock = NSLock() + private var flagAsFavouriteUnderlyingReturnValue: Result! var flagAsFavouriteReturnValue: Result! { - get { - if Thread.isMainThread { - return flagAsFavouriteUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = flagAsFavouriteUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - flagAsFavouriteUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - flagAsFavouriteUnderlyingReturnValue = newValue - } - } - } + get { flagAsFavouriteReturnValueLock.withLock { flagAsFavouriteUnderlyingReturnValue } } + set { flagAsFavouriteReturnValueLock.withLock { flagAsFavouriteUnderlyingReturnValue = newValue } } } var flagAsFavouriteClosure: ((Bool) async -> Result)? func flagAsFavourite(_ isFavourite: Bool) async -> Result { - flagAsFavouriteCallsCount += 1 + flagAsFavouriteCallsCountLock.withLock { flagAsFavouriteUnderlyingCallsCount += 1 } flagAsFavouriteReceivedIsFavourite = isFavourite - DispatchQueue.main.async { - self.flagAsFavouriteReceivedInvocations.append(isFavourite) - } + flagAsFavouriteReceivedInvocationsLock.withLock { flagAsFavouriteUnderlyingReceivedInvocations.append(isFavourite) } if let flagAsFavouriteClosure = flagAsFavouriteClosure { return await flagAsFavouriteClosure(isFavourite) } else { @@ -10395,62 +6211,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - powerLevels - var powerLevelsUnderlyingCallsCount = 0 + private let powerLevelsCallsCountLock = NSLock() + private var powerLevelsUnderlyingCallsCount = 0 var powerLevelsCallsCount: Int { - get { - if Thread.isMainThread { - return powerLevelsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = powerLevelsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - powerLevelsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - powerLevelsUnderlyingCallsCount = newValue - } - } - } + get { powerLevelsCallsCountLock.withLock { powerLevelsUnderlyingCallsCount } } + set { powerLevelsCallsCountLock.withLock { powerLevelsUnderlyingCallsCount = newValue } } } var powerLevelsCalled: Bool { return powerLevelsCallsCount > 0 } - var powerLevelsUnderlyingReturnValue: Result! + private let powerLevelsReturnValueLock = NSLock() + private var powerLevelsUnderlyingReturnValue: Result! var powerLevelsReturnValue: Result! { - get { - if Thread.isMainThread { - return powerLevelsUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = powerLevelsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - powerLevelsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - powerLevelsUnderlyingReturnValue = newValue - } - } - } + get { powerLevelsReturnValueLock.withLock { powerLevelsUnderlyingReturnValue } } + set { powerLevelsReturnValueLock.withLock { powerLevelsUnderlyingReturnValue = newValue } } } var powerLevelsClosure: (() async -> Result)? func powerLevels() async -> Result { - powerLevelsCallsCount += 1 + powerLevelsCallsCountLock.withLock { powerLevelsUnderlyingCallsCount += 1 } if let powerLevelsClosure = powerLevelsClosure { return await powerLevelsClosure() } else { @@ -10459,68 +6239,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - applyPowerLevelChanges - var applyPowerLevelChangesUnderlyingCallsCount = 0 + private let applyPowerLevelChangesCallsCountLock = NSLock() + private var applyPowerLevelChangesUnderlyingCallsCount = 0 var applyPowerLevelChangesCallsCount: Int { - get { - if Thread.isMainThread { - return applyPowerLevelChangesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = applyPowerLevelChangesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - applyPowerLevelChangesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - applyPowerLevelChangesUnderlyingCallsCount = newValue - } - } - } + get { applyPowerLevelChangesCallsCountLock.withLock { applyPowerLevelChangesUnderlyingCallsCount } } + set { applyPowerLevelChangesCallsCountLock.withLock { applyPowerLevelChangesUnderlyingCallsCount = newValue } } } var applyPowerLevelChangesCalled: Bool { return applyPowerLevelChangesCallsCount > 0 } - var applyPowerLevelChangesReceivedChanges: RoomPowerLevelChanges? - var applyPowerLevelChangesReceivedInvocations: [RoomPowerLevelChanges] = [] + private let applyPowerLevelChangesReceivedChangesLock = NSLock() + private var applyPowerLevelChangesUnderlyingReceivedChanges: RoomPowerLevelChanges? + var applyPowerLevelChangesReceivedChanges: RoomPowerLevelChanges? { + get { applyPowerLevelChangesReceivedChangesLock.withLock { applyPowerLevelChangesUnderlyingReceivedChanges } } + set { applyPowerLevelChangesReceivedChangesLock.withLock { applyPowerLevelChangesUnderlyingReceivedChanges = newValue } } + } + private let applyPowerLevelChangesReceivedInvocationsLock = NSLock() + private var applyPowerLevelChangesUnderlyingReceivedInvocations: [RoomPowerLevelChanges] = [] + var applyPowerLevelChangesReceivedInvocations: [RoomPowerLevelChanges] { + get { applyPowerLevelChangesReceivedInvocationsLock.withLock { applyPowerLevelChangesUnderlyingReceivedInvocations } } + set { applyPowerLevelChangesReceivedInvocationsLock.withLock { applyPowerLevelChangesUnderlyingReceivedInvocations = newValue } } + } - var applyPowerLevelChangesUnderlyingReturnValue: Result! + private let applyPowerLevelChangesReturnValueLock = NSLock() + private var applyPowerLevelChangesUnderlyingReturnValue: Result! var applyPowerLevelChangesReturnValue: Result! { - get { - if Thread.isMainThread { - return applyPowerLevelChangesUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = applyPowerLevelChangesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - applyPowerLevelChangesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - applyPowerLevelChangesUnderlyingReturnValue = newValue - } - } - } + get { applyPowerLevelChangesReturnValueLock.withLock { applyPowerLevelChangesUnderlyingReturnValue } } + set { applyPowerLevelChangesReturnValueLock.withLock { applyPowerLevelChangesUnderlyingReturnValue = newValue } } } var applyPowerLevelChangesClosure: ((RoomPowerLevelChanges) async -> Result)? func applyPowerLevelChanges(_ changes: RoomPowerLevelChanges) async -> Result { - applyPowerLevelChangesCallsCount += 1 + applyPowerLevelChangesCallsCountLock.withLock { applyPowerLevelChangesUnderlyingCallsCount += 1 } applyPowerLevelChangesReceivedChanges = changes - DispatchQueue.main.async { - self.applyPowerLevelChangesReceivedInvocations.append(changes) - } + applyPowerLevelChangesReceivedInvocationsLock.withLock { applyPowerLevelChangesUnderlyingReceivedInvocations.append(changes) } if let applyPowerLevelChangesClosure = applyPowerLevelChangesClosure { return await applyPowerLevelChangesClosure(changes) } else { @@ -10529,62 +6281,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - resetPowerLevels - var resetPowerLevelsUnderlyingCallsCount = 0 + private let resetPowerLevelsCallsCountLock = NSLock() + private var resetPowerLevelsUnderlyingCallsCount = 0 var resetPowerLevelsCallsCount: Int { - get { - if Thread.isMainThread { - return resetPowerLevelsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetPowerLevelsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetPowerLevelsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetPowerLevelsUnderlyingCallsCount = newValue - } - } - } + get { resetPowerLevelsCallsCountLock.withLock { resetPowerLevelsUnderlyingCallsCount } } + set { resetPowerLevelsCallsCountLock.withLock { resetPowerLevelsUnderlyingCallsCount = newValue } } } var resetPowerLevelsCalled: Bool { return resetPowerLevelsCallsCount > 0 } - var resetPowerLevelsUnderlyingReturnValue: Result! + private let resetPowerLevelsReturnValueLock = NSLock() + private var resetPowerLevelsUnderlyingReturnValue: Result! var resetPowerLevelsReturnValue: Result! { - get { - if Thread.isMainThread { - return resetPowerLevelsUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = resetPowerLevelsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetPowerLevelsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - resetPowerLevelsUnderlyingReturnValue = newValue - } - } - } + get { resetPowerLevelsReturnValueLock.withLock { resetPowerLevelsUnderlyingReturnValue } } + set { resetPowerLevelsReturnValueLock.withLock { resetPowerLevelsUnderlyingReturnValue = newValue } } } var resetPowerLevelsClosure: (() async -> Result)? func resetPowerLevels() async -> Result { - resetPowerLevelsCallsCount += 1 + resetPowerLevelsCallsCountLock.withLock { resetPowerLevelsUnderlyingCallsCount += 1 } if let resetPowerLevelsClosure = resetPowerLevelsClosure { return await resetPowerLevelsClosure() } else { @@ -10593,68 +6309,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - suggestedRole - var suggestedRoleForUnderlyingCallsCount = 0 + private let suggestedRoleForCallsCountLock = NSLock() + private var suggestedRoleForUnderlyingCallsCount = 0 var suggestedRoleForCallsCount: Int { - get { - if Thread.isMainThread { - return suggestedRoleForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = suggestedRoleForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - suggestedRoleForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - suggestedRoleForUnderlyingCallsCount = newValue - } - } - } + get { suggestedRoleForCallsCountLock.withLock { suggestedRoleForUnderlyingCallsCount } } + set { suggestedRoleForCallsCountLock.withLock { suggestedRoleForUnderlyingCallsCount = newValue } } } var suggestedRoleForCalled: Bool { return suggestedRoleForCallsCount > 0 } - var suggestedRoleForReceivedUserID: String? - var suggestedRoleForReceivedInvocations: [String] = [] + private let suggestedRoleForReceivedUserIDLock = NSLock() + private var suggestedRoleForUnderlyingReceivedUserID: String? + var suggestedRoleForReceivedUserID: String? { + get { suggestedRoleForReceivedUserIDLock.withLock { suggestedRoleForUnderlyingReceivedUserID } } + set { suggestedRoleForReceivedUserIDLock.withLock { suggestedRoleForUnderlyingReceivedUserID = newValue } } + } + private let suggestedRoleForReceivedInvocationsLock = NSLock() + private var suggestedRoleForUnderlyingReceivedInvocations: [String] = [] + var suggestedRoleForReceivedInvocations: [String] { + get { suggestedRoleForReceivedInvocationsLock.withLock { suggestedRoleForUnderlyingReceivedInvocations } } + set { suggestedRoleForReceivedInvocationsLock.withLock { suggestedRoleForUnderlyingReceivedInvocations = newValue } } + } - var suggestedRoleForUnderlyingReturnValue: Result! + private let suggestedRoleForReturnValueLock = NSLock() + private var suggestedRoleForUnderlyingReturnValue: Result! var suggestedRoleForReturnValue: Result! { - get { - if Thread.isMainThread { - return suggestedRoleForUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = suggestedRoleForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - suggestedRoleForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - suggestedRoleForUnderlyingReturnValue = newValue - } - } - } + get { suggestedRoleForReturnValueLock.withLock { suggestedRoleForUnderlyingReturnValue } } + set { suggestedRoleForReturnValueLock.withLock { suggestedRoleForUnderlyingReturnValue = newValue } } } var suggestedRoleForClosure: ((String) async -> Result)? func suggestedRole(for userID: String) async -> Result { - suggestedRoleForCallsCount += 1 + suggestedRoleForCallsCountLock.withLock { suggestedRoleForUnderlyingCallsCount += 1 } suggestedRoleForReceivedUserID = userID - DispatchQueue.main.async { - self.suggestedRoleForReceivedInvocations.append(userID) - } + suggestedRoleForReceivedInvocationsLock.withLock { suggestedRoleForUnderlyingReceivedInvocations.append(userID) } if let suggestedRoleForClosure = suggestedRoleForClosure { return await suggestedRoleForClosure(userID) } else { @@ -10663,68 +6351,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - updatePowerLevelsForUsers - var updatePowerLevelsForUsersUnderlyingCallsCount = 0 + private let updatePowerLevelsForUsersCallsCountLock = NSLock() + private var updatePowerLevelsForUsersUnderlyingCallsCount = 0 var updatePowerLevelsForUsersCallsCount: Int { - get { - if Thread.isMainThread { - return updatePowerLevelsForUsersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updatePowerLevelsForUsersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updatePowerLevelsForUsersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updatePowerLevelsForUsersUnderlyingCallsCount = newValue - } - } - } + get { updatePowerLevelsForUsersCallsCountLock.withLock { updatePowerLevelsForUsersUnderlyingCallsCount } } + set { updatePowerLevelsForUsersCallsCountLock.withLock { updatePowerLevelsForUsersUnderlyingCallsCount = newValue } } } var updatePowerLevelsForUsersCalled: Bool { return updatePowerLevelsForUsersCallsCount > 0 } - var updatePowerLevelsForUsersReceivedUpdates: [(userID: String, powerLevel: Int64)]? - var updatePowerLevelsForUsersReceivedInvocations: [[(userID: String, powerLevel: Int64)]] = [] + private let updatePowerLevelsForUsersReceivedUpdatesLock = NSLock() + private var updatePowerLevelsForUsersUnderlyingReceivedUpdates: [(userID: String, powerLevel: Int64)]? + var updatePowerLevelsForUsersReceivedUpdates: [(userID: String, powerLevel: Int64)]? { + get { updatePowerLevelsForUsersReceivedUpdatesLock.withLock { updatePowerLevelsForUsersUnderlyingReceivedUpdates } } + set { updatePowerLevelsForUsersReceivedUpdatesLock.withLock { updatePowerLevelsForUsersUnderlyingReceivedUpdates = newValue } } + } + private let updatePowerLevelsForUsersReceivedInvocationsLock = NSLock() + private var updatePowerLevelsForUsersUnderlyingReceivedInvocations: [[(userID: String, powerLevel: Int64)]] = [] + var updatePowerLevelsForUsersReceivedInvocations: [[(userID: String, powerLevel: Int64)]] { + get { updatePowerLevelsForUsersReceivedInvocationsLock.withLock { updatePowerLevelsForUsersUnderlyingReceivedInvocations } } + set { updatePowerLevelsForUsersReceivedInvocationsLock.withLock { updatePowerLevelsForUsersUnderlyingReceivedInvocations = newValue } } + } - var updatePowerLevelsForUsersUnderlyingReturnValue: Result! + private let updatePowerLevelsForUsersReturnValueLock = NSLock() + private var updatePowerLevelsForUsersUnderlyingReturnValue: Result! var updatePowerLevelsForUsersReturnValue: Result! { - get { - if Thread.isMainThread { - return updatePowerLevelsForUsersUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = updatePowerLevelsForUsersUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updatePowerLevelsForUsersUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - updatePowerLevelsForUsersUnderlyingReturnValue = newValue - } - } - } + get { updatePowerLevelsForUsersReturnValueLock.withLock { updatePowerLevelsForUsersUnderlyingReturnValue } } + set { updatePowerLevelsForUsersReturnValueLock.withLock { updatePowerLevelsForUsersUnderlyingReturnValue = newValue } } } var updatePowerLevelsForUsersClosure: (([(userID: String, powerLevel: Int64)]) async -> Result)? func updatePowerLevelsForUsers(_ updates: [(userID: String, powerLevel: Int64)]) async -> Result { - updatePowerLevelsForUsersCallsCount += 1 + updatePowerLevelsForUsersCallsCountLock.withLock { updatePowerLevelsForUsersUnderlyingCallsCount += 1 } updatePowerLevelsForUsersReceivedUpdates = updates - DispatchQueue.main.async { - self.updatePowerLevelsForUsersReceivedInvocations.append(updates) - } + updatePowerLevelsForUsersReceivedInvocationsLock.withLock { updatePowerLevelsForUsersUnderlyingReceivedInvocations.append(updates) } if let updatePowerLevelsForUsersClosure = updatePowerLevelsForUsersClosure { return await updatePowerLevelsForUsersClosure(updates) } else { @@ -10733,68 +6393,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - kickUser - var kickUserReasonUnderlyingCallsCount = 0 + private let kickUserReasonCallsCountLock = NSLock() + private var kickUserReasonUnderlyingCallsCount = 0 var kickUserReasonCallsCount: Int { - get { - if Thread.isMainThread { - return kickUserReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = kickUserReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - kickUserReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - kickUserReasonUnderlyingCallsCount = newValue - } - } - } + get { kickUserReasonCallsCountLock.withLock { kickUserReasonUnderlyingCallsCount } } + set { kickUserReasonCallsCountLock.withLock { kickUserReasonUnderlyingCallsCount = newValue } } } var kickUserReasonCalled: Bool { return kickUserReasonCallsCount > 0 } - var kickUserReasonReceivedArguments: (userID: String, reason: String?)? - var kickUserReasonReceivedInvocations: [(userID: String, reason: String?)] = [] + private let kickUserReasonReceivedArgumentsLock = NSLock() + private var kickUserReasonUnderlyingReceivedArguments: (userID: String, reason: String?)? + var kickUserReasonReceivedArguments: (userID: String, reason: String?)? { + get { kickUserReasonReceivedArgumentsLock.withLock { kickUserReasonUnderlyingReceivedArguments } } + set { kickUserReasonReceivedArgumentsLock.withLock { kickUserReasonUnderlyingReceivedArguments = newValue } } + } + private let kickUserReasonReceivedInvocationsLock = NSLock() + private var kickUserReasonUnderlyingReceivedInvocations: [(userID: String, reason: String?)] = [] + var kickUserReasonReceivedInvocations: [(userID: String, reason: String?)] { + get { kickUserReasonReceivedInvocationsLock.withLock { kickUserReasonUnderlyingReceivedInvocations } } + set { kickUserReasonReceivedInvocationsLock.withLock { kickUserReasonUnderlyingReceivedInvocations = newValue } } + } - var kickUserReasonUnderlyingReturnValue: Result! + private let kickUserReasonReturnValueLock = NSLock() + private var kickUserReasonUnderlyingReturnValue: Result! var kickUserReasonReturnValue: Result! { - get { - if Thread.isMainThread { - return kickUserReasonUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = kickUserReasonUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - kickUserReasonUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - kickUserReasonUnderlyingReturnValue = newValue - } - } - } + get { kickUserReasonReturnValueLock.withLock { kickUserReasonUnderlyingReturnValue } } + set { kickUserReasonReturnValueLock.withLock { kickUserReasonUnderlyingReturnValue = newValue } } } var kickUserReasonClosure: ((String, String?) async -> Result)? func kickUser(_ userID: String, reason: String?) async -> Result { - kickUserReasonCallsCount += 1 + kickUserReasonCallsCountLock.withLock { kickUserReasonUnderlyingCallsCount += 1 } kickUserReasonReceivedArguments = (userID: userID, reason: reason) - DispatchQueue.main.async { - self.kickUserReasonReceivedInvocations.append((userID: userID, reason: reason)) - } + kickUserReasonReceivedInvocationsLock.withLock { kickUserReasonUnderlyingReceivedInvocations.append((userID: userID, reason: reason)) } if let kickUserReasonClosure = kickUserReasonClosure { return await kickUserReasonClosure(userID, reason) } else { @@ -10803,68 +6435,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - banUser - var banUserReasonUnderlyingCallsCount = 0 + private let banUserReasonCallsCountLock = NSLock() + private var banUserReasonUnderlyingCallsCount = 0 var banUserReasonCallsCount: Int { - get { - if Thread.isMainThread { - return banUserReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = banUserReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - banUserReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - banUserReasonUnderlyingCallsCount = newValue - } - } - } + get { banUserReasonCallsCountLock.withLock { banUserReasonUnderlyingCallsCount } } + set { banUserReasonCallsCountLock.withLock { banUserReasonUnderlyingCallsCount = newValue } } } var banUserReasonCalled: Bool { return banUserReasonCallsCount > 0 } - var banUserReasonReceivedArguments: (userID: String, reason: String?)? - var banUserReasonReceivedInvocations: [(userID: String, reason: String?)] = [] + private let banUserReasonReceivedArgumentsLock = NSLock() + private var banUserReasonUnderlyingReceivedArguments: (userID: String, reason: String?)? + var banUserReasonReceivedArguments: (userID: String, reason: String?)? { + get { banUserReasonReceivedArgumentsLock.withLock { banUserReasonUnderlyingReceivedArguments } } + set { banUserReasonReceivedArgumentsLock.withLock { banUserReasonUnderlyingReceivedArguments = newValue } } + } + private let banUserReasonReceivedInvocationsLock = NSLock() + private var banUserReasonUnderlyingReceivedInvocations: [(userID: String, reason: String?)] = [] + var banUserReasonReceivedInvocations: [(userID: String, reason: String?)] { + get { banUserReasonReceivedInvocationsLock.withLock { banUserReasonUnderlyingReceivedInvocations } } + set { banUserReasonReceivedInvocationsLock.withLock { banUserReasonUnderlyingReceivedInvocations = newValue } } + } - var banUserReasonUnderlyingReturnValue: Result! + private let banUserReasonReturnValueLock = NSLock() + private var banUserReasonUnderlyingReturnValue: Result! var banUserReasonReturnValue: Result! { - get { - if Thread.isMainThread { - return banUserReasonUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = banUserReasonUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - banUserReasonUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - banUserReasonUnderlyingReturnValue = newValue - } - } - } + get { banUserReasonReturnValueLock.withLock { banUserReasonUnderlyingReturnValue } } + set { banUserReasonReturnValueLock.withLock { banUserReasonUnderlyingReturnValue = newValue } } } var banUserReasonClosure: ((String, String?) async -> Result)? func banUser(_ userID: String, reason: String?) async -> Result { - banUserReasonCallsCount += 1 + banUserReasonCallsCountLock.withLock { banUserReasonUnderlyingCallsCount += 1 } banUserReasonReceivedArguments = (userID: userID, reason: reason) - DispatchQueue.main.async { - self.banUserReasonReceivedInvocations.append((userID: userID, reason: reason)) - } + banUserReasonReceivedInvocationsLock.withLock { banUserReasonUnderlyingReceivedInvocations.append((userID: userID, reason: reason)) } if let banUserReasonClosure = banUserReasonClosure { return await banUserReasonClosure(userID, reason) } else { @@ -10873,68 +6477,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - unbanUser - var unbanUserUnderlyingCallsCount = 0 + private let unbanUserCallsCountLock = NSLock() + private var unbanUserUnderlyingCallsCount = 0 var unbanUserCallsCount: Int { - get { - if Thread.isMainThread { - return unbanUserUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unbanUserUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unbanUserUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unbanUserUnderlyingCallsCount = newValue - } - } - } + get { unbanUserCallsCountLock.withLock { unbanUserUnderlyingCallsCount } } + set { unbanUserCallsCountLock.withLock { unbanUserUnderlyingCallsCount = newValue } } } var unbanUserCalled: Bool { return unbanUserCallsCount > 0 } - var unbanUserReceivedUserID: String? - var unbanUserReceivedInvocations: [String] = [] + private let unbanUserReceivedUserIDLock = NSLock() + private var unbanUserUnderlyingReceivedUserID: String? + var unbanUserReceivedUserID: String? { + get { unbanUserReceivedUserIDLock.withLock { unbanUserUnderlyingReceivedUserID } } + set { unbanUserReceivedUserIDLock.withLock { unbanUserUnderlyingReceivedUserID = newValue } } + } + private let unbanUserReceivedInvocationsLock = NSLock() + private var unbanUserUnderlyingReceivedInvocations: [String] = [] + var unbanUserReceivedInvocations: [String] { + get { unbanUserReceivedInvocationsLock.withLock { unbanUserUnderlyingReceivedInvocations } } + set { unbanUserReceivedInvocationsLock.withLock { unbanUserUnderlyingReceivedInvocations = newValue } } + } - var unbanUserUnderlyingReturnValue: Result! + private let unbanUserReturnValueLock = NSLock() + private var unbanUserUnderlyingReturnValue: Result! var unbanUserReturnValue: Result! { - get { - if Thread.isMainThread { - return unbanUserUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = unbanUserUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unbanUserUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - unbanUserUnderlyingReturnValue = newValue - } - } - } + get { unbanUserReturnValueLock.withLock { unbanUserUnderlyingReturnValue } } + set { unbanUserReturnValueLock.withLock { unbanUserUnderlyingReturnValue = newValue } } } var unbanUserClosure: ((String) async -> Result)? func unbanUser(_ userID: String) async -> Result { - unbanUserCallsCount += 1 + unbanUserCallsCountLock.withLock { unbanUserUnderlyingCallsCount += 1 } unbanUserReceivedUserID = userID - DispatchQueue.main.async { - self.unbanUserReceivedInvocations.append(userID) - } + unbanUserReceivedInvocationsLock.withLock { unbanUserUnderlyingReceivedInvocations.append(userID) } if let unbanUserClosure = unbanUserClosure { return await unbanUserClosure(userID) } else { @@ -10943,68 +6519,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - elementCallWidgetDriver - var elementCallWidgetDriverDeviceIDUnderlyingCallsCount = 0 + private let elementCallWidgetDriverDeviceIDCallsCountLock = NSLock() + private var elementCallWidgetDriverDeviceIDUnderlyingCallsCount = 0 var elementCallWidgetDriverDeviceIDCallsCount: Int { - get { - if Thread.isMainThread { - return elementCallWidgetDriverDeviceIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = elementCallWidgetDriverDeviceIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - elementCallWidgetDriverDeviceIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - elementCallWidgetDriverDeviceIDUnderlyingCallsCount = newValue - } - } - } + get { elementCallWidgetDriverDeviceIDCallsCountLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingCallsCount } } + set { elementCallWidgetDriverDeviceIDCallsCountLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingCallsCount = newValue } } } var elementCallWidgetDriverDeviceIDCalled: Bool { return elementCallWidgetDriverDeviceIDCallsCount > 0 } - var elementCallWidgetDriverDeviceIDReceivedDeviceID: String? - var elementCallWidgetDriverDeviceIDReceivedInvocations: [String] = [] + private let elementCallWidgetDriverDeviceIDReceivedDeviceIDLock = NSLock() + private var elementCallWidgetDriverDeviceIDUnderlyingReceivedDeviceID: String? + var elementCallWidgetDriverDeviceIDReceivedDeviceID: String? { + get { elementCallWidgetDriverDeviceIDReceivedDeviceIDLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingReceivedDeviceID } } + set { elementCallWidgetDriverDeviceIDReceivedDeviceIDLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingReceivedDeviceID = newValue } } + } + private let elementCallWidgetDriverDeviceIDReceivedInvocationsLock = NSLock() + private var elementCallWidgetDriverDeviceIDUnderlyingReceivedInvocations: [String] = [] + var elementCallWidgetDriverDeviceIDReceivedInvocations: [String] { + get { elementCallWidgetDriverDeviceIDReceivedInvocationsLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingReceivedInvocations } } + set { elementCallWidgetDriverDeviceIDReceivedInvocationsLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingReceivedInvocations = newValue } } + } - var elementCallWidgetDriverDeviceIDUnderlyingReturnValue: ElementCallWidgetDriverProtocol! + private let elementCallWidgetDriverDeviceIDReturnValueLock = NSLock() + private var elementCallWidgetDriverDeviceIDUnderlyingReturnValue: ElementCallWidgetDriverProtocol! var elementCallWidgetDriverDeviceIDReturnValue: ElementCallWidgetDriverProtocol! { - get { - if Thread.isMainThread { - return elementCallWidgetDriverDeviceIDUnderlyingReturnValue - } else { - var returnValue: ElementCallWidgetDriverProtocol? = nil - DispatchQueue.main.sync { - returnValue = elementCallWidgetDriverDeviceIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - elementCallWidgetDriverDeviceIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - elementCallWidgetDriverDeviceIDUnderlyingReturnValue = newValue - } - } - } + get { elementCallWidgetDriverDeviceIDReturnValueLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingReturnValue } } + set { elementCallWidgetDriverDeviceIDReturnValueLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingReturnValue = newValue } } } var elementCallWidgetDriverDeviceIDClosure: ((String) -> ElementCallWidgetDriverProtocol)? func elementCallWidgetDriver(deviceID: String) -> ElementCallWidgetDriverProtocol { - elementCallWidgetDriverDeviceIDCallsCount += 1 + elementCallWidgetDriverDeviceIDCallsCountLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingCallsCount += 1 } elementCallWidgetDriverDeviceIDReceivedDeviceID = deviceID - DispatchQueue.main.async { - self.elementCallWidgetDriverDeviceIDReceivedInvocations.append(deviceID) - } + elementCallWidgetDriverDeviceIDReceivedInvocationsLock.withLock { elementCallWidgetDriverDeviceIDUnderlyingReceivedInvocations.append(deviceID) } if let elementCallWidgetDriverDeviceIDClosure = elementCallWidgetDriverDeviceIDClosure { return elementCallWidgetDriverDeviceIDClosure(deviceID) } else { @@ -11013,68 +6561,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - declineCall - var declineCallNotificationIDUnderlyingCallsCount = 0 + private let declineCallNotificationIDCallsCountLock = NSLock() + private var declineCallNotificationIDUnderlyingCallsCount = 0 var declineCallNotificationIDCallsCount: Int { - get { - if Thread.isMainThread { - return declineCallNotificationIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = declineCallNotificationIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineCallNotificationIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - declineCallNotificationIDUnderlyingCallsCount = newValue - } - } - } + get { declineCallNotificationIDCallsCountLock.withLock { declineCallNotificationIDUnderlyingCallsCount } } + set { declineCallNotificationIDCallsCountLock.withLock { declineCallNotificationIDUnderlyingCallsCount = newValue } } } var declineCallNotificationIDCalled: Bool { return declineCallNotificationIDCallsCount > 0 } - var declineCallNotificationIDReceivedNotificationID: String? - var declineCallNotificationIDReceivedInvocations: [String] = [] + private let declineCallNotificationIDReceivedNotificationIDLock = NSLock() + private var declineCallNotificationIDUnderlyingReceivedNotificationID: String? + var declineCallNotificationIDReceivedNotificationID: String? { + get { declineCallNotificationIDReceivedNotificationIDLock.withLock { declineCallNotificationIDUnderlyingReceivedNotificationID } } + set { declineCallNotificationIDReceivedNotificationIDLock.withLock { declineCallNotificationIDUnderlyingReceivedNotificationID = newValue } } + } + private let declineCallNotificationIDReceivedInvocationsLock = NSLock() + private var declineCallNotificationIDUnderlyingReceivedInvocations: [String] = [] + var declineCallNotificationIDReceivedInvocations: [String] { + get { declineCallNotificationIDReceivedInvocationsLock.withLock { declineCallNotificationIDUnderlyingReceivedInvocations } } + set { declineCallNotificationIDReceivedInvocationsLock.withLock { declineCallNotificationIDUnderlyingReceivedInvocations = newValue } } + } - var declineCallNotificationIDUnderlyingReturnValue: Result! + private let declineCallNotificationIDReturnValueLock = NSLock() + private var declineCallNotificationIDUnderlyingReturnValue: Result! var declineCallNotificationIDReturnValue: Result! { - get { - if Thread.isMainThread { - return declineCallNotificationIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = declineCallNotificationIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineCallNotificationIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - declineCallNotificationIDUnderlyingReturnValue = newValue - } - } - } + get { declineCallNotificationIDReturnValueLock.withLock { declineCallNotificationIDUnderlyingReturnValue } } + set { declineCallNotificationIDReturnValueLock.withLock { declineCallNotificationIDUnderlyingReturnValue = newValue } } } var declineCallNotificationIDClosure: ((String) async -> Result)? func declineCall(notificationID: String) async -> Result { - declineCallNotificationIDCallsCount += 1 + declineCallNotificationIDCallsCountLock.withLock { declineCallNotificationIDUnderlyingCallsCount += 1 } declineCallNotificationIDReceivedNotificationID = notificationID - DispatchQueue.main.async { - self.declineCallNotificationIDReceivedInvocations.append(notificationID) - } + declineCallNotificationIDReceivedInvocationsLock.withLock { declineCallNotificationIDUnderlyingReceivedInvocations.append(notificationID) } if let declineCallNotificationIDClosure = declineCallNotificationIDClosure { return await declineCallNotificationIDClosure(notificationID) } else { @@ -11083,68 +6603,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - subscribeToCallDeclineEvents - var subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount = 0 + private let subscribeToCallDeclineEventsRtcNotificationEventIDListenerCallsCountLock = NSLock() + private var subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount = 0 var subscribeToCallDeclineEventsRtcNotificationEventIDListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToCallDeclineEventsRtcNotificationEventIDListenerCallsCountLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount } } + set { subscribeToCallDeclineEventsRtcNotificationEventIDListenerCallsCountLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount = newValue } } } var subscribeToCallDeclineEventsRtcNotificationEventIDListenerCalled: Bool { return subscribeToCallDeclineEventsRtcNotificationEventIDListenerCallsCount > 0 } - var subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedArguments: (rtcNotificationEventID: String, listener: CallDeclineListener)? - var subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedInvocations: [(rtcNotificationEventID: String, listener: CallDeclineListener)] = [] + private let subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedArgumentsLock = NSLock() + private var subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReceivedArguments: (rtcNotificationEventID: String, listener: CallDeclineListener)? + var subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedArguments: (rtcNotificationEventID: String, listener: CallDeclineListener)? { + get { subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedArgumentsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReceivedArguments } } + set { subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedArgumentsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReceivedArguments = newValue } } + } + private let subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedInvocationsLock = NSLock() + private var subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReceivedInvocations: [(rtcNotificationEventID: String, listener: CallDeclineListener)] = [] + var subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedInvocations: [(rtcNotificationEventID: String, listener: CallDeclineListener)] { + get { subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedInvocationsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReceivedInvocations } } + set { subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedInvocationsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReceivedInvocations = newValue } } + } - var subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReturnValue: Result! + private let subscribeToCallDeclineEventsRtcNotificationEventIDListenerReturnValueLock = NSLock() + private var subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReturnValue: Result! var subscribeToCallDeclineEventsRtcNotificationEventIDListenerReturnValue: Result! { - get { - if Thread.isMainThread { - return subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToCallDeclineEventsRtcNotificationEventIDListenerReturnValueLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReturnValue } } + set { subscribeToCallDeclineEventsRtcNotificationEventIDListenerReturnValueLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReturnValue = newValue } } } var subscribeToCallDeclineEventsRtcNotificationEventIDListenerClosure: ((String, CallDeclineListener) -> Result)? func subscribeToCallDeclineEvents(rtcNotificationEventID: String, listener: CallDeclineListener) -> Result { - subscribeToCallDeclineEventsRtcNotificationEventIDListenerCallsCount += 1 + subscribeToCallDeclineEventsRtcNotificationEventIDListenerCallsCountLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingCallsCount += 1 } subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedArguments = (rtcNotificationEventID: rtcNotificationEventID, listener: listener) - DispatchQueue.main.async { - self.subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedInvocations.append((rtcNotificationEventID: rtcNotificationEventID, listener: listener)) - } + subscribeToCallDeclineEventsRtcNotificationEventIDListenerReceivedInvocationsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIDListenerUnderlyingReceivedInvocations.append((rtcNotificationEventID: rtcNotificationEventID, listener: listener)) } if let subscribeToCallDeclineEventsRtcNotificationEventIDListenerClosure = subscribeToCallDeclineEventsRtcNotificationEventIDListenerClosure { return subscribeToCallDeclineEventsRtcNotificationEventIDListenerClosure(rtcNotificationEventID, listener) } else { @@ -11153,62 +6645,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - matrixToPermalink - var matrixToPermalinkUnderlyingCallsCount = 0 + private let matrixToPermalinkCallsCountLock = NSLock() + private var matrixToPermalinkUnderlyingCallsCount = 0 var matrixToPermalinkCallsCount: Int { - get { - if Thread.isMainThread { - return matrixToPermalinkUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = matrixToPermalinkUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - matrixToPermalinkUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - matrixToPermalinkUnderlyingCallsCount = newValue - } - } - } + get { matrixToPermalinkCallsCountLock.withLock { matrixToPermalinkUnderlyingCallsCount } } + set { matrixToPermalinkCallsCountLock.withLock { matrixToPermalinkUnderlyingCallsCount = newValue } } } var matrixToPermalinkCalled: Bool { return matrixToPermalinkCallsCount > 0 } - var matrixToPermalinkUnderlyingReturnValue: Result! + private let matrixToPermalinkReturnValueLock = NSLock() + private var matrixToPermalinkUnderlyingReturnValue: Result! var matrixToPermalinkReturnValue: Result! { - get { - if Thread.isMainThread { - return matrixToPermalinkUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = matrixToPermalinkUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - matrixToPermalinkUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - matrixToPermalinkUnderlyingReturnValue = newValue - } - } - } + get { matrixToPermalinkReturnValueLock.withLock { matrixToPermalinkUnderlyingReturnValue } } + set { matrixToPermalinkReturnValueLock.withLock { matrixToPermalinkUnderlyingReturnValue = newValue } } } var matrixToPermalinkClosure: (() async -> Result)? func matrixToPermalink() async -> Result { - matrixToPermalinkCallsCount += 1 + matrixToPermalinkCallsCountLock.withLock { matrixToPermalinkUnderlyingCallsCount += 1 } if let matrixToPermalinkClosure = matrixToPermalinkClosure { return await matrixToPermalinkClosure() } else { @@ -11217,68 +6673,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - matrixToEventPermalink - var matrixToEventPermalinkUnderlyingCallsCount = 0 + private let matrixToEventPermalinkCallsCountLock = NSLock() + private var matrixToEventPermalinkUnderlyingCallsCount = 0 var matrixToEventPermalinkCallsCount: Int { - get { - if Thread.isMainThread { - return matrixToEventPermalinkUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = matrixToEventPermalinkUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - matrixToEventPermalinkUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - matrixToEventPermalinkUnderlyingCallsCount = newValue - } - } - } + get { matrixToEventPermalinkCallsCountLock.withLock { matrixToEventPermalinkUnderlyingCallsCount } } + set { matrixToEventPermalinkCallsCountLock.withLock { matrixToEventPermalinkUnderlyingCallsCount = newValue } } } var matrixToEventPermalinkCalled: Bool { return matrixToEventPermalinkCallsCount > 0 } - var matrixToEventPermalinkReceivedEventID: String? - var matrixToEventPermalinkReceivedInvocations: [String] = [] + private let matrixToEventPermalinkReceivedEventIDLock = NSLock() + private var matrixToEventPermalinkUnderlyingReceivedEventID: String? + var matrixToEventPermalinkReceivedEventID: String? { + get { matrixToEventPermalinkReceivedEventIDLock.withLock { matrixToEventPermalinkUnderlyingReceivedEventID } } + set { matrixToEventPermalinkReceivedEventIDLock.withLock { matrixToEventPermalinkUnderlyingReceivedEventID = newValue } } + } + private let matrixToEventPermalinkReceivedInvocationsLock = NSLock() + private var matrixToEventPermalinkUnderlyingReceivedInvocations: [String] = [] + var matrixToEventPermalinkReceivedInvocations: [String] { + get { matrixToEventPermalinkReceivedInvocationsLock.withLock { matrixToEventPermalinkUnderlyingReceivedInvocations } } + set { matrixToEventPermalinkReceivedInvocationsLock.withLock { matrixToEventPermalinkUnderlyingReceivedInvocations = newValue } } + } - var matrixToEventPermalinkUnderlyingReturnValue: Result! + private let matrixToEventPermalinkReturnValueLock = NSLock() + private var matrixToEventPermalinkUnderlyingReturnValue: Result! var matrixToEventPermalinkReturnValue: Result! { - get { - if Thread.isMainThread { - return matrixToEventPermalinkUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = matrixToEventPermalinkUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - matrixToEventPermalinkUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - matrixToEventPermalinkUnderlyingReturnValue = newValue - } - } - } + get { matrixToEventPermalinkReturnValueLock.withLock { matrixToEventPermalinkUnderlyingReturnValue } } + set { matrixToEventPermalinkReturnValueLock.withLock { matrixToEventPermalinkUnderlyingReturnValue = newValue } } } var matrixToEventPermalinkClosure: ((String) async -> Result)? func matrixToEventPermalink(_ eventID: String) async -> Result { - matrixToEventPermalinkCallsCount += 1 + matrixToEventPermalinkCallsCountLock.withLock { matrixToEventPermalinkUnderlyingCallsCount += 1 } matrixToEventPermalinkReceivedEventID = eventID - DispatchQueue.main.async { - self.matrixToEventPermalinkReceivedInvocations.append(eventID) - } + matrixToEventPermalinkReceivedInvocationsLock.withLock { matrixToEventPermalinkUnderlyingReceivedInvocations.append(eventID) } if let matrixToEventPermalinkClosure = matrixToEventPermalinkClosure { return await matrixToEventPermalinkClosure(eventID) } else { @@ -11287,68 +6715,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - saveDraft - var saveDraftThreadRootEventIDUnderlyingCallsCount = 0 + private let saveDraftThreadRootEventIDCallsCountLock = NSLock() + private var saveDraftThreadRootEventIDUnderlyingCallsCount = 0 var saveDraftThreadRootEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return saveDraftThreadRootEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = saveDraftThreadRootEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - saveDraftThreadRootEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - saveDraftThreadRootEventIDUnderlyingCallsCount = newValue - } - } - } + get { saveDraftThreadRootEventIDCallsCountLock.withLock { saveDraftThreadRootEventIDUnderlyingCallsCount } } + set { saveDraftThreadRootEventIDCallsCountLock.withLock { saveDraftThreadRootEventIDUnderlyingCallsCount = newValue } } } var saveDraftThreadRootEventIDCalled: Bool { return saveDraftThreadRootEventIDCallsCount > 0 } - var saveDraftThreadRootEventIDReceivedArguments: (draft: ComposerDraft, threadRootEventID: String?)? - var saveDraftThreadRootEventIDReceivedInvocations: [(draft: ComposerDraft, threadRootEventID: String?)] = [] + private let saveDraftThreadRootEventIDReceivedArgumentsLock = NSLock() + private var saveDraftThreadRootEventIDUnderlyingReceivedArguments: (draft: ComposerDraft, threadRootEventID: String?)? + var saveDraftThreadRootEventIDReceivedArguments: (draft: ComposerDraft, threadRootEventID: String?)? { + get { saveDraftThreadRootEventIDReceivedArgumentsLock.withLock { saveDraftThreadRootEventIDUnderlyingReceivedArguments } } + set { saveDraftThreadRootEventIDReceivedArgumentsLock.withLock { saveDraftThreadRootEventIDUnderlyingReceivedArguments = newValue } } + } + private let saveDraftThreadRootEventIDReceivedInvocationsLock = NSLock() + private var saveDraftThreadRootEventIDUnderlyingReceivedInvocations: [(draft: ComposerDraft, threadRootEventID: String?)] = [] + var saveDraftThreadRootEventIDReceivedInvocations: [(draft: ComposerDraft, threadRootEventID: String?)] { + get { saveDraftThreadRootEventIDReceivedInvocationsLock.withLock { saveDraftThreadRootEventIDUnderlyingReceivedInvocations } } + set { saveDraftThreadRootEventIDReceivedInvocationsLock.withLock { saveDraftThreadRootEventIDUnderlyingReceivedInvocations = newValue } } + } - var saveDraftThreadRootEventIDUnderlyingReturnValue: Result! + private let saveDraftThreadRootEventIDReturnValueLock = NSLock() + private var saveDraftThreadRootEventIDUnderlyingReturnValue: Result! var saveDraftThreadRootEventIDReturnValue: Result! { - get { - if Thread.isMainThread { - return saveDraftThreadRootEventIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = saveDraftThreadRootEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - saveDraftThreadRootEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - saveDraftThreadRootEventIDUnderlyingReturnValue = newValue - } - } - } + get { saveDraftThreadRootEventIDReturnValueLock.withLock { saveDraftThreadRootEventIDUnderlyingReturnValue } } + set { saveDraftThreadRootEventIDReturnValueLock.withLock { saveDraftThreadRootEventIDUnderlyingReturnValue = newValue } } } var saveDraftThreadRootEventIDClosure: ((ComposerDraft, String?) async -> Result)? func saveDraft(_ draft: ComposerDraft, threadRootEventID: String?) async -> Result { - saveDraftThreadRootEventIDCallsCount += 1 + saveDraftThreadRootEventIDCallsCountLock.withLock { saveDraftThreadRootEventIDUnderlyingCallsCount += 1 } saveDraftThreadRootEventIDReceivedArguments = (draft: draft, threadRootEventID: threadRootEventID) - DispatchQueue.main.async { - self.saveDraftThreadRootEventIDReceivedInvocations.append((draft: draft, threadRootEventID: threadRootEventID)) - } + saveDraftThreadRootEventIDReceivedInvocationsLock.withLock { saveDraftThreadRootEventIDUnderlyingReceivedInvocations.append((draft: draft, threadRootEventID: threadRootEventID)) } if let saveDraftThreadRootEventIDClosure = saveDraftThreadRootEventIDClosure { return await saveDraftThreadRootEventIDClosure(draft, threadRootEventID) } else { @@ -11357,68 +6757,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - loadDraft - var loadDraftThreadRootEventIDUnderlyingCallsCount = 0 + private let loadDraftThreadRootEventIDCallsCountLock = NSLock() + private var loadDraftThreadRootEventIDUnderlyingCallsCount = 0 var loadDraftThreadRootEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return loadDraftThreadRootEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadDraftThreadRootEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadDraftThreadRootEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadDraftThreadRootEventIDUnderlyingCallsCount = newValue - } - } - } + get { loadDraftThreadRootEventIDCallsCountLock.withLock { loadDraftThreadRootEventIDUnderlyingCallsCount } } + set { loadDraftThreadRootEventIDCallsCountLock.withLock { loadDraftThreadRootEventIDUnderlyingCallsCount = newValue } } } var loadDraftThreadRootEventIDCalled: Bool { return loadDraftThreadRootEventIDCallsCount > 0 } - var loadDraftThreadRootEventIDReceivedThreadRootEventID: String? - var loadDraftThreadRootEventIDReceivedInvocations: [String?] = [] + private let loadDraftThreadRootEventIDReceivedThreadRootEventIDLock = NSLock() + private var loadDraftThreadRootEventIDUnderlyingReceivedThreadRootEventID: String? + var loadDraftThreadRootEventIDReceivedThreadRootEventID: String? { + get { loadDraftThreadRootEventIDReceivedThreadRootEventIDLock.withLock { loadDraftThreadRootEventIDUnderlyingReceivedThreadRootEventID } } + set { loadDraftThreadRootEventIDReceivedThreadRootEventIDLock.withLock { loadDraftThreadRootEventIDUnderlyingReceivedThreadRootEventID = newValue } } + } + private let loadDraftThreadRootEventIDReceivedInvocationsLock = NSLock() + private var loadDraftThreadRootEventIDUnderlyingReceivedInvocations: [String?] = [] + var loadDraftThreadRootEventIDReceivedInvocations: [String?] { + get { loadDraftThreadRootEventIDReceivedInvocationsLock.withLock { loadDraftThreadRootEventIDUnderlyingReceivedInvocations } } + set { loadDraftThreadRootEventIDReceivedInvocationsLock.withLock { loadDraftThreadRootEventIDUnderlyingReceivedInvocations = newValue } } + } - var loadDraftThreadRootEventIDUnderlyingReturnValue: Result! + private let loadDraftThreadRootEventIDReturnValueLock = NSLock() + private var loadDraftThreadRootEventIDUnderlyingReturnValue: Result! var loadDraftThreadRootEventIDReturnValue: Result! { - get { - if Thread.isMainThread { - return loadDraftThreadRootEventIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadDraftThreadRootEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadDraftThreadRootEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadDraftThreadRootEventIDUnderlyingReturnValue = newValue - } - } - } + get { loadDraftThreadRootEventIDReturnValueLock.withLock { loadDraftThreadRootEventIDUnderlyingReturnValue } } + set { loadDraftThreadRootEventIDReturnValueLock.withLock { loadDraftThreadRootEventIDUnderlyingReturnValue = newValue } } } var loadDraftThreadRootEventIDClosure: ((String?) async -> Result)? func loadDraft(threadRootEventID: String?) async -> Result { - loadDraftThreadRootEventIDCallsCount += 1 + loadDraftThreadRootEventIDCallsCountLock.withLock { loadDraftThreadRootEventIDUnderlyingCallsCount += 1 } loadDraftThreadRootEventIDReceivedThreadRootEventID = threadRootEventID - DispatchQueue.main.async { - self.loadDraftThreadRootEventIDReceivedInvocations.append(threadRootEventID) - } + loadDraftThreadRootEventIDReceivedInvocationsLock.withLock { loadDraftThreadRootEventIDUnderlyingReceivedInvocations.append(threadRootEventID) } if let loadDraftThreadRootEventIDClosure = loadDraftThreadRootEventIDClosure { return await loadDraftThreadRootEventIDClosure(threadRootEventID) } else { @@ -11427,68 +6799,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - clearDraft - var clearDraftThreadRootEventIDUnderlyingCallsCount = 0 + private let clearDraftThreadRootEventIDCallsCountLock = NSLock() + private var clearDraftThreadRootEventIDUnderlyingCallsCount = 0 var clearDraftThreadRootEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return clearDraftThreadRootEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = clearDraftThreadRootEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearDraftThreadRootEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - clearDraftThreadRootEventIDUnderlyingCallsCount = newValue - } - } - } + get { clearDraftThreadRootEventIDCallsCountLock.withLock { clearDraftThreadRootEventIDUnderlyingCallsCount } } + set { clearDraftThreadRootEventIDCallsCountLock.withLock { clearDraftThreadRootEventIDUnderlyingCallsCount = newValue } } } var clearDraftThreadRootEventIDCalled: Bool { return clearDraftThreadRootEventIDCallsCount > 0 } - var clearDraftThreadRootEventIDReceivedThreadRootEventID: String? - var clearDraftThreadRootEventIDReceivedInvocations: [String?] = [] + private let clearDraftThreadRootEventIDReceivedThreadRootEventIDLock = NSLock() + private var clearDraftThreadRootEventIDUnderlyingReceivedThreadRootEventID: String? + var clearDraftThreadRootEventIDReceivedThreadRootEventID: String? { + get { clearDraftThreadRootEventIDReceivedThreadRootEventIDLock.withLock { clearDraftThreadRootEventIDUnderlyingReceivedThreadRootEventID } } + set { clearDraftThreadRootEventIDReceivedThreadRootEventIDLock.withLock { clearDraftThreadRootEventIDUnderlyingReceivedThreadRootEventID = newValue } } + } + private let clearDraftThreadRootEventIDReceivedInvocationsLock = NSLock() + private var clearDraftThreadRootEventIDUnderlyingReceivedInvocations: [String?] = [] + var clearDraftThreadRootEventIDReceivedInvocations: [String?] { + get { clearDraftThreadRootEventIDReceivedInvocationsLock.withLock { clearDraftThreadRootEventIDUnderlyingReceivedInvocations } } + set { clearDraftThreadRootEventIDReceivedInvocationsLock.withLock { clearDraftThreadRootEventIDUnderlyingReceivedInvocations = newValue } } + } - var clearDraftThreadRootEventIDUnderlyingReturnValue: Result! + private let clearDraftThreadRootEventIDReturnValueLock = NSLock() + private var clearDraftThreadRootEventIDUnderlyingReturnValue: Result! var clearDraftThreadRootEventIDReturnValue: Result! { - get { - if Thread.isMainThread { - return clearDraftThreadRootEventIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = clearDraftThreadRootEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearDraftThreadRootEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - clearDraftThreadRootEventIDUnderlyingReturnValue = newValue - } - } - } + get { clearDraftThreadRootEventIDReturnValueLock.withLock { clearDraftThreadRootEventIDUnderlyingReturnValue } } + set { clearDraftThreadRootEventIDReturnValueLock.withLock { clearDraftThreadRootEventIDUnderlyingReturnValue = newValue } } } var clearDraftThreadRootEventIDClosure: ((String?) async -> Result)? func clearDraft(threadRootEventID: String?) async -> Result { - clearDraftThreadRootEventIDCallsCount += 1 + clearDraftThreadRootEventIDCallsCountLock.withLock { clearDraftThreadRootEventIDUnderlyingCallsCount += 1 } clearDraftThreadRootEventIDReceivedThreadRootEventID = threadRootEventID - DispatchQueue.main.async { - self.clearDraftThreadRootEventIDReceivedInvocations.append(threadRootEventID) - } + clearDraftThreadRootEventIDReceivedInvocationsLock.withLock { clearDraftThreadRootEventIDUnderlyingReceivedInvocations.append(threadRootEventID) } if let clearDraftThreadRootEventIDClosure = clearDraftThreadRootEventIDClosure { return await clearDraftThreadRootEventIDClosure(threadRootEventID) } else { @@ -11497,62 +6841,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - makeLiveLocationService - var makeLiveLocationServiceUnderlyingCallsCount = 0 + private let makeLiveLocationServiceCallsCountLock = NSLock() + private var makeLiveLocationServiceUnderlyingCallsCount = 0 var makeLiveLocationServiceCallsCount: Int { - get { - if Thread.isMainThread { - return makeLiveLocationServiceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = makeLiveLocationServiceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - makeLiveLocationServiceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - makeLiveLocationServiceUnderlyingCallsCount = newValue - } - } - } + get { makeLiveLocationServiceCallsCountLock.withLock { makeLiveLocationServiceUnderlyingCallsCount } } + set { makeLiveLocationServiceCallsCountLock.withLock { makeLiveLocationServiceUnderlyingCallsCount = newValue } } } var makeLiveLocationServiceCalled: Bool { return makeLiveLocationServiceCallsCount > 0 } - var makeLiveLocationServiceUnderlyingReturnValue: RoomLiveLocationServiceProtocol! + private let makeLiveLocationServiceReturnValueLock = NSLock() + private var makeLiveLocationServiceUnderlyingReturnValue: RoomLiveLocationServiceProtocol! var makeLiveLocationServiceReturnValue: RoomLiveLocationServiceProtocol! { - get { - if Thread.isMainThread { - return makeLiveLocationServiceUnderlyingReturnValue - } else { - var returnValue: RoomLiveLocationServiceProtocol? = nil - DispatchQueue.main.sync { - returnValue = makeLiveLocationServiceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - makeLiveLocationServiceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - makeLiveLocationServiceUnderlyingReturnValue = newValue - } - } - } + get { makeLiveLocationServiceReturnValueLock.withLock { makeLiveLocationServiceUnderlyingReturnValue } } + set { makeLiveLocationServiceReturnValueLock.withLock { makeLiveLocationServiceUnderlyingReturnValue = newValue } } } var makeLiveLocationServiceClosure: (() async -> RoomLiveLocationServiceProtocol)? func makeLiveLocationService() async -> RoomLiveLocationServiceProtocol { - makeLiveLocationServiceCallsCount += 1 + makeLiveLocationServiceCallsCountLock.withLock { makeLiveLocationServiceUnderlyingCallsCount += 1 } if let makeLiveLocationServiceClosure = makeLiveLocationServiceClosure { return await makeLiveLocationServiceClosure() } else { @@ -11561,68 +6869,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - startLiveLocationShare - var startLiveLocationShareDurationUnderlyingCallsCount = 0 + private let startLiveLocationShareDurationCallsCountLock = NSLock() + private var startLiveLocationShareDurationUnderlyingCallsCount = 0 var startLiveLocationShareDurationCallsCount: Int { - get { - if Thread.isMainThread { - return startLiveLocationShareDurationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startLiveLocationShareDurationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startLiveLocationShareDurationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startLiveLocationShareDurationUnderlyingCallsCount = newValue - } - } - } + get { startLiveLocationShareDurationCallsCountLock.withLock { startLiveLocationShareDurationUnderlyingCallsCount } } + set { startLiveLocationShareDurationCallsCountLock.withLock { startLiveLocationShareDurationUnderlyingCallsCount = newValue } } } var startLiveLocationShareDurationCalled: Bool { return startLiveLocationShareDurationCallsCount > 0 } - var startLiveLocationShareDurationReceivedDuration: Duration? - var startLiveLocationShareDurationReceivedInvocations: [Duration] = [] + private let startLiveLocationShareDurationReceivedDurationLock = NSLock() + private var startLiveLocationShareDurationUnderlyingReceivedDuration: Duration? + var startLiveLocationShareDurationReceivedDuration: Duration? { + get { startLiveLocationShareDurationReceivedDurationLock.withLock { startLiveLocationShareDurationUnderlyingReceivedDuration } } + set { startLiveLocationShareDurationReceivedDurationLock.withLock { startLiveLocationShareDurationUnderlyingReceivedDuration = newValue } } + } + private let startLiveLocationShareDurationReceivedInvocationsLock = NSLock() + private var startLiveLocationShareDurationUnderlyingReceivedInvocations: [Duration] = [] + var startLiveLocationShareDurationReceivedInvocations: [Duration] { + get { startLiveLocationShareDurationReceivedInvocationsLock.withLock { startLiveLocationShareDurationUnderlyingReceivedInvocations } } + set { startLiveLocationShareDurationReceivedInvocationsLock.withLock { startLiveLocationShareDurationUnderlyingReceivedInvocations = newValue } } + } - var startLiveLocationShareDurationUnderlyingReturnValue: Result! + private let startLiveLocationShareDurationReturnValueLock = NSLock() + private var startLiveLocationShareDurationUnderlyingReturnValue: Result! var startLiveLocationShareDurationReturnValue: Result! { - get { - if Thread.isMainThread { - return startLiveLocationShareDurationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = startLiveLocationShareDurationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startLiveLocationShareDurationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - startLiveLocationShareDurationUnderlyingReturnValue = newValue - } - } - } + get { startLiveLocationShareDurationReturnValueLock.withLock { startLiveLocationShareDurationUnderlyingReturnValue } } + set { startLiveLocationShareDurationReturnValueLock.withLock { startLiveLocationShareDurationUnderlyingReturnValue = newValue } } } var startLiveLocationShareDurationClosure: ((Duration) async -> Result)? func startLiveLocationShare(duration: Duration) async -> Result { - startLiveLocationShareDurationCallsCount += 1 + startLiveLocationShareDurationCallsCountLock.withLock { startLiveLocationShareDurationUnderlyingCallsCount += 1 } startLiveLocationShareDurationReceivedDuration = duration - DispatchQueue.main.async { - self.startLiveLocationShareDurationReceivedInvocations.append(duration) - } + startLiveLocationShareDurationReceivedInvocationsLock.withLock { startLiveLocationShareDurationUnderlyingReceivedInvocations.append(duration) } if let startLiveLocationShareDurationClosure = startLiveLocationShareDurationClosure { return await startLiveLocationShareDurationClosure(duration) } else { @@ -11631,68 +6911,40 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - sendLiveLocation - var sendLiveLocationGeoURIUnderlyingCallsCount = 0 + private let sendLiveLocationGeoURICallsCountLock = NSLock() + private var sendLiveLocationGeoURIUnderlyingCallsCount = 0 var sendLiveLocationGeoURICallsCount: Int { - get { - if Thread.isMainThread { - return sendLiveLocationGeoURIUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendLiveLocationGeoURIUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendLiveLocationGeoURIUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendLiveLocationGeoURIUnderlyingCallsCount = newValue - } - } - } + get { sendLiveLocationGeoURICallsCountLock.withLock { sendLiveLocationGeoURIUnderlyingCallsCount } } + set { sendLiveLocationGeoURICallsCountLock.withLock { sendLiveLocationGeoURIUnderlyingCallsCount = newValue } } } var sendLiveLocationGeoURICalled: Bool { return sendLiveLocationGeoURICallsCount > 0 } - var sendLiveLocationGeoURIReceivedGeoURI: GeoURI? - var sendLiveLocationGeoURIReceivedInvocations: [GeoURI] = [] + private let sendLiveLocationGeoURIReceivedGeoURILock = NSLock() + private var sendLiveLocationGeoURIUnderlyingReceivedGeoURI: GeoURI? + var sendLiveLocationGeoURIReceivedGeoURI: GeoURI? { + get { sendLiveLocationGeoURIReceivedGeoURILock.withLock { sendLiveLocationGeoURIUnderlyingReceivedGeoURI } } + set { sendLiveLocationGeoURIReceivedGeoURILock.withLock { sendLiveLocationGeoURIUnderlyingReceivedGeoURI = newValue } } + } + private let sendLiveLocationGeoURIReceivedInvocationsLock = NSLock() + private var sendLiveLocationGeoURIUnderlyingReceivedInvocations: [GeoURI] = [] + var sendLiveLocationGeoURIReceivedInvocations: [GeoURI] { + get { sendLiveLocationGeoURIReceivedInvocationsLock.withLock { sendLiveLocationGeoURIUnderlyingReceivedInvocations } } + set { sendLiveLocationGeoURIReceivedInvocationsLock.withLock { sendLiveLocationGeoURIUnderlyingReceivedInvocations = newValue } } + } - var sendLiveLocationGeoURIUnderlyingReturnValue: Result! + private let sendLiveLocationGeoURIReturnValueLock = NSLock() + private var sendLiveLocationGeoURIUnderlyingReturnValue: Result! var sendLiveLocationGeoURIReturnValue: Result! { - get { - if Thread.isMainThread { - return sendLiveLocationGeoURIUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendLiveLocationGeoURIUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendLiveLocationGeoURIUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendLiveLocationGeoURIUnderlyingReturnValue = newValue - } - } - } + get { sendLiveLocationGeoURIReturnValueLock.withLock { sendLiveLocationGeoURIUnderlyingReturnValue } } + set { sendLiveLocationGeoURIReturnValueLock.withLock { sendLiveLocationGeoURIUnderlyingReturnValue = newValue } } } var sendLiveLocationGeoURIClosure: ((GeoURI) async -> Result)? func sendLiveLocation(geoURI: GeoURI) async -> Result { - sendLiveLocationGeoURICallsCount += 1 + sendLiveLocationGeoURICallsCountLock.withLock { sendLiveLocationGeoURIUnderlyingCallsCount += 1 } sendLiveLocationGeoURIReceivedGeoURI = geoURI - DispatchQueue.main.async { - self.sendLiveLocationGeoURIReceivedInvocations.append(geoURI) - } + sendLiveLocationGeoURIReceivedInvocationsLock.withLock { sendLiveLocationGeoURIUnderlyingReceivedInvocations.append(geoURI) } if let sendLiveLocationGeoURIClosure = sendLiveLocationGeoURIClosure { return await sendLiveLocationGeoURIClosure(geoURI) } else { @@ -11701,62 +6953,26 @@ class JoinedRoomProxyMock: JoinedRoomProxyProtocol, @unchecked Sendable { } //MARK: - stopLiveLocationShare - var stopLiveLocationShareUnderlyingCallsCount = 0 + private let stopLiveLocationShareCallsCountLock = NSLock() + private var stopLiveLocationShareUnderlyingCallsCount = 0 var stopLiveLocationShareCallsCount: Int { - get { - if Thread.isMainThread { - return stopLiveLocationShareUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopLiveLocationShareUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopLiveLocationShareUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopLiveLocationShareUnderlyingCallsCount = newValue - } - } - } + get { stopLiveLocationShareCallsCountLock.withLock { stopLiveLocationShareUnderlyingCallsCount } } + set { stopLiveLocationShareCallsCountLock.withLock { stopLiveLocationShareUnderlyingCallsCount = newValue } } } var stopLiveLocationShareCalled: Bool { return stopLiveLocationShareCallsCount > 0 } - var stopLiveLocationShareUnderlyingReturnValue: Result! + private let stopLiveLocationShareReturnValueLock = NSLock() + private var stopLiveLocationShareUnderlyingReturnValue: Result! var stopLiveLocationShareReturnValue: Result! { - get { - if Thread.isMainThread { - return stopLiveLocationShareUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = stopLiveLocationShareUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopLiveLocationShareUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - stopLiveLocationShareUnderlyingReturnValue = newValue - } - } - } + get { stopLiveLocationShareReturnValueLock.withLock { stopLiveLocationShareUnderlyingReturnValue } } + set { stopLiveLocationShareReturnValueLock.withLock { stopLiveLocationShareUnderlyingReturnValue = newValue } } } var stopLiveLocationShareClosure: (() async -> Result)? func stopLiveLocationShare() async -> Result { - stopLiveLocationShareCallsCount += 1 + stopLiveLocationShareCallsCountLock.withLock { stopLiveLocationShareUnderlyingCallsCount += 1 } if let stopLiveLocationShareClosure = stopLiveLocationShareClosure { return await stopLiveLocationShareClosure() } else { @@ -11768,103 +6984,57 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { //MARK: - setRestorationToken - var setRestorationTokenForUsernameUnderlyingCallsCount = 0 + private let setRestorationTokenForUsernameCallsCountLock = NSLock() + private var setRestorationTokenForUsernameUnderlyingCallsCount = 0 var setRestorationTokenForUsernameCallsCount: Int { - get { - if Thread.isMainThread { - return setRestorationTokenForUsernameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setRestorationTokenForUsernameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setRestorationTokenForUsernameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setRestorationTokenForUsernameUnderlyingCallsCount = newValue - } - } - } + get { setRestorationTokenForUsernameCallsCountLock.withLock { setRestorationTokenForUsernameUnderlyingCallsCount } } + set { setRestorationTokenForUsernameCallsCountLock.withLock { setRestorationTokenForUsernameUnderlyingCallsCount = newValue } } } var setRestorationTokenForUsernameCalled: Bool { return setRestorationTokenForUsernameCallsCount > 0 } - var setRestorationTokenForUsernameReceivedArguments: (restorationToken: RestorationToken, forUsername: String)? - var setRestorationTokenForUsernameReceivedInvocations: [(restorationToken: RestorationToken, forUsername: String)] = [] + private let setRestorationTokenForUsernameReceivedArgumentsLock = NSLock() + private var setRestorationTokenForUsernameUnderlyingReceivedArguments: (restorationToken: RestorationToken, forUsername: String)? + var setRestorationTokenForUsernameReceivedArguments: (restorationToken: RestorationToken, forUsername: String)? { + get { setRestorationTokenForUsernameReceivedArgumentsLock.withLock { setRestorationTokenForUsernameUnderlyingReceivedArguments } } + set { setRestorationTokenForUsernameReceivedArgumentsLock.withLock { setRestorationTokenForUsernameUnderlyingReceivedArguments = newValue } } + } + private let setRestorationTokenForUsernameReceivedInvocationsLock = NSLock() + private var setRestorationTokenForUsernameUnderlyingReceivedInvocations: [(restorationToken: RestorationToken, forUsername: String)] = [] + var setRestorationTokenForUsernameReceivedInvocations: [(restorationToken: RestorationToken, forUsername: String)] { + get { setRestorationTokenForUsernameReceivedInvocationsLock.withLock { setRestorationTokenForUsernameUnderlyingReceivedInvocations } } + set { setRestorationTokenForUsernameReceivedInvocationsLock.withLock { setRestorationTokenForUsernameUnderlyingReceivedInvocations = newValue } } + } var setRestorationTokenForUsernameClosure: ((RestorationToken, String) -> Void)? func setRestorationToken(_ restorationToken: RestorationToken, forUsername: String) { - setRestorationTokenForUsernameCallsCount += 1 + setRestorationTokenForUsernameCallsCountLock.withLock { setRestorationTokenForUsernameUnderlyingCallsCount += 1 } setRestorationTokenForUsernameReceivedArguments = (restorationToken: restorationToken, forUsername: forUsername) - DispatchQueue.main.async { - self.setRestorationTokenForUsernameReceivedInvocations.append((restorationToken: restorationToken, forUsername: forUsername)) - } + setRestorationTokenForUsernameReceivedInvocationsLock.withLock { setRestorationTokenForUsernameUnderlyingReceivedInvocations.append((restorationToken: restorationToken, forUsername: forUsername)) } setRestorationTokenForUsernameClosure?(restorationToken, forUsername) } //MARK: - restorationTokens - var restorationTokensUnderlyingCallsCount = 0 + private let restorationTokensCallsCountLock = NSLock() + private var restorationTokensUnderlyingCallsCount = 0 var restorationTokensCallsCount: Int { - get { - if Thread.isMainThread { - return restorationTokensUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = restorationTokensUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - restorationTokensUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - restorationTokensUnderlyingCallsCount = newValue - } - } - } + get { restorationTokensCallsCountLock.withLock { restorationTokensUnderlyingCallsCount } } + set { restorationTokensCallsCountLock.withLock { restorationTokensUnderlyingCallsCount = newValue } } } var restorationTokensCalled: Bool { return restorationTokensCallsCount > 0 } - var restorationTokensUnderlyingReturnValue: [KeychainCredentials]! + private let restorationTokensReturnValueLock = NSLock() + private var restorationTokensUnderlyingReturnValue: [KeychainCredentials]! var restorationTokensReturnValue: [KeychainCredentials]! { - get { - if Thread.isMainThread { - return restorationTokensUnderlyingReturnValue - } else { - var returnValue: [KeychainCredentials]? = nil - DispatchQueue.main.sync { - returnValue = restorationTokensUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - restorationTokensUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - restorationTokensUnderlyingReturnValue = newValue - } - } - } + get { restorationTokensReturnValueLock.withLock { restorationTokensUnderlyingReturnValue } } + set { restorationTokensReturnValueLock.withLock { restorationTokensUnderlyingReturnValue = newValue } } } var restorationTokensClosure: (() -> [KeychainCredentials])? func restorationTokens() -> [KeychainCredentials] { - restorationTokensCallsCount += 1 + restorationTokensCallsCountLock.withLock { restorationTokensUnderlyingCallsCount += 1 } if let restorationTokensClosure = restorationTokensClosure { return restorationTokensClosure() } else { @@ -11873,70 +7043,42 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { } //MARK: - removeRestorationTokenForUsername - var removeRestorationTokenForUsernameUnderlyingCallsCount = 0 + private let removeRestorationTokenForUsernameCallsCountLock = NSLock() + private var removeRestorationTokenForUsernameUnderlyingCallsCount = 0 var removeRestorationTokenForUsernameCallsCount: Int { - get { - if Thread.isMainThread { - return removeRestorationTokenForUsernameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeRestorationTokenForUsernameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeRestorationTokenForUsernameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeRestorationTokenForUsernameUnderlyingCallsCount = newValue - } - } - } + get { removeRestorationTokenForUsernameCallsCountLock.withLock { removeRestorationTokenForUsernameUnderlyingCallsCount } } + set { removeRestorationTokenForUsernameCallsCountLock.withLock { removeRestorationTokenForUsernameUnderlyingCallsCount = newValue } } } var removeRestorationTokenForUsernameCalled: Bool { return removeRestorationTokenForUsernameCallsCount > 0 } - var removeRestorationTokenForUsernameReceivedUsername: String? - var removeRestorationTokenForUsernameReceivedInvocations: [String] = [] + private let removeRestorationTokenForUsernameReceivedUsernameLock = NSLock() + private var removeRestorationTokenForUsernameUnderlyingReceivedUsername: String? + var removeRestorationTokenForUsernameReceivedUsername: String? { + get { removeRestorationTokenForUsernameReceivedUsernameLock.withLock { removeRestorationTokenForUsernameUnderlyingReceivedUsername } } + set { removeRestorationTokenForUsernameReceivedUsernameLock.withLock { removeRestorationTokenForUsernameUnderlyingReceivedUsername = newValue } } + } + private let removeRestorationTokenForUsernameReceivedInvocationsLock = NSLock() + private var removeRestorationTokenForUsernameUnderlyingReceivedInvocations: [String] = [] + var removeRestorationTokenForUsernameReceivedInvocations: [String] { + get { removeRestorationTokenForUsernameReceivedInvocationsLock.withLock { removeRestorationTokenForUsernameUnderlyingReceivedInvocations } } + set { removeRestorationTokenForUsernameReceivedInvocationsLock.withLock { removeRestorationTokenForUsernameUnderlyingReceivedInvocations = newValue } } + } var removeRestorationTokenForUsernameClosure: ((String) -> Void)? func removeRestorationTokenForUsername(_ username: String) { - removeRestorationTokenForUsernameCallsCount += 1 + removeRestorationTokenForUsernameCallsCountLock.withLock { removeRestorationTokenForUsernameUnderlyingCallsCount += 1 } removeRestorationTokenForUsernameReceivedUsername = username - DispatchQueue.main.async { - self.removeRestorationTokenForUsernameReceivedInvocations.append(username) - } + removeRestorationTokenForUsernameReceivedInvocationsLock.withLock { removeRestorationTokenForUsernameUnderlyingReceivedInvocations.append(username) } removeRestorationTokenForUsernameClosure?(username) } //MARK: - removeAllRestorationTokens - var removeAllRestorationTokensUnderlyingCallsCount = 0 + private let removeAllRestorationTokensCallsCountLock = NSLock() + private var removeAllRestorationTokensUnderlyingCallsCount = 0 var removeAllRestorationTokensCallsCount: Int { - get { - if Thread.isMainThread { - return removeAllRestorationTokensUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeAllRestorationTokensUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeAllRestorationTokensUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeAllRestorationTokensUnderlyingCallsCount = newValue - } - } - } + get { removeAllRestorationTokensCallsCountLock.withLock { removeAllRestorationTokensUnderlyingCallsCount } } + set { removeAllRestorationTokensCallsCountLock.withLock { removeAllRestorationTokensUnderlyingCallsCount = newValue } } } var removeAllRestorationTokensCalled: Bool { return removeAllRestorationTokensCallsCount > 0 @@ -11944,63 +7086,27 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { var removeAllRestorationTokensClosure: (() -> Void)? func removeAllRestorationTokens() { - removeAllRestorationTokensCallsCount += 1 + removeAllRestorationTokensCallsCountLock.withLock { removeAllRestorationTokensUnderlyingCallsCount += 1 } removeAllRestorationTokensClosure?() } //MARK: - containsPINCode var containsPINCodeThrowableError: Error? - var containsPINCodeUnderlyingCallsCount = 0 + private let containsPINCodeCallsCountLock = NSLock() + private var containsPINCodeUnderlyingCallsCount = 0 var containsPINCodeCallsCount: Int { - get { - if Thread.isMainThread { - return containsPINCodeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = containsPINCodeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsPINCodeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - containsPINCodeUnderlyingCallsCount = newValue - } - } - } + get { containsPINCodeCallsCountLock.withLock { containsPINCodeUnderlyingCallsCount } } + set { containsPINCodeCallsCountLock.withLock { containsPINCodeUnderlyingCallsCount = newValue } } } var containsPINCodeCalled: Bool { return containsPINCodeCallsCount > 0 } - var containsPINCodeUnderlyingReturnValue: Bool! + private let containsPINCodeReturnValueLock = NSLock() + private var containsPINCodeUnderlyingReturnValue: Bool! var containsPINCodeReturnValue: Bool! { - get { - if Thread.isMainThread { - return containsPINCodeUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = containsPINCodeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsPINCodeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - containsPINCodeUnderlyingReturnValue = newValue - } - } - } + get { containsPINCodeReturnValueLock.withLock { containsPINCodeUnderlyingReturnValue } } + set { containsPINCodeReturnValueLock.withLock { containsPINCodeUnderlyingReturnValue = newValue } } } var containsPINCodeClosure: (() throws -> Bool)? @@ -12008,7 +7114,7 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { if let error = containsPINCodeThrowableError { throw error } - containsPINCodeCallsCount += 1 + containsPINCodeCallsCountLock.withLock { containsPINCodeUnderlyingCallsCount += 1 } if let containsPINCodeClosure = containsPINCodeClosure { return try containsPINCodeClosure() } else { @@ -12018,106 +7124,60 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { //MARK: - setPINCode var setPINCodeThrowableError: Error? - var setPINCodeUnderlyingCallsCount = 0 + private let setPINCodeCallsCountLock = NSLock() + private var setPINCodeUnderlyingCallsCount = 0 var setPINCodeCallsCount: Int { - get { - if Thread.isMainThread { - return setPINCodeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setPINCodeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setPINCodeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setPINCodeUnderlyingCallsCount = newValue - } - } - } + get { setPINCodeCallsCountLock.withLock { setPINCodeUnderlyingCallsCount } } + set { setPINCodeCallsCountLock.withLock { setPINCodeUnderlyingCallsCount = newValue } } } var setPINCodeCalled: Bool { return setPINCodeCallsCount > 0 } - var setPINCodeReceivedPinCode: String? - var setPINCodeReceivedInvocations: [String] = [] + private let setPINCodeReceivedPinCodeLock = NSLock() + private var setPINCodeUnderlyingReceivedPinCode: String? + var setPINCodeReceivedPinCode: String? { + get { setPINCodeReceivedPinCodeLock.withLock { setPINCodeUnderlyingReceivedPinCode } } + set { setPINCodeReceivedPinCodeLock.withLock { setPINCodeUnderlyingReceivedPinCode = newValue } } + } + private let setPINCodeReceivedInvocationsLock = NSLock() + private var setPINCodeUnderlyingReceivedInvocations: [String] = [] + var setPINCodeReceivedInvocations: [String] { + get { setPINCodeReceivedInvocationsLock.withLock { setPINCodeUnderlyingReceivedInvocations } } + set { setPINCodeReceivedInvocationsLock.withLock { setPINCodeUnderlyingReceivedInvocations = newValue } } + } var setPINCodeClosure: ((String) throws -> Void)? func setPINCode(_ pinCode: String) throws { if let error = setPINCodeThrowableError { throw error } - setPINCodeCallsCount += 1 + setPINCodeCallsCountLock.withLock { setPINCodeUnderlyingCallsCount += 1 } setPINCodeReceivedPinCode = pinCode - DispatchQueue.main.async { - self.setPINCodeReceivedInvocations.append(pinCode) - } + setPINCodeReceivedInvocationsLock.withLock { setPINCodeUnderlyingReceivedInvocations.append(pinCode) } try setPINCodeClosure?(pinCode) } //MARK: - pinCode - var pinCodeUnderlyingCallsCount = 0 + private let pinCodeCallsCountLock = NSLock() + private var pinCodeUnderlyingCallsCount = 0 var pinCodeCallsCount: Int { - get { - if Thread.isMainThread { - return pinCodeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pinCodeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinCodeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pinCodeUnderlyingCallsCount = newValue - } - } - } + get { pinCodeCallsCountLock.withLock { pinCodeUnderlyingCallsCount } } + set { pinCodeCallsCountLock.withLock { pinCodeUnderlyingCallsCount = newValue } } } var pinCodeCalled: Bool { return pinCodeCallsCount > 0 } - var pinCodeUnderlyingReturnValue: String? + private let pinCodeReturnValueLock = NSLock() + private var pinCodeUnderlyingReturnValue: String? var pinCodeReturnValue: String? { - get { - if Thread.isMainThread { - return pinCodeUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = pinCodeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinCodeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - pinCodeUnderlyingReturnValue = newValue - } - } - } + get { pinCodeReturnValueLock.withLock { pinCodeUnderlyingReturnValue } } + set { pinCodeReturnValueLock.withLock { pinCodeUnderlyingReturnValue = newValue } } } var pinCodeClosure: (() -> String?)? func pinCode() -> String? { - pinCodeCallsCount += 1 + pinCodeCallsCountLock.withLock { pinCodeUnderlyingCallsCount += 1 } if let pinCodeClosure = pinCodeClosure { return pinCodeClosure() } else { @@ -12126,29 +7186,11 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { } //MARK: - removePINCode - var removePINCodeUnderlyingCallsCount = 0 + private let removePINCodeCallsCountLock = NSLock() + private var removePINCodeUnderlyingCallsCount = 0 var removePINCodeCallsCount: Int { - get { - if Thread.isMainThread { - return removePINCodeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removePINCodeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removePINCodeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removePINCodeUnderlyingCallsCount = newValue - } - } - } + get { removePINCodeCallsCountLock.withLock { removePINCodeUnderlyingCallsCount } } + set { removePINCodeCallsCountLock.withLock { removePINCodeUnderlyingCallsCount = newValue } } } var removePINCodeCalled: Bool { return removePINCodeCallsCount > 0 @@ -12156,67 +7198,31 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { var removePINCodeClosure: (() -> Void)? func removePINCode() { - removePINCodeCallsCount += 1 + removePINCodeCallsCountLock.withLock { removePINCodeUnderlyingCallsCount += 1 } removePINCodeClosure?() } //MARK: - containsPINCodeBiometricState - var containsPINCodeBiometricStateUnderlyingCallsCount = 0 + private let containsPINCodeBiometricStateCallsCountLock = NSLock() + private var containsPINCodeBiometricStateUnderlyingCallsCount = 0 var containsPINCodeBiometricStateCallsCount: Int { - get { - if Thread.isMainThread { - return containsPINCodeBiometricStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = containsPINCodeBiometricStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsPINCodeBiometricStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - containsPINCodeBiometricStateUnderlyingCallsCount = newValue - } - } - } + get { containsPINCodeBiometricStateCallsCountLock.withLock { containsPINCodeBiometricStateUnderlyingCallsCount } } + set { containsPINCodeBiometricStateCallsCountLock.withLock { containsPINCodeBiometricStateUnderlyingCallsCount = newValue } } } var containsPINCodeBiometricStateCalled: Bool { return containsPINCodeBiometricStateCallsCount > 0 } - var containsPINCodeBiometricStateUnderlyingReturnValue: Bool! + private let containsPINCodeBiometricStateReturnValueLock = NSLock() + private var containsPINCodeBiometricStateUnderlyingReturnValue: Bool! var containsPINCodeBiometricStateReturnValue: Bool! { - get { - if Thread.isMainThread { - return containsPINCodeBiometricStateUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = containsPINCodeBiometricStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsPINCodeBiometricStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - containsPINCodeBiometricStateUnderlyingReturnValue = newValue - } - } - } + get { containsPINCodeBiometricStateReturnValueLock.withLock { containsPINCodeBiometricStateUnderlyingReturnValue } } + set { containsPINCodeBiometricStateReturnValueLock.withLock { containsPINCodeBiometricStateUnderlyingReturnValue = newValue } } } var containsPINCodeBiometricStateClosure: (() -> Bool)? func containsPINCodeBiometricState() -> Bool { - containsPINCodeBiometricStateCallsCount += 1 + containsPINCodeBiometricStateCallsCountLock.withLock { containsPINCodeBiometricStateUnderlyingCallsCount += 1 } if let containsPINCodeBiometricStateClosure = containsPINCodeBiometricStateClosure { return containsPINCodeBiometricStateClosure() } else { @@ -12226,106 +7232,60 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { //MARK: - setPINCodeBiometricState var setPINCodeBiometricStateThrowableError: Error? - var setPINCodeBiometricStateUnderlyingCallsCount = 0 + private let setPINCodeBiometricStateCallsCountLock = NSLock() + private var setPINCodeBiometricStateUnderlyingCallsCount = 0 var setPINCodeBiometricStateCallsCount: Int { - get { - if Thread.isMainThread { - return setPINCodeBiometricStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setPINCodeBiometricStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setPINCodeBiometricStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setPINCodeBiometricStateUnderlyingCallsCount = newValue - } - } - } + get { setPINCodeBiometricStateCallsCountLock.withLock { setPINCodeBiometricStateUnderlyingCallsCount } } + set { setPINCodeBiometricStateCallsCountLock.withLock { setPINCodeBiometricStateUnderlyingCallsCount = newValue } } } var setPINCodeBiometricStateCalled: Bool { return setPINCodeBiometricStateCallsCount > 0 } - var setPINCodeBiometricStateReceivedState: Data? - var setPINCodeBiometricStateReceivedInvocations: [Data] = [] + private let setPINCodeBiometricStateReceivedStateLock = NSLock() + private var setPINCodeBiometricStateUnderlyingReceivedState: Data? + var setPINCodeBiometricStateReceivedState: Data? { + get { setPINCodeBiometricStateReceivedStateLock.withLock { setPINCodeBiometricStateUnderlyingReceivedState } } + set { setPINCodeBiometricStateReceivedStateLock.withLock { setPINCodeBiometricStateUnderlyingReceivedState = newValue } } + } + private let setPINCodeBiometricStateReceivedInvocationsLock = NSLock() + private var setPINCodeBiometricStateUnderlyingReceivedInvocations: [Data] = [] + var setPINCodeBiometricStateReceivedInvocations: [Data] { + get { setPINCodeBiometricStateReceivedInvocationsLock.withLock { setPINCodeBiometricStateUnderlyingReceivedInvocations } } + set { setPINCodeBiometricStateReceivedInvocationsLock.withLock { setPINCodeBiometricStateUnderlyingReceivedInvocations = newValue } } + } var setPINCodeBiometricStateClosure: ((Data) throws -> Void)? func setPINCodeBiometricState(_ state: Data) throws { if let error = setPINCodeBiometricStateThrowableError { throw error } - setPINCodeBiometricStateCallsCount += 1 + setPINCodeBiometricStateCallsCountLock.withLock { setPINCodeBiometricStateUnderlyingCallsCount += 1 } setPINCodeBiometricStateReceivedState = state - DispatchQueue.main.async { - self.setPINCodeBiometricStateReceivedInvocations.append(state) - } + setPINCodeBiometricStateReceivedInvocationsLock.withLock { setPINCodeBiometricStateUnderlyingReceivedInvocations.append(state) } try setPINCodeBiometricStateClosure?(state) } //MARK: - pinCodeBiometricState - var pinCodeBiometricStateUnderlyingCallsCount = 0 + private let pinCodeBiometricStateCallsCountLock = NSLock() + private var pinCodeBiometricStateUnderlyingCallsCount = 0 var pinCodeBiometricStateCallsCount: Int { - get { - if Thread.isMainThread { - return pinCodeBiometricStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pinCodeBiometricStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinCodeBiometricStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pinCodeBiometricStateUnderlyingCallsCount = newValue - } - } - } + get { pinCodeBiometricStateCallsCountLock.withLock { pinCodeBiometricStateUnderlyingCallsCount } } + set { pinCodeBiometricStateCallsCountLock.withLock { pinCodeBiometricStateUnderlyingCallsCount = newValue } } } var pinCodeBiometricStateCalled: Bool { return pinCodeBiometricStateCallsCount > 0 } - var pinCodeBiometricStateUnderlyingReturnValue: Data? + private let pinCodeBiometricStateReturnValueLock = NSLock() + private var pinCodeBiometricStateUnderlyingReturnValue: Data? var pinCodeBiometricStateReturnValue: Data? { - get { - if Thread.isMainThread { - return pinCodeBiometricStateUnderlyingReturnValue - } else { - var returnValue: Data?? = nil - DispatchQueue.main.sync { - returnValue = pinCodeBiometricStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinCodeBiometricStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - pinCodeBiometricStateUnderlyingReturnValue = newValue - } - } - } + get { pinCodeBiometricStateReturnValueLock.withLock { pinCodeBiometricStateUnderlyingReturnValue } } + set { pinCodeBiometricStateReturnValueLock.withLock { pinCodeBiometricStateUnderlyingReturnValue = newValue } } } var pinCodeBiometricStateClosure: (() -> Data?)? func pinCodeBiometricState() -> Data? { - pinCodeBiometricStateCallsCount += 1 + pinCodeBiometricStateCallsCountLock.withLock { pinCodeBiometricStateUnderlyingCallsCount += 1 } if let pinCodeBiometricStateClosure = pinCodeBiometricStateClosure { return pinCodeBiometricStateClosure() } else { @@ -12334,29 +7294,11 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { } //MARK: - removePINCodeBiometricState - var removePINCodeBiometricStateUnderlyingCallsCount = 0 + private let removePINCodeBiometricStateCallsCountLock = NSLock() + private var removePINCodeBiometricStateUnderlyingCallsCount = 0 var removePINCodeBiometricStateCallsCount: Int { - get { - if Thread.isMainThread { - return removePINCodeBiometricStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removePINCodeBiometricStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removePINCodeBiometricStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removePINCodeBiometricStateUnderlyingCallsCount = newValue - } - } - } + get { removePINCodeBiometricStateCallsCountLock.withLock { removePINCodeBiometricStateUnderlyingCallsCount } } + set { removePINCodeBiometricStateCallsCountLock.withLock { removePINCodeBiometricStateUnderlyingCallsCount = newValue } } } var removePINCodeBiometricStateCalled: Bool { return removePINCodeBiometricStateCallsCount > 0 @@ -12364,7 +7306,7 @@ class KeychainControllerMock: KeychainControllerProtocol, @unchecked Sendable { var removePINCodeBiometricStateClosure: (() -> Void)? func removePINCodeBiometricState() { - removePINCodeBiometricStateCallsCount += 1 + removePINCodeBiometricStateCallsCountLock.withLock { removePINCodeBiometricStateUnderlyingCallsCount += 1 } removePINCodeBiometricStateClosure?() } } @@ -12391,62 +7333,26 @@ class KnockRequestProxyMock: KnockRequestProxyProtocol, @unchecked Sendable { //MARK: - accept - var acceptUnderlyingCallsCount = 0 + private let acceptCallsCountLock = NSLock() + private var acceptUnderlyingCallsCount = 0 var acceptCallsCount: Int { - get { - if Thread.isMainThread { - return acceptUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = acceptUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acceptUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - acceptUnderlyingCallsCount = newValue - } - } - } + get { acceptCallsCountLock.withLock { acceptUnderlyingCallsCount } } + set { acceptCallsCountLock.withLock { acceptUnderlyingCallsCount = newValue } } } var acceptCalled: Bool { return acceptCallsCount > 0 } - var acceptUnderlyingReturnValue: Result! + private let acceptReturnValueLock = NSLock() + private var acceptUnderlyingReturnValue: Result! var acceptReturnValue: Result! { - get { - if Thread.isMainThread { - return acceptUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = acceptUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acceptUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - acceptUnderlyingReturnValue = newValue - } - } - } + get { acceptReturnValueLock.withLock { acceptUnderlyingReturnValue } } + set { acceptReturnValueLock.withLock { acceptUnderlyingReturnValue = newValue } } } var acceptClosure: (() async -> Result)? func accept() async -> Result { - acceptCallsCount += 1 + acceptCallsCountLock.withLock { acceptUnderlyingCallsCount += 1 } if let acceptClosure = acceptClosure { return await acceptClosure() } else { @@ -12455,62 +7361,26 @@ class KnockRequestProxyMock: KnockRequestProxyProtocol, @unchecked Sendable { } //MARK: - decline - var declineUnderlyingCallsCount = 0 + private let declineCallsCountLock = NSLock() + private var declineUnderlyingCallsCount = 0 var declineCallsCount: Int { - get { - if Thread.isMainThread { - return declineUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = declineUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - declineUnderlyingCallsCount = newValue - } - } - } + get { declineCallsCountLock.withLock { declineUnderlyingCallsCount } } + set { declineCallsCountLock.withLock { declineUnderlyingCallsCount = newValue } } } var declineCalled: Bool { return declineCallsCount > 0 } - var declineUnderlyingReturnValue: Result! + private let declineReturnValueLock = NSLock() + private var declineUnderlyingReturnValue: Result! var declineReturnValue: Result! { - get { - if Thread.isMainThread { - return declineUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = declineUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - declineUnderlyingReturnValue = newValue - } - } - } + get { declineReturnValueLock.withLock { declineUnderlyingReturnValue } } + set { declineReturnValueLock.withLock { declineUnderlyingReturnValue = newValue } } } var declineClosure: (() async -> Result)? func decline() async -> Result { - declineCallsCount += 1 + declineCallsCountLock.withLock { declineUnderlyingCallsCount += 1 } if let declineClosure = declineClosure { return await declineClosure() } else { @@ -12519,62 +7389,26 @@ class KnockRequestProxyMock: KnockRequestProxyProtocol, @unchecked Sendable { } //MARK: - ban - var banUnderlyingCallsCount = 0 + private let banCallsCountLock = NSLock() + private var banUnderlyingCallsCount = 0 var banCallsCount: Int { - get { - if Thread.isMainThread { - return banUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = banUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - banUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - banUnderlyingCallsCount = newValue - } - } - } + get { banCallsCountLock.withLock { banUnderlyingCallsCount } } + set { banCallsCountLock.withLock { banUnderlyingCallsCount = newValue } } } var banCalled: Bool { return banCallsCount > 0 } - var banUnderlyingReturnValue: Result! + private let banReturnValueLock = NSLock() + private var banUnderlyingReturnValue: Result! var banReturnValue: Result! { - get { - if Thread.isMainThread { - return banUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = banUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - banUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - banUnderlyingReturnValue = newValue - } - } - } + get { banReturnValueLock.withLock { banUnderlyingReturnValue } } + set { banReturnValueLock.withLock { banUnderlyingReturnValue = newValue } } } var banClosure: (() async -> Result)? func ban() async -> Result { - banCallsCount += 1 + banCallsCountLock.withLock { banUnderlyingCallsCount += 1 } if let banClosure = banClosure { return await banClosure() } else { @@ -12583,62 +7417,26 @@ class KnockRequestProxyMock: KnockRequestProxyProtocol, @unchecked Sendable { } //MARK: - markAsSeen - var markAsSeenUnderlyingCallsCount = 0 + private let markAsSeenCallsCountLock = NSLock() + private var markAsSeenUnderlyingCallsCount = 0 var markAsSeenCallsCount: Int { - get { - if Thread.isMainThread { - return markAsSeenUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAsSeenUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsSeenUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAsSeenUnderlyingCallsCount = newValue - } - } - } + get { markAsSeenCallsCountLock.withLock { markAsSeenUnderlyingCallsCount } } + set { markAsSeenCallsCountLock.withLock { markAsSeenUnderlyingCallsCount = newValue } } } var markAsSeenCalled: Bool { return markAsSeenCallsCount > 0 } - var markAsSeenUnderlyingReturnValue: Result! + private let markAsSeenReturnValueLock = NSLock() + private var markAsSeenUnderlyingReturnValue: Result! var markAsSeenReturnValue: Result! { - get { - if Thread.isMainThread { - return markAsSeenUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = markAsSeenUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsSeenUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - markAsSeenUnderlyingReturnValue = newValue - } - } - } + get { markAsSeenReturnValueLock.withLock { markAsSeenUnderlyingReturnValue } } + set { markAsSeenReturnValueLock.withLock { markAsSeenUnderlyingReturnValue = newValue } } } var markAsSeenClosure: (() async -> Result)? func markAsSeen() async -> Result { - markAsSeenCallsCount += 1 + markAsSeenCallsCountLock.withLock { markAsSeenUnderlyingCallsCount += 1 } if let markAsSeenClosure = markAsSeenClosure { return await markAsSeenClosure() } else { @@ -12665,62 +7463,26 @@ class KnockedRoomProxyMock: KnockedRoomProxyProtocol, @unchecked Sendable { //MARK: - cancelKnock - var cancelKnockUnderlyingCallsCount = 0 + private let cancelKnockCallsCountLock = NSLock() + private var cancelKnockUnderlyingCallsCount = 0 var cancelKnockCallsCount: Int { - get { - if Thread.isMainThread { - return cancelKnockUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cancelKnockUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelKnockUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cancelKnockUnderlyingCallsCount = newValue - } - } - } + get { cancelKnockCallsCountLock.withLock { cancelKnockUnderlyingCallsCount } } + set { cancelKnockCallsCountLock.withLock { cancelKnockUnderlyingCallsCount = newValue } } } var cancelKnockCalled: Bool { return cancelKnockCallsCount > 0 } - var cancelKnockUnderlyingReturnValue: Result! + private let cancelKnockReturnValueLock = NSLock() + private var cancelKnockUnderlyingReturnValue: Result! var cancelKnockReturnValue: Result! { - get { - if Thread.isMainThread { - return cancelKnockUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = cancelKnockUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelKnockUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - cancelKnockUnderlyingReturnValue = newValue - } - } - } + get { cancelKnockReturnValueLock.withLock { cancelKnockUnderlyingReturnValue } } + set { cancelKnockReturnValueLock.withLock { cancelKnockUnderlyingReturnValue = newValue } } } var cancelKnockClosure: (() async -> Result)? func cancelKnock() async -> Result { - cancelKnockCallsCount += 1 + cancelKnockCallsCountLock.withLock { cancelKnockUnderlyingCallsCount += 1 } if let cancelKnockClosure = cancelKnockClosure { return await cancelKnockClosure() } else { @@ -12732,62 +7494,26 @@ class LinkNewDeviceServiceMock: LinkNewDeviceServiceProtocol, @unchecked Sendabl //MARK: - linkMobileDevice - var linkMobileDeviceUnderlyingCallsCount = 0 + private let linkMobileDeviceCallsCountLock = NSLock() + private var linkMobileDeviceUnderlyingCallsCount = 0 var linkMobileDeviceCallsCount: Int { - get { - if Thread.isMainThread { - return linkMobileDeviceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = linkMobileDeviceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - linkMobileDeviceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - linkMobileDeviceUnderlyingCallsCount = newValue - } - } - } + get { linkMobileDeviceCallsCountLock.withLock { linkMobileDeviceUnderlyingCallsCount } } + set { linkMobileDeviceCallsCountLock.withLock { linkMobileDeviceUnderlyingCallsCount = newValue } } } var linkMobileDeviceCalled: Bool { return linkMobileDeviceCallsCount > 0 } - var linkMobileDeviceUnderlyingReturnValue: LinkNewDeviceService.LinkMobileProgressPublisher! + private let linkMobileDeviceReturnValueLock = NSLock() + private var linkMobileDeviceUnderlyingReturnValue: LinkNewDeviceService.LinkMobileProgressPublisher! var linkMobileDeviceReturnValue: LinkNewDeviceService.LinkMobileProgressPublisher! { - get { - if Thread.isMainThread { - return linkMobileDeviceUnderlyingReturnValue - } else { - var returnValue: LinkNewDeviceService.LinkMobileProgressPublisher? = nil - DispatchQueue.main.sync { - returnValue = linkMobileDeviceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - linkMobileDeviceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - linkMobileDeviceUnderlyingReturnValue = newValue - } - } - } + get { linkMobileDeviceReturnValueLock.withLock { linkMobileDeviceUnderlyingReturnValue } } + set { linkMobileDeviceReturnValueLock.withLock { linkMobileDeviceUnderlyingReturnValue = newValue } } } var linkMobileDeviceClosure: (() -> LinkNewDeviceService.LinkMobileProgressPublisher)? func linkMobileDevice() -> LinkNewDeviceService.LinkMobileProgressPublisher { - linkMobileDeviceCallsCount += 1 + linkMobileDeviceCallsCountLock.withLock { linkMobileDeviceUnderlyingCallsCount += 1 } if let linkMobileDeviceClosure = linkMobileDeviceClosure { return linkMobileDeviceClosure() } else { @@ -12796,68 +7522,40 @@ class LinkNewDeviceServiceMock: LinkNewDeviceServiceProtocol, @unchecked Sendabl } //MARK: - linkDesktopDevice - var linkDesktopDeviceWithUnderlyingCallsCount = 0 + private let linkDesktopDeviceWithCallsCountLock = NSLock() + private var linkDesktopDeviceWithUnderlyingCallsCount = 0 var linkDesktopDeviceWithCallsCount: Int { - get { - if Thread.isMainThread { - return linkDesktopDeviceWithUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = linkDesktopDeviceWithUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - linkDesktopDeviceWithUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - linkDesktopDeviceWithUnderlyingCallsCount = newValue - } - } - } + get { linkDesktopDeviceWithCallsCountLock.withLock { linkDesktopDeviceWithUnderlyingCallsCount } } + set { linkDesktopDeviceWithCallsCountLock.withLock { linkDesktopDeviceWithUnderlyingCallsCount = newValue } } } var linkDesktopDeviceWithCalled: Bool { return linkDesktopDeviceWithCallsCount > 0 } - var linkDesktopDeviceWithReceivedScannedQRData: Data? - var linkDesktopDeviceWithReceivedInvocations: [Data] = [] + private let linkDesktopDeviceWithReceivedScannedQRDataLock = NSLock() + private var linkDesktopDeviceWithUnderlyingReceivedScannedQRData: Data? + var linkDesktopDeviceWithReceivedScannedQRData: Data? { + get { linkDesktopDeviceWithReceivedScannedQRDataLock.withLock { linkDesktopDeviceWithUnderlyingReceivedScannedQRData } } + set { linkDesktopDeviceWithReceivedScannedQRDataLock.withLock { linkDesktopDeviceWithUnderlyingReceivedScannedQRData = newValue } } + } + private let linkDesktopDeviceWithReceivedInvocationsLock = NSLock() + private var linkDesktopDeviceWithUnderlyingReceivedInvocations: [Data] = [] + var linkDesktopDeviceWithReceivedInvocations: [Data] { + get { linkDesktopDeviceWithReceivedInvocationsLock.withLock { linkDesktopDeviceWithUnderlyingReceivedInvocations } } + set { linkDesktopDeviceWithReceivedInvocationsLock.withLock { linkDesktopDeviceWithUnderlyingReceivedInvocations = newValue } } + } - var linkDesktopDeviceWithUnderlyingReturnValue: LinkNewDeviceService.LinkDesktopProgressPublisher! + private let linkDesktopDeviceWithReturnValueLock = NSLock() + private var linkDesktopDeviceWithUnderlyingReturnValue: LinkNewDeviceService.LinkDesktopProgressPublisher! var linkDesktopDeviceWithReturnValue: LinkNewDeviceService.LinkDesktopProgressPublisher! { - get { - if Thread.isMainThread { - return linkDesktopDeviceWithUnderlyingReturnValue - } else { - var returnValue: LinkNewDeviceService.LinkDesktopProgressPublisher? = nil - DispatchQueue.main.sync { - returnValue = linkDesktopDeviceWithUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - linkDesktopDeviceWithUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - linkDesktopDeviceWithUnderlyingReturnValue = newValue - } - } - } + get { linkDesktopDeviceWithReturnValueLock.withLock { linkDesktopDeviceWithUnderlyingReturnValue } } + set { linkDesktopDeviceWithReturnValueLock.withLock { linkDesktopDeviceWithUnderlyingReturnValue = newValue } } } var linkDesktopDeviceWithClosure: ((Data) -> LinkNewDeviceService.LinkDesktopProgressPublisher)? func linkDesktopDevice(with scannedQRData: Data) -> LinkNewDeviceService.LinkDesktopProgressPublisher { - linkDesktopDeviceWithCallsCount += 1 + linkDesktopDeviceWithCallsCountLock.withLock { linkDesktopDeviceWithUnderlyingCallsCount += 1 } linkDesktopDeviceWithReceivedScannedQRData = scannedQRData - DispatchQueue.main.async { - self.linkDesktopDeviceWithReceivedInvocations.append(scannedQRData) - } + linkDesktopDeviceWithReceivedInvocationsLock.withLock { linkDesktopDeviceWithUnderlyingReceivedInvocations.append(scannedQRData) } if let linkDesktopDeviceWithClosure = linkDesktopDeviceWithClosure { return linkDesktopDeviceWithClosure(scannedQRData) } else { @@ -12879,63 +7577,27 @@ class LiveLocationManagerMock: LiveLocationManagerProtocol, @unchecked Sendable //MARK: - requestAlwaysAuthorizationIfPossible - var requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount = 0 + private let requestAlwaysAuthorizationIfPossibleCallsCountLock = NSLock() + private var requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount = 0 var requestAlwaysAuthorizationIfPossibleCallsCount: Int { - get { - if Thread.isMainThread { - return requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount = newValue - } - } - } + get { requestAlwaysAuthorizationIfPossibleCallsCountLock.withLock { requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount } } + set { requestAlwaysAuthorizationIfPossibleCallsCountLock.withLock { requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount = newValue } } } var requestAlwaysAuthorizationIfPossibleCalled: Bool { return requestAlwaysAuthorizationIfPossibleCallsCount > 0 } - var requestAlwaysAuthorizationIfPossibleUnderlyingReturnValue: Bool! + private let requestAlwaysAuthorizationIfPossibleReturnValueLock = NSLock() + private var requestAlwaysAuthorizationIfPossibleUnderlyingReturnValue: Bool! var requestAlwaysAuthorizationIfPossibleReturnValue: Bool! { - get { - if Thread.isMainThread { - return requestAlwaysAuthorizationIfPossibleUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = requestAlwaysAuthorizationIfPossibleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestAlwaysAuthorizationIfPossibleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - requestAlwaysAuthorizationIfPossibleUnderlyingReturnValue = newValue - } - } - } + get { requestAlwaysAuthorizationIfPossibleReturnValueLock.withLock { requestAlwaysAuthorizationIfPossibleUnderlyingReturnValue } } + set { requestAlwaysAuthorizationIfPossibleReturnValueLock.withLock { requestAlwaysAuthorizationIfPossibleUnderlyingReturnValue = newValue } } } var requestAlwaysAuthorizationIfPossibleClosure: (() -> Bool)? @discardableResult func requestAlwaysAuthorizationIfPossible() -> Bool { - requestAlwaysAuthorizationIfPossibleCallsCount += 1 + requestAlwaysAuthorizationIfPossibleCallsCountLock.withLock { requestAlwaysAuthorizationIfPossibleUnderlyingCallsCount += 1 } if let requestAlwaysAuthorizationIfPossibleClosure = requestAlwaysAuthorizationIfPossibleClosure { return requestAlwaysAuthorizationIfPossibleClosure() } else { @@ -12944,68 +7606,40 @@ class LiveLocationManagerMock: LiveLocationManagerProtocol, @unchecked Sendable } //MARK: - startLiveLocation - var startLiveLocationRoomIDDurationUnderlyingCallsCount = 0 + private let startLiveLocationRoomIDDurationCallsCountLock = NSLock() + private var startLiveLocationRoomIDDurationUnderlyingCallsCount = 0 var startLiveLocationRoomIDDurationCallsCount: Int { - get { - if Thread.isMainThread { - return startLiveLocationRoomIDDurationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startLiveLocationRoomIDDurationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startLiveLocationRoomIDDurationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startLiveLocationRoomIDDurationUnderlyingCallsCount = newValue - } - } - } + get { startLiveLocationRoomIDDurationCallsCountLock.withLock { startLiveLocationRoomIDDurationUnderlyingCallsCount } } + set { startLiveLocationRoomIDDurationCallsCountLock.withLock { startLiveLocationRoomIDDurationUnderlyingCallsCount = newValue } } } var startLiveLocationRoomIDDurationCalled: Bool { return startLiveLocationRoomIDDurationCallsCount > 0 } - var startLiveLocationRoomIDDurationReceivedArguments: (roomID: String, duration: Duration)? - var startLiveLocationRoomIDDurationReceivedInvocations: [(roomID: String, duration: Duration)] = [] + private let startLiveLocationRoomIDDurationReceivedArgumentsLock = NSLock() + private var startLiveLocationRoomIDDurationUnderlyingReceivedArguments: (roomID: String, duration: Duration)? + var startLiveLocationRoomIDDurationReceivedArguments: (roomID: String, duration: Duration)? { + get { startLiveLocationRoomIDDurationReceivedArgumentsLock.withLock { startLiveLocationRoomIDDurationUnderlyingReceivedArguments } } + set { startLiveLocationRoomIDDurationReceivedArgumentsLock.withLock { startLiveLocationRoomIDDurationUnderlyingReceivedArguments = newValue } } + } + private let startLiveLocationRoomIDDurationReceivedInvocationsLock = NSLock() + private var startLiveLocationRoomIDDurationUnderlyingReceivedInvocations: [(roomID: String, duration: Duration)] = [] + var startLiveLocationRoomIDDurationReceivedInvocations: [(roomID: String, duration: Duration)] { + get { startLiveLocationRoomIDDurationReceivedInvocationsLock.withLock { startLiveLocationRoomIDDurationUnderlyingReceivedInvocations } } + set { startLiveLocationRoomIDDurationReceivedInvocationsLock.withLock { startLiveLocationRoomIDDurationUnderlyingReceivedInvocations = newValue } } + } - var startLiveLocationRoomIDDurationUnderlyingReturnValue: Result! + private let startLiveLocationRoomIDDurationReturnValueLock = NSLock() + private var startLiveLocationRoomIDDurationUnderlyingReturnValue: Result! var startLiveLocationRoomIDDurationReturnValue: Result! { - get { - if Thread.isMainThread { - return startLiveLocationRoomIDDurationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = startLiveLocationRoomIDDurationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startLiveLocationRoomIDDurationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - startLiveLocationRoomIDDurationUnderlyingReturnValue = newValue - } - } - } + get { startLiveLocationRoomIDDurationReturnValueLock.withLock { startLiveLocationRoomIDDurationUnderlyingReturnValue } } + set { startLiveLocationRoomIDDurationReturnValueLock.withLock { startLiveLocationRoomIDDurationUnderlyingReturnValue = newValue } } } var startLiveLocationRoomIDDurationClosure: ((String, Duration) async -> Result)? func startLiveLocation(roomID: String, duration: Duration) async -> Result { - startLiveLocationRoomIDDurationCallsCount += 1 + startLiveLocationRoomIDDurationCallsCountLock.withLock { startLiveLocationRoomIDDurationUnderlyingCallsCount += 1 } startLiveLocationRoomIDDurationReceivedArguments = (roomID: roomID, duration: duration) - DispatchQueue.main.async { - self.startLiveLocationRoomIDDurationReceivedInvocations.append((roomID: roomID, duration: duration)) - } + startLiveLocationRoomIDDurationReceivedInvocationsLock.withLock { startLiveLocationRoomIDDurationUnderlyingReceivedInvocations.append((roomID: roomID, duration: duration)) } if let startLiveLocationRoomIDDurationClosure = startLiveLocationRoomIDDurationClosure { return await startLiveLocationRoomIDDurationClosure(roomID, duration) } else { @@ -13014,43 +7648,33 @@ class LiveLocationManagerMock: LiveLocationManagerProtocol, @unchecked Sendable } //MARK: - stopLiveLocation - var stopLiveLocationRoomIDUnderlyingCallsCount = 0 + private let stopLiveLocationRoomIDCallsCountLock = NSLock() + private var stopLiveLocationRoomIDUnderlyingCallsCount = 0 var stopLiveLocationRoomIDCallsCount: Int { - get { - if Thread.isMainThread { - return stopLiveLocationRoomIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopLiveLocationRoomIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopLiveLocationRoomIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopLiveLocationRoomIDUnderlyingCallsCount = newValue - } - } - } + get { stopLiveLocationRoomIDCallsCountLock.withLock { stopLiveLocationRoomIDUnderlyingCallsCount } } + set { stopLiveLocationRoomIDCallsCountLock.withLock { stopLiveLocationRoomIDUnderlyingCallsCount = newValue } } } var stopLiveLocationRoomIDCalled: Bool { return stopLiveLocationRoomIDCallsCount > 0 } - var stopLiveLocationRoomIDReceivedRoomID: String? - var stopLiveLocationRoomIDReceivedInvocations: [String] = [] + private let stopLiveLocationRoomIDReceivedRoomIDLock = NSLock() + private var stopLiveLocationRoomIDUnderlyingReceivedRoomID: String? + var stopLiveLocationRoomIDReceivedRoomID: String? { + get { stopLiveLocationRoomIDReceivedRoomIDLock.withLock { stopLiveLocationRoomIDUnderlyingReceivedRoomID } } + set { stopLiveLocationRoomIDReceivedRoomIDLock.withLock { stopLiveLocationRoomIDUnderlyingReceivedRoomID = newValue } } + } + private let stopLiveLocationRoomIDReceivedInvocationsLock = NSLock() + private var stopLiveLocationRoomIDUnderlyingReceivedInvocations: [String] = [] + var stopLiveLocationRoomIDReceivedInvocations: [String] { + get { stopLiveLocationRoomIDReceivedInvocationsLock.withLock { stopLiveLocationRoomIDUnderlyingReceivedInvocations } } + set { stopLiveLocationRoomIDReceivedInvocationsLock.withLock { stopLiveLocationRoomIDUnderlyingReceivedInvocations = newValue } } + } var stopLiveLocationRoomIDClosure: ((String) async -> Void)? func stopLiveLocation(roomID: String) async { - stopLiveLocationRoomIDCallsCount += 1 + stopLiveLocationRoomIDCallsCountLock.withLock { stopLiveLocationRoomIDUnderlyingCallsCount += 1 } stopLiveLocationRoomIDReceivedRoomID = roomID - DispatchQueue.main.async { - self.stopLiveLocationRoomIDReceivedInvocations.append(roomID) - } + stopLiveLocationRoomIDReceivedInvocationsLock.withLock { stopLiveLocationRoomIDUnderlyingReceivedInvocations.append(roomID) } await stopLiveLocationRoomIDClosure?(roomID) } } @@ -13059,59 +7683,33 @@ class MediaLoaderMock: MediaLoaderProtocol, @unchecked Sendable { //MARK: - loadMediaContentForSource var loadMediaContentForSourceThrowableError: Error? - var loadMediaContentForSourceUnderlyingCallsCount = 0 + private let loadMediaContentForSourceCallsCountLock = NSLock() + private var loadMediaContentForSourceUnderlyingCallsCount = 0 var loadMediaContentForSourceCallsCount: Int { - get { - if Thread.isMainThread { - return loadMediaContentForSourceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadMediaContentForSourceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadMediaContentForSourceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadMediaContentForSourceUnderlyingCallsCount = newValue - } - } - } + get { loadMediaContentForSourceCallsCountLock.withLock { loadMediaContentForSourceUnderlyingCallsCount } } + set { loadMediaContentForSourceCallsCountLock.withLock { loadMediaContentForSourceUnderlyingCallsCount = newValue } } } var loadMediaContentForSourceCalled: Bool { return loadMediaContentForSourceCallsCount > 0 } - var loadMediaContentForSourceReceivedSource: MediaSourceProxy? - var loadMediaContentForSourceReceivedInvocations: [MediaSourceProxy] = [] + private let loadMediaContentForSourceReceivedSourceLock = NSLock() + private var loadMediaContentForSourceUnderlyingReceivedSource: MediaSourceProxy? + var loadMediaContentForSourceReceivedSource: MediaSourceProxy? { + get { loadMediaContentForSourceReceivedSourceLock.withLock { loadMediaContentForSourceUnderlyingReceivedSource } } + set { loadMediaContentForSourceReceivedSourceLock.withLock { loadMediaContentForSourceUnderlyingReceivedSource = newValue } } + } + private let loadMediaContentForSourceReceivedInvocationsLock = NSLock() + private var loadMediaContentForSourceUnderlyingReceivedInvocations: [MediaSourceProxy] = [] + var loadMediaContentForSourceReceivedInvocations: [MediaSourceProxy] { + get { loadMediaContentForSourceReceivedInvocationsLock.withLock { loadMediaContentForSourceUnderlyingReceivedInvocations } } + set { loadMediaContentForSourceReceivedInvocationsLock.withLock { loadMediaContentForSourceUnderlyingReceivedInvocations = newValue } } + } - var loadMediaContentForSourceUnderlyingReturnValue: Data! + private let loadMediaContentForSourceReturnValueLock = NSLock() + private var loadMediaContentForSourceUnderlyingReturnValue: Data! var loadMediaContentForSourceReturnValue: Data! { - get { - if Thread.isMainThread { - return loadMediaContentForSourceUnderlyingReturnValue - } else { - var returnValue: Data? = nil - DispatchQueue.main.sync { - returnValue = loadMediaContentForSourceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadMediaContentForSourceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadMediaContentForSourceUnderlyingReturnValue = newValue - } - } - } + get { loadMediaContentForSourceReturnValueLock.withLock { loadMediaContentForSourceUnderlyingReturnValue } } + set { loadMediaContentForSourceReturnValueLock.withLock { loadMediaContentForSourceUnderlyingReturnValue = newValue } } } var loadMediaContentForSourceClosure: ((MediaSourceProxy) async throws -> Data)? @@ -13119,11 +7717,9 @@ class MediaLoaderMock: MediaLoaderProtocol, @unchecked Sendable { if let error = loadMediaContentForSourceThrowableError { throw error } - loadMediaContentForSourceCallsCount += 1 + loadMediaContentForSourceCallsCountLock.withLock { loadMediaContentForSourceUnderlyingCallsCount += 1 } loadMediaContentForSourceReceivedSource = source - DispatchQueue.main.async { - self.loadMediaContentForSourceReceivedInvocations.append(source) - } + loadMediaContentForSourceReceivedInvocationsLock.withLock { loadMediaContentForSourceUnderlyingReceivedInvocations.append(source) } if let loadMediaContentForSourceClosure = loadMediaContentForSourceClosure { return try await loadMediaContentForSourceClosure(source) } else { @@ -13133,59 +7729,33 @@ class MediaLoaderMock: MediaLoaderProtocol, @unchecked Sendable { //MARK: - loadMediaThumbnailForSource var loadMediaThumbnailForSourceWidthHeightThrowableError: Error? - var loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount = 0 + private let loadMediaThumbnailForSourceWidthHeightCallsCountLock = NSLock() + private var loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount = 0 var loadMediaThumbnailForSourceWidthHeightCallsCount: Int { - get { - if Thread.isMainThread { - return loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount = newValue - } - } - } + get { loadMediaThumbnailForSourceWidthHeightCallsCountLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount } } + set { loadMediaThumbnailForSourceWidthHeightCallsCountLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount = newValue } } } var loadMediaThumbnailForSourceWidthHeightCalled: Bool { return loadMediaThumbnailForSourceWidthHeightCallsCount > 0 } - var loadMediaThumbnailForSourceWidthHeightReceivedArguments: (source: MediaSourceProxy, width: UInt, height: UInt)? - var loadMediaThumbnailForSourceWidthHeightReceivedInvocations: [(source: MediaSourceProxy, width: UInt, height: UInt)] = [] + private let loadMediaThumbnailForSourceWidthHeightReceivedArgumentsLock = NSLock() + private var loadMediaThumbnailForSourceWidthHeightUnderlyingReceivedArguments: (source: MediaSourceProxy, width: UInt, height: UInt)? + var loadMediaThumbnailForSourceWidthHeightReceivedArguments: (source: MediaSourceProxy, width: UInt, height: UInt)? { + get { loadMediaThumbnailForSourceWidthHeightReceivedArgumentsLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingReceivedArguments } } + set { loadMediaThumbnailForSourceWidthHeightReceivedArgumentsLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingReceivedArguments = newValue } } + } + private let loadMediaThumbnailForSourceWidthHeightReceivedInvocationsLock = NSLock() + private var loadMediaThumbnailForSourceWidthHeightUnderlyingReceivedInvocations: [(source: MediaSourceProxy, width: UInt, height: UInt)] = [] + var loadMediaThumbnailForSourceWidthHeightReceivedInvocations: [(source: MediaSourceProxy, width: UInt, height: UInt)] { + get { loadMediaThumbnailForSourceWidthHeightReceivedInvocationsLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingReceivedInvocations } } + set { loadMediaThumbnailForSourceWidthHeightReceivedInvocationsLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingReceivedInvocations = newValue } } + } - var loadMediaThumbnailForSourceWidthHeightUnderlyingReturnValue: Data! + private let loadMediaThumbnailForSourceWidthHeightReturnValueLock = NSLock() + private var loadMediaThumbnailForSourceWidthHeightUnderlyingReturnValue: Data! var loadMediaThumbnailForSourceWidthHeightReturnValue: Data! { - get { - if Thread.isMainThread { - return loadMediaThumbnailForSourceWidthHeightUnderlyingReturnValue - } else { - var returnValue: Data? = nil - DispatchQueue.main.sync { - returnValue = loadMediaThumbnailForSourceWidthHeightUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadMediaThumbnailForSourceWidthHeightUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadMediaThumbnailForSourceWidthHeightUnderlyingReturnValue = newValue - } - } - } + get { loadMediaThumbnailForSourceWidthHeightReturnValueLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingReturnValue } } + set { loadMediaThumbnailForSourceWidthHeightReturnValueLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingReturnValue = newValue } } } var loadMediaThumbnailForSourceWidthHeightClosure: ((MediaSourceProxy, UInt, UInt) async throws -> Data)? @@ -13193,11 +7763,9 @@ class MediaLoaderMock: MediaLoaderProtocol, @unchecked Sendable { if let error = loadMediaThumbnailForSourceWidthHeightThrowableError { throw error } - loadMediaThumbnailForSourceWidthHeightCallsCount += 1 + loadMediaThumbnailForSourceWidthHeightCallsCountLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingCallsCount += 1 } loadMediaThumbnailForSourceWidthHeightReceivedArguments = (source: source, width: width, height: height) - DispatchQueue.main.async { - self.loadMediaThumbnailForSourceWidthHeightReceivedInvocations.append((source: source, width: width, height: height)) - } + loadMediaThumbnailForSourceWidthHeightReceivedInvocationsLock.withLock { loadMediaThumbnailForSourceWidthHeightUnderlyingReceivedInvocations.append((source: source, width: width, height: height)) } if let loadMediaThumbnailForSourceWidthHeightClosure = loadMediaThumbnailForSourceWidthHeightClosure { return try await loadMediaThumbnailForSourceWidthHeightClosure(source, width, height) } else { @@ -13207,59 +7775,33 @@ class MediaLoaderMock: MediaLoaderProtocol, @unchecked Sendable { //MARK: - loadMediaFileForSource var loadMediaFileForSourceFilenameThrowableError: Error? - var loadMediaFileForSourceFilenameUnderlyingCallsCount = 0 + private let loadMediaFileForSourceFilenameCallsCountLock = NSLock() + private var loadMediaFileForSourceFilenameUnderlyingCallsCount = 0 var loadMediaFileForSourceFilenameCallsCount: Int { - get { - if Thread.isMainThread { - return loadMediaFileForSourceFilenameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadMediaFileForSourceFilenameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadMediaFileForSourceFilenameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadMediaFileForSourceFilenameUnderlyingCallsCount = newValue - } - } - } + get { loadMediaFileForSourceFilenameCallsCountLock.withLock { loadMediaFileForSourceFilenameUnderlyingCallsCount } } + set { loadMediaFileForSourceFilenameCallsCountLock.withLock { loadMediaFileForSourceFilenameUnderlyingCallsCount = newValue } } } var loadMediaFileForSourceFilenameCalled: Bool { return loadMediaFileForSourceFilenameCallsCount > 0 } - var loadMediaFileForSourceFilenameReceivedArguments: (source: MediaSourceProxy, filename: String?)? - var loadMediaFileForSourceFilenameReceivedInvocations: [(source: MediaSourceProxy, filename: String?)] = [] + private let loadMediaFileForSourceFilenameReceivedArgumentsLock = NSLock() + private var loadMediaFileForSourceFilenameUnderlyingReceivedArguments: (source: MediaSourceProxy, filename: String?)? + var loadMediaFileForSourceFilenameReceivedArguments: (source: MediaSourceProxy, filename: String?)? { + get { loadMediaFileForSourceFilenameReceivedArgumentsLock.withLock { loadMediaFileForSourceFilenameUnderlyingReceivedArguments } } + set { loadMediaFileForSourceFilenameReceivedArgumentsLock.withLock { loadMediaFileForSourceFilenameUnderlyingReceivedArguments = newValue } } + } + private let loadMediaFileForSourceFilenameReceivedInvocationsLock = NSLock() + private var loadMediaFileForSourceFilenameUnderlyingReceivedInvocations: [(source: MediaSourceProxy, filename: String?)] = [] + var loadMediaFileForSourceFilenameReceivedInvocations: [(source: MediaSourceProxy, filename: String?)] { + get { loadMediaFileForSourceFilenameReceivedInvocationsLock.withLock { loadMediaFileForSourceFilenameUnderlyingReceivedInvocations } } + set { loadMediaFileForSourceFilenameReceivedInvocationsLock.withLock { loadMediaFileForSourceFilenameUnderlyingReceivedInvocations = newValue } } + } - var loadMediaFileForSourceFilenameUnderlyingReturnValue: MediaFileHandleProxy! + private let loadMediaFileForSourceFilenameReturnValueLock = NSLock() + private var loadMediaFileForSourceFilenameUnderlyingReturnValue: MediaFileHandleProxy! var loadMediaFileForSourceFilenameReturnValue: MediaFileHandleProxy! { - get { - if Thread.isMainThread { - return loadMediaFileForSourceFilenameUnderlyingReturnValue - } else { - var returnValue: MediaFileHandleProxy? = nil - DispatchQueue.main.sync { - returnValue = loadMediaFileForSourceFilenameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadMediaFileForSourceFilenameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadMediaFileForSourceFilenameUnderlyingReturnValue = newValue - } - } - } + get { loadMediaFileForSourceFilenameReturnValueLock.withLock { loadMediaFileForSourceFilenameUnderlyingReturnValue } } + set { loadMediaFileForSourceFilenameReturnValueLock.withLock { loadMediaFileForSourceFilenameUnderlyingReturnValue = newValue } } } var loadMediaFileForSourceFilenameClosure: ((MediaSourceProxy, String?) async throws -> MediaFileHandleProxy)? @@ -13267,11 +7809,9 @@ class MediaLoaderMock: MediaLoaderProtocol, @unchecked Sendable { if let error = loadMediaFileForSourceFilenameThrowableError { throw error } - loadMediaFileForSourceFilenameCallsCount += 1 + loadMediaFileForSourceFilenameCallsCountLock.withLock { loadMediaFileForSourceFilenameUnderlyingCallsCount += 1 } loadMediaFileForSourceFilenameReceivedArguments = (source: source, filename: filename) - DispatchQueue.main.async { - self.loadMediaFileForSourceFilenameReceivedInvocations.append((source: source, filename: filename)) - } + loadMediaFileForSourceFilenameReceivedInvocationsLock.withLock { loadMediaFileForSourceFilenameUnderlyingReceivedInvocations.append((source: source, filename: filename)) } if let loadMediaFileForSourceFilenameClosure = loadMediaFileForSourceFilenameClosure { return try await loadMediaFileForSourceFilenameClosure(source, filename) } else { @@ -13288,68 +7828,40 @@ class MediaPlayerProviderMock: MediaPlayerProviderProtocol, @unchecked Sendable //MARK: - playerState - var playerStateForUnderlyingCallsCount = 0 + private let playerStateForCallsCountLock = NSLock() + private var playerStateForUnderlyingCallsCount = 0 var playerStateForCallsCount: Int { - get { - if Thread.isMainThread { - return playerStateForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = playerStateForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - playerStateForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - playerStateForUnderlyingCallsCount = newValue - } - } - } + get { playerStateForCallsCountLock.withLock { playerStateForUnderlyingCallsCount } } + set { playerStateForCallsCountLock.withLock { playerStateForUnderlyingCallsCount = newValue } } } var playerStateForCalled: Bool { return playerStateForCallsCount > 0 } - var playerStateForReceivedId: AudioPlayerStateIdentifier? - var playerStateForReceivedInvocations: [AudioPlayerStateIdentifier] = [] + private let playerStateForReceivedIdLock = NSLock() + private var playerStateForUnderlyingReceivedId: AudioPlayerStateIdentifier? + var playerStateForReceivedId: AudioPlayerStateIdentifier? { + get { playerStateForReceivedIdLock.withLock { playerStateForUnderlyingReceivedId } } + set { playerStateForReceivedIdLock.withLock { playerStateForUnderlyingReceivedId = newValue } } + } + private let playerStateForReceivedInvocationsLock = NSLock() + private var playerStateForUnderlyingReceivedInvocations: [AudioPlayerStateIdentifier] = [] + var playerStateForReceivedInvocations: [AudioPlayerStateIdentifier] { + get { playerStateForReceivedInvocationsLock.withLock { playerStateForUnderlyingReceivedInvocations } } + set { playerStateForReceivedInvocationsLock.withLock { playerStateForUnderlyingReceivedInvocations = newValue } } + } - var playerStateForUnderlyingReturnValue: AudioPlayerState? + private let playerStateForReturnValueLock = NSLock() + private var playerStateForUnderlyingReturnValue: AudioPlayerState? var playerStateForReturnValue: AudioPlayerState? { - get { - if Thread.isMainThread { - return playerStateForUnderlyingReturnValue - } else { - var returnValue: AudioPlayerState?? = nil - DispatchQueue.main.sync { - returnValue = playerStateForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - playerStateForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - playerStateForUnderlyingReturnValue = newValue - } - } - } + get { playerStateForReturnValueLock.withLock { playerStateForUnderlyingReturnValue } } + set { playerStateForReturnValueLock.withLock { playerStateForUnderlyingReturnValue = newValue } } } var playerStateForClosure: ((AudioPlayerStateIdentifier) -> AudioPlayerState?)? func playerState(for id: AudioPlayerStateIdentifier) -> AudioPlayerState? { - playerStateForCallsCount += 1 + playerStateForCallsCountLock.withLock { playerStateForUnderlyingCallsCount += 1 } playerStateForReceivedId = id - DispatchQueue.main.async { - self.playerStateForReceivedInvocations.append(id) - } + playerStateForReceivedInvocationsLock.withLock { playerStateForUnderlyingReceivedInvocations.append(id) } if let playerStateForClosure = playerStateForClosure { return playerStateForClosure(id) } else { @@ -13358,125 +7870,95 @@ class MediaPlayerProviderMock: MediaPlayerProviderProtocol, @unchecked Sendable } //MARK: - register - var registerAudioPlayerStateUnderlyingCallsCount = 0 + private let registerAudioPlayerStateCallsCountLock = NSLock() + private var registerAudioPlayerStateUnderlyingCallsCount = 0 var registerAudioPlayerStateCallsCount: Int { - get { - if Thread.isMainThread { - return registerAudioPlayerStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = registerAudioPlayerStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - registerAudioPlayerStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - registerAudioPlayerStateUnderlyingCallsCount = newValue - } - } - } + get { registerAudioPlayerStateCallsCountLock.withLock { registerAudioPlayerStateUnderlyingCallsCount } } + set { registerAudioPlayerStateCallsCountLock.withLock { registerAudioPlayerStateUnderlyingCallsCount = newValue } } } var registerAudioPlayerStateCalled: Bool { return registerAudioPlayerStateCallsCount > 0 } - var registerAudioPlayerStateReceivedAudioPlayerState: AudioPlayerState? - var registerAudioPlayerStateReceivedInvocations: [AudioPlayerState] = [] + private let registerAudioPlayerStateReceivedAudioPlayerStateLock = NSLock() + private var registerAudioPlayerStateUnderlyingReceivedAudioPlayerState: AudioPlayerState? + var registerAudioPlayerStateReceivedAudioPlayerState: AudioPlayerState? { + get { registerAudioPlayerStateReceivedAudioPlayerStateLock.withLock { registerAudioPlayerStateUnderlyingReceivedAudioPlayerState } } + set { registerAudioPlayerStateReceivedAudioPlayerStateLock.withLock { registerAudioPlayerStateUnderlyingReceivedAudioPlayerState = newValue } } + } + private let registerAudioPlayerStateReceivedInvocationsLock = NSLock() + private var registerAudioPlayerStateUnderlyingReceivedInvocations: [AudioPlayerState] = [] + var registerAudioPlayerStateReceivedInvocations: [AudioPlayerState] { + get { registerAudioPlayerStateReceivedInvocationsLock.withLock { registerAudioPlayerStateUnderlyingReceivedInvocations } } + set { registerAudioPlayerStateReceivedInvocationsLock.withLock { registerAudioPlayerStateUnderlyingReceivedInvocations = newValue } } + } var registerAudioPlayerStateClosure: ((AudioPlayerState) -> Void)? func register(audioPlayerState: AudioPlayerState) { - registerAudioPlayerStateCallsCount += 1 + registerAudioPlayerStateCallsCountLock.withLock { registerAudioPlayerStateUnderlyingCallsCount += 1 } registerAudioPlayerStateReceivedAudioPlayerState = audioPlayerState - DispatchQueue.main.async { - self.registerAudioPlayerStateReceivedInvocations.append(audioPlayerState) - } + registerAudioPlayerStateReceivedInvocationsLock.withLock { registerAudioPlayerStateUnderlyingReceivedInvocations.append(audioPlayerState) } registerAudioPlayerStateClosure?(audioPlayerState) } //MARK: - unregister - var unregisterAudioPlayerStateUnderlyingCallsCount = 0 + private let unregisterAudioPlayerStateCallsCountLock = NSLock() + private var unregisterAudioPlayerStateUnderlyingCallsCount = 0 var unregisterAudioPlayerStateCallsCount: Int { - get { - if Thread.isMainThread { - return unregisterAudioPlayerStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unregisterAudioPlayerStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unregisterAudioPlayerStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unregisterAudioPlayerStateUnderlyingCallsCount = newValue - } - } - } + get { unregisterAudioPlayerStateCallsCountLock.withLock { unregisterAudioPlayerStateUnderlyingCallsCount } } + set { unregisterAudioPlayerStateCallsCountLock.withLock { unregisterAudioPlayerStateUnderlyingCallsCount = newValue } } } var unregisterAudioPlayerStateCalled: Bool { return unregisterAudioPlayerStateCallsCount > 0 } - var unregisterAudioPlayerStateReceivedAudioPlayerState: AudioPlayerState? - var unregisterAudioPlayerStateReceivedInvocations: [AudioPlayerState] = [] + private let unregisterAudioPlayerStateReceivedAudioPlayerStateLock = NSLock() + private var unregisterAudioPlayerStateUnderlyingReceivedAudioPlayerState: AudioPlayerState? + var unregisterAudioPlayerStateReceivedAudioPlayerState: AudioPlayerState? { + get { unregisterAudioPlayerStateReceivedAudioPlayerStateLock.withLock { unregisterAudioPlayerStateUnderlyingReceivedAudioPlayerState } } + set { unregisterAudioPlayerStateReceivedAudioPlayerStateLock.withLock { unregisterAudioPlayerStateUnderlyingReceivedAudioPlayerState = newValue } } + } + private let unregisterAudioPlayerStateReceivedInvocationsLock = NSLock() + private var unregisterAudioPlayerStateUnderlyingReceivedInvocations: [AudioPlayerState] = [] + var unregisterAudioPlayerStateReceivedInvocations: [AudioPlayerState] { + get { unregisterAudioPlayerStateReceivedInvocationsLock.withLock { unregisterAudioPlayerStateUnderlyingReceivedInvocations } } + set { unregisterAudioPlayerStateReceivedInvocationsLock.withLock { unregisterAudioPlayerStateUnderlyingReceivedInvocations = newValue } } + } var unregisterAudioPlayerStateClosure: ((AudioPlayerState) -> Void)? func unregister(audioPlayerState: AudioPlayerState) { - unregisterAudioPlayerStateCallsCount += 1 + unregisterAudioPlayerStateCallsCountLock.withLock { unregisterAudioPlayerStateUnderlyingCallsCount += 1 } unregisterAudioPlayerStateReceivedAudioPlayerState = audioPlayerState - DispatchQueue.main.async { - self.unregisterAudioPlayerStateReceivedInvocations.append(audioPlayerState) - } + unregisterAudioPlayerStateReceivedInvocationsLock.withLock { unregisterAudioPlayerStateUnderlyingReceivedInvocations.append(audioPlayerState) } unregisterAudioPlayerStateClosure?(audioPlayerState) } //MARK: - detachAllStates - var detachAllStatesExceptUnderlyingCallsCount = 0 + private let detachAllStatesExceptCallsCountLock = NSLock() + private var detachAllStatesExceptUnderlyingCallsCount = 0 var detachAllStatesExceptCallsCount: Int { - get { - if Thread.isMainThread { - return detachAllStatesExceptUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = detachAllStatesExceptUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - detachAllStatesExceptUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - detachAllStatesExceptUnderlyingCallsCount = newValue - } - } - } + get { detachAllStatesExceptCallsCountLock.withLock { detachAllStatesExceptUnderlyingCallsCount } } + set { detachAllStatesExceptCallsCountLock.withLock { detachAllStatesExceptUnderlyingCallsCount = newValue } } } var detachAllStatesExceptCalled: Bool { return detachAllStatesExceptCallsCount > 0 } - var detachAllStatesExceptReceivedException: AudioPlayerState? - var detachAllStatesExceptReceivedInvocations: [AudioPlayerState?] = [] + private let detachAllStatesExceptReceivedExceptionLock = NSLock() + private var detachAllStatesExceptUnderlyingReceivedException: AudioPlayerState? + var detachAllStatesExceptReceivedException: AudioPlayerState? { + get { detachAllStatesExceptReceivedExceptionLock.withLock { detachAllStatesExceptUnderlyingReceivedException } } + set { detachAllStatesExceptReceivedExceptionLock.withLock { detachAllStatesExceptUnderlyingReceivedException = newValue } } + } + private let detachAllStatesExceptReceivedInvocationsLock = NSLock() + private var detachAllStatesExceptUnderlyingReceivedInvocations: [AudioPlayerState?] = [] + var detachAllStatesExceptReceivedInvocations: [AudioPlayerState?] { + get { detachAllStatesExceptReceivedInvocationsLock.withLock { detachAllStatesExceptUnderlyingReceivedInvocations } } + set { detachAllStatesExceptReceivedInvocationsLock.withLock { detachAllStatesExceptUnderlyingReceivedInvocations = newValue } } + } var detachAllStatesExceptClosure: ((AudioPlayerState?) async -> Void)? func detachAllStates(except exception: AudioPlayerState?) async { - detachAllStatesExceptCallsCount += 1 + detachAllStatesExceptCallsCountLock.withLock { detachAllStatesExceptUnderlyingCallsCount += 1 } detachAllStatesExceptReceivedException = exception - DispatchQueue.main.async { - self.detachAllStatesExceptReceivedInvocations.append(exception) - } + detachAllStatesExceptReceivedInvocationsLock.withLock { detachAllStatesExceptUnderlyingReceivedInvocations.append(exception) } await detachAllStatesExceptClosure?(exception) } } @@ -13484,68 +7966,40 @@ class MediaProviderMock: MediaProviderProtocol, @unchecked Sendable { //MARK: - imageFromSource - var imageFromSourceSizeUnderlyingCallsCount = 0 + private let imageFromSourceSizeCallsCountLock = NSLock() + private var imageFromSourceSizeUnderlyingCallsCount = 0 var imageFromSourceSizeCallsCount: Int { - get { - if Thread.isMainThread { - return imageFromSourceSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = imageFromSourceSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - imageFromSourceSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - imageFromSourceSizeUnderlyingCallsCount = newValue - } - } - } + get { imageFromSourceSizeCallsCountLock.withLock { imageFromSourceSizeUnderlyingCallsCount } } + set { imageFromSourceSizeCallsCountLock.withLock { imageFromSourceSizeUnderlyingCallsCount = newValue } } } var imageFromSourceSizeCalled: Bool { return imageFromSourceSizeCallsCount > 0 } - var imageFromSourceSizeReceivedArguments: (source: MediaSourceProxy?, size: CGSize?)? - var imageFromSourceSizeReceivedInvocations: [(source: MediaSourceProxy?, size: CGSize?)] = [] + private let imageFromSourceSizeReceivedArgumentsLock = NSLock() + private var imageFromSourceSizeUnderlyingReceivedArguments: (source: MediaSourceProxy?, size: CGSize?)? + var imageFromSourceSizeReceivedArguments: (source: MediaSourceProxy?, size: CGSize?)? { + get { imageFromSourceSizeReceivedArgumentsLock.withLock { imageFromSourceSizeUnderlyingReceivedArguments } } + set { imageFromSourceSizeReceivedArgumentsLock.withLock { imageFromSourceSizeUnderlyingReceivedArguments = newValue } } + } + private let imageFromSourceSizeReceivedInvocationsLock = NSLock() + private var imageFromSourceSizeUnderlyingReceivedInvocations: [(source: MediaSourceProxy?, size: CGSize?)] = [] + var imageFromSourceSizeReceivedInvocations: [(source: MediaSourceProxy?, size: CGSize?)] { + get { imageFromSourceSizeReceivedInvocationsLock.withLock { imageFromSourceSizeUnderlyingReceivedInvocations } } + set { imageFromSourceSizeReceivedInvocationsLock.withLock { imageFromSourceSizeUnderlyingReceivedInvocations = newValue } } + } - var imageFromSourceSizeUnderlyingReturnValue: UIImage? + private let imageFromSourceSizeReturnValueLock = NSLock() + private var imageFromSourceSizeUnderlyingReturnValue: UIImage? var imageFromSourceSizeReturnValue: UIImage? { - get { - if Thread.isMainThread { - return imageFromSourceSizeUnderlyingReturnValue - } else { - var returnValue: UIImage?? = nil - DispatchQueue.main.sync { - returnValue = imageFromSourceSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - imageFromSourceSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - imageFromSourceSizeUnderlyingReturnValue = newValue - } - } - } + get { imageFromSourceSizeReturnValueLock.withLock { imageFromSourceSizeUnderlyingReturnValue } } + set { imageFromSourceSizeReturnValueLock.withLock { imageFromSourceSizeUnderlyingReturnValue = newValue } } } var imageFromSourceSizeClosure: ((MediaSourceProxy?, CGSize?) -> UIImage?)? func imageFromSource(_ source: MediaSourceProxy?, size: CGSize?) -> UIImage? { - imageFromSourceSizeCallsCount += 1 + imageFromSourceSizeCallsCountLock.withLock { imageFromSourceSizeUnderlyingCallsCount += 1 } imageFromSourceSizeReceivedArguments = (source: source, size: size) - DispatchQueue.main.async { - self.imageFromSourceSizeReceivedInvocations.append((source: source, size: size)) - } + imageFromSourceSizeReceivedInvocationsLock.withLock { imageFromSourceSizeUnderlyingReceivedInvocations.append((source: source, size: size)) } if let imageFromSourceSizeClosure = imageFromSourceSizeClosure { return imageFromSourceSizeClosure(source, size) } else { @@ -13554,68 +8008,40 @@ class MediaProviderMock: MediaProviderProtocol, @unchecked Sendable { } //MARK: - loadImageFromSource - var loadImageFromSourceSizeUnderlyingCallsCount = 0 + private let loadImageFromSourceSizeCallsCountLock = NSLock() + private var loadImageFromSourceSizeUnderlyingCallsCount = 0 var loadImageFromSourceSizeCallsCount: Int { - get { - if Thread.isMainThread { - return loadImageFromSourceSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadImageFromSourceSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadImageFromSourceSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadImageFromSourceSizeUnderlyingCallsCount = newValue - } - } - } + get { loadImageFromSourceSizeCallsCountLock.withLock { loadImageFromSourceSizeUnderlyingCallsCount } } + set { loadImageFromSourceSizeCallsCountLock.withLock { loadImageFromSourceSizeUnderlyingCallsCount = newValue } } } var loadImageFromSourceSizeCalled: Bool { return loadImageFromSourceSizeCallsCount > 0 } - var loadImageFromSourceSizeReceivedArguments: (source: MediaSourceProxy, size: CGSize?)? - var loadImageFromSourceSizeReceivedInvocations: [(source: MediaSourceProxy, size: CGSize?)] = [] + private let loadImageFromSourceSizeReceivedArgumentsLock = NSLock() + private var loadImageFromSourceSizeUnderlyingReceivedArguments: (source: MediaSourceProxy, size: CGSize?)? + var loadImageFromSourceSizeReceivedArguments: (source: MediaSourceProxy, size: CGSize?)? { + get { loadImageFromSourceSizeReceivedArgumentsLock.withLock { loadImageFromSourceSizeUnderlyingReceivedArguments } } + set { loadImageFromSourceSizeReceivedArgumentsLock.withLock { loadImageFromSourceSizeUnderlyingReceivedArguments = newValue } } + } + private let loadImageFromSourceSizeReceivedInvocationsLock = NSLock() + private var loadImageFromSourceSizeUnderlyingReceivedInvocations: [(source: MediaSourceProxy, size: CGSize?)] = [] + var loadImageFromSourceSizeReceivedInvocations: [(source: MediaSourceProxy, size: CGSize?)] { + get { loadImageFromSourceSizeReceivedInvocationsLock.withLock { loadImageFromSourceSizeUnderlyingReceivedInvocations } } + set { loadImageFromSourceSizeReceivedInvocationsLock.withLock { loadImageFromSourceSizeUnderlyingReceivedInvocations = newValue } } + } - var loadImageFromSourceSizeUnderlyingReturnValue: Result! + private let loadImageFromSourceSizeReturnValueLock = NSLock() + private var loadImageFromSourceSizeUnderlyingReturnValue: Result! var loadImageFromSourceSizeReturnValue: Result! { - get { - if Thread.isMainThread { - return loadImageFromSourceSizeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadImageFromSourceSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadImageFromSourceSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadImageFromSourceSizeUnderlyingReturnValue = newValue - } - } - } + get { loadImageFromSourceSizeReturnValueLock.withLock { loadImageFromSourceSizeUnderlyingReturnValue } } + set { loadImageFromSourceSizeReturnValueLock.withLock { loadImageFromSourceSizeUnderlyingReturnValue = newValue } } } var loadImageFromSourceSizeClosure: ((MediaSourceProxy, CGSize?) async -> Result)? func loadImageFromSource(_ source: MediaSourceProxy, size: CGSize?) async -> Result { - loadImageFromSourceSizeCallsCount += 1 + loadImageFromSourceSizeCallsCountLock.withLock { loadImageFromSourceSizeUnderlyingCallsCount += 1 } loadImageFromSourceSizeReceivedArguments = (source: source, size: size) - DispatchQueue.main.async { - self.loadImageFromSourceSizeReceivedInvocations.append((source: source, size: size)) - } + loadImageFromSourceSizeReceivedInvocationsLock.withLock { loadImageFromSourceSizeUnderlyingReceivedInvocations.append((source: source, size: size)) } if let loadImageFromSourceSizeClosure = loadImageFromSourceSizeClosure { return await loadImageFromSourceSizeClosure(source, size) } else { @@ -13624,68 +8050,40 @@ class MediaProviderMock: MediaProviderProtocol, @unchecked Sendable { } //MARK: - loadImageDataFromSource - var loadImageDataFromSourceUnderlyingCallsCount = 0 + private let loadImageDataFromSourceCallsCountLock = NSLock() + private var loadImageDataFromSourceUnderlyingCallsCount = 0 var loadImageDataFromSourceCallsCount: Int { - get { - if Thread.isMainThread { - return loadImageDataFromSourceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadImageDataFromSourceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadImageDataFromSourceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadImageDataFromSourceUnderlyingCallsCount = newValue - } - } - } + get { loadImageDataFromSourceCallsCountLock.withLock { loadImageDataFromSourceUnderlyingCallsCount } } + set { loadImageDataFromSourceCallsCountLock.withLock { loadImageDataFromSourceUnderlyingCallsCount = newValue } } } var loadImageDataFromSourceCalled: Bool { return loadImageDataFromSourceCallsCount > 0 } - var loadImageDataFromSourceReceivedSource: MediaSourceProxy? - var loadImageDataFromSourceReceivedInvocations: [MediaSourceProxy] = [] + private let loadImageDataFromSourceReceivedSourceLock = NSLock() + private var loadImageDataFromSourceUnderlyingReceivedSource: MediaSourceProxy? + var loadImageDataFromSourceReceivedSource: MediaSourceProxy? { + get { loadImageDataFromSourceReceivedSourceLock.withLock { loadImageDataFromSourceUnderlyingReceivedSource } } + set { loadImageDataFromSourceReceivedSourceLock.withLock { loadImageDataFromSourceUnderlyingReceivedSource = newValue } } + } + private let loadImageDataFromSourceReceivedInvocationsLock = NSLock() + private var loadImageDataFromSourceUnderlyingReceivedInvocations: [MediaSourceProxy] = [] + var loadImageDataFromSourceReceivedInvocations: [MediaSourceProxy] { + get { loadImageDataFromSourceReceivedInvocationsLock.withLock { loadImageDataFromSourceUnderlyingReceivedInvocations } } + set { loadImageDataFromSourceReceivedInvocationsLock.withLock { loadImageDataFromSourceUnderlyingReceivedInvocations = newValue } } + } - var loadImageDataFromSourceUnderlyingReturnValue: Result! + private let loadImageDataFromSourceReturnValueLock = NSLock() + private var loadImageDataFromSourceUnderlyingReturnValue: Result! var loadImageDataFromSourceReturnValue: Result! { - get { - if Thread.isMainThread { - return loadImageDataFromSourceUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadImageDataFromSourceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadImageDataFromSourceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadImageDataFromSourceUnderlyingReturnValue = newValue - } - } - } + get { loadImageDataFromSourceReturnValueLock.withLock { loadImageDataFromSourceUnderlyingReturnValue } } + set { loadImageDataFromSourceReturnValueLock.withLock { loadImageDataFromSourceUnderlyingReturnValue = newValue } } } var loadImageDataFromSourceClosure: ((MediaSourceProxy) async -> Result)? func loadImageDataFromSource(_ source: MediaSourceProxy) async -> Result { - loadImageDataFromSourceCallsCount += 1 + loadImageDataFromSourceCallsCountLock.withLock { loadImageDataFromSourceUnderlyingCallsCount += 1 } loadImageDataFromSourceReceivedSource = source - DispatchQueue.main.async { - self.loadImageDataFromSourceReceivedInvocations.append(source) - } + loadImageDataFromSourceReceivedInvocationsLock.withLock { loadImageDataFromSourceUnderlyingReceivedInvocations.append(source) } if let loadImageDataFromSourceClosure = loadImageDataFromSourceClosure { return await loadImageDataFromSourceClosure(source) } else { @@ -13694,68 +8092,40 @@ class MediaProviderMock: MediaProviderProtocol, @unchecked Sendable { } //MARK: - loadImageRetryingOnReconnection - var loadImageRetryingOnReconnectionSizeUnderlyingCallsCount = 0 + private let loadImageRetryingOnReconnectionSizeCallsCountLock = NSLock() + private var loadImageRetryingOnReconnectionSizeUnderlyingCallsCount = 0 var loadImageRetryingOnReconnectionSizeCallsCount: Int { - get { - if Thread.isMainThread { - return loadImageRetryingOnReconnectionSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadImageRetryingOnReconnectionSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadImageRetryingOnReconnectionSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadImageRetryingOnReconnectionSizeUnderlyingCallsCount = newValue - } - } - } + get { loadImageRetryingOnReconnectionSizeCallsCountLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingCallsCount } } + set { loadImageRetryingOnReconnectionSizeCallsCountLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingCallsCount = newValue } } } var loadImageRetryingOnReconnectionSizeCalled: Bool { return loadImageRetryingOnReconnectionSizeCallsCount > 0 } - var loadImageRetryingOnReconnectionSizeReceivedArguments: (source: MediaSourceProxy, size: CGSize?)? - var loadImageRetryingOnReconnectionSizeReceivedInvocations: [(source: MediaSourceProxy, size: CGSize?)] = [] + private let loadImageRetryingOnReconnectionSizeReceivedArgumentsLock = NSLock() + private var loadImageRetryingOnReconnectionSizeUnderlyingReceivedArguments: (source: MediaSourceProxy, size: CGSize?)? + var loadImageRetryingOnReconnectionSizeReceivedArguments: (source: MediaSourceProxy, size: CGSize?)? { + get { loadImageRetryingOnReconnectionSizeReceivedArgumentsLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingReceivedArguments } } + set { loadImageRetryingOnReconnectionSizeReceivedArgumentsLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingReceivedArguments = newValue } } + } + private let loadImageRetryingOnReconnectionSizeReceivedInvocationsLock = NSLock() + private var loadImageRetryingOnReconnectionSizeUnderlyingReceivedInvocations: [(source: MediaSourceProxy, size: CGSize?)] = [] + var loadImageRetryingOnReconnectionSizeReceivedInvocations: [(source: MediaSourceProxy, size: CGSize?)] { + get { loadImageRetryingOnReconnectionSizeReceivedInvocationsLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingReceivedInvocations } } + set { loadImageRetryingOnReconnectionSizeReceivedInvocationsLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingReceivedInvocations = newValue } } + } - var loadImageRetryingOnReconnectionSizeUnderlyingReturnValue: Task! + private let loadImageRetryingOnReconnectionSizeReturnValueLock = NSLock() + private var loadImageRetryingOnReconnectionSizeUnderlyingReturnValue: Task! var loadImageRetryingOnReconnectionSizeReturnValue: Task! { - get { - if Thread.isMainThread { - return loadImageRetryingOnReconnectionSizeUnderlyingReturnValue - } else { - var returnValue: Task? = nil - DispatchQueue.main.sync { - returnValue = loadImageRetryingOnReconnectionSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadImageRetryingOnReconnectionSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadImageRetryingOnReconnectionSizeUnderlyingReturnValue = newValue - } - } - } + get { loadImageRetryingOnReconnectionSizeReturnValueLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingReturnValue } } + set { loadImageRetryingOnReconnectionSizeReturnValueLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingReturnValue = newValue } } } var loadImageRetryingOnReconnectionSizeClosure: ((MediaSourceProxy, CGSize?) -> Task)? func loadImageRetryingOnReconnection(_ source: MediaSourceProxy, size: CGSize?) -> Task { - loadImageRetryingOnReconnectionSizeCallsCount += 1 + loadImageRetryingOnReconnectionSizeCallsCountLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingCallsCount += 1 } loadImageRetryingOnReconnectionSizeReceivedArguments = (source: source, size: size) - DispatchQueue.main.async { - self.loadImageRetryingOnReconnectionSizeReceivedInvocations.append((source: source, size: size)) - } + loadImageRetryingOnReconnectionSizeReceivedInvocationsLock.withLock { loadImageRetryingOnReconnectionSizeUnderlyingReceivedInvocations.append((source: source, size: size)) } if let loadImageRetryingOnReconnectionSizeClosure = loadImageRetryingOnReconnectionSizeClosure { return loadImageRetryingOnReconnectionSizeClosure(source, size) } else { @@ -13764,68 +8134,40 @@ class MediaProviderMock: MediaProviderProtocol, @unchecked Sendable { } //MARK: - loadThumbnailForSource - var loadThumbnailForSourceSourceSizeUnderlyingCallsCount = 0 + private let loadThumbnailForSourceSourceSizeCallsCountLock = NSLock() + private var loadThumbnailForSourceSourceSizeUnderlyingCallsCount = 0 var loadThumbnailForSourceSourceSizeCallsCount: Int { - get { - if Thread.isMainThread { - return loadThumbnailForSourceSourceSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadThumbnailForSourceSourceSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadThumbnailForSourceSourceSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadThumbnailForSourceSourceSizeUnderlyingCallsCount = newValue - } - } - } + get { loadThumbnailForSourceSourceSizeCallsCountLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingCallsCount } } + set { loadThumbnailForSourceSourceSizeCallsCountLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingCallsCount = newValue } } } var loadThumbnailForSourceSourceSizeCalled: Bool { return loadThumbnailForSourceSourceSizeCallsCount > 0 } - var loadThumbnailForSourceSourceSizeReceivedArguments: (source: MediaSourceProxy, size: CGSize)? - var loadThumbnailForSourceSourceSizeReceivedInvocations: [(source: MediaSourceProxy, size: CGSize)] = [] + private let loadThumbnailForSourceSourceSizeReceivedArgumentsLock = NSLock() + private var loadThumbnailForSourceSourceSizeUnderlyingReceivedArguments: (source: MediaSourceProxy, size: CGSize)? + var loadThumbnailForSourceSourceSizeReceivedArguments: (source: MediaSourceProxy, size: CGSize)? { + get { loadThumbnailForSourceSourceSizeReceivedArgumentsLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingReceivedArguments } } + set { loadThumbnailForSourceSourceSizeReceivedArgumentsLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingReceivedArguments = newValue } } + } + private let loadThumbnailForSourceSourceSizeReceivedInvocationsLock = NSLock() + private var loadThumbnailForSourceSourceSizeUnderlyingReceivedInvocations: [(source: MediaSourceProxy, size: CGSize)] = [] + var loadThumbnailForSourceSourceSizeReceivedInvocations: [(source: MediaSourceProxy, size: CGSize)] { + get { loadThumbnailForSourceSourceSizeReceivedInvocationsLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingReceivedInvocations } } + set { loadThumbnailForSourceSourceSizeReceivedInvocationsLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingReceivedInvocations = newValue } } + } - var loadThumbnailForSourceSourceSizeUnderlyingReturnValue: Result! + private let loadThumbnailForSourceSourceSizeReturnValueLock = NSLock() + private var loadThumbnailForSourceSourceSizeUnderlyingReturnValue: Result! var loadThumbnailForSourceSourceSizeReturnValue: Result! { - get { - if Thread.isMainThread { - return loadThumbnailForSourceSourceSizeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadThumbnailForSourceSourceSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadThumbnailForSourceSourceSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadThumbnailForSourceSourceSizeUnderlyingReturnValue = newValue - } - } - } + get { loadThumbnailForSourceSourceSizeReturnValueLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingReturnValue } } + set { loadThumbnailForSourceSourceSizeReturnValueLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingReturnValue = newValue } } } var loadThumbnailForSourceSourceSizeClosure: ((MediaSourceProxy, CGSize) async -> Result)? func loadThumbnailForSource(source: MediaSourceProxy, size: CGSize) async -> Result { - loadThumbnailForSourceSourceSizeCallsCount += 1 + loadThumbnailForSourceSourceSizeCallsCountLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingCallsCount += 1 } loadThumbnailForSourceSourceSizeReceivedArguments = (source: source, size: size) - DispatchQueue.main.async { - self.loadThumbnailForSourceSourceSizeReceivedInvocations.append((source: source, size: size)) - } + loadThumbnailForSourceSourceSizeReceivedInvocationsLock.withLock { loadThumbnailForSourceSourceSizeUnderlyingReceivedInvocations.append((source: source, size: size)) } if let loadThumbnailForSourceSourceSizeClosure = loadThumbnailForSourceSourceSizeClosure { return await loadThumbnailForSourceSourceSizeClosure(source, size) } else { @@ -13834,68 +8176,40 @@ class MediaProviderMock: MediaProviderProtocol, @unchecked Sendable { } //MARK: - loadFileFromSource - var loadFileFromSourceFilenameUnderlyingCallsCount = 0 + private let loadFileFromSourceFilenameCallsCountLock = NSLock() + private var loadFileFromSourceFilenameUnderlyingCallsCount = 0 var loadFileFromSourceFilenameCallsCount: Int { - get { - if Thread.isMainThread { - return loadFileFromSourceFilenameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadFileFromSourceFilenameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadFileFromSourceFilenameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadFileFromSourceFilenameUnderlyingCallsCount = newValue - } - } - } + get { loadFileFromSourceFilenameCallsCountLock.withLock { loadFileFromSourceFilenameUnderlyingCallsCount } } + set { loadFileFromSourceFilenameCallsCountLock.withLock { loadFileFromSourceFilenameUnderlyingCallsCount = newValue } } } var loadFileFromSourceFilenameCalled: Bool { return loadFileFromSourceFilenameCallsCount > 0 } - var loadFileFromSourceFilenameReceivedArguments: (source: MediaSourceProxy, filename: String?)? - var loadFileFromSourceFilenameReceivedInvocations: [(source: MediaSourceProxy, filename: String?)] = [] + private let loadFileFromSourceFilenameReceivedArgumentsLock = NSLock() + private var loadFileFromSourceFilenameUnderlyingReceivedArguments: (source: MediaSourceProxy, filename: String?)? + var loadFileFromSourceFilenameReceivedArguments: (source: MediaSourceProxy, filename: String?)? { + get { loadFileFromSourceFilenameReceivedArgumentsLock.withLock { loadFileFromSourceFilenameUnderlyingReceivedArguments } } + set { loadFileFromSourceFilenameReceivedArgumentsLock.withLock { loadFileFromSourceFilenameUnderlyingReceivedArguments = newValue } } + } + private let loadFileFromSourceFilenameReceivedInvocationsLock = NSLock() + private var loadFileFromSourceFilenameUnderlyingReceivedInvocations: [(source: MediaSourceProxy, filename: String?)] = [] + var loadFileFromSourceFilenameReceivedInvocations: [(source: MediaSourceProxy, filename: String?)] { + get { loadFileFromSourceFilenameReceivedInvocationsLock.withLock { loadFileFromSourceFilenameUnderlyingReceivedInvocations } } + set { loadFileFromSourceFilenameReceivedInvocationsLock.withLock { loadFileFromSourceFilenameUnderlyingReceivedInvocations = newValue } } + } - var loadFileFromSourceFilenameUnderlyingReturnValue: Result! + private let loadFileFromSourceFilenameReturnValueLock = NSLock() + private var loadFileFromSourceFilenameUnderlyingReturnValue: Result! var loadFileFromSourceFilenameReturnValue: Result! { - get { - if Thread.isMainThread { - return loadFileFromSourceFilenameUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = loadFileFromSourceFilenameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadFileFromSourceFilenameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadFileFromSourceFilenameUnderlyingReturnValue = newValue - } - } - } + get { loadFileFromSourceFilenameReturnValueLock.withLock { loadFileFromSourceFilenameUnderlyingReturnValue } } + set { loadFileFromSourceFilenameReturnValueLock.withLock { loadFileFromSourceFilenameUnderlyingReturnValue = newValue } } } var loadFileFromSourceFilenameClosure: ((MediaSourceProxy, String?) async -> Result)? func loadFileFromSource(_ source: MediaSourceProxy, filename: String?) async -> Result { - loadFileFromSourceFilenameCallsCount += 1 + loadFileFromSourceFilenameCallsCountLock.withLock { loadFileFromSourceFilenameUnderlyingCallsCount += 1 } loadFileFromSourceFilenameReceivedArguments = (source: source, filename: filename) - DispatchQueue.main.async { - self.loadFileFromSourceFilenameReceivedInvocations.append((source: source, filename: filename)) - } + loadFileFromSourceFilenameReceivedInvocationsLock.withLock { loadFileFromSourceFilenameUnderlyingReceivedInvocations.append((source: source, filename: filename)) } if let loadFileFromSourceFilenameClosure = loadFileFromSourceFilenameClosure { return await loadFileFromSourceFilenameClosure(source, filename) } else { @@ -13946,68 +8260,40 @@ class NSEUserSessionMock: NSEUserSessionProtocol, @unchecked Sendable { //MARK: - notificationItemProxy - var notificationItemProxyRoomIDEventIDUnderlyingCallsCount = 0 + private let notificationItemProxyRoomIDEventIDCallsCountLock = NSLock() + private var notificationItemProxyRoomIDEventIDUnderlyingCallsCount = 0 var notificationItemProxyRoomIDEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return notificationItemProxyRoomIDEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = notificationItemProxyRoomIDEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - notificationItemProxyRoomIDEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - notificationItemProxyRoomIDEventIDUnderlyingCallsCount = newValue - } - } - } + get { notificationItemProxyRoomIDEventIDCallsCountLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingCallsCount } } + set { notificationItemProxyRoomIDEventIDCallsCountLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingCallsCount = newValue } } } var notificationItemProxyRoomIDEventIDCalled: Bool { return notificationItemProxyRoomIDEventIDCallsCount > 0 } - var notificationItemProxyRoomIDEventIDReceivedArguments: (roomID: String, eventID: String)? - var notificationItemProxyRoomIDEventIDReceivedInvocations: [(roomID: String, eventID: String)] = [] + private let notificationItemProxyRoomIDEventIDReceivedArgumentsLock = NSLock() + private var notificationItemProxyRoomIDEventIDUnderlyingReceivedArguments: (roomID: String, eventID: String)? + var notificationItemProxyRoomIDEventIDReceivedArguments: (roomID: String, eventID: String)? { + get { notificationItemProxyRoomIDEventIDReceivedArgumentsLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingReceivedArguments } } + set { notificationItemProxyRoomIDEventIDReceivedArgumentsLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingReceivedArguments = newValue } } + } + private let notificationItemProxyRoomIDEventIDReceivedInvocationsLock = NSLock() + private var notificationItemProxyRoomIDEventIDUnderlyingReceivedInvocations: [(roomID: String, eventID: String)] = [] + var notificationItemProxyRoomIDEventIDReceivedInvocations: [(roomID: String, eventID: String)] { + get { notificationItemProxyRoomIDEventIDReceivedInvocationsLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingReceivedInvocations } } + set { notificationItemProxyRoomIDEventIDReceivedInvocationsLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingReceivedInvocations = newValue } } + } - var notificationItemProxyRoomIDEventIDUnderlyingReturnValue: NotificationItemProxyProtocol? + private let notificationItemProxyRoomIDEventIDReturnValueLock = NSLock() + private var notificationItemProxyRoomIDEventIDUnderlyingReturnValue: NotificationItemProxyProtocol? var notificationItemProxyRoomIDEventIDReturnValue: NotificationItemProxyProtocol? { - get { - if Thread.isMainThread { - return notificationItemProxyRoomIDEventIDUnderlyingReturnValue - } else { - var returnValue: NotificationItemProxyProtocol?? = nil - DispatchQueue.main.sync { - returnValue = notificationItemProxyRoomIDEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - notificationItemProxyRoomIDEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - notificationItemProxyRoomIDEventIDUnderlyingReturnValue = newValue - } - } - } + get { notificationItemProxyRoomIDEventIDReturnValueLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingReturnValue } } + set { notificationItemProxyRoomIDEventIDReturnValueLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingReturnValue = newValue } } } var notificationItemProxyRoomIDEventIDClosure: ((String, String) async -> NotificationItemProxyProtocol?)? func notificationItemProxy(roomID: String, eventID: String) async -> NotificationItemProxyProtocol? { - notificationItemProxyRoomIDEventIDCallsCount += 1 + notificationItemProxyRoomIDEventIDCallsCountLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingCallsCount += 1 } notificationItemProxyRoomIDEventIDReceivedArguments = (roomID: roomID, eventID: eventID) - DispatchQueue.main.async { - self.notificationItemProxyRoomIDEventIDReceivedInvocations.append((roomID: roomID, eventID: eventID)) - } + notificationItemProxyRoomIDEventIDReceivedInvocationsLock.withLock { notificationItemProxyRoomIDEventIDUnderlyingReceivedInvocations.append((roomID: roomID, eventID: eventID)) } if let notificationItemProxyRoomIDEventIDClosure = notificationItemProxyRoomIDEventIDClosure { return await notificationItemProxyRoomIDEventIDClosure(roomID, eventID) } else { @@ -14016,68 +8302,40 @@ class NSEUserSessionMock: NSEUserSessionProtocol, @unchecked Sendable { } //MARK: - roomForIdentifier - var roomForIdentifierUnderlyingCallsCount = 0 + private let roomForIdentifierCallsCountLock = NSLock() + private var roomForIdentifierUnderlyingCallsCount = 0 var roomForIdentifierCallsCount: Int { - get { - if Thread.isMainThread { - return roomForIdentifierUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomForIdentifierUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomForIdentifierUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomForIdentifierUnderlyingCallsCount = newValue - } - } - } + get { roomForIdentifierCallsCountLock.withLock { roomForIdentifierUnderlyingCallsCount } } + set { roomForIdentifierCallsCountLock.withLock { roomForIdentifierUnderlyingCallsCount = newValue } } } var roomForIdentifierCalled: Bool { return roomForIdentifierCallsCount > 0 } - var roomForIdentifierReceivedRoomID: String? - var roomForIdentifierReceivedInvocations: [String] = [] + private let roomForIdentifierReceivedRoomIDLock = NSLock() + private var roomForIdentifierUnderlyingReceivedRoomID: String? + var roomForIdentifierReceivedRoomID: String? { + get { roomForIdentifierReceivedRoomIDLock.withLock { roomForIdentifierUnderlyingReceivedRoomID } } + set { roomForIdentifierReceivedRoomIDLock.withLock { roomForIdentifierUnderlyingReceivedRoomID = newValue } } + } + private let roomForIdentifierReceivedInvocationsLock = NSLock() + private var roomForIdentifierUnderlyingReceivedInvocations: [String] = [] + var roomForIdentifierReceivedInvocations: [String] { + get { roomForIdentifierReceivedInvocationsLock.withLock { roomForIdentifierUnderlyingReceivedInvocations } } + set { roomForIdentifierReceivedInvocationsLock.withLock { roomForIdentifierUnderlyingReceivedInvocations = newValue } } + } - var roomForIdentifierUnderlyingReturnValue: Room? + private let roomForIdentifierReturnValueLock = NSLock() + private var roomForIdentifierUnderlyingReturnValue: Room? var roomForIdentifierReturnValue: Room? { - get { - if Thread.isMainThread { - return roomForIdentifierUnderlyingReturnValue - } else { - var returnValue: Room?? = nil - DispatchQueue.main.sync { - returnValue = roomForIdentifierUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomForIdentifierUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomForIdentifierUnderlyingReturnValue = newValue - } - } - } + get { roomForIdentifierReturnValueLock.withLock { roomForIdentifierUnderlyingReturnValue } } + set { roomForIdentifierReturnValueLock.withLock { roomForIdentifierUnderlyingReturnValue = newValue } } } var roomForIdentifierClosure: ((String) -> Room?)? func roomForIdentifier(_ roomID: String) -> Room? { - roomForIdentifierCallsCount += 1 + roomForIdentifierCallsCountLock.withLock { roomForIdentifierUnderlyingCallsCount += 1 } roomForIdentifierReceivedRoomID = roomID - DispatchQueue.main.async { - self.roomForIdentifierReceivedInvocations.append(roomID) - } + roomForIdentifierReceivedInvocationsLock.withLock { roomForIdentifierUnderlyingReceivedInvocations.append(roomID) } if let roomForIdentifierClosure = roomForIdentifierClosure { return roomForIdentifierClosure(roomID) } else { @@ -14161,29 +8419,11 @@ class NotificationManagerMock: NotificationManagerProtocol, @unchecked Sendable //MARK: - start - var startUnderlyingCallsCount = 0 + private let startCallsCountLock = NSLock() + private var startUnderlyingCallsCount = 0 var startCallsCount: Int { - get { - if Thread.isMainThread { - return startUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startUnderlyingCallsCount = newValue - } - } - } + get { startCallsCountLock.withLock { startUnderlyingCallsCount } } + set { startCallsCountLock.withLock { startUnderlyingCallsCount = newValue } } } var startCalled: Bool { return startCallsCount > 0 @@ -14191,73 +8431,45 @@ class NotificationManagerMock: NotificationManagerProtocol, @unchecked Sendable var startClosure: (() -> Void)? func start() { - startCallsCount += 1 + startCallsCountLock.withLock { startUnderlyingCallsCount += 1 } startClosure?() } //MARK: - register - var registerWithUnderlyingCallsCount = 0 + private let registerWithCallsCountLock = NSLock() + private var registerWithUnderlyingCallsCount = 0 var registerWithCallsCount: Int { - get { - if Thread.isMainThread { - return registerWithUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = registerWithUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - registerWithUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - registerWithUnderlyingCallsCount = newValue - } - } - } + get { registerWithCallsCountLock.withLock { registerWithUnderlyingCallsCount } } + set { registerWithCallsCountLock.withLock { registerWithUnderlyingCallsCount = newValue } } } var registerWithCalled: Bool { return registerWithCallsCount > 0 } - var registerWithReceivedDeviceToken: Data? - var registerWithReceivedInvocations: [Data] = [] + private let registerWithReceivedDeviceTokenLock = NSLock() + private var registerWithUnderlyingReceivedDeviceToken: Data? + var registerWithReceivedDeviceToken: Data? { + get { registerWithReceivedDeviceTokenLock.withLock { registerWithUnderlyingReceivedDeviceToken } } + set { registerWithReceivedDeviceTokenLock.withLock { registerWithUnderlyingReceivedDeviceToken = newValue } } + } + private let registerWithReceivedInvocationsLock = NSLock() + private var registerWithUnderlyingReceivedInvocations: [Data] = [] + var registerWithReceivedInvocations: [Data] { + get { registerWithReceivedInvocationsLock.withLock { registerWithUnderlyingReceivedInvocations } } + set { registerWithReceivedInvocationsLock.withLock { registerWithUnderlyingReceivedInvocations = newValue } } + } - var registerWithUnderlyingReturnValue: Bool! + private let registerWithReturnValueLock = NSLock() + private var registerWithUnderlyingReturnValue: Bool! var registerWithReturnValue: Bool! { - get { - if Thread.isMainThread { - return registerWithUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = registerWithUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - registerWithUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - registerWithUnderlyingReturnValue = newValue - } - } - } + get { registerWithReturnValueLock.withLock { registerWithUnderlyingReturnValue } } + set { registerWithReturnValueLock.withLock { registerWithUnderlyingReturnValue = newValue } } } var registerWithClosure: ((Data) async -> Bool)? func register(with deviceToken: Data) async -> Bool { - registerWithCallsCount += 1 + registerWithCallsCountLock.withLock { registerWithUnderlyingCallsCount += 1 } registerWithReceivedDeviceToken = deviceToken - DispatchQueue.main.async { - self.registerWithReceivedInvocations.append(deviceToken) - } + registerWithReceivedInvocationsLock.withLock { registerWithUnderlyingReceivedInvocations.append(deviceToken) } if let registerWithClosure = registerWithClosure { return await registerWithClosure(deviceToken) } else { @@ -14266,152 +8478,104 @@ class NotificationManagerMock: NotificationManagerProtocol, @unchecked Sendable } //MARK: - registrationFailed - var registrationFailedWithUnderlyingCallsCount = 0 + private let registrationFailedWithCallsCountLock = NSLock() + private var registrationFailedWithUnderlyingCallsCount = 0 var registrationFailedWithCallsCount: Int { - get { - if Thread.isMainThread { - return registrationFailedWithUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = registrationFailedWithUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - registrationFailedWithUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - registrationFailedWithUnderlyingCallsCount = newValue - } - } - } + get { registrationFailedWithCallsCountLock.withLock { registrationFailedWithUnderlyingCallsCount } } + set { registrationFailedWithCallsCountLock.withLock { registrationFailedWithUnderlyingCallsCount = newValue } } } var registrationFailedWithCalled: Bool { return registrationFailedWithCallsCount > 0 } - var registrationFailedWithReceivedError: Error? - var registrationFailedWithReceivedInvocations: [Error] = [] + private let registrationFailedWithReceivedErrorLock = NSLock() + private var registrationFailedWithUnderlyingReceivedError: Error? + var registrationFailedWithReceivedError: Error? { + get { registrationFailedWithReceivedErrorLock.withLock { registrationFailedWithUnderlyingReceivedError } } + set { registrationFailedWithReceivedErrorLock.withLock { registrationFailedWithUnderlyingReceivedError = newValue } } + } + private let registrationFailedWithReceivedInvocationsLock = NSLock() + private var registrationFailedWithUnderlyingReceivedInvocations: [Error] = [] + var registrationFailedWithReceivedInvocations: [Error] { + get { registrationFailedWithReceivedInvocationsLock.withLock { registrationFailedWithUnderlyingReceivedInvocations } } + set { registrationFailedWithReceivedInvocationsLock.withLock { registrationFailedWithUnderlyingReceivedInvocations = newValue } } + } var registrationFailedWithClosure: ((Error) -> Void)? func registrationFailed(with error: Error) { - registrationFailedWithCallsCount += 1 + registrationFailedWithCallsCountLock.withLock { registrationFailedWithUnderlyingCallsCount += 1 } registrationFailedWithReceivedError = error - DispatchQueue.main.async { - self.registrationFailedWithReceivedInvocations.append(error) - } + registrationFailedWithReceivedInvocationsLock.withLock { registrationFailedWithUnderlyingReceivedInvocations.append(error) } registrationFailedWithClosure?(error) } //MARK: - showLocalNotification - var showLocalNotificationWithSubtitleUnderlyingCallsCount = 0 + private let showLocalNotificationWithSubtitleCallsCountLock = NSLock() + private var showLocalNotificationWithSubtitleUnderlyingCallsCount = 0 var showLocalNotificationWithSubtitleCallsCount: Int { - get { - if Thread.isMainThread { - return showLocalNotificationWithSubtitleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = showLocalNotificationWithSubtitleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - showLocalNotificationWithSubtitleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - showLocalNotificationWithSubtitleUnderlyingCallsCount = newValue - } - } - } + get { showLocalNotificationWithSubtitleCallsCountLock.withLock { showLocalNotificationWithSubtitleUnderlyingCallsCount } } + set { showLocalNotificationWithSubtitleCallsCountLock.withLock { showLocalNotificationWithSubtitleUnderlyingCallsCount = newValue } } } var showLocalNotificationWithSubtitleCalled: Bool { return showLocalNotificationWithSubtitleCallsCount > 0 } - var showLocalNotificationWithSubtitleReceivedArguments: (title: String, subtitle: String?)? - var showLocalNotificationWithSubtitleReceivedInvocations: [(title: String, subtitle: String?)] = [] + private let showLocalNotificationWithSubtitleReceivedArgumentsLock = NSLock() + private var showLocalNotificationWithSubtitleUnderlyingReceivedArguments: (title: String, subtitle: String?)? + var showLocalNotificationWithSubtitleReceivedArguments: (title: String, subtitle: String?)? { + get { showLocalNotificationWithSubtitleReceivedArgumentsLock.withLock { showLocalNotificationWithSubtitleUnderlyingReceivedArguments } } + set { showLocalNotificationWithSubtitleReceivedArgumentsLock.withLock { showLocalNotificationWithSubtitleUnderlyingReceivedArguments = newValue } } + } + private let showLocalNotificationWithSubtitleReceivedInvocationsLock = NSLock() + private var showLocalNotificationWithSubtitleUnderlyingReceivedInvocations: [(title: String, subtitle: String?)] = [] + var showLocalNotificationWithSubtitleReceivedInvocations: [(title: String, subtitle: String?)] { + get { showLocalNotificationWithSubtitleReceivedInvocationsLock.withLock { showLocalNotificationWithSubtitleUnderlyingReceivedInvocations } } + set { showLocalNotificationWithSubtitleReceivedInvocationsLock.withLock { showLocalNotificationWithSubtitleUnderlyingReceivedInvocations = newValue } } + } var showLocalNotificationWithSubtitleClosure: ((String, String?) async -> Void)? func showLocalNotification(with title: String, subtitle: String?) async { - showLocalNotificationWithSubtitleCallsCount += 1 + showLocalNotificationWithSubtitleCallsCountLock.withLock { showLocalNotificationWithSubtitleUnderlyingCallsCount += 1 } showLocalNotificationWithSubtitleReceivedArguments = (title: title, subtitle: subtitle) - DispatchQueue.main.async { - self.showLocalNotificationWithSubtitleReceivedInvocations.append((title: title, subtitle: subtitle)) - } + showLocalNotificationWithSubtitleReceivedInvocationsLock.withLock { showLocalNotificationWithSubtitleUnderlyingReceivedInvocations.append((title: title, subtitle: subtitle)) } await showLocalNotificationWithSubtitleClosure?(title, subtitle) } //MARK: - setUserSession - var setUserSessionUnderlyingCallsCount = 0 + private let setUserSessionCallsCountLock = NSLock() + private var setUserSessionUnderlyingCallsCount = 0 var setUserSessionCallsCount: Int { - get { - if Thread.isMainThread { - return setUserSessionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setUserSessionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setUserSessionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setUserSessionUnderlyingCallsCount = newValue - } - } - } + get { setUserSessionCallsCountLock.withLock { setUserSessionUnderlyingCallsCount } } + set { setUserSessionCallsCountLock.withLock { setUserSessionUnderlyingCallsCount = newValue } } } var setUserSessionCalled: Bool { return setUserSessionCallsCount > 0 } - var setUserSessionReceivedUserSession: UserSessionProtocol? - var setUserSessionReceivedInvocations: [UserSessionProtocol?] = [] + private let setUserSessionReceivedUserSessionLock = NSLock() + private var setUserSessionUnderlyingReceivedUserSession: UserSessionProtocol? + var setUserSessionReceivedUserSession: UserSessionProtocol? { + get { setUserSessionReceivedUserSessionLock.withLock { setUserSessionUnderlyingReceivedUserSession } } + set { setUserSessionReceivedUserSessionLock.withLock { setUserSessionUnderlyingReceivedUserSession = newValue } } + } + private let setUserSessionReceivedInvocationsLock = NSLock() + private var setUserSessionUnderlyingReceivedInvocations: [UserSessionProtocol?] = [] + var setUserSessionReceivedInvocations: [UserSessionProtocol?] { + get { setUserSessionReceivedInvocationsLock.withLock { setUserSessionUnderlyingReceivedInvocations } } + set { setUserSessionReceivedInvocationsLock.withLock { setUserSessionUnderlyingReceivedInvocations = newValue } } + } var setUserSessionClosure: ((UserSessionProtocol?) -> Void)? func setUserSession(_ userSession: UserSessionProtocol?) { - setUserSessionCallsCount += 1 + setUserSessionCallsCountLock.withLock { setUserSessionUnderlyingCallsCount += 1 } setUserSessionReceivedUserSession = userSession - DispatchQueue.main.async { - self.setUserSessionReceivedInvocations.append(userSession) - } + setUserSessionReceivedInvocationsLock.withLock { setUserSessionUnderlyingReceivedInvocations.append(userSession) } setUserSessionClosure?(userSession) } //MARK: - requestAuthorization - var requestAuthorizationUnderlyingCallsCount = 0 + private let requestAuthorizationCallsCountLock = NSLock() + private var requestAuthorizationUnderlyingCallsCount = 0 var requestAuthorizationCallsCount: Int { - get { - if Thread.isMainThread { - return requestAuthorizationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestAuthorizationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestAuthorizationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestAuthorizationUnderlyingCallsCount = newValue - } - } - } + get { requestAuthorizationCallsCountLock.withLock { requestAuthorizationUnderlyingCallsCount } } + set { requestAuthorizationCallsCountLock.withLock { requestAuthorizationUnderlyingCallsCount = newValue } } } var requestAuthorizationCalled: Bool { return requestAuthorizationCallsCount > 0 @@ -14419,89 +8583,69 @@ class NotificationManagerMock: NotificationManagerProtocol, @unchecked Sendable var requestAuthorizationClosure: (() -> Void)? func requestAuthorization() { - requestAuthorizationCallsCount += 1 + requestAuthorizationCallsCountLock.withLock { requestAuthorizationUnderlyingCallsCount += 1 } requestAuthorizationClosure?() } //MARK: - removeDeliveredMessageNotifications - var removeDeliveredMessageNotificationsForUnderlyingCallsCount = 0 + private let removeDeliveredMessageNotificationsForCallsCountLock = NSLock() + private var removeDeliveredMessageNotificationsForUnderlyingCallsCount = 0 var removeDeliveredMessageNotificationsForCallsCount: Int { - get { - if Thread.isMainThread { - return removeDeliveredMessageNotificationsForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeDeliveredMessageNotificationsForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeDeliveredMessageNotificationsForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeDeliveredMessageNotificationsForUnderlyingCallsCount = newValue - } - } - } + get { removeDeliveredMessageNotificationsForCallsCountLock.withLock { removeDeliveredMessageNotificationsForUnderlyingCallsCount } } + set { removeDeliveredMessageNotificationsForCallsCountLock.withLock { removeDeliveredMessageNotificationsForUnderlyingCallsCount = newValue } } } var removeDeliveredMessageNotificationsForCalled: Bool { return removeDeliveredMessageNotificationsForCallsCount > 0 } - var removeDeliveredMessageNotificationsForReceivedRoomID: String? - var removeDeliveredMessageNotificationsForReceivedInvocations: [String] = [] + private let removeDeliveredMessageNotificationsForReceivedRoomIDLock = NSLock() + private var removeDeliveredMessageNotificationsForUnderlyingReceivedRoomID: String? + var removeDeliveredMessageNotificationsForReceivedRoomID: String? { + get { removeDeliveredMessageNotificationsForReceivedRoomIDLock.withLock { removeDeliveredMessageNotificationsForUnderlyingReceivedRoomID } } + set { removeDeliveredMessageNotificationsForReceivedRoomIDLock.withLock { removeDeliveredMessageNotificationsForUnderlyingReceivedRoomID = newValue } } + } + private let removeDeliveredMessageNotificationsForReceivedInvocationsLock = NSLock() + private var removeDeliveredMessageNotificationsForUnderlyingReceivedInvocations: [String] = [] + var removeDeliveredMessageNotificationsForReceivedInvocations: [String] { + get { removeDeliveredMessageNotificationsForReceivedInvocationsLock.withLock { removeDeliveredMessageNotificationsForUnderlyingReceivedInvocations } } + set { removeDeliveredMessageNotificationsForReceivedInvocationsLock.withLock { removeDeliveredMessageNotificationsForUnderlyingReceivedInvocations = newValue } } + } var removeDeliveredMessageNotificationsForClosure: ((String) async -> Void)? func removeDeliveredMessageNotifications(for roomID: String) async { - removeDeliveredMessageNotificationsForCallsCount += 1 + removeDeliveredMessageNotificationsForCallsCountLock.withLock { removeDeliveredMessageNotificationsForUnderlyingCallsCount += 1 } removeDeliveredMessageNotificationsForReceivedRoomID = roomID - DispatchQueue.main.async { - self.removeDeliveredMessageNotificationsForReceivedInvocations.append(roomID) - } + removeDeliveredMessageNotificationsForReceivedInvocationsLock.withLock { removeDeliveredMessageNotificationsForUnderlyingReceivedInvocations.append(roomID) } await removeDeliveredMessageNotificationsForClosure?(roomID) } //MARK: - removeDeliveredNotificationsForFullyReadRooms - var removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount = 0 + private let removeDeliveredNotificationsForFullyReadRoomsCallsCountLock = NSLock() + private var removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount = 0 var removeDeliveredNotificationsForFullyReadRoomsCallsCount: Int { - get { - if Thread.isMainThread { - return removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount = newValue - } - } - } + get { removeDeliveredNotificationsForFullyReadRoomsCallsCountLock.withLock { removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount } } + set { removeDeliveredNotificationsForFullyReadRoomsCallsCountLock.withLock { removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount = newValue } } } var removeDeliveredNotificationsForFullyReadRoomsCalled: Bool { return removeDeliveredNotificationsForFullyReadRoomsCallsCount > 0 } - var removeDeliveredNotificationsForFullyReadRoomsReceivedRooms: [RoomSummary]? - var removeDeliveredNotificationsForFullyReadRoomsReceivedInvocations: [[RoomSummary]] = [] + private let removeDeliveredNotificationsForFullyReadRoomsReceivedRoomsLock = NSLock() + private var removeDeliveredNotificationsForFullyReadRoomsUnderlyingReceivedRooms: [RoomSummary]? + var removeDeliveredNotificationsForFullyReadRoomsReceivedRooms: [RoomSummary]? { + get { removeDeliveredNotificationsForFullyReadRoomsReceivedRoomsLock.withLock { removeDeliveredNotificationsForFullyReadRoomsUnderlyingReceivedRooms } } + set { removeDeliveredNotificationsForFullyReadRoomsReceivedRoomsLock.withLock { removeDeliveredNotificationsForFullyReadRoomsUnderlyingReceivedRooms = newValue } } + } + private let removeDeliveredNotificationsForFullyReadRoomsReceivedInvocationsLock = NSLock() + private var removeDeliveredNotificationsForFullyReadRoomsUnderlyingReceivedInvocations: [[RoomSummary]] = [] + var removeDeliveredNotificationsForFullyReadRoomsReceivedInvocations: [[RoomSummary]] { + get { removeDeliveredNotificationsForFullyReadRoomsReceivedInvocationsLock.withLock { removeDeliveredNotificationsForFullyReadRoomsUnderlyingReceivedInvocations } } + set { removeDeliveredNotificationsForFullyReadRoomsReceivedInvocationsLock.withLock { removeDeliveredNotificationsForFullyReadRoomsUnderlyingReceivedInvocations = newValue } } + } var removeDeliveredNotificationsForFullyReadRoomsClosure: (([RoomSummary]) async -> Void)? func removeDeliveredNotificationsForFullyReadRooms(_ rooms: [RoomSummary]) async { - removeDeliveredNotificationsForFullyReadRoomsCallsCount += 1 + removeDeliveredNotificationsForFullyReadRoomsCallsCountLock.withLock { removeDeliveredNotificationsForFullyReadRoomsUnderlyingCallsCount += 1 } removeDeliveredNotificationsForFullyReadRoomsReceivedRooms = rooms - DispatchQueue.main.async { - self.removeDeliveredNotificationsForFullyReadRoomsReceivedInvocations.append(rooms) - } + removeDeliveredNotificationsForFullyReadRoomsReceivedInvocationsLock.withLock { removeDeliveredNotificationsForFullyReadRoomsUnderlyingReceivedInvocations.append(rooms) } await removeDeliveredNotificationsForFullyReadRoomsClosure?(rooms) } } @@ -14515,59 +8659,33 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck //MARK: - getNotificationSettings var getNotificationSettingsRoomIdIsEncryptedIsOneToOneThrowableError: Error? - var getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = 0 + private let getNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCountLock = NSLock() + private var getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = 0 var getNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCount: Int { - get { - if Thread.isMainThread { - return getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } - } - } + get { getNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount } } + set { getNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue } } } var getNotificationSettingsRoomIdIsEncryptedIsOneToOneCalled: Bool { return getNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCount > 0 } - var getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? - var getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] = [] + private let getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock = NSLock() + private var getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? + var getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? { + get { getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments } } + set { getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments = newValue } } + } + private let getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock = NSLock() + private var getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] = [] + var getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] { + get { getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations } } + set { getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations = newValue } } + } - var getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue: RoomNotificationSettingsProxyProtocol! + private let getNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValueLock = NSLock() + private var getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue: RoomNotificationSettingsProxyProtocol! var getNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValue: RoomNotificationSettingsProxyProtocol! { - get { - if Thread.isMainThread { - return getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue - } else { - var returnValue: RoomNotificationSettingsProxyProtocol? = nil - DispatchQueue.main.sync { - returnValue = getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue = newValue - } - } - } + get { getNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValueLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue } } + set { getNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValueLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue = newValue } } } var getNotificationSettingsRoomIdIsEncryptedIsOneToOneClosure: ((String, Bool, Bool) async throws -> RoomNotificationSettingsProxyProtocol)? @@ -14575,11 +8693,9 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck if let error = getNotificationSettingsRoomIdIsEncryptedIsOneToOneThrowableError { throw error } - getNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCount += 1 + getNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount += 1 } getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArguments = (roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne) - DispatchQueue.main.async { - self.getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocations.append((roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne)) - } + getNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations.append((roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne)) } if let getNotificationSettingsRoomIdIsEncryptedIsOneToOneClosure = getNotificationSettingsRoomIdIsEncryptedIsOneToOneClosure { return try await getNotificationSettingsRoomIdIsEncryptedIsOneToOneClosure(roomId, isEncrypted, isOneToOne) } else { @@ -14589,104 +8705,68 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck //MARK: - setNotificationMode var setNotificationModeRoomIdModeThrowableError: Error? - var setNotificationModeRoomIdModeUnderlyingCallsCount = 0 + private let setNotificationModeRoomIdModeCallsCountLock = NSLock() + private var setNotificationModeRoomIdModeUnderlyingCallsCount = 0 var setNotificationModeRoomIdModeCallsCount: Int { - get { - if Thread.isMainThread { - return setNotificationModeRoomIdModeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setNotificationModeRoomIdModeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setNotificationModeRoomIdModeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setNotificationModeRoomIdModeUnderlyingCallsCount = newValue - } - } - } + get { setNotificationModeRoomIdModeCallsCountLock.withLock { setNotificationModeRoomIdModeUnderlyingCallsCount } } + set { setNotificationModeRoomIdModeCallsCountLock.withLock { setNotificationModeRoomIdModeUnderlyingCallsCount = newValue } } } var setNotificationModeRoomIdModeCalled: Bool { return setNotificationModeRoomIdModeCallsCount > 0 } - var setNotificationModeRoomIdModeReceivedArguments: (roomId: String, mode: RoomNotificationModeProxy)? - var setNotificationModeRoomIdModeReceivedInvocations: [(roomId: String, mode: RoomNotificationModeProxy)] = [] + private let setNotificationModeRoomIdModeReceivedArgumentsLock = NSLock() + private var setNotificationModeRoomIdModeUnderlyingReceivedArguments: (roomId: String, mode: RoomNotificationModeProxy)? + var setNotificationModeRoomIdModeReceivedArguments: (roomId: String, mode: RoomNotificationModeProxy)? { + get { setNotificationModeRoomIdModeReceivedArgumentsLock.withLock { setNotificationModeRoomIdModeUnderlyingReceivedArguments } } + set { setNotificationModeRoomIdModeReceivedArgumentsLock.withLock { setNotificationModeRoomIdModeUnderlyingReceivedArguments = newValue } } + } + private let setNotificationModeRoomIdModeReceivedInvocationsLock = NSLock() + private var setNotificationModeRoomIdModeUnderlyingReceivedInvocations: [(roomId: String, mode: RoomNotificationModeProxy)] = [] + var setNotificationModeRoomIdModeReceivedInvocations: [(roomId: String, mode: RoomNotificationModeProxy)] { + get { setNotificationModeRoomIdModeReceivedInvocationsLock.withLock { setNotificationModeRoomIdModeUnderlyingReceivedInvocations } } + set { setNotificationModeRoomIdModeReceivedInvocationsLock.withLock { setNotificationModeRoomIdModeUnderlyingReceivedInvocations = newValue } } + } var setNotificationModeRoomIdModeClosure: ((String, RoomNotificationModeProxy) async throws -> Void)? func setNotificationMode(roomId: String, mode: RoomNotificationModeProxy) async throws { if let error = setNotificationModeRoomIdModeThrowableError { throw error } - setNotificationModeRoomIdModeCallsCount += 1 + setNotificationModeRoomIdModeCallsCountLock.withLock { setNotificationModeRoomIdModeUnderlyingCallsCount += 1 } setNotificationModeRoomIdModeReceivedArguments = (roomId: roomId, mode: mode) - DispatchQueue.main.async { - self.setNotificationModeRoomIdModeReceivedInvocations.append((roomId: roomId, mode: mode)) - } + setNotificationModeRoomIdModeReceivedInvocationsLock.withLock { setNotificationModeRoomIdModeUnderlyingReceivedInvocations.append((roomId: roomId, mode: mode)) } try await setNotificationModeRoomIdModeClosure?(roomId, mode) } //MARK: - getUserDefinedRoomNotificationMode var getUserDefinedRoomNotificationModeRoomIdThrowableError: Error? - var getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = 0 + private let getUserDefinedRoomNotificationModeRoomIdCallsCountLock = NSLock() + private var getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = 0 var getUserDefinedRoomNotificationModeRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = newValue - } - } - } + get { getUserDefinedRoomNotificationModeRoomIdCallsCountLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount } } + set { getUserDefinedRoomNotificationModeRoomIdCallsCountLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = newValue } } } var getUserDefinedRoomNotificationModeRoomIdCalled: Bool { return getUserDefinedRoomNotificationModeRoomIdCallsCount > 0 } - var getUserDefinedRoomNotificationModeRoomIdReceivedRoomId: String? - var getUserDefinedRoomNotificationModeRoomIdReceivedInvocations: [String] = [] + private let getUserDefinedRoomNotificationModeRoomIdReceivedRoomIdLock = NSLock() + private var getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedRoomId: String? + var getUserDefinedRoomNotificationModeRoomIdReceivedRoomId: String? { + get { getUserDefinedRoomNotificationModeRoomIdReceivedRoomIdLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedRoomId } } + set { getUserDefinedRoomNotificationModeRoomIdReceivedRoomIdLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let getUserDefinedRoomNotificationModeRoomIdReceivedInvocationsLock = NSLock() + private var getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedInvocations: [String] = [] + var getUserDefinedRoomNotificationModeRoomIdReceivedInvocations: [String] { + get { getUserDefinedRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedInvocations } } + set { getUserDefinedRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedInvocations = newValue } } + } - var getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue: RoomNotificationModeProxy? + private let getUserDefinedRoomNotificationModeRoomIdReturnValueLock = NSLock() + private var getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue: RoomNotificationModeProxy? var getUserDefinedRoomNotificationModeRoomIdReturnValue: RoomNotificationModeProxy? { - get { - if Thread.isMainThread { - return getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue - } else { - var returnValue: RoomNotificationModeProxy?? = nil - DispatchQueue.main.sync { - returnValue = getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue = newValue - } - } - } + get { getUserDefinedRoomNotificationModeRoomIdReturnValueLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue } } + set { getUserDefinedRoomNotificationModeRoomIdReturnValueLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue = newValue } } } var getUserDefinedRoomNotificationModeRoomIdClosure: ((String) async throws -> RoomNotificationModeProxy?)? @@ -14694,11 +8774,9 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck if let error = getUserDefinedRoomNotificationModeRoomIdThrowableError { throw error } - getUserDefinedRoomNotificationModeRoomIdCallsCount += 1 + getUserDefinedRoomNotificationModeRoomIdCallsCountLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount += 1 } getUserDefinedRoomNotificationModeRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.getUserDefinedRoomNotificationModeRoomIdReceivedInvocations.append(roomId) - } + getUserDefinedRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedInvocations.append(roomId) } if let getUserDefinedRoomNotificationModeRoomIdClosure = getUserDefinedRoomNotificationModeRoomIdClosure { return try await getUserDefinedRoomNotificationModeRoomIdClosure(roomId) } else { @@ -14707,68 +8785,40 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck } //MARK: - getDefaultRoomNotificationMode - var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = 0 + private let getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCountLock = NSLock() + private var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = 0 var getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCount: Int { - get { - if Thread.isMainThread { - return getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } - } - } + get { getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCountLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount } } + set { getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCountLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = newValue } } } var getDefaultRoomNotificationModeIsEncryptedIsOneToOneCalled: Bool { return getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCount > 0 } - var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool)? - var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool)] = [] + private let getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArgumentsLock = NSLock() + private var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool)? + var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool)? { + get { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedArguments } } + set { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedArguments = newValue } } + } + private let getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocationsLock = NSLock() + private var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool)] = [] + var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool)] { + get { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedInvocations } } + set { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedInvocations = newValue } } + } - var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue: RoomNotificationModeProxy! + private let getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValueLock = NSLock() + private var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue: RoomNotificationModeProxy! var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValue: RoomNotificationModeProxy! { - get { - if Thread.isMainThread { - return getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue - } else { - var returnValue: RoomNotificationModeProxy? = nil - DispatchQueue.main.sync { - returnValue = getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue = newValue - } - } - } + get { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValueLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue } } + set { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValueLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue = newValue } } } var getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure: ((Bool, Bool) async -> RoomNotificationModeProxy)? func getDefaultRoomNotificationMode(isEncrypted: Bool, isOneToOne: Bool) async -> RoomNotificationModeProxy { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCount += 1 + getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCountLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount += 1 } getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArguments = (isEncrypted: isEncrypted, isOneToOne: isOneToOne) - DispatchQueue.main.async { - self.getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocations.append((isEncrypted: isEncrypted, isOneToOne: isOneToOne)) - } + getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedInvocations.append((isEncrypted: isEncrypted, isOneToOne: isOneToOne)) } if let getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure = getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure { return await getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure(isEncrypted, isOneToOne) } else { @@ -14778,192 +8828,126 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck //MARK: - setDefaultRoomNotificationMode var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeThrowableError: Error? - var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = 0 + private let setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCountLock = NSLock() + private var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = 0 var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCount: Int { - get { - if Thread.isMainThread { - return setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = newValue - } - } - } + get { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCountLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount } } + set { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCountLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = newValue } } } var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCalled: Bool { return setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCount > 0 } - var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationModeProxy)? - var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationModeProxy)] = [] + private let setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArgumentsLock = NSLock() + private var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationModeProxy)? + var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationModeProxy)? { + get { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArgumentsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedArguments } } + set { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArgumentsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedArguments = newValue } } + } + private let setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocationsLock = NSLock() + private var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationModeProxy)] = [] + var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationModeProxy)] { + get { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocationsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedInvocations } } + set { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocationsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedInvocations = newValue } } + } var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeClosure: ((Bool, Bool, RoomNotificationModeProxy) async throws -> Void)? func setDefaultRoomNotificationMode(isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationModeProxy) async throws { if let error = setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeThrowableError { throw error } - setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCount += 1 + setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCountLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount += 1 } setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArguments = (isEncrypted: isEncrypted, isOneToOne: isOneToOne, mode: mode) - DispatchQueue.main.async { - self.setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocations.append((isEncrypted: isEncrypted, isOneToOne: isOneToOne, mode: mode)) - } + setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocationsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedInvocations.append((isEncrypted: isEncrypted, isOneToOne: isOneToOne, mode: mode)) } try await setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeClosure?(isEncrypted, isOneToOne, mode) } //MARK: - restoreDefaultNotificationMode var restoreDefaultNotificationModeRoomIdThrowableError: Error? - var restoreDefaultNotificationModeRoomIdUnderlyingCallsCount = 0 + private let restoreDefaultNotificationModeRoomIdCallsCountLock = NSLock() + private var restoreDefaultNotificationModeRoomIdUnderlyingCallsCount = 0 var restoreDefaultNotificationModeRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return restoreDefaultNotificationModeRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = restoreDefaultNotificationModeRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - restoreDefaultNotificationModeRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - restoreDefaultNotificationModeRoomIdUnderlyingCallsCount = newValue - } - } - } + get { restoreDefaultNotificationModeRoomIdCallsCountLock.withLock { restoreDefaultNotificationModeRoomIdUnderlyingCallsCount } } + set { restoreDefaultNotificationModeRoomIdCallsCountLock.withLock { restoreDefaultNotificationModeRoomIdUnderlyingCallsCount = newValue } } } var restoreDefaultNotificationModeRoomIdCalled: Bool { return restoreDefaultNotificationModeRoomIdCallsCount > 0 } - var restoreDefaultNotificationModeRoomIdReceivedRoomId: String? - var restoreDefaultNotificationModeRoomIdReceivedInvocations: [String] = [] + private let restoreDefaultNotificationModeRoomIdReceivedRoomIdLock = NSLock() + private var restoreDefaultNotificationModeRoomIdUnderlyingReceivedRoomId: String? + var restoreDefaultNotificationModeRoomIdReceivedRoomId: String? { + get { restoreDefaultNotificationModeRoomIdReceivedRoomIdLock.withLock { restoreDefaultNotificationModeRoomIdUnderlyingReceivedRoomId } } + set { restoreDefaultNotificationModeRoomIdReceivedRoomIdLock.withLock { restoreDefaultNotificationModeRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let restoreDefaultNotificationModeRoomIdReceivedInvocationsLock = NSLock() + private var restoreDefaultNotificationModeRoomIdUnderlyingReceivedInvocations: [String] = [] + var restoreDefaultNotificationModeRoomIdReceivedInvocations: [String] { + get { restoreDefaultNotificationModeRoomIdReceivedInvocationsLock.withLock { restoreDefaultNotificationModeRoomIdUnderlyingReceivedInvocations } } + set { restoreDefaultNotificationModeRoomIdReceivedInvocationsLock.withLock { restoreDefaultNotificationModeRoomIdUnderlyingReceivedInvocations = newValue } } + } var restoreDefaultNotificationModeRoomIdClosure: ((String) async throws -> Void)? func restoreDefaultNotificationMode(roomId: String) async throws { if let error = restoreDefaultNotificationModeRoomIdThrowableError { throw error } - restoreDefaultNotificationModeRoomIdCallsCount += 1 + restoreDefaultNotificationModeRoomIdCallsCountLock.withLock { restoreDefaultNotificationModeRoomIdUnderlyingCallsCount += 1 } restoreDefaultNotificationModeRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.restoreDefaultNotificationModeRoomIdReceivedInvocations.append(roomId) - } + restoreDefaultNotificationModeRoomIdReceivedInvocationsLock.withLock { restoreDefaultNotificationModeRoomIdUnderlyingReceivedInvocations.append(roomId) } try await restoreDefaultNotificationModeRoomIdClosure?(roomId) } //MARK: - unmuteRoom var unmuteRoomRoomIdIsEncryptedIsOneToOneThrowableError: Error? - var unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = 0 + private let unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCountLock = NSLock() + private var unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = 0 var unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCount: Int { - get { - if Thread.isMainThread { - return unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } - } - } + get { unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount } } + set { unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue } } } var unmuteRoomRoomIdIsEncryptedIsOneToOneCalled: Bool { return unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCount > 0 } - var unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? - var unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] = [] + private let unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock = NSLock() + private var unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? + var unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? { + get { unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments } } + set { unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments = newValue } } + } + private let unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock = NSLock() + private var unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] = [] + var unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] { + get { unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations } } + set { unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations = newValue } } + } var unmuteRoomRoomIdIsEncryptedIsOneToOneClosure: ((String, Bool, Bool) async throws -> Void)? func unmuteRoom(roomId: String, isEncrypted: Bool, isOneToOne: Bool) async throws { if let error = unmuteRoomRoomIdIsEncryptedIsOneToOneThrowableError { throw error } - unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCount += 1 + unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount += 1 } unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArguments = (roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne) - DispatchQueue.main.async { - self.unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocations.append((roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne)) - } + unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations.append((roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne)) } try await unmuteRoomRoomIdIsEncryptedIsOneToOneClosure?(roomId, isEncrypted, isOneToOne) } //MARK: - isRoomMentionEnabled var isRoomMentionEnabledThrowableError: Error? - var isRoomMentionEnabledUnderlyingCallsCount = 0 + private let isRoomMentionEnabledCallsCountLock = NSLock() + private var isRoomMentionEnabledUnderlyingCallsCount = 0 var isRoomMentionEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return isRoomMentionEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isRoomMentionEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isRoomMentionEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isRoomMentionEnabledUnderlyingCallsCount = newValue - } - } - } + get { isRoomMentionEnabledCallsCountLock.withLock { isRoomMentionEnabledUnderlyingCallsCount } } + set { isRoomMentionEnabledCallsCountLock.withLock { isRoomMentionEnabledUnderlyingCallsCount = newValue } } } var isRoomMentionEnabledCalled: Bool { return isRoomMentionEnabledCallsCount > 0 } - var isRoomMentionEnabledUnderlyingReturnValue: Bool! + private let isRoomMentionEnabledReturnValueLock = NSLock() + private var isRoomMentionEnabledUnderlyingReturnValue: Bool! var isRoomMentionEnabledReturnValue: Bool! { - get { - if Thread.isMainThread { - return isRoomMentionEnabledUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isRoomMentionEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isRoomMentionEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isRoomMentionEnabledUnderlyingReturnValue = newValue - } - } - } + get { isRoomMentionEnabledReturnValueLock.withLock { isRoomMentionEnabledUnderlyingReturnValue } } + set { isRoomMentionEnabledReturnValueLock.withLock { isRoomMentionEnabledUnderlyingReturnValue = newValue } } } var isRoomMentionEnabledClosure: (() async throws -> Bool)? @@ -14971,7 +8955,7 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck if let error = isRoomMentionEnabledThrowableError { throw error } - isRoomMentionEnabledCallsCount += 1 + isRoomMentionEnabledCallsCountLock.withLock { isRoomMentionEnabledUnderlyingCallsCount += 1 } if let isRoomMentionEnabledClosure = isRoomMentionEnabledClosure { return try await isRoomMentionEnabledClosure() } else { @@ -14981,102 +8965,56 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck //MARK: - setRoomMentionEnabled var setRoomMentionEnabledEnabledThrowableError: Error? - var setRoomMentionEnabledEnabledUnderlyingCallsCount = 0 + private let setRoomMentionEnabledEnabledCallsCountLock = NSLock() + private var setRoomMentionEnabledEnabledUnderlyingCallsCount = 0 var setRoomMentionEnabledEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return setRoomMentionEnabledEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setRoomMentionEnabledEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setRoomMentionEnabledEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setRoomMentionEnabledEnabledUnderlyingCallsCount = newValue - } - } - } + get { setRoomMentionEnabledEnabledCallsCountLock.withLock { setRoomMentionEnabledEnabledUnderlyingCallsCount } } + set { setRoomMentionEnabledEnabledCallsCountLock.withLock { setRoomMentionEnabledEnabledUnderlyingCallsCount = newValue } } } var setRoomMentionEnabledEnabledCalled: Bool { return setRoomMentionEnabledEnabledCallsCount > 0 } - var setRoomMentionEnabledEnabledReceivedEnabled: Bool? - var setRoomMentionEnabledEnabledReceivedInvocations: [Bool] = [] + private let setRoomMentionEnabledEnabledReceivedEnabledLock = NSLock() + private var setRoomMentionEnabledEnabledUnderlyingReceivedEnabled: Bool? + var setRoomMentionEnabledEnabledReceivedEnabled: Bool? { + get { setRoomMentionEnabledEnabledReceivedEnabledLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedEnabled } } + set { setRoomMentionEnabledEnabledReceivedEnabledLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedEnabled = newValue } } + } + private let setRoomMentionEnabledEnabledReceivedInvocationsLock = NSLock() + private var setRoomMentionEnabledEnabledUnderlyingReceivedInvocations: [Bool] = [] + var setRoomMentionEnabledEnabledReceivedInvocations: [Bool] { + get { setRoomMentionEnabledEnabledReceivedInvocationsLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedInvocations } } + set { setRoomMentionEnabledEnabledReceivedInvocationsLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedInvocations = newValue } } + } var setRoomMentionEnabledEnabledClosure: ((Bool) async throws -> Void)? func setRoomMentionEnabled(enabled: Bool) async throws { if let error = setRoomMentionEnabledEnabledThrowableError { throw error } - setRoomMentionEnabledEnabledCallsCount += 1 + setRoomMentionEnabledEnabledCallsCountLock.withLock { setRoomMentionEnabledEnabledUnderlyingCallsCount += 1 } setRoomMentionEnabledEnabledReceivedEnabled = enabled - DispatchQueue.main.async { - self.setRoomMentionEnabledEnabledReceivedInvocations.append(enabled) - } + setRoomMentionEnabledEnabledReceivedInvocationsLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedInvocations.append(enabled) } try await setRoomMentionEnabledEnabledClosure?(enabled) } //MARK: - isCallEnabled var isCallEnabledThrowableError: Error? - var isCallEnabledUnderlyingCallsCount = 0 + private let isCallEnabledCallsCountLock = NSLock() + private var isCallEnabledUnderlyingCallsCount = 0 var isCallEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return isCallEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isCallEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isCallEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isCallEnabledUnderlyingCallsCount = newValue - } - } - } + get { isCallEnabledCallsCountLock.withLock { isCallEnabledUnderlyingCallsCount } } + set { isCallEnabledCallsCountLock.withLock { isCallEnabledUnderlyingCallsCount = newValue } } } var isCallEnabledCalled: Bool { return isCallEnabledCallsCount > 0 } - var isCallEnabledUnderlyingReturnValue: Bool! + private let isCallEnabledReturnValueLock = NSLock() + private var isCallEnabledUnderlyingReturnValue: Bool! var isCallEnabledReturnValue: Bool! { - get { - if Thread.isMainThread { - return isCallEnabledUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isCallEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isCallEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isCallEnabledUnderlyingReturnValue = newValue - } - } - } + get { isCallEnabledReturnValueLock.withLock { isCallEnabledUnderlyingReturnValue } } + set { isCallEnabledReturnValueLock.withLock { isCallEnabledUnderlyingReturnValue = newValue } } } var isCallEnabledClosure: (() async throws -> Bool)? @@ -15084,7 +9022,7 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck if let error = isCallEnabledThrowableError { throw error } - isCallEnabledCallsCount += 1 + isCallEnabledCallsCountLock.withLock { isCallEnabledUnderlyingCallsCount += 1 } if let isCallEnabledClosure = isCallEnabledClosure { return try await isCallEnabledClosure() } else { @@ -15094,102 +9032,56 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck //MARK: - setCallEnabled var setCallEnabledEnabledThrowableError: Error? - var setCallEnabledEnabledUnderlyingCallsCount = 0 + private let setCallEnabledEnabledCallsCountLock = NSLock() + private var setCallEnabledEnabledUnderlyingCallsCount = 0 var setCallEnabledEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return setCallEnabledEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setCallEnabledEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setCallEnabledEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setCallEnabledEnabledUnderlyingCallsCount = newValue - } - } - } + get { setCallEnabledEnabledCallsCountLock.withLock { setCallEnabledEnabledUnderlyingCallsCount } } + set { setCallEnabledEnabledCallsCountLock.withLock { setCallEnabledEnabledUnderlyingCallsCount = newValue } } } var setCallEnabledEnabledCalled: Bool { return setCallEnabledEnabledCallsCount > 0 } - var setCallEnabledEnabledReceivedEnabled: Bool? - var setCallEnabledEnabledReceivedInvocations: [Bool] = [] + private let setCallEnabledEnabledReceivedEnabledLock = NSLock() + private var setCallEnabledEnabledUnderlyingReceivedEnabled: Bool? + var setCallEnabledEnabledReceivedEnabled: Bool? { + get { setCallEnabledEnabledReceivedEnabledLock.withLock { setCallEnabledEnabledUnderlyingReceivedEnabled } } + set { setCallEnabledEnabledReceivedEnabledLock.withLock { setCallEnabledEnabledUnderlyingReceivedEnabled = newValue } } + } + private let setCallEnabledEnabledReceivedInvocationsLock = NSLock() + private var setCallEnabledEnabledUnderlyingReceivedInvocations: [Bool] = [] + var setCallEnabledEnabledReceivedInvocations: [Bool] { + get { setCallEnabledEnabledReceivedInvocationsLock.withLock { setCallEnabledEnabledUnderlyingReceivedInvocations } } + set { setCallEnabledEnabledReceivedInvocationsLock.withLock { setCallEnabledEnabledUnderlyingReceivedInvocations = newValue } } + } var setCallEnabledEnabledClosure: ((Bool) async throws -> Void)? func setCallEnabled(enabled: Bool) async throws { if let error = setCallEnabledEnabledThrowableError { throw error } - setCallEnabledEnabledCallsCount += 1 + setCallEnabledEnabledCallsCountLock.withLock { setCallEnabledEnabledUnderlyingCallsCount += 1 } setCallEnabledEnabledReceivedEnabled = enabled - DispatchQueue.main.async { - self.setCallEnabledEnabledReceivedInvocations.append(enabled) - } + setCallEnabledEnabledReceivedInvocationsLock.withLock { setCallEnabledEnabledUnderlyingReceivedInvocations.append(enabled) } try await setCallEnabledEnabledClosure?(enabled) } //MARK: - isInviteForMeEnabled var isInviteForMeEnabledThrowableError: Error? - var isInviteForMeEnabledUnderlyingCallsCount = 0 + private let isInviteForMeEnabledCallsCountLock = NSLock() + private var isInviteForMeEnabledUnderlyingCallsCount = 0 var isInviteForMeEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return isInviteForMeEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isInviteForMeEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isInviteForMeEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isInviteForMeEnabledUnderlyingCallsCount = newValue - } - } - } + get { isInviteForMeEnabledCallsCountLock.withLock { isInviteForMeEnabledUnderlyingCallsCount } } + set { isInviteForMeEnabledCallsCountLock.withLock { isInviteForMeEnabledUnderlyingCallsCount = newValue } } } var isInviteForMeEnabledCalled: Bool { return isInviteForMeEnabledCallsCount > 0 } - var isInviteForMeEnabledUnderlyingReturnValue: Bool! + private let isInviteForMeEnabledReturnValueLock = NSLock() + private var isInviteForMeEnabledUnderlyingReturnValue: Bool! var isInviteForMeEnabledReturnValue: Bool! { - get { - if Thread.isMainThread { - return isInviteForMeEnabledUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isInviteForMeEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isInviteForMeEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isInviteForMeEnabledUnderlyingReturnValue = newValue - } - } - } + get { isInviteForMeEnabledReturnValueLock.withLock { isInviteForMeEnabledUnderlyingReturnValue } } + set { isInviteForMeEnabledReturnValueLock.withLock { isInviteForMeEnabledUnderlyingReturnValue = newValue } } } var isInviteForMeEnabledClosure: (() async throws -> Bool)? @@ -15197,7 +9089,7 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck if let error = isInviteForMeEnabledThrowableError { throw error } - isInviteForMeEnabledCallsCount += 1 + isInviteForMeEnabledCallsCountLock.withLock { isInviteForMeEnabledUnderlyingCallsCount += 1 } if let isInviteForMeEnabledClosure = isInviteForMeEnabledClosure { return try await isInviteForMeEnabledClosure() } else { @@ -15207,102 +9099,56 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck //MARK: - setInviteForMeEnabled var setInviteForMeEnabledEnabledThrowableError: Error? - var setInviteForMeEnabledEnabledUnderlyingCallsCount = 0 + private let setInviteForMeEnabledEnabledCallsCountLock = NSLock() + private var setInviteForMeEnabledEnabledUnderlyingCallsCount = 0 var setInviteForMeEnabledEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return setInviteForMeEnabledEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setInviteForMeEnabledEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setInviteForMeEnabledEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setInviteForMeEnabledEnabledUnderlyingCallsCount = newValue - } - } - } + get { setInviteForMeEnabledEnabledCallsCountLock.withLock { setInviteForMeEnabledEnabledUnderlyingCallsCount } } + set { setInviteForMeEnabledEnabledCallsCountLock.withLock { setInviteForMeEnabledEnabledUnderlyingCallsCount = newValue } } } var setInviteForMeEnabledEnabledCalled: Bool { return setInviteForMeEnabledEnabledCallsCount > 0 } - var setInviteForMeEnabledEnabledReceivedEnabled: Bool? - var setInviteForMeEnabledEnabledReceivedInvocations: [Bool] = [] + private let setInviteForMeEnabledEnabledReceivedEnabledLock = NSLock() + private var setInviteForMeEnabledEnabledUnderlyingReceivedEnabled: Bool? + var setInviteForMeEnabledEnabledReceivedEnabled: Bool? { + get { setInviteForMeEnabledEnabledReceivedEnabledLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedEnabled } } + set { setInviteForMeEnabledEnabledReceivedEnabledLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedEnabled = newValue } } + } + private let setInviteForMeEnabledEnabledReceivedInvocationsLock = NSLock() + private var setInviteForMeEnabledEnabledUnderlyingReceivedInvocations: [Bool] = [] + var setInviteForMeEnabledEnabledReceivedInvocations: [Bool] { + get { setInviteForMeEnabledEnabledReceivedInvocationsLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedInvocations } } + set { setInviteForMeEnabledEnabledReceivedInvocationsLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedInvocations = newValue } } + } var setInviteForMeEnabledEnabledClosure: ((Bool) async throws -> Void)? func setInviteForMeEnabled(enabled: Bool) async throws { if let error = setInviteForMeEnabledEnabledThrowableError { throw error } - setInviteForMeEnabledEnabledCallsCount += 1 + setInviteForMeEnabledEnabledCallsCountLock.withLock { setInviteForMeEnabledEnabledUnderlyingCallsCount += 1 } setInviteForMeEnabledEnabledReceivedEnabled = enabled - DispatchQueue.main.async { - self.setInviteForMeEnabledEnabledReceivedInvocations.append(enabled) - } + setInviteForMeEnabledEnabledReceivedInvocationsLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedInvocations.append(enabled) } try await setInviteForMeEnabledEnabledClosure?(enabled) } //MARK: - getRoomsWithUserDefinedRules var getRoomsWithUserDefinedRulesThrowableError: Error? - var getRoomsWithUserDefinedRulesUnderlyingCallsCount = 0 + private let getRoomsWithUserDefinedRulesCallsCountLock = NSLock() + private var getRoomsWithUserDefinedRulesUnderlyingCallsCount = 0 var getRoomsWithUserDefinedRulesCallsCount: Int { - get { - if Thread.isMainThread { - return getRoomsWithUserDefinedRulesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRoomsWithUserDefinedRulesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomsWithUserDefinedRulesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRoomsWithUserDefinedRulesUnderlyingCallsCount = newValue - } - } - } + get { getRoomsWithUserDefinedRulesCallsCountLock.withLock { getRoomsWithUserDefinedRulesUnderlyingCallsCount } } + set { getRoomsWithUserDefinedRulesCallsCountLock.withLock { getRoomsWithUserDefinedRulesUnderlyingCallsCount = newValue } } } var getRoomsWithUserDefinedRulesCalled: Bool { return getRoomsWithUserDefinedRulesCallsCount > 0 } - var getRoomsWithUserDefinedRulesUnderlyingReturnValue: [String]! + private let getRoomsWithUserDefinedRulesReturnValueLock = NSLock() + private var getRoomsWithUserDefinedRulesUnderlyingReturnValue: [String]! var getRoomsWithUserDefinedRulesReturnValue: [String]! { - get { - if Thread.isMainThread { - return getRoomsWithUserDefinedRulesUnderlyingReturnValue - } else { - var returnValue: [String]? = nil - DispatchQueue.main.sync { - returnValue = getRoomsWithUserDefinedRulesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomsWithUserDefinedRulesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRoomsWithUserDefinedRulesUnderlyingReturnValue = newValue - } - } - } + get { getRoomsWithUserDefinedRulesReturnValueLock.withLock { getRoomsWithUserDefinedRulesUnderlyingReturnValue } } + set { getRoomsWithUserDefinedRulesReturnValueLock.withLock { getRoomsWithUserDefinedRulesUnderlyingReturnValue = newValue } } } var getRoomsWithUserDefinedRulesClosure: (() async throws -> [String])? @@ -15310,7 +9156,7 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck if let error = getRoomsWithUserDefinedRulesThrowableError { throw error } - getRoomsWithUserDefinedRulesCallsCount += 1 + getRoomsWithUserDefinedRulesCallsCountLock.withLock { getRoomsWithUserDefinedRulesUnderlyingCallsCount += 1 } if let getRoomsWithUserDefinedRulesClosure = getRoomsWithUserDefinedRulesClosure { return try await getRoomsWithUserDefinedRulesClosure() } else { @@ -15319,62 +9165,26 @@ class NotificationSettingsProxyMock: NotificationSettingsProxyProtocol, @uncheck } //MARK: - canPushEncryptedEventsToDevice - var canPushEncryptedEventsToDeviceUnderlyingCallsCount = 0 + private let canPushEncryptedEventsToDeviceCallsCountLock = NSLock() + private var canPushEncryptedEventsToDeviceUnderlyingCallsCount = 0 var canPushEncryptedEventsToDeviceCallsCount: Int { - get { - if Thread.isMainThread { - return canPushEncryptedEventsToDeviceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canPushEncryptedEventsToDeviceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canPushEncryptedEventsToDeviceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canPushEncryptedEventsToDeviceUnderlyingCallsCount = newValue - } - } - } + get { canPushEncryptedEventsToDeviceCallsCountLock.withLock { canPushEncryptedEventsToDeviceUnderlyingCallsCount } } + set { canPushEncryptedEventsToDeviceCallsCountLock.withLock { canPushEncryptedEventsToDeviceUnderlyingCallsCount = newValue } } } var canPushEncryptedEventsToDeviceCalled: Bool { return canPushEncryptedEventsToDeviceCallsCount > 0 } - var canPushEncryptedEventsToDeviceUnderlyingReturnValue: Bool! + private let canPushEncryptedEventsToDeviceReturnValueLock = NSLock() + private var canPushEncryptedEventsToDeviceUnderlyingReturnValue: Bool! var canPushEncryptedEventsToDeviceReturnValue: Bool! { - get { - if Thread.isMainThread { - return canPushEncryptedEventsToDeviceUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canPushEncryptedEventsToDeviceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canPushEncryptedEventsToDeviceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canPushEncryptedEventsToDeviceUnderlyingReturnValue = newValue - } - } - } + get { canPushEncryptedEventsToDeviceReturnValueLock.withLock { canPushEncryptedEventsToDeviceUnderlyingReturnValue } } + set { canPushEncryptedEventsToDeviceReturnValueLock.withLock { canPushEncryptedEventsToDeviceUnderlyingReturnValue = newValue } } } var canPushEncryptedEventsToDeviceClosure: (() async -> Bool)? func canPushEncryptedEventsToDevice() async -> Bool { - canPushEncryptedEventsToDeviceCallsCount += 1 + canPushEncryptedEventsToDeviceCallsCountLock.withLock { canPushEncryptedEventsToDeviceUnderlyingCallsCount += 1 } if let canPushEncryptedEventsToDeviceClosure = canPushEncryptedEventsToDeviceClosure { return await canPushEncryptedEventsToDeviceClosure() } else { @@ -15387,59 +9197,33 @@ class NotificationToneManagerMock: NotificationToneManagerProtocol, @unchecked S //MARK: - setSelectedTone var setSelectedToneThrowableError: Error? - var setSelectedToneUnderlyingCallsCount = 0 + private let setSelectedToneCallsCountLock = NSLock() + private var setSelectedToneUnderlyingCallsCount = 0 var setSelectedToneCallsCount: Int { - get { - if Thread.isMainThread { - return setSelectedToneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setSelectedToneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setSelectedToneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setSelectedToneUnderlyingCallsCount = newValue - } - } - } + get { setSelectedToneCallsCountLock.withLock { setSelectedToneUnderlyingCallsCount } } + set { setSelectedToneCallsCountLock.withLock { setSelectedToneUnderlyingCallsCount = newValue } } } var setSelectedToneCalled: Bool { return setSelectedToneCallsCount > 0 } - var setSelectedToneReceivedAlertTone: NotificationTone? - var setSelectedToneReceivedInvocations: [NotificationTone] = [] + private let setSelectedToneReceivedAlertToneLock = NSLock() + private var setSelectedToneUnderlyingReceivedAlertTone: NotificationTone? + var setSelectedToneReceivedAlertTone: NotificationTone? { + get { setSelectedToneReceivedAlertToneLock.withLock { setSelectedToneUnderlyingReceivedAlertTone } } + set { setSelectedToneReceivedAlertToneLock.withLock { setSelectedToneUnderlyingReceivedAlertTone = newValue } } + } + private let setSelectedToneReceivedInvocationsLock = NSLock() + private var setSelectedToneUnderlyingReceivedInvocations: [NotificationTone] = [] + var setSelectedToneReceivedInvocations: [NotificationTone] { + get { setSelectedToneReceivedInvocationsLock.withLock { setSelectedToneUnderlyingReceivedInvocations } } + set { setSelectedToneReceivedInvocationsLock.withLock { setSelectedToneUnderlyingReceivedInvocations = newValue } } + } - var setSelectedToneUnderlyingReturnValue: URL! + private let setSelectedToneReturnValueLock = NSLock() + private var setSelectedToneUnderlyingReturnValue: URL! var setSelectedToneReturnValue: URL! { - get { - if Thread.isMainThread { - return setSelectedToneUnderlyingReturnValue - } else { - var returnValue: URL? = nil - DispatchQueue.main.sync { - returnValue = setSelectedToneUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setSelectedToneUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setSelectedToneUnderlyingReturnValue = newValue - } - } - } + get { setSelectedToneReturnValueLock.withLock { setSelectedToneUnderlyingReturnValue } } + set { setSelectedToneReturnValueLock.withLock { setSelectedToneUnderlyingReturnValue = newValue } } } var setSelectedToneClosure: ((NotificationTone) throws -> URL)? @@ -15448,11 +9232,9 @@ class NotificationToneManagerMock: NotificationToneManagerProtocol, @unchecked S if let error = setSelectedToneThrowableError { throw error } - setSelectedToneCallsCount += 1 + setSelectedToneCallsCountLock.withLock { setSelectedToneUnderlyingCallsCount += 1 } setSelectedToneReceivedAlertTone = alertTone - DispatchQueue.main.async { - self.setSelectedToneReceivedInvocations.append(alertTone) - } + setSelectedToneReceivedInvocationsLock.withLock { setSelectedToneUnderlyingReceivedInvocations.append(alertTone) } if let setSelectedToneClosure = setSelectedToneClosure { return try setSelectedToneClosure(alertTone) } else { @@ -15461,62 +9243,26 @@ class NotificationToneManagerMock: NotificationToneManagerProtocol, @unchecked S } //MARK: - customTones - var customTonesUnderlyingCallsCount = 0 + private let customTonesCallsCountLock = NSLock() + private var customTonesUnderlyingCallsCount = 0 var customTonesCallsCount: Int { - get { - if Thread.isMainThread { - return customTonesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = customTonesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - customTonesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - customTonesUnderlyingCallsCount = newValue - } - } - } + get { customTonesCallsCountLock.withLock { customTonesUnderlyingCallsCount } } + set { customTonesCallsCountLock.withLock { customTonesUnderlyingCallsCount = newValue } } } var customTonesCalled: Bool { return customTonesCallsCount > 0 } - var customTonesUnderlyingReturnValue: [NotificationTone]! + private let customTonesReturnValueLock = NSLock() + private var customTonesUnderlyingReturnValue: [NotificationTone]! var customTonesReturnValue: [NotificationTone]! { - get { - if Thread.isMainThread { - return customTonesUnderlyingReturnValue - } else { - var returnValue: [NotificationTone]? = nil - DispatchQueue.main.sync { - returnValue = customTonesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - customTonesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - customTonesUnderlyingReturnValue = newValue - } - } - } + get { customTonesReturnValueLock.withLock { customTonesUnderlyingReturnValue } } + set { customTonesReturnValueLock.withLock { customTonesUnderlyingReturnValue = newValue } } } var customTonesClosure: (() -> [NotificationTone])? func customTones() -> [NotificationTone] { - customTonesCallsCount += 1 + customTonesCallsCountLock.withLock { customTonesUnderlyingCallsCount += 1 } if let customTonesClosure = customTonesClosure { return customTonesClosure() } else { @@ -15526,104 +9272,68 @@ class NotificationToneManagerMock: NotificationToneManagerProtocol, @unchecked S //MARK: - deleteCustomTone var deleteCustomToneThrowableError: Error? - var deleteCustomToneUnderlyingCallsCount = 0 + private let deleteCustomToneCallsCountLock = NSLock() + private var deleteCustomToneUnderlyingCallsCount = 0 var deleteCustomToneCallsCount: Int { - get { - if Thread.isMainThread { - return deleteCustomToneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = deleteCustomToneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deleteCustomToneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - deleteCustomToneUnderlyingCallsCount = newValue - } - } - } + get { deleteCustomToneCallsCountLock.withLock { deleteCustomToneUnderlyingCallsCount } } + set { deleteCustomToneCallsCountLock.withLock { deleteCustomToneUnderlyingCallsCount = newValue } } } var deleteCustomToneCalled: Bool { return deleteCustomToneCallsCount > 0 } - var deleteCustomToneReceivedAlertTone: NotificationTone? - var deleteCustomToneReceivedInvocations: [NotificationTone] = [] + private let deleteCustomToneReceivedAlertToneLock = NSLock() + private var deleteCustomToneUnderlyingReceivedAlertTone: NotificationTone? + var deleteCustomToneReceivedAlertTone: NotificationTone? { + get { deleteCustomToneReceivedAlertToneLock.withLock { deleteCustomToneUnderlyingReceivedAlertTone } } + set { deleteCustomToneReceivedAlertToneLock.withLock { deleteCustomToneUnderlyingReceivedAlertTone = newValue } } + } + private let deleteCustomToneReceivedInvocationsLock = NSLock() + private var deleteCustomToneUnderlyingReceivedInvocations: [NotificationTone] = [] + var deleteCustomToneReceivedInvocations: [NotificationTone] { + get { deleteCustomToneReceivedInvocationsLock.withLock { deleteCustomToneUnderlyingReceivedInvocations } } + set { deleteCustomToneReceivedInvocationsLock.withLock { deleteCustomToneUnderlyingReceivedInvocations = newValue } } + } var deleteCustomToneClosure: ((NotificationTone) throws -> Void)? func deleteCustomTone(_ alertTone: NotificationTone) throws { if let error = deleteCustomToneThrowableError { throw error } - deleteCustomToneCallsCount += 1 + deleteCustomToneCallsCountLock.withLock { deleteCustomToneUnderlyingCallsCount += 1 } deleteCustomToneReceivedAlertTone = alertTone - DispatchQueue.main.async { - self.deleteCustomToneReceivedInvocations.append(alertTone) - } + deleteCustomToneReceivedInvocationsLock.withLock { deleteCustomToneUnderlyingReceivedInvocations.append(alertTone) } try deleteCustomToneClosure?(alertTone) } //MARK: - addNewToneToLibrary var addNewToneToLibraryFromThrowableError: Error? - var addNewToneToLibraryFromUnderlyingCallsCount = 0 + private let addNewToneToLibraryFromCallsCountLock = NSLock() + private var addNewToneToLibraryFromUnderlyingCallsCount = 0 var addNewToneToLibraryFromCallsCount: Int { - get { - if Thread.isMainThread { - return addNewToneToLibraryFromUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addNewToneToLibraryFromUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addNewToneToLibraryFromUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addNewToneToLibraryFromUnderlyingCallsCount = newValue - } - } - } + get { addNewToneToLibraryFromCallsCountLock.withLock { addNewToneToLibraryFromUnderlyingCallsCount } } + set { addNewToneToLibraryFromCallsCountLock.withLock { addNewToneToLibraryFromUnderlyingCallsCount = newValue } } } var addNewToneToLibraryFromCalled: Bool { return addNewToneToLibraryFromCallsCount > 0 } - var addNewToneToLibraryFromReceivedSourceURL: URL? - var addNewToneToLibraryFromReceivedInvocations: [URL] = [] + private let addNewToneToLibraryFromReceivedSourceURLLock = NSLock() + private var addNewToneToLibraryFromUnderlyingReceivedSourceURL: URL? + var addNewToneToLibraryFromReceivedSourceURL: URL? { + get { addNewToneToLibraryFromReceivedSourceURLLock.withLock { addNewToneToLibraryFromUnderlyingReceivedSourceURL } } + set { addNewToneToLibraryFromReceivedSourceURLLock.withLock { addNewToneToLibraryFromUnderlyingReceivedSourceURL = newValue } } + } + private let addNewToneToLibraryFromReceivedInvocationsLock = NSLock() + private var addNewToneToLibraryFromUnderlyingReceivedInvocations: [URL] = [] + var addNewToneToLibraryFromReceivedInvocations: [URL] { + get { addNewToneToLibraryFromReceivedInvocationsLock.withLock { addNewToneToLibraryFromUnderlyingReceivedInvocations } } + set { addNewToneToLibraryFromReceivedInvocationsLock.withLock { addNewToneToLibraryFromUnderlyingReceivedInvocations = newValue } } + } - var addNewToneToLibraryFromUnderlyingReturnValue: URL! + private let addNewToneToLibraryFromReturnValueLock = NSLock() + private var addNewToneToLibraryFromUnderlyingReturnValue: URL! var addNewToneToLibraryFromReturnValue: URL! { - get { - if Thread.isMainThread { - return addNewToneToLibraryFromUnderlyingReturnValue - } else { - var returnValue: URL? = nil - DispatchQueue.main.sync { - returnValue = addNewToneToLibraryFromUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addNewToneToLibraryFromUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - addNewToneToLibraryFromUnderlyingReturnValue = newValue - } - } - } + get { addNewToneToLibraryFromReturnValueLock.withLock { addNewToneToLibraryFromUnderlyingReturnValue } } + set { addNewToneToLibraryFromReturnValueLock.withLock { addNewToneToLibraryFromUnderlyingReturnValue = newValue } } } var addNewToneToLibraryFromClosure: ((URL) throws -> URL)? @@ -15633,11 +9343,9 @@ class NotificationToneManagerMock: NotificationToneManagerProtocol, @unchecked S if let error = addNewToneToLibraryFromThrowableError { throw error } - addNewToneToLibraryFromCallsCount += 1 + addNewToneToLibraryFromCallsCountLock.withLock { addNewToneToLibraryFromUnderlyingCallsCount += 1 } addNewToneToLibraryFromReceivedSourceURL = sourceURL - DispatchQueue.main.async { - self.addNewToneToLibraryFromReceivedInvocations.append(sourceURL) - } + addNewToneToLibraryFromReceivedInvocationsLock.withLock { addNewToneToLibraryFromUnderlyingReceivedInvocations.append(sourceURL) } if let addNewToneToLibraryFromClosure = addNewToneToLibraryFromClosure { return try addNewToneToLibraryFromClosure(sourceURL) } else { @@ -15649,84 +9357,64 @@ class OrientationManagerMock: OrientationManagerProtocol, @unchecked Sendable { //MARK: - setOrientation - var setOrientationUnderlyingCallsCount = 0 + private let setOrientationCallsCountLock = NSLock() + private var setOrientationUnderlyingCallsCount = 0 var setOrientationCallsCount: Int { - get { - if Thread.isMainThread { - return setOrientationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setOrientationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setOrientationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setOrientationUnderlyingCallsCount = newValue - } - } - } + get { setOrientationCallsCountLock.withLock { setOrientationUnderlyingCallsCount } } + set { setOrientationCallsCountLock.withLock { setOrientationUnderlyingCallsCount = newValue } } } var setOrientationCalled: Bool { return setOrientationCallsCount > 0 } - var setOrientationReceivedOrientation: UIInterfaceOrientationMask? - var setOrientationReceivedInvocations: [UIInterfaceOrientationMask] = [] + private let setOrientationReceivedOrientationLock = NSLock() + private var setOrientationUnderlyingReceivedOrientation: UIInterfaceOrientationMask? + var setOrientationReceivedOrientation: UIInterfaceOrientationMask? { + get { setOrientationReceivedOrientationLock.withLock { setOrientationUnderlyingReceivedOrientation } } + set { setOrientationReceivedOrientationLock.withLock { setOrientationUnderlyingReceivedOrientation = newValue } } + } + private let setOrientationReceivedInvocationsLock = NSLock() + private var setOrientationUnderlyingReceivedInvocations: [UIInterfaceOrientationMask] = [] + var setOrientationReceivedInvocations: [UIInterfaceOrientationMask] { + get { setOrientationReceivedInvocationsLock.withLock { setOrientationUnderlyingReceivedInvocations } } + set { setOrientationReceivedInvocationsLock.withLock { setOrientationUnderlyingReceivedInvocations = newValue } } + } var setOrientationClosure: ((UIInterfaceOrientationMask) -> Void)? func setOrientation(_ orientation: UIInterfaceOrientationMask) { - setOrientationCallsCount += 1 + setOrientationCallsCountLock.withLock { setOrientationUnderlyingCallsCount += 1 } setOrientationReceivedOrientation = orientation - DispatchQueue.main.async { - self.setOrientationReceivedInvocations.append(orientation) - } + setOrientationReceivedInvocationsLock.withLock { setOrientationUnderlyingReceivedInvocations.append(orientation) } setOrientationClosure?(orientation) } //MARK: - lockOrientation - var lockOrientationUnderlyingCallsCount = 0 + private let lockOrientationCallsCountLock = NSLock() + private var lockOrientationUnderlyingCallsCount = 0 var lockOrientationCallsCount: Int { - get { - if Thread.isMainThread { - return lockOrientationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = lockOrientationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - lockOrientationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - lockOrientationUnderlyingCallsCount = newValue - } - } - } + get { lockOrientationCallsCountLock.withLock { lockOrientationUnderlyingCallsCount } } + set { lockOrientationCallsCountLock.withLock { lockOrientationUnderlyingCallsCount = newValue } } } var lockOrientationCalled: Bool { return lockOrientationCallsCount > 0 } - var lockOrientationReceivedOrientation: UIInterfaceOrientationMask? - var lockOrientationReceivedInvocations: [UIInterfaceOrientationMask] = [] + private let lockOrientationReceivedOrientationLock = NSLock() + private var lockOrientationUnderlyingReceivedOrientation: UIInterfaceOrientationMask? + var lockOrientationReceivedOrientation: UIInterfaceOrientationMask? { + get { lockOrientationReceivedOrientationLock.withLock { lockOrientationUnderlyingReceivedOrientation } } + set { lockOrientationReceivedOrientationLock.withLock { lockOrientationUnderlyingReceivedOrientation = newValue } } + } + private let lockOrientationReceivedInvocationsLock = NSLock() + private var lockOrientationUnderlyingReceivedInvocations: [UIInterfaceOrientationMask] = [] + var lockOrientationReceivedInvocations: [UIInterfaceOrientationMask] { + get { lockOrientationReceivedInvocationsLock.withLock { lockOrientationUnderlyingReceivedInvocations } } + set { lockOrientationReceivedInvocationsLock.withLock { lockOrientationUnderlyingReceivedInvocations = newValue } } + } var lockOrientationClosure: ((UIInterfaceOrientationMask) -> Void)? func lockOrientation(_ orientation: UIInterfaceOrientationMask) { - lockOrientationCallsCount += 1 + lockOrientationCallsCountLock.withLock { lockOrientationUnderlyingCallsCount += 1 } lockOrientationReceivedOrientation = orientation - DispatchQueue.main.async { - self.lockOrientationReceivedInvocations.append(orientation) - } + lockOrientationReceivedInvocationsLock.withLock { lockOrientationUnderlyingReceivedInvocations.append(orientation) } lockOrientationClosure?(orientation) } } @@ -15734,29 +9422,11 @@ class PHGPostHogMock: PHGPostHogProtocol, @unchecked Sendable { //MARK: - optIn - var optInUnderlyingCallsCount = 0 + private let optInCallsCountLock = NSLock() + private var optInUnderlyingCallsCount = 0 var optInCallsCount: Int { - get { - if Thread.isMainThread { - return optInUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = optInUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - optInUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - optInUnderlyingCallsCount = newValue - } - } - } + get { optInCallsCountLock.withLock { optInUnderlyingCallsCount } } + set { optInCallsCountLock.withLock { optInUnderlyingCallsCount = newValue } } } var optInCalled: Bool { return optInCallsCount > 0 @@ -15764,34 +9434,16 @@ class PHGPostHogMock: PHGPostHogProtocol, @unchecked Sendable { var optInClosure: (() -> Void)? func optIn() { - optInCallsCount += 1 + optInCallsCountLock.withLock { optInUnderlyingCallsCount += 1 } optInClosure?() } //MARK: - optOut - var optOutUnderlyingCallsCount = 0 + private let optOutCallsCountLock = NSLock() + private var optOutUnderlyingCallsCount = 0 var optOutCallsCount: Int { - get { - if Thread.isMainThread { - return optOutUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = optOutUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - optOutUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - optOutUnderlyingCallsCount = newValue - } - } - } + get { optOutCallsCountLock.withLock { optOutUnderlyingCallsCount } } + set { optOutCallsCountLock.withLock { optOutUnderlyingCallsCount = newValue } } } var optOutCalled: Bool { return optOutCallsCount > 0 @@ -15799,34 +9451,16 @@ class PHGPostHogMock: PHGPostHogProtocol, @unchecked Sendable { var optOutClosure: (() -> Void)? func optOut() { - optOutCallsCount += 1 + optOutCallsCountLock.withLock { optOutUnderlyingCallsCount += 1 } optOutClosure?() } //MARK: - reset - var resetUnderlyingCallsCount = 0 + private let resetCallsCountLock = NSLock() + private var resetUnderlyingCallsCount = 0 var resetCallsCount: Int { - get { - if Thread.isMainThread { - return resetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetUnderlyingCallsCount = newValue - } - } - } + get { resetCallsCountLock.withLock { resetUnderlyingCallsCount } } + set { resetCallsCountLock.withLock { resetUnderlyingCallsCount = newValue } } } var resetCalled: Bool { return resetCallsCount > 0 @@ -15834,89 +9468,69 @@ class PHGPostHogMock: PHGPostHogProtocol, @unchecked Sendable { var resetClosure: (() -> Void)? func reset() { - resetCallsCount += 1 + resetCallsCountLock.withLock { resetUnderlyingCallsCount += 1 } resetClosure?() } //MARK: - capture - var capturePropertiesUserPropertiesUnderlyingCallsCount = 0 + private let capturePropertiesUserPropertiesCallsCountLock = NSLock() + private var capturePropertiesUserPropertiesUnderlyingCallsCount = 0 var capturePropertiesUserPropertiesCallsCount: Int { - get { - if Thread.isMainThread { - return capturePropertiesUserPropertiesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = capturePropertiesUserPropertiesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - capturePropertiesUserPropertiesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - capturePropertiesUserPropertiesUnderlyingCallsCount = newValue - } - } - } + get { capturePropertiesUserPropertiesCallsCountLock.withLock { capturePropertiesUserPropertiesUnderlyingCallsCount } } + set { capturePropertiesUserPropertiesCallsCountLock.withLock { capturePropertiesUserPropertiesUnderlyingCallsCount = newValue } } } var capturePropertiesUserPropertiesCalled: Bool { return capturePropertiesUserPropertiesCallsCount > 0 } - var capturePropertiesUserPropertiesReceivedArguments: (event: String, properties: [String: Any]?, userProperties: [String: Any]?)? - var capturePropertiesUserPropertiesReceivedInvocations: [(event: String, properties: [String: Any]?, userProperties: [String: Any]?)] = [] + private let capturePropertiesUserPropertiesReceivedArgumentsLock = NSLock() + private var capturePropertiesUserPropertiesUnderlyingReceivedArguments: (event: String, properties: [String: Any]?, userProperties: [String: Any]?)? + var capturePropertiesUserPropertiesReceivedArguments: (event: String, properties: [String: Any]?, userProperties: [String: Any]?)? { + get { capturePropertiesUserPropertiesReceivedArgumentsLock.withLock { capturePropertiesUserPropertiesUnderlyingReceivedArguments } } + set { capturePropertiesUserPropertiesReceivedArgumentsLock.withLock { capturePropertiesUserPropertiesUnderlyingReceivedArguments = newValue } } + } + private let capturePropertiesUserPropertiesReceivedInvocationsLock = NSLock() + private var capturePropertiesUserPropertiesUnderlyingReceivedInvocations: [(event: String, properties: [String: Any]?, userProperties: [String: Any]?)] = [] + var capturePropertiesUserPropertiesReceivedInvocations: [(event: String, properties: [String: Any]?, userProperties: [String: Any]?)] { + get { capturePropertiesUserPropertiesReceivedInvocationsLock.withLock { capturePropertiesUserPropertiesUnderlyingReceivedInvocations } } + set { capturePropertiesUserPropertiesReceivedInvocationsLock.withLock { capturePropertiesUserPropertiesUnderlyingReceivedInvocations = newValue } } + } var capturePropertiesUserPropertiesClosure: ((String, [String: Any]?, [String: Any]?) -> Void)? func capture(_ event: String, properties: [String: Any]?, userProperties: [String: Any]?) { - capturePropertiesUserPropertiesCallsCount += 1 + capturePropertiesUserPropertiesCallsCountLock.withLock { capturePropertiesUserPropertiesUnderlyingCallsCount += 1 } capturePropertiesUserPropertiesReceivedArguments = (event: event, properties: properties, userProperties: userProperties) - DispatchQueue.main.async { - self.capturePropertiesUserPropertiesReceivedInvocations.append((event: event, properties: properties, userProperties: userProperties)) - } + capturePropertiesUserPropertiesReceivedInvocationsLock.withLock { capturePropertiesUserPropertiesUnderlyingReceivedInvocations.append((event: event, properties: properties, userProperties: userProperties)) } capturePropertiesUserPropertiesClosure?(event, properties, userProperties) } //MARK: - screen - var screenPropertiesUnderlyingCallsCount = 0 + private let screenPropertiesCallsCountLock = NSLock() + private var screenPropertiesUnderlyingCallsCount = 0 var screenPropertiesCallsCount: Int { - get { - if Thread.isMainThread { - return screenPropertiesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = screenPropertiesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - screenPropertiesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - screenPropertiesUnderlyingCallsCount = newValue - } - } - } + get { screenPropertiesCallsCountLock.withLock { screenPropertiesUnderlyingCallsCount } } + set { screenPropertiesCallsCountLock.withLock { screenPropertiesUnderlyingCallsCount = newValue } } } var screenPropertiesCalled: Bool { return screenPropertiesCallsCount > 0 } - var screenPropertiesReceivedArguments: (screenTitle: String, properties: [String: Any]?)? - var screenPropertiesReceivedInvocations: [(screenTitle: String, properties: [String: Any]?)] = [] + private let screenPropertiesReceivedArgumentsLock = NSLock() + private var screenPropertiesUnderlyingReceivedArguments: (screenTitle: String, properties: [String: Any]?)? + var screenPropertiesReceivedArguments: (screenTitle: String, properties: [String: Any]?)? { + get { screenPropertiesReceivedArgumentsLock.withLock { screenPropertiesUnderlyingReceivedArguments } } + set { screenPropertiesReceivedArgumentsLock.withLock { screenPropertiesUnderlyingReceivedArguments = newValue } } + } + private let screenPropertiesReceivedInvocationsLock = NSLock() + private var screenPropertiesUnderlyingReceivedInvocations: [(screenTitle: String, properties: [String: Any]?)] = [] + var screenPropertiesReceivedInvocations: [(screenTitle: String, properties: [String: Any]?)] { + get { screenPropertiesReceivedInvocationsLock.withLock { screenPropertiesUnderlyingReceivedInvocations } } + set { screenPropertiesReceivedInvocationsLock.withLock { screenPropertiesUnderlyingReceivedInvocations = newValue } } + } var screenPropertiesClosure: ((String, [String: Any]?) -> Void)? func screen(_ screenTitle: String, properties: [String: Any]?) { - screenPropertiesCallsCount += 1 + screenPropertiesCallsCountLock.withLock { screenPropertiesUnderlyingCallsCount += 1 } screenPropertiesReceivedArguments = (screenTitle: screenTitle, properties: properties) - DispatchQueue.main.async { - self.screenPropertiesReceivedInvocations.append((screenTitle: screenTitle, properties: properties)) - } + screenPropertiesReceivedInvocationsLock.withLock { screenPropertiesUnderlyingReceivedInvocations.append((screenTitle: screenTitle, properties: properties)) } screenPropertiesClosure?(screenTitle, properties) } } @@ -15924,68 +9538,40 @@ class PhotoLibraryManagerMock: PhotoLibraryManagerProtocol, @unchecked Sendable //MARK: - addResource - var addResourceAtUnderlyingCallsCount = 0 + private let addResourceAtCallsCountLock = NSLock() + private var addResourceAtUnderlyingCallsCount = 0 var addResourceAtCallsCount: Int { - get { - if Thread.isMainThread { - return addResourceAtUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addResourceAtUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addResourceAtUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addResourceAtUnderlyingCallsCount = newValue - } - } - } + get { addResourceAtCallsCountLock.withLock { addResourceAtUnderlyingCallsCount } } + set { addResourceAtCallsCountLock.withLock { addResourceAtUnderlyingCallsCount = newValue } } } var addResourceAtCalled: Bool { return addResourceAtCallsCount > 0 } - var addResourceAtReceivedArguments: (type: PHAssetResourceType, url: URL)? - var addResourceAtReceivedInvocations: [(type: PHAssetResourceType, url: URL)] = [] + private let addResourceAtReceivedArgumentsLock = NSLock() + private var addResourceAtUnderlyingReceivedArguments: (type: PHAssetResourceType, url: URL)? + var addResourceAtReceivedArguments: (type: PHAssetResourceType, url: URL)? { + get { addResourceAtReceivedArgumentsLock.withLock { addResourceAtUnderlyingReceivedArguments } } + set { addResourceAtReceivedArgumentsLock.withLock { addResourceAtUnderlyingReceivedArguments = newValue } } + } + private let addResourceAtReceivedInvocationsLock = NSLock() + private var addResourceAtUnderlyingReceivedInvocations: [(type: PHAssetResourceType, url: URL)] = [] + var addResourceAtReceivedInvocations: [(type: PHAssetResourceType, url: URL)] { + get { addResourceAtReceivedInvocationsLock.withLock { addResourceAtUnderlyingReceivedInvocations } } + set { addResourceAtReceivedInvocationsLock.withLock { addResourceAtUnderlyingReceivedInvocations = newValue } } + } - var addResourceAtUnderlyingReturnValue: Result! + private let addResourceAtReturnValueLock = NSLock() + private var addResourceAtUnderlyingReturnValue: Result! var addResourceAtReturnValue: Result! { - get { - if Thread.isMainThread { - return addResourceAtUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = addResourceAtUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addResourceAtUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - addResourceAtUnderlyingReturnValue = newValue - } - } - } + get { addResourceAtReturnValueLock.withLock { addResourceAtUnderlyingReturnValue } } + set { addResourceAtReturnValueLock.withLock { addResourceAtUnderlyingReturnValue = newValue } } } var addResourceAtClosure: ((PHAssetResourceType, URL) async -> Result)? func addResource(_ type: PHAssetResourceType, at url: URL) async -> Result { - addResourceAtCallsCount += 1 + addResourceAtCallsCountLock.withLock { addResourceAtUnderlyingCallsCount += 1 } addResourceAtReceivedArguments = (type: type, url: url) - DispatchQueue.main.async { - self.addResourceAtReceivedInvocations.append((type: type, url: url)) - } + addResourceAtReceivedInvocationsLock.withLock { addResourceAtUnderlyingReceivedInvocations.append((type: type, url: url)) } if let addResourceAtClosure = addResourceAtClosure { return await addResourceAtClosure(type, url) } else { @@ -15997,68 +9583,40 @@ class PollInteractionHandlerMock: PollInteractionHandlerProtocol, @unchecked Sen //MARK: - sendPollResponse - var sendPollResponsePollStartIDOptionIDUnderlyingCallsCount = 0 + private let sendPollResponsePollStartIDOptionIDCallsCountLock = NSLock() + private var sendPollResponsePollStartIDOptionIDUnderlyingCallsCount = 0 var sendPollResponsePollStartIDOptionIDCallsCount: Int { - get { - if Thread.isMainThread { - return sendPollResponsePollStartIDOptionIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendPollResponsePollStartIDOptionIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendPollResponsePollStartIDOptionIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendPollResponsePollStartIDOptionIDUnderlyingCallsCount = newValue - } - } - } + get { sendPollResponsePollStartIDOptionIDCallsCountLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingCallsCount } } + set { sendPollResponsePollStartIDOptionIDCallsCountLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingCallsCount = newValue } } } var sendPollResponsePollStartIDOptionIDCalled: Bool { return sendPollResponsePollStartIDOptionIDCallsCount > 0 } - var sendPollResponsePollStartIDOptionIDReceivedArguments: (pollStartID: String, optionID: String)? - var sendPollResponsePollStartIDOptionIDReceivedInvocations: [(pollStartID: String, optionID: String)] = [] + private let sendPollResponsePollStartIDOptionIDReceivedArgumentsLock = NSLock() + private var sendPollResponsePollStartIDOptionIDUnderlyingReceivedArguments: (pollStartID: String, optionID: String)? + var sendPollResponsePollStartIDOptionIDReceivedArguments: (pollStartID: String, optionID: String)? { + get { sendPollResponsePollStartIDOptionIDReceivedArgumentsLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingReceivedArguments } } + set { sendPollResponsePollStartIDOptionIDReceivedArgumentsLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingReceivedArguments = newValue } } + } + private let sendPollResponsePollStartIDOptionIDReceivedInvocationsLock = NSLock() + private var sendPollResponsePollStartIDOptionIDUnderlyingReceivedInvocations: [(pollStartID: String, optionID: String)] = [] + var sendPollResponsePollStartIDOptionIDReceivedInvocations: [(pollStartID: String, optionID: String)] { + get { sendPollResponsePollStartIDOptionIDReceivedInvocationsLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingReceivedInvocations } } + set { sendPollResponsePollStartIDOptionIDReceivedInvocationsLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingReceivedInvocations = newValue } } + } - var sendPollResponsePollStartIDOptionIDUnderlyingReturnValue: Result! + private let sendPollResponsePollStartIDOptionIDReturnValueLock = NSLock() + private var sendPollResponsePollStartIDOptionIDUnderlyingReturnValue: Result! var sendPollResponsePollStartIDOptionIDReturnValue: Result! { - get { - if Thread.isMainThread { - return sendPollResponsePollStartIDOptionIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendPollResponsePollStartIDOptionIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendPollResponsePollStartIDOptionIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendPollResponsePollStartIDOptionIDUnderlyingReturnValue = newValue - } - } - } + get { sendPollResponsePollStartIDOptionIDReturnValueLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingReturnValue } } + set { sendPollResponsePollStartIDOptionIDReturnValueLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingReturnValue = newValue } } } var sendPollResponsePollStartIDOptionIDClosure: ((String, String) async -> Result)? func sendPollResponse(pollStartID: String, optionID: String) async -> Result { - sendPollResponsePollStartIDOptionIDCallsCount += 1 + sendPollResponsePollStartIDOptionIDCallsCountLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingCallsCount += 1 } sendPollResponsePollStartIDOptionIDReceivedArguments = (pollStartID: pollStartID, optionID: optionID) - DispatchQueue.main.async { - self.sendPollResponsePollStartIDOptionIDReceivedInvocations.append((pollStartID: pollStartID, optionID: optionID)) - } + sendPollResponsePollStartIDOptionIDReceivedInvocationsLock.withLock { sendPollResponsePollStartIDOptionIDUnderlyingReceivedInvocations.append((pollStartID: pollStartID, optionID: optionID)) } if let sendPollResponsePollStartIDOptionIDClosure = sendPollResponsePollStartIDOptionIDClosure { return await sendPollResponsePollStartIDOptionIDClosure(pollStartID, optionID) } else { @@ -16067,68 +9625,40 @@ class PollInteractionHandlerMock: PollInteractionHandlerProtocol, @unchecked Sen } //MARK: - endPoll - var endPollPollStartIDUnderlyingCallsCount = 0 + private let endPollPollStartIDCallsCountLock = NSLock() + private var endPollPollStartIDUnderlyingCallsCount = 0 var endPollPollStartIDCallsCount: Int { - get { - if Thread.isMainThread { - return endPollPollStartIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = endPollPollStartIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - endPollPollStartIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - endPollPollStartIDUnderlyingCallsCount = newValue - } - } - } + get { endPollPollStartIDCallsCountLock.withLock { endPollPollStartIDUnderlyingCallsCount } } + set { endPollPollStartIDCallsCountLock.withLock { endPollPollStartIDUnderlyingCallsCount = newValue } } } var endPollPollStartIDCalled: Bool { return endPollPollStartIDCallsCount > 0 } - var endPollPollStartIDReceivedPollStartID: String? - var endPollPollStartIDReceivedInvocations: [String] = [] + private let endPollPollStartIDReceivedPollStartIDLock = NSLock() + private var endPollPollStartIDUnderlyingReceivedPollStartID: String? + var endPollPollStartIDReceivedPollStartID: String? { + get { endPollPollStartIDReceivedPollStartIDLock.withLock { endPollPollStartIDUnderlyingReceivedPollStartID } } + set { endPollPollStartIDReceivedPollStartIDLock.withLock { endPollPollStartIDUnderlyingReceivedPollStartID = newValue } } + } + private let endPollPollStartIDReceivedInvocationsLock = NSLock() + private var endPollPollStartIDUnderlyingReceivedInvocations: [String] = [] + var endPollPollStartIDReceivedInvocations: [String] { + get { endPollPollStartIDReceivedInvocationsLock.withLock { endPollPollStartIDUnderlyingReceivedInvocations } } + set { endPollPollStartIDReceivedInvocationsLock.withLock { endPollPollStartIDUnderlyingReceivedInvocations = newValue } } + } - var endPollPollStartIDUnderlyingReturnValue: Result! + private let endPollPollStartIDReturnValueLock = NSLock() + private var endPollPollStartIDUnderlyingReturnValue: Result! var endPollPollStartIDReturnValue: Result! { - get { - if Thread.isMainThread { - return endPollPollStartIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = endPollPollStartIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - endPollPollStartIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - endPollPollStartIDUnderlyingReturnValue = newValue - } - } - } + get { endPollPollStartIDReturnValueLock.withLock { endPollPollStartIDUnderlyingReturnValue } } + set { endPollPollStartIDReturnValueLock.withLock { endPollPollStartIDUnderlyingReturnValue = newValue } } } var endPollPollStartIDClosure: ((String) async -> Result)? func endPoll(pollStartID: String) async -> Result { - endPollPollStartIDCallsCount += 1 + endPollPollStartIDCallsCountLock.withLock { endPollPollStartIDUnderlyingCallsCount += 1 } endPollPollStartIDReceivedPollStartID = pollStartID - DispatchQueue.main.async { - self.endPollPollStartIDReceivedInvocations.append(pollStartID) - } + endPollPollStartIDReceivedInvocationsLock.withLock { endPollPollStartIDUnderlyingReceivedInvocations.append(pollStartID) } if let endPollPollStartIDClosure = endPollPollStartIDClosure { return await endPollPollStartIDClosure(pollStartID) } else { @@ -16140,68 +9670,40 @@ class QRCodeLoginServiceMock: QRCodeLoginServiceProtocol, @unchecked Sendable { //MARK: - loginWithQRCode - var loginWithQRCodeDataUnderlyingCallsCount = 0 + private let loginWithQRCodeDataCallsCountLock = NSLock() + private var loginWithQRCodeDataUnderlyingCallsCount = 0 var loginWithQRCodeDataCallsCount: Int { - get { - if Thread.isMainThread { - return loginWithQRCodeDataUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loginWithQRCodeDataUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loginWithQRCodeDataUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loginWithQRCodeDataUnderlyingCallsCount = newValue - } - } - } + get { loginWithQRCodeDataCallsCountLock.withLock { loginWithQRCodeDataUnderlyingCallsCount } } + set { loginWithQRCodeDataCallsCountLock.withLock { loginWithQRCodeDataUnderlyingCallsCount = newValue } } } var loginWithQRCodeDataCalled: Bool { return loginWithQRCodeDataCallsCount > 0 } - var loginWithQRCodeDataReceivedData: Data? - var loginWithQRCodeDataReceivedInvocations: [Data] = [] + private let loginWithQRCodeDataReceivedDataLock = NSLock() + private var loginWithQRCodeDataUnderlyingReceivedData: Data? + var loginWithQRCodeDataReceivedData: Data? { + get { loginWithQRCodeDataReceivedDataLock.withLock { loginWithQRCodeDataUnderlyingReceivedData } } + set { loginWithQRCodeDataReceivedDataLock.withLock { loginWithQRCodeDataUnderlyingReceivedData = newValue } } + } + private let loginWithQRCodeDataReceivedInvocationsLock = NSLock() + private var loginWithQRCodeDataUnderlyingReceivedInvocations: [Data] = [] + var loginWithQRCodeDataReceivedInvocations: [Data] { + get { loginWithQRCodeDataReceivedInvocationsLock.withLock { loginWithQRCodeDataUnderlyingReceivedInvocations } } + set { loginWithQRCodeDataReceivedInvocationsLock.withLock { loginWithQRCodeDataUnderlyingReceivedInvocations = newValue } } + } - var loginWithQRCodeDataUnderlyingReturnValue: QRLoginProgressPublisher! + private let loginWithQRCodeDataReturnValueLock = NSLock() + private var loginWithQRCodeDataUnderlyingReturnValue: QRLoginProgressPublisher! var loginWithQRCodeDataReturnValue: QRLoginProgressPublisher! { - get { - if Thread.isMainThread { - return loginWithQRCodeDataUnderlyingReturnValue - } else { - var returnValue: QRLoginProgressPublisher? = nil - DispatchQueue.main.sync { - returnValue = loginWithQRCodeDataUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loginWithQRCodeDataUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loginWithQRCodeDataUnderlyingReturnValue = newValue - } - } - } + get { loginWithQRCodeDataReturnValueLock.withLock { loginWithQRCodeDataUnderlyingReturnValue } } + set { loginWithQRCodeDataReturnValueLock.withLock { loginWithQRCodeDataUnderlyingReturnValue = newValue } } } var loginWithQRCodeDataClosure: ((Data) -> QRLoginProgressPublisher)? func loginWithQRCode(data: Data) -> QRLoginProgressPublisher { - loginWithQRCodeDataCallsCount += 1 + loginWithQRCodeDataCallsCountLock.withLock { loginWithQRCodeDataUnderlyingCallsCount += 1 } loginWithQRCodeDataReceivedData = data - DispatchQueue.main.async { - self.loginWithQRCodeDataReceivedInvocations.append(data) - } + loginWithQRCodeDataReceivedInvocationsLock.withLock { loginWithQRCodeDataUnderlyingReceivedInvocations.append(data) } if let loginWithQRCodeDataClosure = loginWithQRCodeDataClosure { return loginWithQRCodeDataClosure(data) } else { @@ -16218,68 +9720,40 @@ class RoomDirectorySearchProxyMock: RoomDirectorySearchProxyProtocol, @unchecked //MARK: - search - var searchQueryUnderlyingCallsCount = 0 + private let searchQueryCallsCountLock = NSLock() + private var searchQueryUnderlyingCallsCount = 0 var searchQueryCallsCount: Int { - get { - if Thread.isMainThread { - return searchQueryUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = searchQueryUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchQueryUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - searchQueryUnderlyingCallsCount = newValue - } - } - } + get { searchQueryCallsCountLock.withLock { searchQueryUnderlyingCallsCount } } + set { searchQueryCallsCountLock.withLock { searchQueryUnderlyingCallsCount = newValue } } } var searchQueryCalled: Bool { return searchQueryCallsCount > 0 } - var searchQueryReceivedQuery: String? - var searchQueryReceivedInvocations: [String?] = [] + private let searchQueryReceivedQueryLock = NSLock() + private var searchQueryUnderlyingReceivedQuery: String? + var searchQueryReceivedQuery: String? { + get { searchQueryReceivedQueryLock.withLock { searchQueryUnderlyingReceivedQuery } } + set { searchQueryReceivedQueryLock.withLock { searchQueryUnderlyingReceivedQuery = newValue } } + } + private let searchQueryReceivedInvocationsLock = NSLock() + private var searchQueryUnderlyingReceivedInvocations: [String?] = [] + var searchQueryReceivedInvocations: [String?] { + get { searchQueryReceivedInvocationsLock.withLock { searchQueryUnderlyingReceivedInvocations } } + set { searchQueryReceivedInvocationsLock.withLock { searchQueryUnderlyingReceivedInvocations = newValue } } + } - var searchQueryUnderlyingReturnValue: Result! + private let searchQueryReturnValueLock = NSLock() + private var searchQueryUnderlyingReturnValue: Result! var searchQueryReturnValue: Result! { - get { - if Thread.isMainThread { - return searchQueryUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = searchQueryUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchQueryUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - searchQueryUnderlyingReturnValue = newValue - } - } - } + get { searchQueryReturnValueLock.withLock { searchQueryUnderlyingReturnValue } } + set { searchQueryReturnValueLock.withLock { searchQueryUnderlyingReturnValue = newValue } } } var searchQueryClosure: ((String?) async -> Result)? func search(query: String?) async -> Result { - searchQueryCallsCount += 1 + searchQueryCallsCountLock.withLock { searchQueryUnderlyingCallsCount += 1 } searchQueryReceivedQuery = query - DispatchQueue.main.async { - self.searchQueryReceivedInvocations.append(query) - } + searchQueryReceivedInvocationsLock.withLock { searchQueryUnderlyingReceivedInvocations.append(query) } if let searchQueryClosure = searchQueryClosure { return await searchQueryClosure(query) } else { @@ -16288,62 +9762,26 @@ class RoomDirectorySearchProxyMock: RoomDirectorySearchProxyProtocol, @unchecked } //MARK: - nextPage - var nextPageUnderlyingCallsCount = 0 + private let nextPageCallsCountLock = NSLock() + private var nextPageUnderlyingCallsCount = 0 var nextPageCallsCount: Int { - get { - if Thread.isMainThread { - return nextPageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = nextPageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextPageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - nextPageUnderlyingCallsCount = newValue - } - } - } + get { nextPageCallsCountLock.withLock { nextPageUnderlyingCallsCount } } + set { nextPageCallsCountLock.withLock { nextPageUnderlyingCallsCount = newValue } } } var nextPageCalled: Bool { return nextPageCallsCount > 0 } - var nextPageUnderlyingReturnValue: Result! + private let nextPageReturnValueLock = NSLock() + private var nextPageUnderlyingReturnValue: Result! var nextPageReturnValue: Result! { - get { - if Thread.isMainThread { - return nextPageUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = nextPageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextPageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - nextPageUnderlyingReturnValue = newValue - } - } - } + get { nextPageReturnValueLock.withLock { nextPageUnderlyingReturnValue } } + set { nextPageReturnValueLock.withLock { nextPageUnderlyingReturnValue = newValue } } } var nextPageClosure: (() async -> Result)? func nextPage() async -> Result { - nextPageCallsCount += 1 + nextPageCallsCountLock.withLock { nextPageUnderlyingCallsCount += 1 } if let nextPageClosure = nextPageClosure { return await nextPageClosure() } else { @@ -16537,68 +9975,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl //MARK: - canOwnUser - var canOwnUserSendMessageUnderlyingCallsCount = 0 + private let canOwnUserSendMessageCallsCountLock = NSLock() + private var canOwnUserSendMessageUnderlyingCallsCount = 0 var canOwnUserSendMessageCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserSendMessageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserSendMessageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserSendMessageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserSendMessageUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserSendMessageCallsCountLock.withLock { canOwnUserSendMessageUnderlyingCallsCount } } + set { canOwnUserSendMessageCallsCountLock.withLock { canOwnUserSendMessageUnderlyingCallsCount = newValue } } } var canOwnUserSendMessageCalled: Bool { return canOwnUserSendMessageCallsCount > 0 } - var canOwnUserSendMessageReceivedMessageType: MessageLikeEventType? - var canOwnUserSendMessageReceivedInvocations: [MessageLikeEventType] = [] + private let canOwnUserSendMessageReceivedMessageTypeLock = NSLock() + private var canOwnUserSendMessageUnderlyingReceivedMessageType: MessageLikeEventType? + var canOwnUserSendMessageReceivedMessageType: MessageLikeEventType? { + get { canOwnUserSendMessageReceivedMessageTypeLock.withLock { canOwnUserSendMessageUnderlyingReceivedMessageType } } + set { canOwnUserSendMessageReceivedMessageTypeLock.withLock { canOwnUserSendMessageUnderlyingReceivedMessageType = newValue } } + } + private let canOwnUserSendMessageReceivedInvocationsLock = NSLock() + private var canOwnUserSendMessageUnderlyingReceivedInvocations: [MessageLikeEventType] = [] + var canOwnUserSendMessageReceivedInvocations: [MessageLikeEventType] { + get { canOwnUserSendMessageReceivedInvocationsLock.withLock { canOwnUserSendMessageUnderlyingReceivedInvocations } } + set { canOwnUserSendMessageReceivedInvocationsLock.withLock { canOwnUserSendMessageUnderlyingReceivedInvocations = newValue } } + } - var canOwnUserSendMessageUnderlyingReturnValue: Bool! + private let canOwnUserSendMessageReturnValueLock = NSLock() + private var canOwnUserSendMessageUnderlyingReturnValue: Bool! var canOwnUserSendMessageReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserSendMessageUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserSendMessageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserSendMessageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserSendMessageUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserSendMessageReturnValueLock.withLock { canOwnUserSendMessageUnderlyingReturnValue } } + set { canOwnUserSendMessageReturnValueLock.withLock { canOwnUserSendMessageUnderlyingReturnValue = newValue } } } var canOwnUserSendMessageClosure: ((MessageLikeEventType) -> Bool)? func canOwnUser(sendMessage messageType: MessageLikeEventType) -> Bool { - canOwnUserSendMessageCallsCount += 1 + canOwnUserSendMessageCallsCountLock.withLock { canOwnUserSendMessageUnderlyingCallsCount += 1 } canOwnUserSendMessageReceivedMessageType = messageType - DispatchQueue.main.async { - self.canOwnUserSendMessageReceivedInvocations.append(messageType) - } + canOwnUserSendMessageReceivedInvocationsLock.withLock { canOwnUserSendMessageUnderlyingReceivedInvocations.append(messageType) } if let canOwnUserSendMessageClosure = canOwnUserSendMessageClosure { return canOwnUserSendMessageClosure(messageType) } else { @@ -16607,68 +10017,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUser - var canOwnUserSendStateEventUnderlyingCallsCount = 0 + private let canOwnUserSendStateEventCallsCountLock = NSLock() + private var canOwnUserSendStateEventUnderlyingCallsCount = 0 var canOwnUserSendStateEventCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserSendStateEventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserSendStateEventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserSendStateEventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserSendStateEventUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserSendStateEventCallsCountLock.withLock { canOwnUserSendStateEventUnderlyingCallsCount } } + set { canOwnUserSendStateEventCallsCountLock.withLock { canOwnUserSendStateEventUnderlyingCallsCount = newValue } } } var canOwnUserSendStateEventCalled: Bool { return canOwnUserSendStateEventCallsCount > 0 } - var canOwnUserSendStateEventReceivedEvent: StateEventType? - var canOwnUserSendStateEventReceivedInvocations: [StateEventType] = [] + private let canOwnUserSendStateEventReceivedEventLock = NSLock() + private var canOwnUserSendStateEventUnderlyingReceivedEvent: StateEventType? + var canOwnUserSendStateEventReceivedEvent: StateEventType? { + get { canOwnUserSendStateEventReceivedEventLock.withLock { canOwnUserSendStateEventUnderlyingReceivedEvent } } + set { canOwnUserSendStateEventReceivedEventLock.withLock { canOwnUserSendStateEventUnderlyingReceivedEvent = newValue } } + } + private let canOwnUserSendStateEventReceivedInvocationsLock = NSLock() + private var canOwnUserSendStateEventUnderlyingReceivedInvocations: [StateEventType] = [] + var canOwnUserSendStateEventReceivedInvocations: [StateEventType] { + get { canOwnUserSendStateEventReceivedInvocationsLock.withLock { canOwnUserSendStateEventUnderlyingReceivedInvocations } } + set { canOwnUserSendStateEventReceivedInvocationsLock.withLock { canOwnUserSendStateEventUnderlyingReceivedInvocations = newValue } } + } - var canOwnUserSendStateEventUnderlyingReturnValue: Bool! + private let canOwnUserSendStateEventReturnValueLock = NSLock() + private var canOwnUserSendStateEventUnderlyingReturnValue: Bool! var canOwnUserSendStateEventReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserSendStateEventUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserSendStateEventUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserSendStateEventUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserSendStateEventUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserSendStateEventReturnValueLock.withLock { canOwnUserSendStateEventUnderlyingReturnValue } } + set { canOwnUserSendStateEventReturnValueLock.withLock { canOwnUserSendStateEventUnderlyingReturnValue = newValue } } } var canOwnUserSendStateEventClosure: ((StateEventType) -> Bool)? func canOwnUser(sendStateEvent event: StateEventType) -> Bool { - canOwnUserSendStateEventCallsCount += 1 + canOwnUserSendStateEventCallsCountLock.withLock { canOwnUserSendStateEventUnderlyingCallsCount += 1 } canOwnUserSendStateEventReceivedEvent = event - DispatchQueue.main.async { - self.canOwnUserSendStateEventReceivedInvocations.append(event) - } + canOwnUserSendStateEventReceivedInvocationsLock.withLock { canOwnUserSendStateEventUnderlyingReceivedInvocations.append(event) } if let canOwnUserSendStateEventClosure = canOwnUserSendStateEventClosure { return canOwnUserSendStateEventClosure(event) } else { @@ -16677,62 +10059,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserInvite - var canOwnUserInviteUnderlyingCallsCount = 0 + private let canOwnUserInviteCallsCountLock = NSLock() + private var canOwnUserInviteUnderlyingCallsCount = 0 var canOwnUserInviteCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserInviteUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserInviteUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserInviteUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserInviteUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserInviteCallsCountLock.withLock { canOwnUserInviteUnderlyingCallsCount } } + set { canOwnUserInviteCallsCountLock.withLock { canOwnUserInviteUnderlyingCallsCount = newValue } } } var canOwnUserInviteCalled: Bool { return canOwnUserInviteCallsCount > 0 } - var canOwnUserInviteUnderlyingReturnValue: Bool! + private let canOwnUserInviteReturnValueLock = NSLock() + private var canOwnUserInviteUnderlyingReturnValue: Bool! var canOwnUserInviteReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserInviteUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserInviteUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserInviteUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserInviteUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserInviteReturnValueLock.withLock { canOwnUserInviteUnderlyingReturnValue } } + set { canOwnUserInviteReturnValueLock.withLock { canOwnUserInviteUnderlyingReturnValue = newValue } } } var canOwnUserInviteClosure: (() -> Bool)? func canOwnUserInvite() -> Bool { - canOwnUserInviteCallsCount += 1 + canOwnUserInviteCallsCountLock.withLock { canOwnUserInviteUnderlyingCallsCount += 1 } if let canOwnUserInviteClosure = canOwnUserInviteClosure { return canOwnUserInviteClosure() } else { @@ -16741,62 +10087,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserRedactOther - var canOwnUserRedactOtherUnderlyingCallsCount = 0 + private let canOwnUserRedactOtherCallsCountLock = NSLock() + private var canOwnUserRedactOtherUnderlyingCallsCount = 0 var canOwnUserRedactOtherCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserRedactOtherUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserRedactOtherUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserRedactOtherUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserRedactOtherUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserRedactOtherCallsCountLock.withLock { canOwnUserRedactOtherUnderlyingCallsCount } } + set { canOwnUserRedactOtherCallsCountLock.withLock { canOwnUserRedactOtherUnderlyingCallsCount = newValue } } } var canOwnUserRedactOtherCalled: Bool { return canOwnUserRedactOtherCallsCount > 0 } - var canOwnUserRedactOtherUnderlyingReturnValue: Bool! + private let canOwnUserRedactOtherReturnValueLock = NSLock() + private var canOwnUserRedactOtherUnderlyingReturnValue: Bool! var canOwnUserRedactOtherReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserRedactOtherUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserRedactOtherUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserRedactOtherUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserRedactOtherUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserRedactOtherReturnValueLock.withLock { canOwnUserRedactOtherUnderlyingReturnValue } } + set { canOwnUserRedactOtherReturnValueLock.withLock { canOwnUserRedactOtherUnderlyingReturnValue = newValue } } } var canOwnUserRedactOtherClosure: (() -> Bool)? func canOwnUserRedactOther() -> Bool { - canOwnUserRedactOtherCallsCount += 1 + canOwnUserRedactOtherCallsCountLock.withLock { canOwnUserRedactOtherUnderlyingCallsCount += 1 } if let canOwnUserRedactOtherClosure = canOwnUserRedactOtherClosure { return canOwnUserRedactOtherClosure() } else { @@ -16805,62 +10115,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserRedactOwn - var canOwnUserRedactOwnUnderlyingCallsCount = 0 + private let canOwnUserRedactOwnCallsCountLock = NSLock() + private var canOwnUserRedactOwnUnderlyingCallsCount = 0 var canOwnUserRedactOwnCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserRedactOwnUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserRedactOwnUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserRedactOwnUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserRedactOwnUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserRedactOwnCallsCountLock.withLock { canOwnUserRedactOwnUnderlyingCallsCount } } + set { canOwnUserRedactOwnCallsCountLock.withLock { canOwnUserRedactOwnUnderlyingCallsCount = newValue } } } var canOwnUserRedactOwnCalled: Bool { return canOwnUserRedactOwnCallsCount > 0 } - var canOwnUserRedactOwnUnderlyingReturnValue: Bool! + private let canOwnUserRedactOwnReturnValueLock = NSLock() + private var canOwnUserRedactOwnUnderlyingReturnValue: Bool! var canOwnUserRedactOwnReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserRedactOwnUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserRedactOwnUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserRedactOwnUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserRedactOwnUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserRedactOwnReturnValueLock.withLock { canOwnUserRedactOwnUnderlyingReturnValue } } + set { canOwnUserRedactOwnReturnValueLock.withLock { canOwnUserRedactOwnUnderlyingReturnValue = newValue } } } var canOwnUserRedactOwnClosure: (() -> Bool)? func canOwnUserRedactOwn() -> Bool { - canOwnUserRedactOwnCallsCount += 1 + canOwnUserRedactOwnCallsCountLock.withLock { canOwnUserRedactOwnUnderlyingCallsCount += 1 } if let canOwnUserRedactOwnClosure = canOwnUserRedactOwnClosure { return canOwnUserRedactOwnClosure() } else { @@ -16869,62 +10143,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserKick - var canOwnUserKickUnderlyingCallsCount = 0 + private let canOwnUserKickCallsCountLock = NSLock() + private var canOwnUserKickUnderlyingCallsCount = 0 var canOwnUserKickCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserKickUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserKickUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserKickUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserKickUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserKickCallsCountLock.withLock { canOwnUserKickUnderlyingCallsCount } } + set { canOwnUserKickCallsCountLock.withLock { canOwnUserKickUnderlyingCallsCount = newValue } } } var canOwnUserKickCalled: Bool { return canOwnUserKickCallsCount > 0 } - var canOwnUserKickUnderlyingReturnValue: Bool! + private let canOwnUserKickReturnValueLock = NSLock() + private var canOwnUserKickUnderlyingReturnValue: Bool! var canOwnUserKickReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserKickUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserKickUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserKickUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserKickUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserKickReturnValueLock.withLock { canOwnUserKickUnderlyingReturnValue } } + set { canOwnUserKickReturnValueLock.withLock { canOwnUserKickUnderlyingReturnValue = newValue } } } var canOwnUserKickClosure: (() -> Bool)? func canOwnUserKick() -> Bool { - canOwnUserKickCallsCount += 1 + canOwnUserKickCallsCountLock.withLock { canOwnUserKickUnderlyingCallsCount += 1 } if let canOwnUserKickClosure = canOwnUserKickClosure { return canOwnUserKickClosure() } else { @@ -16933,62 +10171,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserBan - var canOwnUserBanUnderlyingCallsCount = 0 + private let canOwnUserBanCallsCountLock = NSLock() + private var canOwnUserBanUnderlyingCallsCount = 0 var canOwnUserBanCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserBanUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserBanUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserBanUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserBanUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserBanCallsCountLock.withLock { canOwnUserBanUnderlyingCallsCount } } + set { canOwnUserBanCallsCountLock.withLock { canOwnUserBanUnderlyingCallsCount = newValue } } } var canOwnUserBanCalled: Bool { return canOwnUserBanCallsCount > 0 } - var canOwnUserBanUnderlyingReturnValue: Bool! + private let canOwnUserBanReturnValueLock = NSLock() + private var canOwnUserBanUnderlyingReturnValue: Bool! var canOwnUserBanReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserBanUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserBanUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserBanUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserBanUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserBanReturnValueLock.withLock { canOwnUserBanUnderlyingReturnValue } } + set { canOwnUserBanReturnValueLock.withLock { canOwnUserBanUnderlyingReturnValue = newValue } } } var canOwnUserBanClosure: (() -> Bool)? func canOwnUserBan() -> Bool { - canOwnUserBanCallsCount += 1 + canOwnUserBanCallsCountLock.withLock { canOwnUserBanUnderlyingCallsCount += 1 } if let canOwnUserBanClosure = canOwnUserBanClosure { return canOwnUserBanClosure() } else { @@ -16997,62 +10199,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserTriggerRoomNotification - var canOwnUserTriggerRoomNotificationUnderlyingCallsCount = 0 + private let canOwnUserTriggerRoomNotificationCallsCountLock = NSLock() + private var canOwnUserTriggerRoomNotificationUnderlyingCallsCount = 0 var canOwnUserTriggerRoomNotificationCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserTriggerRoomNotificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserTriggerRoomNotificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserTriggerRoomNotificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserTriggerRoomNotificationUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserTriggerRoomNotificationCallsCountLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingCallsCount } } + set { canOwnUserTriggerRoomNotificationCallsCountLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingCallsCount = newValue } } } var canOwnUserTriggerRoomNotificationCalled: Bool { return canOwnUserTriggerRoomNotificationCallsCount > 0 } - var canOwnUserTriggerRoomNotificationUnderlyingReturnValue: Bool! + private let canOwnUserTriggerRoomNotificationReturnValueLock = NSLock() + private var canOwnUserTriggerRoomNotificationUnderlyingReturnValue: Bool! var canOwnUserTriggerRoomNotificationReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserTriggerRoomNotificationUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserTriggerRoomNotificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserTriggerRoomNotificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserTriggerRoomNotificationUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserTriggerRoomNotificationReturnValueLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingReturnValue } } + set { canOwnUserTriggerRoomNotificationReturnValueLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingReturnValue = newValue } } } var canOwnUserTriggerRoomNotificationClosure: (() -> Bool)? func canOwnUserTriggerRoomNotification() -> Bool { - canOwnUserTriggerRoomNotificationCallsCount += 1 + canOwnUserTriggerRoomNotificationCallsCountLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingCallsCount += 1 } if let canOwnUserTriggerRoomNotificationClosure = canOwnUserTriggerRoomNotificationClosure { return canOwnUserTriggerRoomNotificationClosure() } else { @@ -17061,62 +10227,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserPinOrUnpin - var canOwnUserPinOrUnpinUnderlyingCallsCount = 0 + private let canOwnUserPinOrUnpinCallsCountLock = NSLock() + private var canOwnUserPinOrUnpinUnderlyingCallsCount = 0 var canOwnUserPinOrUnpinCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserPinOrUnpinUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserPinOrUnpinUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserPinOrUnpinUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserPinOrUnpinUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserPinOrUnpinCallsCountLock.withLock { canOwnUserPinOrUnpinUnderlyingCallsCount } } + set { canOwnUserPinOrUnpinCallsCountLock.withLock { canOwnUserPinOrUnpinUnderlyingCallsCount = newValue } } } var canOwnUserPinOrUnpinCalled: Bool { return canOwnUserPinOrUnpinCallsCount > 0 } - var canOwnUserPinOrUnpinUnderlyingReturnValue: Bool! + private let canOwnUserPinOrUnpinReturnValueLock = NSLock() + private var canOwnUserPinOrUnpinUnderlyingReturnValue: Bool! var canOwnUserPinOrUnpinReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserPinOrUnpinUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserPinOrUnpinUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserPinOrUnpinUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserPinOrUnpinUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserPinOrUnpinReturnValueLock.withLock { canOwnUserPinOrUnpinUnderlyingReturnValue } } + set { canOwnUserPinOrUnpinReturnValueLock.withLock { canOwnUserPinOrUnpinUnderlyingReturnValue = newValue } } } var canOwnUserPinOrUnpinClosure: (() -> Bool)? func canOwnUserPinOrUnpin() -> Bool { - canOwnUserPinOrUnpinCallsCount += 1 + canOwnUserPinOrUnpinCallsCountLock.withLock { canOwnUserPinOrUnpinUnderlyingCallsCount += 1 } if let canOwnUserPinOrUnpinClosure = canOwnUserPinOrUnpinClosure { return canOwnUserPinOrUnpinClosure() } else { @@ -17125,62 +10255,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserJoinCall - var canOwnUserJoinCallUnderlyingCallsCount = 0 + private let canOwnUserJoinCallCallsCountLock = NSLock() + private var canOwnUserJoinCallUnderlyingCallsCount = 0 var canOwnUserJoinCallCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserJoinCallUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserJoinCallUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserJoinCallUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserJoinCallUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserJoinCallCallsCountLock.withLock { canOwnUserJoinCallUnderlyingCallsCount } } + set { canOwnUserJoinCallCallsCountLock.withLock { canOwnUserJoinCallUnderlyingCallsCount = newValue } } } var canOwnUserJoinCallCalled: Bool { return canOwnUserJoinCallCallsCount > 0 } - var canOwnUserJoinCallUnderlyingReturnValue: Bool! + private let canOwnUserJoinCallReturnValueLock = NSLock() + private var canOwnUserJoinCallUnderlyingReturnValue: Bool! var canOwnUserJoinCallReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserJoinCallUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserJoinCallUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserJoinCallUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserJoinCallUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserJoinCallReturnValueLock.withLock { canOwnUserJoinCallUnderlyingReturnValue } } + set { canOwnUserJoinCallReturnValueLock.withLock { canOwnUserJoinCallUnderlyingReturnValue = newValue } } } var canOwnUserJoinCallClosure: (() -> Bool)? func canOwnUserJoinCall() -> Bool { - canOwnUserJoinCallCallsCount += 1 + canOwnUserJoinCallCallsCountLock.withLock { canOwnUserJoinCallUnderlyingCallsCount += 1 } if let canOwnUserJoinCallClosure = canOwnUserJoinCallClosure { return canOwnUserJoinCallClosure() } else { @@ -17189,62 +10283,26 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canOwnUserEditRolesAndPermissions - var canOwnUserEditRolesAndPermissionsUnderlyingCallsCount = 0 + private let canOwnUserEditRolesAndPermissionsCallsCountLock = NSLock() + private var canOwnUserEditRolesAndPermissionsUnderlyingCallsCount = 0 var canOwnUserEditRolesAndPermissionsCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserEditRolesAndPermissionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserEditRolesAndPermissionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserEditRolesAndPermissionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserEditRolesAndPermissionsUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserEditRolesAndPermissionsCallsCountLock.withLock { canOwnUserEditRolesAndPermissionsUnderlyingCallsCount } } + set { canOwnUserEditRolesAndPermissionsCallsCountLock.withLock { canOwnUserEditRolesAndPermissionsUnderlyingCallsCount = newValue } } } var canOwnUserEditRolesAndPermissionsCalled: Bool { return canOwnUserEditRolesAndPermissionsCallsCount > 0 } - var canOwnUserEditRolesAndPermissionsUnderlyingReturnValue: Bool! + private let canOwnUserEditRolesAndPermissionsReturnValueLock = NSLock() + private var canOwnUserEditRolesAndPermissionsUnderlyingReturnValue: Bool! var canOwnUserEditRolesAndPermissionsReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserEditRolesAndPermissionsUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserEditRolesAndPermissionsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserEditRolesAndPermissionsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserEditRolesAndPermissionsUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserEditRolesAndPermissionsReturnValueLock.withLock { canOwnUserEditRolesAndPermissionsUnderlyingReturnValue } } + set { canOwnUserEditRolesAndPermissionsReturnValueLock.withLock { canOwnUserEditRolesAndPermissionsUnderlyingReturnValue = newValue } } } var canOwnUserEditRolesAndPermissionsClosure: (() -> Bool)? func canOwnUserEditRolesAndPermissions() -> Bool { - canOwnUserEditRolesAndPermissionsCallsCount += 1 + canOwnUserEditRolesAndPermissionsCallsCountLock.withLock { canOwnUserEditRolesAndPermissionsUnderlyingCallsCount += 1 } if let canOwnUserEditRolesAndPermissionsClosure = canOwnUserEditRolesAndPermissionsClosure { return canOwnUserEditRolesAndPermissionsClosure() } else { @@ -17253,68 +10311,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUser - var canUserUserIDSendMessageUnderlyingCallsCount = 0 + private let canUserUserIDSendMessageCallsCountLock = NSLock() + private var canUserUserIDSendMessageUnderlyingCallsCount = 0 var canUserUserIDSendMessageCallsCount: Int { - get { - if Thread.isMainThread { - return canUserUserIDSendMessageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserUserIDSendMessageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserUserIDSendMessageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserUserIDSendMessageUnderlyingCallsCount = newValue - } - } - } + get { canUserUserIDSendMessageCallsCountLock.withLock { canUserUserIDSendMessageUnderlyingCallsCount } } + set { canUserUserIDSendMessageCallsCountLock.withLock { canUserUserIDSendMessageUnderlyingCallsCount = newValue } } } var canUserUserIDSendMessageCalled: Bool { return canUserUserIDSendMessageCallsCount > 0 } - var canUserUserIDSendMessageReceivedArguments: (userID: String, messageType: MessageLikeEventType)? - var canUserUserIDSendMessageReceivedInvocations: [(userID: String, messageType: MessageLikeEventType)] = [] + private let canUserUserIDSendMessageReceivedArgumentsLock = NSLock() + private var canUserUserIDSendMessageUnderlyingReceivedArguments: (userID: String, messageType: MessageLikeEventType)? + var canUserUserIDSendMessageReceivedArguments: (userID: String, messageType: MessageLikeEventType)? { + get { canUserUserIDSendMessageReceivedArgumentsLock.withLock { canUserUserIDSendMessageUnderlyingReceivedArguments } } + set { canUserUserIDSendMessageReceivedArgumentsLock.withLock { canUserUserIDSendMessageUnderlyingReceivedArguments = newValue } } + } + private let canUserUserIDSendMessageReceivedInvocationsLock = NSLock() + private var canUserUserIDSendMessageUnderlyingReceivedInvocations: [(userID: String, messageType: MessageLikeEventType)] = [] + var canUserUserIDSendMessageReceivedInvocations: [(userID: String, messageType: MessageLikeEventType)] { + get { canUserUserIDSendMessageReceivedInvocationsLock.withLock { canUserUserIDSendMessageUnderlyingReceivedInvocations } } + set { canUserUserIDSendMessageReceivedInvocationsLock.withLock { canUserUserIDSendMessageUnderlyingReceivedInvocations = newValue } } + } - var canUserUserIDSendMessageUnderlyingReturnValue: Result! + private let canUserUserIDSendMessageReturnValueLock = NSLock() + private var canUserUserIDSendMessageUnderlyingReturnValue: Result! var canUserUserIDSendMessageReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserUserIDSendMessageUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserUserIDSendMessageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserUserIDSendMessageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserUserIDSendMessageUnderlyingReturnValue = newValue - } - } - } + get { canUserUserIDSendMessageReturnValueLock.withLock { canUserUserIDSendMessageUnderlyingReturnValue } } + set { canUserUserIDSendMessageReturnValueLock.withLock { canUserUserIDSendMessageUnderlyingReturnValue = newValue } } } var canUserUserIDSendMessageClosure: ((String, MessageLikeEventType) -> Result)? func canUser(userID: String, sendMessage messageType: MessageLikeEventType) -> Result { - canUserUserIDSendMessageCallsCount += 1 + canUserUserIDSendMessageCallsCountLock.withLock { canUserUserIDSendMessageUnderlyingCallsCount += 1 } canUserUserIDSendMessageReceivedArguments = (userID: userID, messageType: messageType) - DispatchQueue.main.async { - self.canUserUserIDSendMessageReceivedInvocations.append((userID: userID, messageType: messageType)) - } + canUserUserIDSendMessageReceivedInvocationsLock.withLock { canUserUserIDSendMessageUnderlyingReceivedInvocations.append((userID: userID, messageType: messageType)) } if let canUserUserIDSendMessageClosure = canUserUserIDSendMessageClosure { return canUserUserIDSendMessageClosure(userID, messageType) } else { @@ -17323,68 +10353,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUser - var canUserUserIDSendStateEventUnderlyingCallsCount = 0 + private let canUserUserIDSendStateEventCallsCountLock = NSLock() + private var canUserUserIDSendStateEventUnderlyingCallsCount = 0 var canUserUserIDSendStateEventCallsCount: Int { - get { - if Thread.isMainThread { - return canUserUserIDSendStateEventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserUserIDSendStateEventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserUserIDSendStateEventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserUserIDSendStateEventUnderlyingCallsCount = newValue - } - } - } + get { canUserUserIDSendStateEventCallsCountLock.withLock { canUserUserIDSendStateEventUnderlyingCallsCount } } + set { canUserUserIDSendStateEventCallsCountLock.withLock { canUserUserIDSendStateEventUnderlyingCallsCount = newValue } } } var canUserUserIDSendStateEventCalled: Bool { return canUserUserIDSendStateEventCallsCount > 0 } - var canUserUserIDSendStateEventReceivedArguments: (userID: String, event: StateEventType)? - var canUserUserIDSendStateEventReceivedInvocations: [(userID: String, event: StateEventType)] = [] + private let canUserUserIDSendStateEventReceivedArgumentsLock = NSLock() + private var canUserUserIDSendStateEventUnderlyingReceivedArguments: (userID: String, event: StateEventType)? + var canUserUserIDSendStateEventReceivedArguments: (userID: String, event: StateEventType)? { + get { canUserUserIDSendStateEventReceivedArgumentsLock.withLock { canUserUserIDSendStateEventUnderlyingReceivedArguments } } + set { canUserUserIDSendStateEventReceivedArgumentsLock.withLock { canUserUserIDSendStateEventUnderlyingReceivedArguments = newValue } } + } + private let canUserUserIDSendStateEventReceivedInvocationsLock = NSLock() + private var canUserUserIDSendStateEventUnderlyingReceivedInvocations: [(userID: String, event: StateEventType)] = [] + var canUserUserIDSendStateEventReceivedInvocations: [(userID: String, event: StateEventType)] { + get { canUserUserIDSendStateEventReceivedInvocationsLock.withLock { canUserUserIDSendStateEventUnderlyingReceivedInvocations } } + set { canUserUserIDSendStateEventReceivedInvocationsLock.withLock { canUserUserIDSendStateEventUnderlyingReceivedInvocations = newValue } } + } - var canUserUserIDSendStateEventUnderlyingReturnValue: Result! + private let canUserUserIDSendStateEventReturnValueLock = NSLock() + private var canUserUserIDSendStateEventUnderlyingReturnValue: Result! var canUserUserIDSendStateEventReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserUserIDSendStateEventUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserUserIDSendStateEventUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserUserIDSendStateEventUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserUserIDSendStateEventUnderlyingReturnValue = newValue - } - } - } + get { canUserUserIDSendStateEventReturnValueLock.withLock { canUserUserIDSendStateEventUnderlyingReturnValue } } + set { canUserUserIDSendStateEventReturnValueLock.withLock { canUserUserIDSendStateEventUnderlyingReturnValue = newValue } } } var canUserUserIDSendStateEventClosure: ((String, StateEventType) -> Result)? func canUser(userID: String, sendStateEvent event: StateEventType) -> Result { - canUserUserIDSendStateEventCallsCount += 1 + canUserUserIDSendStateEventCallsCountLock.withLock { canUserUserIDSendStateEventUnderlyingCallsCount += 1 } canUserUserIDSendStateEventReceivedArguments = (userID: userID, event: event) - DispatchQueue.main.async { - self.canUserUserIDSendStateEventReceivedInvocations.append((userID: userID, event: event)) - } + canUserUserIDSendStateEventReceivedInvocationsLock.withLock { canUserUserIDSendStateEventUnderlyingReceivedInvocations.append((userID: userID, event: event)) } if let canUserUserIDSendStateEventClosure = canUserUserIDSendStateEventClosure { return canUserUserIDSendStateEventClosure(userID, event) } else { @@ -17393,68 +10395,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUserInvite - var canUserInviteUserIDUnderlyingCallsCount = 0 + private let canUserInviteUserIDCallsCountLock = NSLock() + private var canUserInviteUserIDUnderlyingCallsCount = 0 var canUserInviteUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return canUserInviteUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserInviteUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserInviteUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserInviteUserIDUnderlyingCallsCount = newValue - } - } - } + get { canUserInviteUserIDCallsCountLock.withLock { canUserInviteUserIDUnderlyingCallsCount } } + set { canUserInviteUserIDCallsCountLock.withLock { canUserInviteUserIDUnderlyingCallsCount = newValue } } } var canUserInviteUserIDCalled: Bool { return canUserInviteUserIDCallsCount > 0 } - var canUserInviteUserIDReceivedUserID: String? - var canUserInviteUserIDReceivedInvocations: [String] = [] + private let canUserInviteUserIDReceivedUserIDLock = NSLock() + private var canUserInviteUserIDUnderlyingReceivedUserID: String? + var canUserInviteUserIDReceivedUserID: String? { + get { canUserInviteUserIDReceivedUserIDLock.withLock { canUserInviteUserIDUnderlyingReceivedUserID } } + set { canUserInviteUserIDReceivedUserIDLock.withLock { canUserInviteUserIDUnderlyingReceivedUserID = newValue } } + } + private let canUserInviteUserIDReceivedInvocationsLock = NSLock() + private var canUserInviteUserIDUnderlyingReceivedInvocations: [String] = [] + var canUserInviteUserIDReceivedInvocations: [String] { + get { canUserInviteUserIDReceivedInvocationsLock.withLock { canUserInviteUserIDUnderlyingReceivedInvocations } } + set { canUserInviteUserIDReceivedInvocationsLock.withLock { canUserInviteUserIDUnderlyingReceivedInvocations = newValue } } + } - var canUserInviteUserIDUnderlyingReturnValue: Result! + private let canUserInviteUserIDReturnValueLock = NSLock() + private var canUserInviteUserIDUnderlyingReturnValue: Result! var canUserInviteUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserInviteUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserInviteUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserInviteUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserInviteUserIDUnderlyingReturnValue = newValue - } - } - } + get { canUserInviteUserIDReturnValueLock.withLock { canUserInviteUserIDUnderlyingReturnValue } } + set { canUserInviteUserIDReturnValueLock.withLock { canUserInviteUserIDUnderlyingReturnValue = newValue } } } var canUserInviteUserIDClosure: ((String) -> Result)? func canUserInvite(userID: String) -> Result { - canUserInviteUserIDCallsCount += 1 + canUserInviteUserIDCallsCountLock.withLock { canUserInviteUserIDUnderlyingCallsCount += 1 } canUserInviteUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.canUserInviteUserIDReceivedInvocations.append(userID) - } + canUserInviteUserIDReceivedInvocationsLock.withLock { canUserInviteUserIDUnderlyingReceivedInvocations.append(userID) } if let canUserInviteUserIDClosure = canUserInviteUserIDClosure { return canUserInviteUserIDClosure(userID) } else { @@ -17463,68 +10437,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUserRedactOther - var canUserRedactOtherUserIDUnderlyingCallsCount = 0 + private let canUserRedactOtherUserIDCallsCountLock = NSLock() + private var canUserRedactOtherUserIDUnderlyingCallsCount = 0 var canUserRedactOtherUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return canUserRedactOtherUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserRedactOtherUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserRedactOtherUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserRedactOtherUserIDUnderlyingCallsCount = newValue - } - } - } + get { canUserRedactOtherUserIDCallsCountLock.withLock { canUserRedactOtherUserIDUnderlyingCallsCount } } + set { canUserRedactOtherUserIDCallsCountLock.withLock { canUserRedactOtherUserIDUnderlyingCallsCount = newValue } } } var canUserRedactOtherUserIDCalled: Bool { return canUserRedactOtherUserIDCallsCount > 0 } - var canUserRedactOtherUserIDReceivedUserID: String? - var canUserRedactOtherUserIDReceivedInvocations: [String] = [] + private let canUserRedactOtherUserIDReceivedUserIDLock = NSLock() + private var canUserRedactOtherUserIDUnderlyingReceivedUserID: String? + var canUserRedactOtherUserIDReceivedUserID: String? { + get { canUserRedactOtherUserIDReceivedUserIDLock.withLock { canUserRedactOtherUserIDUnderlyingReceivedUserID } } + set { canUserRedactOtherUserIDReceivedUserIDLock.withLock { canUserRedactOtherUserIDUnderlyingReceivedUserID = newValue } } + } + private let canUserRedactOtherUserIDReceivedInvocationsLock = NSLock() + private var canUserRedactOtherUserIDUnderlyingReceivedInvocations: [String] = [] + var canUserRedactOtherUserIDReceivedInvocations: [String] { + get { canUserRedactOtherUserIDReceivedInvocationsLock.withLock { canUserRedactOtherUserIDUnderlyingReceivedInvocations } } + set { canUserRedactOtherUserIDReceivedInvocationsLock.withLock { canUserRedactOtherUserIDUnderlyingReceivedInvocations = newValue } } + } - var canUserRedactOtherUserIDUnderlyingReturnValue: Result! + private let canUserRedactOtherUserIDReturnValueLock = NSLock() + private var canUserRedactOtherUserIDUnderlyingReturnValue: Result! var canUserRedactOtherUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserRedactOtherUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserRedactOtherUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserRedactOtherUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserRedactOtherUserIDUnderlyingReturnValue = newValue - } - } - } + get { canUserRedactOtherUserIDReturnValueLock.withLock { canUserRedactOtherUserIDUnderlyingReturnValue } } + set { canUserRedactOtherUserIDReturnValueLock.withLock { canUserRedactOtherUserIDUnderlyingReturnValue = newValue } } } var canUserRedactOtherUserIDClosure: ((String) -> Result)? func canUserRedactOther(userID: String) -> Result { - canUserRedactOtherUserIDCallsCount += 1 + canUserRedactOtherUserIDCallsCountLock.withLock { canUserRedactOtherUserIDUnderlyingCallsCount += 1 } canUserRedactOtherUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.canUserRedactOtherUserIDReceivedInvocations.append(userID) - } + canUserRedactOtherUserIDReceivedInvocationsLock.withLock { canUserRedactOtherUserIDUnderlyingReceivedInvocations.append(userID) } if let canUserRedactOtherUserIDClosure = canUserRedactOtherUserIDClosure { return canUserRedactOtherUserIDClosure(userID) } else { @@ -17533,68 +10479,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUserRedactOwn - var canUserRedactOwnUserIDUnderlyingCallsCount = 0 + private let canUserRedactOwnUserIDCallsCountLock = NSLock() + private var canUserRedactOwnUserIDUnderlyingCallsCount = 0 var canUserRedactOwnUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return canUserRedactOwnUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserRedactOwnUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserRedactOwnUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserRedactOwnUserIDUnderlyingCallsCount = newValue - } - } - } + get { canUserRedactOwnUserIDCallsCountLock.withLock { canUserRedactOwnUserIDUnderlyingCallsCount } } + set { canUserRedactOwnUserIDCallsCountLock.withLock { canUserRedactOwnUserIDUnderlyingCallsCount = newValue } } } var canUserRedactOwnUserIDCalled: Bool { return canUserRedactOwnUserIDCallsCount > 0 } - var canUserRedactOwnUserIDReceivedUserID: String? - var canUserRedactOwnUserIDReceivedInvocations: [String] = [] + private let canUserRedactOwnUserIDReceivedUserIDLock = NSLock() + private var canUserRedactOwnUserIDUnderlyingReceivedUserID: String? + var canUserRedactOwnUserIDReceivedUserID: String? { + get { canUserRedactOwnUserIDReceivedUserIDLock.withLock { canUserRedactOwnUserIDUnderlyingReceivedUserID } } + set { canUserRedactOwnUserIDReceivedUserIDLock.withLock { canUserRedactOwnUserIDUnderlyingReceivedUserID = newValue } } + } + private let canUserRedactOwnUserIDReceivedInvocationsLock = NSLock() + private var canUserRedactOwnUserIDUnderlyingReceivedInvocations: [String] = [] + var canUserRedactOwnUserIDReceivedInvocations: [String] { + get { canUserRedactOwnUserIDReceivedInvocationsLock.withLock { canUserRedactOwnUserIDUnderlyingReceivedInvocations } } + set { canUserRedactOwnUserIDReceivedInvocationsLock.withLock { canUserRedactOwnUserIDUnderlyingReceivedInvocations = newValue } } + } - var canUserRedactOwnUserIDUnderlyingReturnValue: Result! + private let canUserRedactOwnUserIDReturnValueLock = NSLock() + private var canUserRedactOwnUserIDUnderlyingReturnValue: Result! var canUserRedactOwnUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserRedactOwnUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserRedactOwnUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserRedactOwnUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserRedactOwnUserIDUnderlyingReturnValue = newValue - } - } - } + get { canUserRedactOwnUserIDReturnValueLock.withLock { canUserRedactOwnUserIDUnderlyingReturnValue } } + set { canUserRedactOwnUserIDReturnValueLock.withLock { canUserRedactOwnUserIDUnderlyingReturnValue = newValue } } } var canUserRedactOwnUserIDClosure: ((String) -> Result)? func canUserRedactOwn(userID: String) -> Result { - canUserRedactOwnUserIDCallsCount += 1 + canUserRedactOwnUserIDCallsCountLock.withLock { canUserRedactOwnUserIDUnderlyingCallsCount += 1 } canUserRedactOwnUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.canUserRedactOwnUserIDReceivedInvocations.append(userID) - } + canUserRedactOwnUserIDReceivedInvocationsLock.withLock { canUserRedactOwnUserIDUnderlyingReceivedInvocations.append(userID) } if let canUserRedactOwnUserIDClosure = canUserRedactOwnUserIDClosure { return canUserRedactOwnUserIDClosure(userID) } else { @@ -17603,68 +10521,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUserKick - var canUserKickUserIDUnderlyingCallsCount = 0 + private let canUserKickUserIDCallsCountLock = NSLock() + private var canUserKickUserIDUnderlyingCallsCount = 0 var canUserKickUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return canUserKickUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserKickUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserKickUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserKickUserIDUnderlyingCallsCount = newValue - } - } - } + get { canUserKickUserIDCallsCountLock.withLock { canUserKickUserIDUnderlyingCallsCount } } + set { canUserKickUserIDCallsCountLock.withLock { canUserKickUserIDUnderlyingCallsCount = newValue } } } var canUserKickUserIDCalled: Bool { return canUserKickUserIDCallsCount > 0 } - var canUserKickUserIDReceivedUserID: String? - var canUserKickUserIDReceivedInvocations: [String] = [] + private let canUserKickUserIDReceivedUserIDLock = NSLock() + private var canUserKickUserIDUnderlyingReceivedUserID: String? + var canUserKickUserIDReceivedUserID: String? { + get { canUserKickUserIDReceivedUserIDLock.withLock { canUserKickUserIDUnderlyingReceivedUserID } } + set { canUserKickUserIDReceivedUserIDLock.withLock { canUserKickUserIDUnderlyingReceivedUserID = newValue } } + } + private let canUserKickUserIDReceivedInvocationsLock = NSLock() + private var canUserKickUserIDUnderlyingReceivedInvocations: [String] = [] + var canUserKickUserIDReceivedInvocations: [String] { + get { canUserKickUserIDReceivedInvocationsLock.withLock { canUserKickUserIDUnderlyingReceivedInvocations } } + set { canUserKickUserIDReceivedInvocationsLock.withLock { canUserKickUserIDUnderlyingReceivedInvocations = newValue } } + } - var canUserKickUserIDUnderlyingReturnValue: Result! + private let canUserKickUserIDReturnValueLock = NSLock() + private var canUserKickUserIDUnderlyingReturnValue: Result! var canUserKickUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserKickUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserKickUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserKickUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserKickUserIDUnderlyingReturnValue = newValue - } - } - } + get { canUserKickUserIDReturnValueLock.withLock { canUserKickUserIDUnderlyingReturnValue } } + set { canUserKickUserIDReturnValueLock.withLock { canUserKickUserIDUnderlyingReturnValue = newValue } } } var canUserKickUserIDClosure: ((String) -> Result)? func canUserKick(userID: String) -> Result { - canUserKickUserIDCallsCount += 1 + canUserKickUserIDCallsCountLock.withLock { canUserKickUserIDUnderlyingCallsCount += 1 } canUserKickUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.canUserKickUserIDReceivedInvocations.append(userID) - } + canUserKickUserIDReceivedInvocationsLock.withLock { canUserKickUserIDUnderlyingReceivedInvocations.append(userID) } if let canUserKickUserIDClosure = canUserKickUserIDClosure { return canUserKickUserIDClosure(userID) } else { @@ -17673,68 +10563,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUserBan - var canUserBanUserIDUnderlyingCallsCount = 0 + private let canUserBanUserIDCallsCountLock = NSLock() + private var canUserBanUserIDUnderlyingCallsCount = 0 var canUserBanUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return canUserBanUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserBanUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserBanUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserBanUserIDUnderlyingCallsCount = newValue - } - } - } + get { canUserBanUserIDCallsCountLock.withLock { canUserBanUserIDUnderlyingCallsCount } } + set { canUserBanUserIDCallsCountLock.withLock { canUserBanUserIDUnderlyingCallsCount = newValue } } } var canUserBanUserIDCalled: Bool { return canUserBanUserIDCallsCount > 0 } - var canUserBanUserIDReceivedUserID: String? - var canUserBanUserIDReceivedInvocations: [String] = [] + private let canUserBanUserIDReceivedUserIDLock = NSLock() + private var canUserBanUserIDUnderlyingReceivedUserID: String? + var canUserBanUserIDReceivedUserID: String? { + get { canUserBanUserIDReceivedUserIDLock.withLock { canUserBanUserIDUnderlyingReceivedUserID } } + set { canUserBanUserIDReceivedUserIDLock.withLock { canUserBanUserIDUnderlyingReceivedUserID = newValue } } + } + private let canUserBanUserIDReceivedInvocationsLock = NSLock() + private var canUserBanUserIDUnderlyingReceivedInvocations: [String] = [] + var canUserBanUserIDReceivedInvocations: [String] { + get { canUserBanUserIDReceivedInvocationsLock.withLock { canUserBanUserIDUnderlyingReceivedInvocations } } + set { canUserBanUserIDReceivedInvocationsLock.withLock { canUserBanUserIDUnderlyingReceivedInvocations = newValue } } + } - var canUserBanUserIDUnderlyingReturnValue: Result! + private let canUserBanUserIDReturnValueLock = NSLock() + private var canUserBanUserIDUnderlyingReturnValue: Result! var canUserBanUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserBanUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserBanUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserBanUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserBanUserIDUnderlyingReturnValue = newValue - } - } - } + get { canUserBanUserIDReturnValueLock.withLock { canUserBanUserIDUnderlyingReturnValue } } + set { canUserBanUserIDReturnValueLock.withLock { canUserBanUserIDUnderlyingReturnValue = newValue } } } var canUserBanUserIDClosure: ((String) -> Result)? func canUserBan(userID: String) -> Result { - canUserBanUserIDCallsCount += 1 + canUserBanUserIDCallsCountLock.withLock { canUserBanUserIDUnderlyingCallsCount += 1 } canUserBanUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.canUserBanUserIDReceivedInvocations.append(userID) - } + canUserBanUserIDReceivedInvocationsLock.withLock { canUserBanUserIDUnderlyingReceivedInvocations.append(userID) } if let canUserBanUserIDClosure = canUserBanUserIDClosure { return canUserBanUserIDClosure(userID) } else { @@ -17743,68 +10605,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUserTriggerRoomNotification - var canUserTriggerRoomNotificationUserIDUnderlyingCallsCount = 0 + private let canUserTriggerRoomNotificationUserIDCallsCountLock = NSLock() + private var canUserTriggerRoomNotificationUserIDUnderlyingCallsCount = 0 var canUserTriggerRoomNotificationUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return canUserTriggerRoomNotificationUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserTriggerRoomNotificationUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserTriggerRoomNotificationUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserTriggerRoomNotificationUserIDUnderlyingCallsCount = newValue - } - } - } + get { canUserTriggerRoomNotificationUserIDCallsCountLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingCallsCount } } + set { canUserTriggerRoomNotificationUserIDCallsCountLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingCallsCount = newValue } } } var canUserTriggerRoomNotificationUserIDCalled: Bool { return canUserTriggerRoomNotificationUserIDCallsCount > 0 } - var canUserTriggerRoomNotificationUserIDReceivedUserID: String? - var canUserTriggerRoomNotificationUserIDReceivedInvocations: [String] = [] + private let canUserTriggerRoomNotificationUserIDReceivedUserIDLock = NSLock() + private var canUserTriggerRoomNotificationUserIDUnderlyingReceivedUserID: String? + var canUserTriggerRoomNotificationUserIDReceivedUserID: String? { + get { canUserTriggerRoomNotificationUserIDReceivedUserIDLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingReceivedUserID } } + set { canUserTriggerRoomNotificationUserIDReceivedUserIDLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingReceivedUserID = newValue } } + } + private let canUserTriggerRoomNotificationUserIDReceivedInvocationsLock = NSLock() + private var canUserTriggerRoomNotificationUserIDUnderlyingReceivedInvocations: [String] = [] + var canUserTriggerRoomNotificationUserIDReceivedInvocations: [String] { + get { canUserTriggerRoomNotificationUserIDReceivedInvocationsLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingReceivedInvocations } } + set { canUserTriggerRoomNotificationUserIDReceivedInvocationsLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingReceivedInvocations = newValue } } + } - var canUserTriggerRoomNotificationUserIDUnderlyingReturnValue: Result! + private let canUserTriggerRoomNotificationUserIDReturnValueLock = NSLock() + private var canUserTriggerRoomNotificationUserIDUnderlyingReturnValue: Result! var canUserTriggerRoomNotificationUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserTriggerRoomNotificationUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserTriggerRoomNotificationUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserTriggerRoomNotificationUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserTriggerRoomNotificationUserIDUnderlyingReturnValue = newValue - } - } - } + get { canUserTriggerRoomNotificationUserIDReturnValueLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingReturnValue } } + set { canUserTriggerRoomNotificationUserIDReturnValueLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingReturnValue = newValue } } } var canUserTriggerRoomNotificationUserIDClosure: ((String) -> Result)? func canUserTriggerRoomNotification(userID: String) -> Result { - canUserTriggerRoomNotificationUserIDCallsCount += 1 + canUserTriggerRoomNotificationUserIDCallsCountLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingCallsCount += 1 } canUserTriggerRoomNotificationUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.canUserTriggerRoomNotificationUserIDReceivedInvocations.append(userID) - } + canUserTriggerRoomNotificationUserIDReceivedInvocationsLock.withLock { canUserTriggerRoomNotificationUserIDUnderlyingReceivedInvocations.append(userID) } if let canUserTriggerRoomNotificationUserIDClosure = canUserTriggerRoomNotificationUserIDClosure { return canUserTriggerRoomNotificationUserIDClosure(userID) } else { @@ -17813,68 +10647,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUserPinOrUnpin - var canUserPinOrUnpinUserIDUnderlyingCallsCount = 0 + private let canUserPinOrUnpinUserIDCallsCountLock = NSLock() + private var canUserPinOrUnpinUserIDUnderlyingCallsCount = 0 var canUserPinOrUnpinUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return canUserPinOrUnpinUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserPinOrUnpinUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserPinOrUnpinUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserPinOrUnpinUserIDUnderlyingCallsCount = newValue - } - } - } + get { canUserPinOrUnpinUserIDCallsCountLock.withLock { canUserPinOrUnpinUserIDUnderlyingCallsCount } } + set { canUserPinOrUnpinUserIDCallsCountLock.withLock { canUserPinOrUnpinUserIDUnderlyingCallsCount = newValue } } } var canUserPinOrUnpinUserIDCalled: Bool { return canUserPinOrUnpinUserIDCallsCount > 0 } - var canUserPinOrUnpinUserIDReceivedUserID: String? - var canUserPinOrUnpinUserIDReceivedInvocations: [String] = [] + private let canUserPinOrUnpinUserIDReceivedUserIDLock = NSLock() + private var canUserPinOrUnpinUserIDUnderlyingReceivedUserID: String? + var canUserPinOrUnpinUserIDReceivedUserID: String? { + get { canUserPinOrUnpinUserIDReceivedUserIDLock.withLock { canUserPinOrUnpinUserIDUnderlyingReceivedUserID } } + set { canUserPinOrUnpinUserIDReceivedUserIDLock.withLock { canUserPinOrUnpinUserIDUnderlyingReceivedUserID = newValue } } + } + private let canUserPinOrUnpinUserIDReceivedInvocationsLock = NSLock() + private var canUserPinOrUnpinUserIDUnderlyingReceivedInvocations: [String] = [] + var canUserPinOrUnpinUserIDReceivedInvocations: [String] { + get { canUserPinOrUnpinUserIDReceivedInvocationsLock.withLock { canUserPinOrUnpinUserIDUnderlyingReceivedInvocations } } + set { canUserPinOrUnpinUserIDReceivedInvocationsLock.withLock { canUserPinOrUnpinUserIDUnderlyingReceivedInvocations = newValue } } + } - var canUserPinOrUnpinUserIDUnderlyingReturnValue: Result! + private let canUserPinOrUnpinUserIDReturnValueLock = NSLock() + private var canUserPinOrUnpinUserIDUnderlyingReturnValue: Result! var canUserPinOrUnpinUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserPinOrUnpinUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserPinOrUnpinUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserPinOrUnpinUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserPinOrUnpinUserIDUnderlyingReturnValue = newValue - } - } - } + get { canUserPinOrUnpinUserIDReturnValueLock.withLock { canUserPinOrUnpinUserIDUnderlyingReturnValue } } + set { canUserPinOrUnpinUserIDReturnValueLock.withLock { canUserPinOrUnpinUserIDUnderlyingReturnValue = newValue } } } var canUserPinOrUnpinUserIDClosure: ((String) -> Result)? func canUserPinOrUnpin(userID: String) -> Result { - canUserPinOrUnpinUserIDCallsCount += 1 + canUserPinOrUnpinUserIDCallsCountLock.withLock { canUserPinOrUnpinUserIDUnderlyingCallsCount += 1 } canUserPinOrUnpinUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.canUserPinOrUnpinUserIDReceivedInvocations.append(userID) - } + canUserPinOrUnpinUserIDReceivedInvocationsLock.withLock { canUserPinOrUnpinUserIDUnderlyingReceivedInvocations.append(userID) } if let canUserPinOrUnpinUserIDClosure = canUserPinOrUnpinUserIDClosure { return canUserPinOrUnpinUserIDClosure(userID) } else { @@ -17883,68 +10689,40 @@ class RoomPowerLevelsProxyMock: RoomPowerLevelsProxyProtocol, @unchecked Sendabl } //MARK: - canUserJoinCall - var canUserJoinCallUserIDUnderlyingCallsCount = 0 + private let canUserJoinCallUserIDCallsCountLock = NSLock() + private var canUserJoinCallUserIDUnderlyingCallsCount = 0 var canUserJoinCallUserIDCallsCount: Int { - get { - if Thread.isMainThread { - return canUserJoinCallUserIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserJoinCallUserIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserJoinCallUserIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserJoinCallUserIDUnderlyingCallsCount = newValue - } - } - } + get { canUserJoinCallUserIDCallsCountLock.withLock { canUserJoinCallUserIDUnderlyingCallsCount } } + set { canUserJoinCallUserIDCallsCountLock.withLock { canUserJoinCallUserIDUnderlyingCallsCount = newValue } } } var canUserJoinCallUserIDCalled: Bool { return canUserJoinCallUserIDCallsCount > 0 } - var canUserJoinCallUserIDReceivedUserID: String? - var canUserJoinCallUserIDReceivedInvocations: [String] = [] + private let canUserJoinCallUserIDReceivedUserIDLock = NSLock() + private var canUserJoinCallUserIDUnderlyingReceivedUserID: String? + var canUserJoinCallUserIDReceivedUserID: String? { + get { canUserJoinCallUserIDReceivedUserIDLock.withLock { canUserJoinCallUserIDUnderlyingReceivedUserID } } + set { canUserJoinCallUserIDReceivedUserIDLock.withLock { canUserJoinCallUserIDUnderlyingReceivedUserID = newValue } } + } + private let canUserJoinCallUserIDReceivedInvocationsLock = NSLock() + private var canUserJoinCallUserIDUnderlyingReceivedInvocations: [String] = [] + var canUserJoinCallUserIDReceivedInvocations: [String] { + get { canUserJoinCallUserIDReceivedInvocationsLock.withLock { canUserJoinCallUserIDUnderlyingReceivedInvocations } } + set { canUserJoinCallUserIDReceivedInvocationsLock.withLock { canUserJoinCallUserIDUnderlyingReceivedInvocations = newValue } } + } - var canUserJoinCallUserIDUnderlyingReturnValue: Result! + private let canUserJoinCallUserIDReturnValueLock = NSLock() + private var canUserJoinCallUserIDUnderlyingReturnValue: Result! var canUserJoinCallUserIDReturnValue: Result! { - get { - if Thread.isMainThread { - return canUserJoinCallUserIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = canUserJoinCallUserIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserJoinCallUserIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserJoinCallUserIDUnderlyingReturnValue = newValue - } - } - } + get { canUserJoinCallUserIDReturnValueLock.withLock { canUserJoinCallUserIDUnderlyingReturnValue } } + set { canUserJoinCallUserIDReturnValueLock.withLock { canUserJoinCallUserIDUnderlyingReturnValue = newValue } } } var canUserJoinCallUserIDClosure: ((String) -> Result)? func canUserJoinCall(userID: String) -> Result { - canUserJoinCallUserIDCallsCount += 1 + canUserJoinCallUserIDCallsCountLock.withLock { canUserJoinCallUserIDUnderlyingCallsCount += 1 } canUserJoinCallUserIDReceivedUserID = userID - DispatchQueue.main.async { - self.canUserJoinCallUserIDReceivedInvocations.append(userID) - } + canUserJoinCallUserIDReceivedInvocationsLock.withLock { canUserJoinCallUserIDUnderlyingReceivedInvocations.append(userID) } if let canUserJoinCallUserIDClosure = canUserJoinCallUserIDClosure { return canUserJoinCallUserIDClosure(userID) } else { @@ -18004,125 +10782,95 @@ class RoomSummaryProviderMock: RoomSummaryProviderProtocol, @unchecked Sendable //MARK: - updateVisibleRange - var updateVisibleRangeUnderlyingCallsCount = 0 + private let updateVisibleRangeCallsCountLock = NSLock() + private var updateVisibleRangeUnderlyingCallsCount = 0 var updateVisibleRangeCallsCount: Int { - get { - if Thread.isMainThread { - return updateVisibleRangeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateVisibleRangeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateVisibleRangeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateVisibleRangeUnderlyingCallsCount = newValue - } - } - } + get { updateVisibleRangeCallsCountLock.withLock { updateVisibleRangeUnderlyingCallsCount } } + set { updateVisibleRangeCallsCountLock.withLock { updateVisibleRangeUnderlyingCallsCount = newValue } } } var updateVisibleRangeCalled: Bool { return updateVisibleRangeCallsCount > 0 } - var updateVisibleRangeReceivedRange: Range? - var updateVisibleRangeReceivedInvocations: [Range] = [] + private let updateVisibleRangeReceivedRangeLock = NSLock() + private var updateVisibleRangeUnderlyingReceivedRange: Range? + var updateVisibleRangeReceivedRange: Range? { + get { updateVisibleRangeReceivedRangeLock.withLock { updateVisibleRangeUnderlyingReceivedRange } } + set { updateVisibleRangeReceivedRangeLock.withLock { updateVisibleRangeUnderlyingReceivedRange = newValue } } + } + private let updateVisibleRangeReceivedInvocationsLock = NSLock() + private var updateVisibleRangeUnderlyingReceivedInvocations: [Range] = [] + var updateVisibleRangeReceivedInvocations: [Range] { + get { updateVisibleRangeReceivedInvocationsLock.withLock { updateVisibleRangeUnderlyingReceivedInvocations } } + set { updateVisibleRangeReceivedInvocationsLock.withLock { updateVisibleRangeUnderlyingReceivedInvocations = newValue } } + } var updateVisibleRangeClosure: ((Range) -> Void)? func updateVisibleRange(_ range: Range) { - updateVisibleRangeCallsCount += 1 + updateVisibleRangeCallsCountLock.withLock { updateVisibleRangeUnderlyingCallsCount += 1 } updateVisibleRangeReceivedRange = range - DispatchQueue.main.async { - self.updateVisibleRangeReceivedInvocations.append(range) - } + updateVisibleRangeReceivedInvocationsLock.withLock { updateVisibleRangeUnderlyingReceivedInvocations.append(range) } updateVisibleRangeClosure?(range) } //MARK: - setFilter - var setFilterUnderlyingCallsCount = 0 + private let setFilterCallsCountLock = NSLock() + private var setFilterUnderlyingCallsCount = 0 var setFilterCallsCount: Int { - get { - if Thread.isMainThread { - return setFilterUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setFilterUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setFilterUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setFilterUnderlyingCallsCount = newValue - } - } - } + get { setFilterCallsCountLock.withLock { setFilterUnderlyingCallsCount } } + set { setFilterCallsCountLock.withLock { setFilterUnderlyingCallsCount = newValue } } } var setFilterCalled: Bool { return setFilterCallsCount > 0 } - var setFilterReceivedFilter: RoomSummaryProviderFilter? - var setFilterReceivedInvocations: [RoomSummaryProviderFilter] = [] + private let setFilterReceivedFilterLock = NSLock() + private var setFilterUnderlyingReceivedFilter: RoomSummaryProviderFilter? + var setFilterReceivedFilter: RoomSummaryProviderFilter? { + get { setFilterReceivedFilterLock.withLock { setFilterUnderlyingReceivedFilter } } + set { setFilterReceivedFilterLock.withLock { setFilterUnderlyingReceivedFilter = newValue } } + } + private let setFilterReceivedInvocationsLock = NSLock() + private var setFilterUnderlyingReceivedInvocations: [RoomSummaryProviderFilter] = [] + var setFilterReceivedInvocations: [RoomSummaryProviderFilter] { + get { setFilterReceivedInvocationsLock.withLock { setFilterUnderlyingReceivedInvocations } } + set { setFilterReceivedInvocationsLock.withLock { setFilterUnderlyingReceivedInvocations = newValue } } + } var setFilterClosure: ((RoomSummaryProviderFilter) -> Void)? func setFilter(_ filter: RoomSummaryProviderFilter) { - setFilterCallsCount += 1 + setFilterCallsCountLock.withLock { setFilterUnderlyingCallsCount += 1 } setFilterReceivedFilter = filter - DispatchQueue.main.async { - self.setFilterReceivedInvocations.append(filter) - } + setFilterReceivedInvocationsLock.withLock { setFilterUnderlyingReceivedInvocations.append(filter) } setFilterClosure?(filter) } //MARK: - setRoomList - var setRoomListUnderlyingCallsCount = 0 + private let setRoomListCallsCountLock = NSLock() + private var setRoomListUnderlyingCallsCount = 0 var setRoomListCallsCount: Int { - get { - if Thread.isMainThread { - return setRoomListUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setRoomListUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setRoomListUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setRoomListUnderlyingCallsCount = newValue - } - } - } + get { setRoomListCallsCountLock.withLock { setRoomListUnderlyingCallsCount } } + set { setRoomListCallsCountLock.withLock { setRoomListUnderlyingCallsCount = newValue } } } var setRoomListCalled: Bool { return setRoomListCallsCount > 0 } - var setRoomListReceivedRoomList: RoomList? - var setRoomListReceivedInvocations: [RoomList] = [] + private let setRoomListReceivedRoomListLock = NSLock() + private var setRoomListUnderlyingReceivedRoomList: RoomList? + var setRoomListReceivedRoomList: RoomList? { + get { setRoomListReceivedRoomListLock.withLock { setRoomListUnderlyingReceivedRoomList } } + set { setRoomListReceivedRoomListLock.withLock { setRoomListUnderlyingReceivedRoomList = newValue } } + } + private let setRoomListReceivedInvocationsLock = NSLock() + private var setRoomListUnderlyingReceivedInvocations: [RoomList] = [] + var setRoomListReceivedInvocations: [RoomList] { + get { setRoomListReceivedInvocationsLock.withLock { setRoomListUnderlyingReceivedInvocations } } + set { setRoomListReceivedInvocationsLock.withLock { setRoomListUnderlyingReceivedInvocations = newValue } } + } var setRoomListClosure: ((RoomList) -> Void)? func setRoomList(_ roomList: RoomList) { - setRoomListCallsCount += 1 + setRoomListCallsCountLock.withLock { setRoomListUnderlyingCallsCount += 1 } setRoomListReceivedRoomList = roomList - DispatchQueue.main.async { - self.setRoomListReceivedInvocations.append(roomList) - } + setRoomListReceivedInvocationsLock.withLock { setRoomListUnderlyingReceivedInvocations.append(roomList) } setRoomListClosure?(roomList) } } @@ -18140,62 +10888,26 @@ class RoomThreadListServiceProxyMock: RoomThreadListServiceProxyProtocol, @unche //MARK: - paginate - var paginateUnderlyingCallsCount = 0 + private let paginateCallsCountLock = NSLock() + private var paginateUnderlyingCallsCount = 0 var paginateCallsCount: Int { - get { - if Thread.isMainThread { - return paginateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateUnderlyingCallsCount = newValue - } - } - } + get { paginateCallsCountLock.withLock { paginateUnderlyingCallsCount } } + set { paginateCallsCountLock.withLock { paginateUnderlyingCallsCount = newValue } } } var paginateCalled: Bool { return paginateCallsCount > 0 } - var paginateUnderlyingReturnValue: Result! + private let paginateReturnValueLock = NSLock() + private var paginateUnderlyingReturnValue: Result! var paginateReturnValue: Result! { - get { - if Thread.isMainThread { - return paginateUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = paginateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginateUnderlyingReturnValue = newValue - } - } - } + get { paginateReturnValueLock.withLock { paginateUnderlyingReturnValue } } + set { paginateReturnValueLock.withLock { paginateUnderlyingReturnValue = newValue } } } var paginateClosure: (() async -> Result)? func paginate() async -> Result { - paginateCallsCount += 1 + paginateCallsCountLock.withLock { paginateUnderlyingCallsCount += 1 } if let paginateClosure = paginateClosure { return await paginateClosure() } else { @@ -18217,62 +10929,26 @@ class SecureBackupControllerMock: SecureBackupControllerProtocol, @unchecked Sen //MARK: - enable - var enableUnderlyingCallsCount = 0 + private let enableCallsCountLock = NSLock() + private var enableUnderlyingCallsCount = 0 var enableCallsCount: Int { - get { - if Thread.isMainThread { - return enableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableUnderlyingCallsCount = newValue - } - } - } + get { enableCallsCountLock.withLock { enableUnderlyingCallsCount } } + set { enableCallsCountLock.withLock { enableUnderlyingCallsCount = newValue } } } var enableCalled: Bool { return enableCallsCount > 0 } - var enableUnderlyingReturnValue: Result! + private let enableReturnValueLock = NSLock() + private var enableUnderlyingReturnValue: Result! var enableReturnValue: Result! { - get { - if Thread.isMainThread { - return enableUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = enableUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - enableUnderlyingReturnValue = newValue - } - } - } + get { enableReturnValueLock.withLock { enableUnderlyingReturnValue } } + set { enableReturnValueLock.withLock { enableUnderlyingReturnValue = newValue } } } var enableClosure: (() async -> Result)? func enable() async -> Result { - enableCallsCount += 1 + enableCallsCountLock.withLock { enableUnderlyingCallsCount += 1 } if let enableClosure = enableClosure { return await enableClosure() } else { @@ -18281,62 +10957,26 @@ class SecureBackupControllerMock: SecureBackupControllerProtocol, @unchecked Sen } //MARK: - disable - var disableUnderlyingCallsCount = 0 + private let disableCallsCountLock = NSLock() + private var disableUnderlyingCallsCount = 0 var disableCallsCount: Int { - get { - if Thread.isMainThread { - return disableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = disableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - disableUnderlyingCallsCount = newValue - } - } - } + get { disableCallsCountLock.withLock { disableUnderlyingCallsCount } } + set { disableCallsCountLock.withLock { disableUnderlyingCallsCount = newValue } } } var disableCalled: Bool { return disableCallsCount > 0 } - var disableUnderlyingReturnValue: Result! + private let disableReturnValueLock = NSLock() + private var disableUnderlyingReturnValue: Result! var disableReturnValue: Result! { - get { - if Thread.isMainThread { - return disableUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = disableUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - disableUnderlyingReturnValue = newValue - } - } - } + get { disableReturnValueLock.withLock { disableUnderlyingReturnValue } } + set { disableReturnValueLock.withLock { disableUnderlyingReturnValue = newValue } } } var disableClosure: (() async -> Result)? func disable() async -> Result { - disableCallsCount += 1 + disableCallsCountLock.withLock { disableUnderlyingCallsCount += 1 } if let disableClosure = disableClosure { return await disableClosure() } else { @@ -18345,62 +10985,26 @@ class SecureBackupControllerMock: SecureBackupControllerProtocol, @unchecked Sen } //MARK: - generateRecoveryKey - var generateRecoveryKeyUnderlyingCallsCount = 0 + private let generateRecoveryKeyCallsCountLock = NSLock() + private var generateRecoveryKeyUnderlyingCallsCount = 0 var generateRecoveryKeyCallsCount: Int { - get { - if Thread.isMainThread { - return generateRecoveryKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = generateRecoveryKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - generateRecoveryKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - generateRecoveryKeyUnderlyingCallsCount = newValue - } - } - } + get { generateRecoveryKeyCallsCountLock.withLock { generateRecoveryKeyUnderlyingCallsCount } } + set { generateRecoveryKeyCallsCountLock.withLock { generateRecoveryKeyUnderlyingCallsCount = newValue } } } var generateRecoveryKeyCalled: Bool { return generateRecoveryKeyCallsCount > 0 } - var generateRecoveryKeyUnderlyingReturnValue: Result! + private let generateRecoveryKeyReturnValueLock = NSLock() + private var generateRecoveryKeyUnderlyingReturnValue: Result! var generateRecoveryKeyReturnValue: Result! { - get { - if Thread.isMainThread { - return generateRecoveryKeyUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = generateRecoveryKeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - generateRecoveryKeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - generateRecoveryKeyUnderlyingReturnValue = newValue - } - } - } + get { generateRecoveryKeyReturnValueLock.withLock { generateRecoveryKeyUnderlyingReturnValue } } + set { generateRecoveryKeyReturnValueLock.withLock { generateRecoveryKeyUnderlyingReturnValue = newValue } } } var generateRecoveryKeyClosure: (() async -> Result)? func generateRecoveryKey() async -> Result { - generateRecoveryKeyCallsCount += 1 + generateRecoveryKeyCallsCountLock.withLock { generateRecoveryKeyUnderlyingCallsCount += 1 } if let generateRecoveryKeyClosure = generateRecoveryKeyClosure { return await generateRecoveryKeyClosure() } else { @@ -18409,68 +11013,40 @@ class SecureBackupControllerMock: SecureBackupControllerProtocol, @unchecked Sen } //MARK: - confirmRecoveryKey - var confirmRecoveryKeyUnderlyingCallsCount = 0 + private let confirmRecoveryKeyCallsCountLock = NSLock() + private var confirmRecoveryKeyUnderlyingCallsCount = 0 var confirmRecoveryKeyCallsCount: Int { - get { - if Thread.isMainThread { - return confirmRecoveryKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = confirmRecoveryKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - confirmRecoveryKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - confirmRecoveryKeyUnderlyingCallsCount = newValue - } - } - } + get { confirmRecoveryKeyCallsCountLock.withLock { confirmRecoveryKeyUnderlyingCallsCount } } + set { confirmRecoveryKeyCallsCountLock.withLock { confirmRecoveryKeyUnderlyingCallsCount = newValue } } } var confirmRecoveryKeyCalled: Bool { return confirmRecoveryKeyCallsCount > 0 } - var confirmRecoveryKeyReceivedKey: String? - var confirmRecoveryKeyReceivedInvocations: [String] = [] + private let confirmRecoveryKeyReceivedKeyLock = NSLock() + private var confirmRecoveryKeyUnderlyingReceivedKey: String? + var confirmRecoveryKeyReceivedKey: String? { + get { confirmRecoveryKeyReceivedKeyLock.withLock { confirmRecoveryKeyUnderlyingReceivedKey } } + set { confirmRecoveryKeyReceivedKeyLock.withLock { confirmRecoveryKeyUnderlyingReceivedKey = newValue } } + } + private let confirmRecoveryKeyReceivedInvocationsLock = NSLock() + private var confirmRecoveryKeyUnderlyingReceivedInvocations: [String] = [] + var confirmRecoveryKeyReceivedInvocations: [String] { + get { confirmRecoveryKeyReceivedInvocationsLock.withLock { confirmRecoveryKeyUnderlyingReceivedInvocations } } + set { confirmRecoveryKeyReceivedInvocationsLock.withLock { confirmRecoveryKeyUnderlyingReceivedInvocations = newValue } } + } - var confirmRecoveryKeyUnderlyingReturnValue: Result! + private let confirmRecoveryKeyReturnValueLock = NSLock() + private var confirmRecoveryKeyUnderlyingReturnValue: Result! var confirmRecoveryKeyReturnValue: Result! { - get { - if Thread.isMainThread { - return confirmRecoveryKeyUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = confirmRecoveryKeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - confirmRecoveryKeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - confirmRecoveryKeyUnderlyingReturnValue = newValue - } - } - } + get { confirmRecoveryKeyReturnValueLock.withLock { confirmRecoveryKeyUnderlyingReturnValue } } + set { confirmRecoveryKeyReturnValueLock.withLock { confirmRecoveryKeyUnderlyingReturnValue = newValue } } } var confirmRecoveryKeyClosure: ((String) async -> Result)? func confirmRecoveryKey(_ key: String) async -> Result { - confirmRecoveryKeyCallsCount += 1 + confirmRecoveryKeyCallsCountLock.withLock { confirmRecoveryKeyUnderlyingCallsCount += 1 } confirmRecoveryKeyReceivedKey = key - DispatchQueue.main.async { - self.confirmRecoveryKeyReceivedInvocations.append(key) - } + confirmRecoveryKeyReceivedInvocationsLock.withLock { confirmRecoveryKeyUnderlyingReceivedInvocations.append(key) } if let confirmRecoveryKeyClosure = confirmRecoveryKeyClosure { return await confirmRecoveryKeyClosure(key) } else { @@ -18479,68 +11055,40 @@ class SecureBackupControllerMock: SecureBackupControllerProtocol, @unchecked Sen } //MARK: - waitForKeyBackupUpload - var waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount = 0 + private let waitForKeyBackupUploadUploadStateSubjectCallsCountLock = NSLock() + private var waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount = 0 var waitForKeyBackupUploadUploadStateSubjectCallsCount: Int { - get { - if Thread.isMainThread { - return waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount = newValue - } - } - } + get { waitForKeyBackupUploadUploadStateSubjectCallsCountLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount } } + set { waitForKeyBackupUploadUploadStateSubjectCallsCountLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount = newValue } } } var waitForKeyBackupUploadUploadStateSubjectCalled: Bool { return waitForKeyBackupUploadUploadStateSubjectCallsCount > 0 } - var waitForKeyBackupUploadUploadStateSubjectReceivedUploadStateSubject: CurrentValueSubject? - var waitForKeyBackupUploadUploadStateSubjectReceivedInvocations: [CurrentValueSubject] = [] + private let waitForKeyBackupUploadUploadStateSubjectReceivedUploadStateSubjectLock = NSLock() + private var waitForKeyBackupUploadUploadStateSubjectUnderlyingReceivedUploadStateSubject: CurrentValueSubject? + var waitForKeyBackupUploadUploadStateSubjectReceivedUploadStateSubject: CurrentValueSubject? { + get { waitForKeyBackupUploadUploadStateSubjectReceivedUploadStateSubjectLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingReceivedUploadStateSubject } } + set { waitForKeyBackupUploadUploadStateSubjectReceivedUploadStateSubjectLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingReceivedUploadStateSubject = newValue } } + } + private let waitForKeyBackupUploadUploadStateSubjectReceivedInvocationsLock = NSLock() + private var waitForKeyBackupUploadUploadStateSubjectUnderlyingReceivedInvocations: [CurrentValueSubject] = [] + var waitForKeyBackupUploadUploadStateSubjectReceivedInvocations: [CurrentValueSubject] { + get { waitForKeyBackupUploadUploadStateSubjectReceivedInvocationsLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingReceivedInvocations } } + set { waitForKeyBackupUploadUploadStateSubjectReceivedInvocationsLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingReceivedInvocations = newValue } } + } - var waitForKeyBackupUploadUploadStateSubjectUnderlyingReturnValue: Result! + private let waitForKeyBackupUploadUploadStateSubjectReturnValueLock = NSLock() + private var waitForKeyBackupUploadUploadStateSubjectUnderlyingReturnValue: Result! var waitForKeyBackupUploadUploadStateSubjectReturnValue: Result! { - get { - if Thread.isMainThread { - return waitForKeyBackupUploadUploadStateSubjectUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = waitForKeyBackupUploadUploadStateSubjectUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - waitForKeyBackupUploadUploadStateSubjectUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - waitForKeyBackupUploadUploadStateSubjectUnderlyingReturnValue = newValue - } - } - } + get { waitForKeyBackupUploadUploadStateSubjectReturnValueLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingReturnValue } } + set { waitForKeyBackupUploadUploadStateSubjectReturnValueLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingReturnValue = newValue } } } var waitForKeyBackupUploadUploadStateSubjectClosure: ((CurrentValueSubject) async -> Result)? func waitForKeyBackupUpload(uploadStateSubject: CurrentValueSubject) async -> Result { - waitForKeyBackupUploadUploadStateSubjectCallsCount += 1 + waitForKeyBackupUploadUploadStateSubjectCallsCountLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingCallsCount += 1 } waitForKeyBackupUploadUploadStateSubjectReceivedUploadStateSubject = uploadStateSubject - DispatchQueue.main.async { - self.waitForKeyBackupUploadUploadStateSubjectReceivedInvocations.append(uploadStateSubject) - } + waitForKeyBackupUploadUploadStateSubjectReceivedInvocationsLock.withLock { waitForKeyBackupUploadUploadStateSubjectUnderlyingReceivedInvocations.append(uploadStateSubject) } if let waitForKeyBackupUploadUploadStateSubjectClosure = waitForKeyBackupUploadUploadStateSubjectClosure { return await waitForKeyBackupUploadUploadStateSubjectClosure(uploadStateSubject) } else { @@ -18557,68 +11105,40 @@ class SessionVerificationControllerProxyMock: SessionVerificationControllerProxy //MARK: - acknowledgeVerificationRequest - var acknowledgeVerificationRequestDetailsUnderlyingCallsCount = 0 + private let acknowledgeVerificationRequestDetailsCallsCountLock = NSLock() + private var acknowledgeVerificationRequestDetailsUnderlyingCallsCount = 0 var acknowledgeVerificationRequestDetailsCallsCount: Int { - get { - if Thread.isMainThread { - return acknowledgeVerificationRequestDetailsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = acknowledgeVerificationRequestDetailsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acknowledgeVerificationRequestDetailsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - acknowledgeVerificationRequestDetailsUnderlyingCallsCount = newValue - } - } - } + get { acknowledgeVerificationRequestDetailsCallsCountLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingCallsCount } } + set { acknowledgeVerificationRequestDetailsCallsCountLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingCallsCount = newValue } } } var acknowledgeVerificationRequestDetailsCalled: Bool { return acknowledgeVerificationRequestDetailsCallsCount > 0 } - var acknowledgeVerificationRequestDetailsReceivedDetails: SessionVerificationRequestDetails? - var acknowledgeVerificationRequestDetailsReceivedInvocations: [SessionVerificationRequestDetails] = [] + private let acknowledgeVerificationRequestDetailsReceivedDetailsLock = NSLock() + private var acknowledgeVerificationRequestDetailsUnderlyingReceivedDetails: SessionVerificationRequestDetails? + var acknowledgeVerificationRequestDetailsReceivedDetails: SessionVerificationRequestDetails? { + get { acknowledgeVerificationRequestDetailsReceivedDetailsLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingReceivedDetails } } + set { acknowledgeVerificationRequestDetailsReceivedDetailsLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingReceivedDetails = newValue } } + } + private let acknowledgeVerificationRequestDetailsReceivedInvocationsLock = NSLock() + private var acknowledgeVerificationRequestDetailsUnderlyingReceivedInvocations: [SessionVerificationRequestDetails] = [] + var acknowledgeVerificationRequestDetailsReceivedInvocations: [SessionVerificationRequestDetails] { + get { acknowledgeVerificationRequestDetailsReceivedInvocationsLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingReceivedInvocations } } + set { acknowledgeVerificationRequestDetailsReceivedInvocationsLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingReceivedInvocations = newValue } } + } - var acknowledgeVerificationRequestDetailsUnderlyingReturnValue: Result! + private let acknowledgeVerificationRequestDetailsReturnValueLock = NSLock() + private var acknowledgeVerificationRequestDetailsUnderlyingReturnValue: Result! var acknowledgeVerificationRequestDetailsReturnValue: Result! { - get { - if Thread.isMainThread { - return acknowledgeVerificationRequestDetailsUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = acknowledgeVerificationRequestDetailsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acknowledgeVerificationRequestDetailsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - acknowledgeVerificationRequestDetailsUnderlyingReturnValue = newValue - } - } - } + get { acknowledgeVerificationRequestDetailsReturnValueLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingReturnValue } } + set { acknowledgeVerificationRequestDetailsReturnValueLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingReturnValue = newValue } } } var acknowledgeVerificationRequestDetailsClosure: ((SessionVerificationRequestDetails) async -> Result)? func acknowledgeVerificationRequest(details: SessionVerificationRequestDetails) async -> Result { - acknowledgeVerificationRequestDetailsCallsCount += 1 + acknowledgeVerificationRequestDetailsCallsCountLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingCallsCount += 1 } acknowledgeVerificationRequestDetailsReceivedDetails = details - DispatchQueue.main.async { - self.acknowledgeVerificationRequestDetailsReceivedInvocations.append(details) - } + acknowledgeVerificationRequestDetailsReceivedInvocationsLock.withLock { acknowledgeVerificationRequestDetailsUnderlyingReceivedInvocations.append(details) } if let acknowledgeVerificationRequestDetailsClosure = acknowledgeVerificationRequestDetailsClosure { return await acknowledgeVerificationRequestDetailsClosure(details) } else { @@ -18627,62 +11147,26 @@ class SessionVerificationControllerProxyMock: SessionVerificationControllerProxy } //MARK: - acceptVerificationRequest - var acceptVerificationRequestUnderlyingCallsCount = 0 + private let acceptVerificationRequestCallsCountLock = NSLock() + private var acceptVerificationRequestUnderlyingCallsCount = 0 var acceptVerificationRequestCallsCount: Int { - get { - if Thread.isMainThread { - return acceptVerificationRequestUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = acceptVerificationRequestUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acceptVerificationRequestUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - acceptVerificationRequestUnderlyingCallsCount = newValue - } - } - } + get { acceptVerificationRequestCallsCountLock.withLock { acceptVerificationRequestUnderlyingCallsCount } } + set { acceptVerificationRequestCallsCountLock.withLock { acceptVerificationRequestUnderlyingCallsCount = newValue } } } var acceptVerificationRequestCalled: Bool { return acceptVerificationRequestCallsCount > 0 } - var acceptVerificationRequestUnderlyingReturnValue: Result! + private let acceptVerificationRequestReturnValueLock = NSLock() + private var acceptVerificationRequestUnderlyingReturnValue: Result! var acceptVerificationRequestReturnValue: Result! { - get { - if Thread.isMainThread { - return acceptVerificationRequestUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = acceptVerificationRequestUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acceptVerificationRequestUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - acceptVerificationRequestUnderlyingReturnValue = newValue - } - } - } + get { acceptVerificationRequestReturnValueLock.withLock { acceptVerificationRequestUnderlyingReturnValue } } + set { acceptVerificationRequestReturnValueLock.withLock { acceptVerificationRequestUnderlyingReturnValue = newValue } } } var acceptVerificationRequestClosure: (() async -> Result)? func acceptVerificationRequest() async -> Result { - acceptVerificationRequestCallsCount += 1 + acceptVerificationRequestCallsCountLock.withLock { acceptVerificationRequestUnderlyingCallsCount += 1 } if let acceptVerificationRequestClosure = acceptVerificationRequestClosure { return await acceptVerificationRequestClosure() } else { @@ -18691,62 +11175,26 @@ class SessionVerificationControllerProxyMock: SessionVerificationControllerProxy } //MARK: - requestDeviceVerification - var requestDeviceVerificationUnderlyingCallsCount = 0 + private let requestDeviceVerificationCallsCountLock = NSLock() + private var requestDeviceVerificationUnderlyingCallsCount = 0 var requestDeviceVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return requestDeviceVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestDeviceVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestDeviceVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestDeviceVerificationUnderlyingCallsCount = newValue - } - } - } + get { requestDeviceVerificationCallsCountLock.withLock { requestDeviceVerificationUnderlyingCallsCount } } + set { requestDeviceVerificationCallsCountLock.withLock { requestDeviceVerificationUnderlyingCallsCount = newValue } } } var requestDeviceVerificationCalled: Bool { return requestDeviceVerificationCallsCount > 0 } - var requestDeviceVerificationUnderlyingReturnValue: Result! + private let requestDeviceVerificationReturnValueLock = NSLock() + private var requestDeviceVerificationUnderlyingReturnValue: Result! var requestDeviceVerificationReturnValue: Result! { - get { - if Thread.isMainThread { - return requestDeviceVerificationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = requestDeviceVerificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestDeviceVerificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - requestDeviceVerificationUnderlyingReturnValue = newValue - } - } - } + get { requestDeviceVerificationReturnValueLock.withLock { requestDeviceVerificationUnderlyingReturnValue } } + set { requestDeviceVerificationReturnValueLock.withLock { requestDeviceVerificationUnderlyingReturnValue = newValue } } } var requestDeviceVerificationClosure: (() async -> Result)? func requestDeviceVerification() async -> Result { - requestDeviceVerificationCallsCount += 1 + requestDeviceVerificationCallsCountLock.withLock { requestDeviceVerificationUnderlyingCallsCount += 1 } if let requestDeviceVerificationClosure = requestDeviceVerificationClosure { return await requestDeviceVerificationClosure() } else { @@ -18755,68 +11203,40 @@ class SessionVerificationControllerProxyMock: SessionVerificationControllerProxy } //MARK: - requestUserVerification - var requestUserVerificationUnderlyingCallsCount = 0 + private let requestUserVerificationCallsCountLock = NSLock() + private var requestUserVerificationUnderlyingCallsCount = 0 var requestUserVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return requestUserVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestUserVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestUserVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestUserVerificationUnderlyingCallsCount = newValue - } - } - } + get { requestUserVerificationCallsCountLock.withLock { requestUserVerificationUnderlyingCallsCount } } + set { requestUserVerificationCallsCountLock.withLock { requestUserVerificationUnderlyingCallsCount = newValue } } } var requestUserVerificationCalled: Bool { return requestUserVerificationCallsCount > 0 } - var requestUserVerificationReceivedUserID: String? - var requestUserVerificationReceivedInvocations: [String] = [] + private let requestUserVerificationReceivedUserIDLock = NSLock() + private var requestUserVerificationUnderlyingReceivedUserID: String? + var requestUserVerificationReceivedUserID: String? { + get { requestUserVerificationReceivedUserIDLock.withLock { requestUserVerificationUnderlyingReceivedUserID } } + set { requestUserVerificationReceivedUserIDLock.withLock { requestUserVerificationUnderlyingReceivedUserID = newValue } } + } + private let requestUserVerificationReceivedInvocationsLock = NSLock() + private var requestUserVerificationUnderlyingReceivedInvocations: [String] = [] + var requestUserVerificationReceivedInvocations: [String] { + get { requestUserVerificationReceivedInvocationsLock.withLock { requestUserVerificationUnderlyingReceivedInvocations } } + set { requestUserVerificationReceivedInvocationsLock.withLock { requestUserVerificationUnderlyingReceivedInvocations = newValue } } + } - var requestUserVerificationUnderlyingReturnValue: Result! + private let requestUserVerificationReturnValueLock = NSLock() + private var requestUserVerificationUnderlyingReturnValue: Result! var requestUserVerificationReturnValue: Result! { - get { - if Thread.isMainThread { - return requestUserVerificationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = requestUserVerificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestUserVerificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - requestUserVerificationUnderlyingReturnValue = newValue - } - } - } + get { requestUserVerificationReturnValueLock.withLock { requestUserVerificationUnderlyingReturnValue } } + set { requestUserVerificationReturnValueLock.withLock { requestUserVerificationUnderlyingReturnValue = newValue } } } var requestUserVerificationClosure: ((String) async -> Result)? func requestUserVerification(_ userID: String) async -> Result { - requestUserVerificationCallsCount += 1 + requestUserVerificationCallsCountLock.withLock { requestUserVerificationUnderlyingCallsCount += 1 } requestUserVerificationReceivedUserID = userID - DispatchQueue.main.async { - self.requestUserVerificationReceivedInvocations.append(userID) - } + requestUserVerificationReceivedInvocationsLock.withLock { requestUserVerificationUnderlyingReceivedInvocations.append(userID) } if let requestUserVerificationClosure = requestUserVerificationClosure { return await requestUserVerificationClosure(userID) } else { @@ -18825,62 +11245,26 @@ class SessionVerificationControllerProxyMock: SessionVerificationControllerProxy } //MARK: - startSasVerification - var startSasVerificationUnderlyingCallsCount = 0 + private let startSasVerificationCallsCountLock = NSLock() + private var startSasVerificationUnderlyingCallsCount = 0 var startSasVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return startSasVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startSasVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startSasVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startSasVerificationUnderlyingCallsCount = newValue - } - } - } + get { startSasVerificationCallsCountLock.withLock { startSasVerificationUnderlyingCallsCount } } + set { startSasVerificationCallsCountLock.withLock { startSasVerificationUnderlyingCallsCount = newValue } } } var startSasVerificationCalled: Bool { return startSasVerificationCallsCount > 0 } - var startSasVerificationUnderlyingReturnValue: Result! + private let startSasVerificationReturnValueLock = NSLock() + private var startSasVerificationUnderlyingReturnValue: Result! var startSasVerificationReturnValue: Result! { - get { - if Thread.isMainThread { - return startSasVerificationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = startSasVerificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startSasVerificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - startSasVerificationUnderlyingReturnValue = newValue - } - } - } + get { startSasVerificationReturnValueLock.withLock { startSasVerificationUnderlyingReturnValue } } + set { startSasVerificationReturnValueLock.withLock { startSasVerificationUnderlyingReturnValue = newValue } } } var startSasVerificationClosure: (() async -> Result)? func startSasVerification() async -> Result { - startSasVerificationCallsCount += 1 + startSasVerificationCallsCountLock.withLock { startSasVerificationUnderlyingCallsCount += 1 } if let startSasVerificationClosure = startSasVerificationClosure { return await startSasVerificationClosure() } else { @@ -18889,62 +11273,26 @@ class SessionVerificationControllerProxyMock: SessionVerificationControllerProxy } //MARK: - approveVerification - var approveVerificationUnderlyingCallsCount = 0 + private let approveVerificationCallsCountLock = NSLock() + private var approveVerificationUnderlyingCallsCount = 0 var approveVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return approveVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = approveVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - approveVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - approveVerificationUnderlyingCallsCount = newValue - } - } - } + get { approveVerificationCallsCountLock.withLock { approveVerificationUnderlyingCallsCount } } + set { approveVerificationCallsCountLock.withLock { approveVerificationUnderlyingCallsCount = newValue } } } var approveVerificationCalled: Bool { return approveVerificationCallsCount > 0 } - var approveVerificationUnderlyingReturnValue: Result! + private let approveVerificationReturnValueLock = NSLock() + private var approveVerificationUnderlyingReturnValue: Result! var approveVerificationReturnValue: Result! { - get { - if Thread.isMainThread { - return approveVerificationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = approveVerificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - approveVerificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - approveVerificationUnderlyingReturnValue = newValue - } - } - } + get { approveVerificationReturnValueLock.withLock { approveVerificationUnderlyingReturnValue } } + set { approveVerificationReturnValueLock.withLock { approveVerificationUnderlyingReturnValue = newValue } } } var approveVerificationClosure: (() async -> Result)? func approveVerification() async -> Result { - approveVerificationCallsCount += 1 + approveVerificationCallsCountLock.withLock { approveVerificationUnderlyingCallsCount += 1 } if let approveVerificationClosure = approveVerificationClosure { return await approveVerificationClosure() } else { @@ -18953,62 +11301,26 @@ class SessionVerificationControllerProxyMock: SessionVerificationControllerProxy } //MARK: - declineVerification - var declineVerificationUnderlyingCallsCount = 0 + private let declineVerificationCallsCountLock = NSLock() + private var declineVerificationUnderlyingCallsCount = 0 var declineVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return declineVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = declineVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - declineVerificationUnderlyingCallsCount = newValue - } - } - } + get { declineVerificationCallsCountLock.withLock { declineVerificationUnderlyingCallsCount } } + set { declineVerificationCallsCountLock.withLock { declineVerificationUnderlyingCallsCount = newValue } } } var declineVerificationCalled: Bool { return declineVerificationCallsCount > 0 } - var declineVerificationUnderlyingReturnValue: Result! + private let declineVerificationReturnValueLock = NSLock() + private var declineVerificationUnderlyingReturnValue: Result! var declineVerificationReturnValue: Result! { - get { - if Thread.isMainThread { - return declineVerificationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = declineVerificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineVerificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - declineVerificationUnderlyingReturnValue = newValue - } - } - } + get { declineVerificationReturnValueLock.withLock { declineVerificationUnderlyingReturnValue } } + set { declineVerificationReturnValueLock.withLock { declineVerificationUnderlyingReturnValue = newValue } } } var declineVerificationClosure: (() async -> Result)? func declineVerification() async -> Result { - declineVerificationCallsCount += 1 + declineVerificationCallsCountLock.withLock { declineVerificationUnderlyingCallsCount += 1 } if let declineVerificationClosure = declineVerificationClosure { return await declineVerificationClosure() } else { @@ -19017,62 +11329,26 @@ class SessionVerificationControllerProxyMock: SessionVerificationControllerProxy } //MARK: - cancelVerification - var cancelVerificationUnderlyingCallsCount = 0 + private let cancelVerificationCallsCountLock = NSLock() + private var cancelVerificationUnderlyingCallsCount = 0 var cancelVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return cancelVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cancelVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cancelVerificationUnderlyingCallsCount = newValue - } - } - } + get { cancelVerificationCallsCountLock.withLock { cancelVerificationUnderlyingCallsCount } } + set { cancelVerificationCallsCountLock.withLock { cancelVerificationUnderlyingCallsCount = newValue } } } var cancelVerificationCalled: Bool { return cancelVerificationCallsCount > 0 } - var cancelVerificationUnderlyingReturnValue: Result! + private let cancelVerificationReturnValueLock = NSLock() + private var cancelVerificationUnderlyingReturnValue: Result! var cancelVerificationReturnValue: Result! { - get { - if Thread.isMainThread { - return cancelVerificationUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = cancelVerificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelVerificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - cancelVerificationUnderlyingReturnValue = newValue - } - } - } + get { cancelVerificationReturnValueLock.withLock { cancelVerificationUnderlyingReturnValue } } + set { cancelVerificationReturnValueLock.withLock { cancelVerificationUnderlyingReturnValue = newValue } } } var cancelVerificationClosure: (() async -> Result)? func cancelVerification() async -> Result { - cancelVerificationCallsCount += 1 + cancelVerificationCallsCountLock.withLock { cancelVerificationUnderlyingCallsCount += 1 } if let cancelVerificationClosure = cancelVerificationClosure { return await cancelVerificationClosure() } else { @@ -19104,29 +11380,11 @@ class SpaceRoomListProxyMock: SpaceRoomListProxyProtocol, @unchecked Sendable { //MARK: - paginate - var paginateUnderlyingCallsCount = 0 + private let paginateCallsCountLock = NSLock() + private var paginateUnderlyingCallsCount = 0 var paginateCallsCount: Int { - get { - if Thread.isMainThread { - return paginateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateUnderlyingCallsCount = newValue - } - } - } + get { paginateCallsCountLock.withLock { paginateUnderlyingCallsCount } } + set { paginateCallsCountLock.withLock { paginateUnderlyingCallsCount = newValue } } } var paginateCalled: Bool { return paginateCallsCount > 0 @@ -19134,34 +11392,16 @@ class SpaceRoomListProxyMock: SpaceRoomListProxyProtocol, @unchecked Sendable { var paginateClosure: (() async -> Void)? func paginate() async { - paginateCallsCount += 1 + paginateCallsCountLock.withLock { paginateUnderlyingCallsCount += 1 } await paginateClosure?() } //MARK: - reset - var resetUnderlyingCallsCount = 0 + private let resetCallsCountLock = NSLock() + private var resetUnderlyingCallsCount = 0 var resetCallsCount: Int { - get { - if Thread.isMainThread { - return resetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetUnderlyingCallsCount = newValue - } - } - } + get { resetCallsCountLock.withLock { resetUnderlyingCallsCount } } + set { resetCallsCountLock.withLock { resetUnderlyingCallsCount = newValue } } } var resetCalled: Bool { return resetCallsCount > 0 @@ -19169,7 +11409,7 @@ class SpaceRoomListProxyMock: SpaceRoomListProxyProtocol, @unchecked Sendable { var resetClosure: (() async -> Void)? func reset() async { - resetCallsCount += 1 + resetCallsCountLock.withLock { resetUnderlyingCallsCount += 1 } await resetClosure?() } } @@ -19187,68 +11427,40 @@ class SpaceServiceProxyMock: SpaceServiceProxyProtocol, @unchecked Sendable { //MARK: - spaceRoomList - var spaceRoomListSpaceIDUnderlyingCallsCount = 0 + private let spaceRoomListSpaceIDCallsCountLock = NSLock() + private var spaceRoomListSpaceIDUnderlyingCallsCount = 0 var spaceRoomListSpaceIDCallsCount: Int { - get { - if Thread.isMainThread { - return spaceRoomListSpaceIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = spaceRoomListSpaceIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceRoomListSpaceIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - spaceRoomListSpaceIDUnderlyingCallsCount = newValue - } - } - } + get { spaceRoomListSpaceIDCallsCountLock.withLock { spaceRoomListSpaceIDUnderlyingCallsCount } } + set { spaceRoomListSpaceIDCallsCountLock.withLock { spaceRoomListSpaceIDUnderlyingCallsCount = newValue } } } var spaceRoomListSpaceIDCalled: Bool { return spaceRoomListSpaceIDCallsCount > 0 } - var spaceRoomListSpaceIDReceivedSpaceID: String? - var spaceRoomListSpaceIDReceivedInvocations: [String] = [] + private let spaceRoomListSpaceIDReceivedSpaceIDLock = NSLock() + private var spaceRoomListSpaceIDUnderlyingReceivedSpaceID: String? + var spaceRoomListSpaceIDReceivedSpaceID: String? { + get { spaceRoomListSpaceIDReceivedSpaceIDLock.withLock { spaceRoomListSpaceIDUnderlyingReceivedSpaceID } } + set { spaceRoomListSpaceIDReceivedSpaceIDLock.withLock { spaceRoomListSpaceIDUnderlyingReceivedSpaceID = newValue } } + } + private let spaceRoomListSpaceIDReceivedInvocationsLock = NSLock() + private var spaceRoomListSpaceIDUnderlyingReceivedInvocations: [String] = [] + var spaceRoomListSpaceIDReceivedInvocations: [String] { + get { spaceRoomListSpaceIDReceivedInvocationsLock.withLock { spaceRoomListSpaceIDUnderlyingReceivedInvocations } } + set { spaceRoomListSpaceIDReceivedInvocationsLock.withLock { spaceRoomListSpaceIDUnderlyingReceivedInvocations = newValue } } + } - var spaceRoomListSpaceIDUnderlyingReturnValue: Result! + private let spaceRoomListSpaceIDReturnValueLock = NSLock() + private var spaceRoomListSpaceIDUnderlyingReturnValue: Result! var spaceRoomListSpaceIDReturnValue: Result! { - get { - if Thread.isMainThread { - return spaceRoomListSpaceIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = spaceRoomListSpaceIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceRoomListSpaceIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - spaceRoomListSpaceIDUnderlyingReturnValue = newValue - } - } - } + get { spaceRoomListSpaceIDReturnValueLock.withLock { spaceRoomListSpaceIDUnderlyingReturnValue } } + set { spaceRoomListSpaceIDReturnValueLock.withLock { spaceRoomListSpaceIDUnderlyingReturnValue = newValue } } } var spaceRoomListSpaceIDClosure: ((String) async -> Result)? func spaceRoomList(spaceID: String) async -> Result { - spaceRoomListSpaceIDCallsCount += 1 + spaceRoomListSpaceIDCallsCountLock.withLock { spaceRoomListSpaceIDUnderlyingCallsCount += 1 } spaceRoomListSpaceIDReceivedSpaceID = spaceID - DispatchQueue.main.async { - self.spaceRoomListSpaceIDReceivedInvocations.append(spaceID) - } + spaceRoomListSpaceIDReceivedInvocationsLock.withLock { spaceRoomListSpaceIDUnderlyingReceivedInvocations.append(spaceID) } if let spaceRoomListSpaceIDClosure = spaceRoomListSpaceIDClosure { return await spaceRoomListSpaceIDClosure(spaceID) } else { @@ -19257,68 +11469,40 @@ class SpaceServiceProxyMock: SpaceServiceProxyProtocol, @unchecked Sendable { } //MARK: - spaceForIdentifier - var spaceForIdentifierSpaceIDUnderlyingCallsCount = 0 + private let spaceForIdentifierSpaceIDCallsCountLock = NSLock() + private var spaceForIdentifierSpaceIDUnderlyingCallsCount = 0 var spaceForIdentifierSpaceIDCallsCount: Int { - get { - if Thread.isMainThread { - return spaceForIdentifierSpaceIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = spaceForIdentifierSpaceIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceForIdentifierSpaceIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - spaceForIdentifierSpaceIDUnderlyingCallsCount = newValue - } - } - } + get { spaceForIdentifierSpaceIDCallsCountLock.withLock { spaceForIdentifierSpaceIDUnderlyingCallsCount } } + set { spaceForIdentifierSpaceIDCallsCountLock.withLock { spaceForIdentifierSpaceIDUnderlyingCallsCount = newValue } } } var spaceForIdentifierSpaceIDCalled: Bool { return spaceForIdentifierSpaceIDCallsCount > 0 } - var spaceForIdentifierSpaceIDReceivedSpaceID: String? - var spaceForIdentifierSpaceIDReceivedInvocations: [String] = [] + private let spaceForIdentifierSpaceIDReceivedSpaceIDLock = NSLock() + private var spaceForIdentifierSpaceIDUnderlyingReceivedSpaceID: String? + var spaceForIdentifierSpaceIDReceivedSpaceID: String? { + get { spaceForIdentifierSpaceIDReceivedSpaceIDLock.withLock { spaceForIdentifierSpaceIDUnderlyingReceivedSpaceID } } + set { spaceForIdentifierSpaceIDReceivedSpaceIDLock.withLock { spaceForIdentifierSpaceIDUnderlyingReceivedSpaceID = newValue } } + } + private let spaceForIdentifierSpaceIDReceivedInvocationsLock = NSLock() + private var spaceForIdentifierSpaceIDUnderlyingReceivedInvocations: [String] = [] + var spaceForIdentifierSpaceIDReceivedInvocations: [String] { + get { spaceForIdentifierSpaceIDReceivedInvocationsLock.withLock { spaceForIdentifierSpaceIDUnderlyingReceivedInvocations } } + set { spaceForIdentifierSpaceIDReceivedInvocationsLock.withLock { spaceForIdentifierSpaceIDUnderlyingReceivedInvocations = newValue } } + } - var spaceForIdentifierSpaceIDUnderlyingReturnValue: Result! + private let spaceForIdentifierSpaceIDReturnValueLock = NSLock() + private var spaceForIdentifierSpaceIDUnderlyingReturnValue: Result! var spaceForIdentifierSpaceIDReturnValue: Result! { - get { - if Thread.isMainThread { - return spaceForIdentifierSpaceIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = spaceForIdentifierSpaceIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceForIdentifierSpaceIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - spaceForIdentifierSpaceIDUnderlyingReturnValue = newValue - } - } - } + get { spaceForIdentifierSpaceIDReturnValueLock.withLock { spaceForIdentifierSpaceIDUnderlyingReturnValue } } + set { spaceForIdentifierSpaceIDReturnValueLock.withLock { spaceForIdentifierSpaceIDUnderlyingReturnValue = newValue } } } var spaceForIdentifierSpaceIDClosure: ((String) async -> Result)? func spaceForIdentifier(spaceID: String) async -> Result { - spaceForIdentifierSpaceIDCallsCount += 1 + spaceForIdentifierSpaceIDCallsCountLock.withLock { spaceForIdentifierSpaceIDUnderlyingCallsCount += 1 } spaceForIdentifierSpaceIDReceivedSpaceID = spaceID - DispatchQueue.main.async { - self.spaceForIdentifierSpaceIDReceivedInvocations.append(spaceID) - } + spaceForIdentifierSpaceIDReceivedInvocationsLock.withLock { spaceForIdentifierSpaceIDUnderlyingReceivedInvocations.append(spaceID) } if let spaceForIdentifierSpaceIDClosure = spaceForIdentifierSpaceIDClosure { return await spaceForIdentifierSpaceIDClosure(spaceID) } else { @@ -19327,68 +11511,40 @@ class SpaceServiceProxyMock: SpaceServiceProxyProtocol, @unchecked Sendable { } //MARK: - leaveSpace - var leaveSpaceSpaceIDUnderlyingCallsCount = 0 + private let leaveSpaceSpaceIDCallsCountLock = NSLock() + private var leaveSpaceSpaceIDUnderlyingCallsCount = 0 var leaveSpaceSpaceIDCallsCount: Int { - get { - if Thread.isMainThread { - return leaveSpaceSpaceIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = leaveSpaceSpaceIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveSpaceSpaceIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - leaveSpaceSpaceIDUnderlyingCallsCount = newValue - } - } - } + get { leaveSpaceSpaceIDCallsCountLock.withLock { leaveSpaceSpaceIDUnderlyingCallsCount } } + set { leaveSpaceSpaceIDCallsCountLock.withLock { leaveSpaceSpaceIDUnderlyingCallsCount = newValue } } } var leaveSpaceSpaceIDCalled: Bool { return leaveSpaceSpaceIDCallsCount > 0 } - var leaveSpaceSpaceIDReceivedSpaceID: String? - var leaveSpaceSpaceIDReceivedInvocations: [String] = [] + private let leaveSpaceSpaceIDReceivedSpaceIDLock = NSLock() + private var leaveSpaceSpaceIDUnderlyingReceivedSpaceID: String? + var leaveSpaceSpaceIDReceivedSpaceID: String? { + get { leaveSpaceSpaceIDReceivedSpaceIDLock.withLock { leaveSpaceSpaceIDUnderlyingReceivedSpaceID } } + set { leaveSpaceSpaceIDReceivedSpaceIDLock.withLock { leaveSpaceSpaceIDUnderlyingReceivedSpaceID = newValue } } + } + private let leaveSpaceSpaceIDReceivedInvocationsLock = NSLock() + private var leaveSpaceSpaceIDUnderlyingReceivedInvocations: [String] = [] + var leaveSpaceSpaceIDReceivedInvocations: [String] { + get { leaveSpaceSpaceIDReceivedInvocationsLock.withLock { leaveSpaceSpaceIDUnderlyingReceivedInvocations } } + set { leaveSpaceSpaceIDReceivedInvocationsLock.withLock { leaveSpaceSpaceIDUnderlyingReceivedInvocations = newValue } } + } - var leaveSpaceSpaceIDUnderlyingReturnValue: Result! + private let leaveSpaceSpaceIDReturnValueLock = NSLock() + private var leaveSpaceSpaceIDUnderlyingReturnValue: Result! var leaveSpaceSpaceIDReturnValue: Result! { - get { - if Thread.isMainThread { - return leaveSpaceSpaceIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = leaveSpaceSpaceIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveSpaceSpaceIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - leaveSpaceSpaceIDUnderlyingReturnValue = newValue - } - } - } + get { leaveSpaceSpaceIDReturnValueLock.withLock { leaveSpaceSpaceIDUnderlyingReturnValue } } + set { leaveSpaceSpaceIDReturnValueLock.withLock { leaveSpaceSpaceIDUnderlyingReturnValue = newValue } } } var leaveSpaceSpaceIDClosure: ((String) async -> Result)? func leaveSpace(spaceID: String) async -> Result { - leaveSpaceSpaceIDCallsCount += 1 + leaveSpaceSpaceIDCallsCountLock.withLock { leaveSpaceSpaceIDUnderlyingCallsCount += 1 } leaveSpaceSpaceIDReceivedSpaceID = spaceID - DispatchQueue.main.async { - self.leaveSpaceSpaceIDReceivedInvocations.append(spaceID) - } + leaveSpaceSpaceIDReceivedInvocationsLock.withLock { leaveSpaceSpaceIDUnderlyingReceivedInvocations.append(spaceID) } if let leaveSpaceSpaceIDClosure = leaveSpaceSpaceIDClosure { return await leaveSpaceSpaceIDClosure(spaceID) } else { @@ -19397,68 +11553,40 @@ class SpaceServiceProxyMock: SpaceServiceProxyProtocol, @unchecked Sendable { } //MARK: - joinedParents - var joinedParentsChildIDUnderlyingCallsCount = 0 + private let joinedParentsChildIDCallsCountLock = NSLock() + private var joinedParentsChildIDUnderlyingCallsCount = 0 var joinedParentsChildIDCallsCount: Int { - get { - if Thread.isMainThread { - return joinedParentsChildIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinedParentsChildIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinedParentsChildIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinedParentsChildIDUnderlyingCallsCount = newValue - } - } - } + get { joinedParentsChildIDCallsCountLock.withLock { joinedParentsChildIDUnderlyingCallsCount } } + set { joinedParentsChildIDCallsCountLock.withLock { joinedParentsChildIDUnderlyingCallsCount = newValue } } } var joinedParentsChildIDCalled: Bool { return joinedParentsChildIDCallsCount > 0 } - var joinedParentsChildIDReceivedChildID: String? - var joinedParentsChildIDReceivedInvocations: [String] = [] + private let joinedParentsChildIDReceivedChildIDLock = NSLock() + private var joinedParentsChildIDUnderlyingReceivedChildID: String? + var joinedParentsChildIDReceivedChildID: String? { + get { joinedParentsChildIDReceivedChildIDLock.withLock { joinedParentsChildIDUnderlyingReceivedChildID } } + set { joinedParentsChildIDReceivedChildIDLock.withLock { joinedParentsChildIDUnderlyingReceivedChildID = newValue } } + } + private let joinedParentsChildIDReceivedInvocationsLock = NSLock() + private var joinedParentsChildIDUnderlyingReceivedInvocations: [String] = [] + var joinedParentsChildIDReceivedInvocations: [String] { + get { joinedParentsChildIDReceivedInvocationsLock.withLock { joinedParentsChildIDUnderlyingReceivedInvocations } } + set { joinedParentsChildIDReceivedInvocationsLock.withLock { joinedParentsChildIDUnderlyingReceivedInvocations = newValue } } + } - var joinedParentsChildIDUnderlyingReturnValue: Result<[SpaceServiceRoom], SpaceServiceProxyError>! + private let joinedParentsChildIDReturnValueLock = NSLock() + private var joinedParentsChildIDUnderlyingReturnValue: Result<[SpaceServiceRoom], SpaceServiceProxyError>! var joinedParentsChildIDReturnValue: Result<[SpaceServiceRoom], SpaceServiceProxyError>! { - get { - if Thread.isMainThread { - return joinedParentsChildIDUnderlyingReturnValue - } else { - var returnValue: Result<[SpaceServiceRoom], SpaceServiceProxyError>? = nil - DispatchQueue.main.sync { - returnValue = joinedParentsChildIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinedParentsChildIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - joinedParentsChildIDUnderlyingReturnValue = newValue - } - } - } + get { joinedParentsChildIDReturnValueLock.withLock { joinedParentsChildIDUnderlyingReturnValue } } + set { joinedParentsChildIDReturnValueLock.withLock { joinedParentsChildIDUnderlyingReturnValue = newValue } } } var joinedParentsChildIDClosure: ((String) async -> Result<[SpaceServiceRoom], SpaceServiceProxyError>)? func joinedParents(childID: String) async -> Result<[SpaceServiceRoom], SpaceServiceProxyError> { - joinedParentsChildIDCallsCount += 1 + joinedParentsChildIDCallsCountLock.withLock { joinedParentsChildIDUnderlyingCallsCount += 1 } joinedParentsChildIDReceivedChildID = childID - DispatchQueue.main.async { - self.joinedParentsChildIDReceivedInvocations.append(childID) - } + joinedParentsChildIDReceivedInvocationsLock.withLock { joinedParentsChildIDUnderlyingReceivedInvocations.append(childID) } if let joinedParentsChildIDClosure = joinedParentsChildIDClosure { return await joinedParentsChildIDClosure(childID) } else { @@ -19467,62 +11595,26 @@ class SpaceServiceProxyMock: SpaceServiceProxyProtocol, @unchecked Sendable { } //MARK: - editableSpaces - var editableSpacesUnderlyingCallsCount = 0 + private let editableSpacesCallsCountLock = NSLock() + private var editableSpacesUnderlyingCallsCount = 0 var editableSpacesCallsCount: Int { - get { - if Thread.isMainThread { - return editableSpacesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editableSpacesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editableSpacesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editableSpacesUnderlyingCallsCount = newValue - } - } - } + get { editableSpacesCallsCountLock.withLock { editableSpacesUnderlyingCallsCount } } + set { editableSpacesCallsCountLock.withLock { editableSpacesUnderlyingCallsCount = newValue } } } var editableSpacesCalled: Bool { return editableSpacesCallsCount > 0 } - var editableSpacesUnderlyingReturnValue: [SpaceServiceRoom]! + private let editableSpacesReturnValueLock = NSLock() + private var editableSpacesUnderlyingReturnValue: [SpaceServiceRoom]! var editableSpacesReturnValue: [SpaceServiceRoom]! { - get { - if Thread.isMainThread { - return editableSpacesUnderlyingReturnValue - } else { - var returnValue: [SpaceServiceRoom]? = nil - DispatchQueue.main.sync { - returnValue = editableSpacesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editableSpacesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - editableSpacesUnderlyingReturnValue = newValue - } - } - } + get { editableSpacesReturnValueLock.withLock { editableSpacesUnderlyingReturnValue } } + set { editableSpacesReturnValueLock.withLock { editableSpacesUnderlyingReturnValue = newValue } } } var editableSpacesClosure: (() async -> [SpaceServiceRoom])? func editableSpaces() async -> [SpaceServiceRoom] { - editableSpacesCallsCount += 1 + editableSpacesCallsCountLock.withLock { editableSpacesUnderlyingCallsCount += 1 } if let editableSpacesClosure = editableSpacesClosure { return await editableSpacesClosure() } else { @@ -19531,68 +11623,40 @@ class SpaceServiceProxyMock: SpaceServiceProxyProtocol, @unchecked Sendable { } //MARK: - addChild - var addChildToUnderlyingCallsCount = 0 + private let addChildToCallsCountLock = NSLock() + private var addChildToUnderlyingCallsCount = 0 var addChildToCallsCount: Int { - get { - if Thread.isMainThread { - return addChildToUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addChildToUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addChildToUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addChildToUnderlyingCallsCount = newValue - } - } - } + get { addChildToCallsCountLock.withLock { addChildToUnderlyingCallsCount } } + set { addChildToCallsCountLock.withLock { addChildToUnderlyingCallsCount = newValue } } } var addChildToCalled: Bool { return addChildToCallsCount > 0 } - var addChildToReceivedArguments: (childID: String, spaceID: String)? - var addChildToReceivedInvocations: [(childID: String, spaceID: String)] = [] + private let addChildToReceivedArgumentsLock = NSLock() + private var addChildToUnderlyingReceivedArguments: (childID: String, spaceID: String)? + var addChildToReceivedArguments: (childID: String, spaceID: String)? { + get { addChildToReceivedArgumentsLock.withLock { addChildToUnderlyingReceivedArguments } } + set { addChildToReceivedArgumentsLock.withLock { addChildToUnderlyingReceivedArguments = newValue } } + } + private let addChildToReceivedInvocationsLock = NSLock() + private var addChildToUnderlyingReceivedInvocations: [(childID: String, spaceID: String)] = [] + var addChildToReceivedInvocations: [(childID: String, spaceID: String)] { + get { addChildToReceivedInvocationsLock.withLock { addChildToUnderlyingReceivedInvocations } } + set { addChildToReceivedInvocationsLock.withLock { addChildToUnderlyingReceivedInvocations = newValue } } + } - var addChildToUnderlyingReturnValue: Result! + private let addChildToReturnValueLock = NSLock() + private var addChildToUnderlyingReturnValue: Result! var addChildToReturnValue: Result! { - get { - if Thread.isMainThread { - return addChildToUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = addChildToUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addChildToUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - addChildToUnderlyingReturnValue = newValue - } - } - } + get { addChildToReturnValueLock.withLock { addChildToUnderlyingReturnValue } } + set { addChildToReturnValueLock.withLock { addChildToUnderlyingReturnValue = newValue } } } var addChildToClosure: ((String, String) async -> Result)? func addChild(_ childID: String, to spaceID: String) async -> Result { - addChildToCallsCount += 1 + addChildToCallsCountLock.withLock { addChildToUnderlyingCallsCount += 1 } addChildToReceivedArguments = (childID: childID, spaceID: spaceID) - DispatchQueue.main.async { - self.addChildToReceivedInvocations.append((childID: childID, spaceID: spaceID)) - } + addChildToReceivedInvocationsLock.withLock { addChildToUnderlyingReceivedInvocations.append((childID: childID, spaceID: spaceID)) } if let addChildToClosure = addChildToClosure { return await addChildToClosure(childID, spaceID) } else { @@ -19601,68 +11665,40 @@ class SpaceServiceProxyMock: SpaceServiceProxyProtocol, @unchecked Sendable { } //MARK: - removeChild - var removeChildFromUnderlyingCallsCount = 0 + private let removeChildFromCallsCountLock = NSLock() + private var removeChildFromUnderlyingCallsCount = 0 var removeChildFromCallsCount: Int { - get { - if Thread.isMainThread { - return removeChildFromUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeChildFromUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeChildFromUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeChildFromUnderlyingCallsCount = newValue - } - } - } + get { removeChildFromCallsCountLock.withLock { removeChildFromUnderlyingCallsCount } } + set { removeChildFromCallsCountLock.withLock { removeChildFromUnderlyingCallsCount = newValue } } } var removeChildFromCalled: Bool { return removeChildFromCallsCount > 0 } - var removeChildFromReceivedArguments: (childID: String, spaceID: String)? - var removeChildFromReceivedInvocations: [(childID: String, spaceID: String)] = [] + private let removeChildFromReceivedArgumentsLock = NSLock() + private var removeChildFromUnderlyingReceivedArguments: (childID: String, spaceID: String)? + var removeChildFromReceivedArguments: (childID: String, spaceID: String)? { + get { removeChildFromReceivedArgumentsLock.withLock { removeChildFromUnderlyingReceivedArguments } } + set { removeChildFromReceivedArgumentsLock.withLock { removeChildFromUnderlyingReceivedArguments = newValue } } + } + private let removeChildFromReceivedInvocationsLock = NSLock() + private var removeChildFromUnderlyingReceivedInvocations: [(childID: String, spaceID: String)] = [] + var removeChildFromReceivedInvocations: [(childID: String, spaceID: String)] { + get { removeChildFromReceivedInvocationsLock.withLock { removeChildFromUnderlyingReceivedInvocations } } + set { removeChildFromReceivedInvocationsLock.withLock { removeChildFromUnderlyingReceivedInvocations = newValue } } + } - var removeChildFromUnderlyingReturnValue: Result! + private let removeChildFromReturnValueLock = NSLock() + private var removeChildFromUnderlyingReturnValue: Result! var removeChildFromReturnValue: Result! { - get { - if Thread.isMainThread { - return removeChildFromUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = removeChildFromUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeChildFromUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - removeChildFromUnderlyingReturnValue = newValue - } - } - } + get { removeChildFromReturnValueLock.withLock { removeChildFromUnderlyingReturnValue } } + set { removeChildFromReturnValueLock.withLock { removeChildFromUnderlyingReturnValue = newValue } } } var removeChildFromClosure: ((String, String) async -> Result)? func removeChild(_ childID: String, from spaceID: String) async -> Result { - removeChildFromCallsCount += 1 + removeChildFromCallsCountLock.withLock { removeChildFromUnderlyingCallsCount += 1 } removeChildFromReceivedArguments = (childID: childID, spaceID: spaceID) - DispatchQueue.main.async { - self.removeChildFromReceivedInvocations.append((childID: childID, spaceID: spaceID)) - } + removeChildFromReceivedInvocationsLock.withLock { removeChildFromUnderlyingReceivedInvocations.append((childID: childID, spaceID: spaceID)) } if let removeChildFromClosure = removeChildFromClosure { return await removeChildFromClosure(childID, spaceID) } else { @@ -19684,43 +11720,33 @@ class StaticRoomSummaryProviderMock: StaticRoomSummaryProviderProtocol, @uncheck //MARK: - setRoomList - var setRoomListUnderlyingCallsCount = 0 + private let setRoomListCallsCountLock = NSLock() + private var setRoomListUnderlyingCallsCount = 0 var setRoomListCallsCount: Int { - get { - if Thread.isMainThread { - return setRoomListUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setRoomListUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setRoomListUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setRoomListUnderlyingCallsCount = newValue - } - } - } + get { setRoomListCallsCountLock.withLock { setRoomListUnderlyingCallsCount } } + set { setRoomListCallsCountLock.withLock { setRoomListUnderlyingCallsCount = newValue } } } var setRoomListCalled: Bool { return setRoomListCallsCount > 0 } - var setRoomListReceivedRoomList: RoomList? - var setRoomListReceivedInvocations: [RoomList] = [] + private let setRoomListReceivedRoomListLock = NSLock() + private var setRoomListUnderlyingReceivedRoomList: RoomList? + var setRoomListReceivedRoomList: RoomList? { + get { setRoomListReceivedRoomListLock.withLock { setRoomListUnderlyingReceivedRoomList } } + set { setRoomListReceivedRoomListLock.withLock { setRoomListUnderlyingReceivedRoomList = newValue } } + } + private let setRoomListReceivedInvocationsLock = NSLock() + private var setRoomListUnderlyingReceivedInvocations: [RoomList] = [] + var setRoomListReceivedInvocations: [RoomList] { + get { setRoomListReceivedInvocationsLock.withLock { setRoomListUnderlyingReceivedInvocations } } + set { setRoomListReceivedInvocationsLock.withLock { setRoomListUnderlyingReceivedInvocations = newValue } } + } var setRoomListClosure: ((RoomList) -> Void)? func setRoomList(_ roomList: RoomList) { - setRoomListCallsCount += 1 + setRoomListCallsCountLock.withLock { setRoomListUnderlyingCallsCount += 1 } setRoomListReceivedRoomList = roomList - DispatchQueue.main.async { - self.setRoomListReceivedInvocations.append(roomList) - } + setRoomListReceivedInvocationsLock.withLock { setRoomListUnderlyingReceivedInvocations.append(roomList) } setRoomListClosure?(roomList) } } @@ -19728,68 +11754,40 @@ class TimelineControllerFactoryMock: TimelineControllerFactoryProtocol, @uncheck //MARK: - buildTimelineController - var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount = 0 + private let buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderCallsCountLock = NSLock() + private var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount = 0 var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderCallsCount: Int { - get { - if Thread.isMainThread { - return buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue - } - } - } + get { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount } } + set { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue } } } var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderCalled: Bool { return buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderCallsCount > 0 } - var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedArguments: (roomProxy: JoinedRoomProxyProtocol, initialFocussedEventID: String?, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? - var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedInvocations: [(roomProxy: JoinedRoomProxyProtocol, initialFocussedEventID: String?, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] = [] + private let buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedArgumentsLock = NSLock() + private var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReceivedArguments: (roomProxy: JoinedRoomProxyProtocol, initialFocussedEventID: String?, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? + var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedArguments: (roomProxy: JoinedRoomProxyProtocol, initialFocussedEventID: String?, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? { + get { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedArgumentsLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReceivedArguments } } + set { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedArgumentsLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReceivedArguments = newValue } } + } + private let buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedInvocationsLock = NSLock() + private var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations: [(roomProxy: JoinedRoomProxyProtocol, initialFocussedEventID: String?, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] = [] + var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedInvocations: [(roomProxy: JoinedRoomProxyProtocol, initialFocussedEventID: String?, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] { + get { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations } } + set { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations = newValue } } + } - var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReturnValue: TimelineControllerProtocol! + private let buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReturnValueLock = NSLock() + private var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReturnValue: TimelineControllerProtocol! var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReturnValue: TimelineControllerProtocol! { - get { - if Thread.isMainThread { - return buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReturnValue - } else { - var returnValue: TimelineControllerProtocol? = nil - DispatchQueue.main.sync { - returnValue = buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue - } - } - } + get { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReturnValueLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReturnValue } } + set { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReturnValueLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue } } } var buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderClosure: ((JoinedRoomProxyProtocol, String?, RoomTimelineItemFactoryProtocol, MediaProviderProtocol) -> TimelineControllerProtocol)? func buildTimelineController(roomProxy: JoinedRoomProxyProtocol, initialFocussedEventID: String?, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol) -> TimelineControllerProtocol { - buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderCallsCount += 1 + buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingCallsCount += 1 } buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedArguments = (roomProxy: roomProxy, initialFocussedEventID: initialFocussedEventID, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider) - DispatchQueue.main.async { - self.buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedInvocations.append((roomProxy: roomProxy, initialFocussedEventID: initialFocussedEventID, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider)) - } + buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations.append((roomProxy: roomProxy, initialFocussedEventID: initialFocussedEventID, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider)) } if let buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderClosure = buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderClosure { return buildTimelineControllerRoomProxyInitialFocussedEventIDTimelineItemFactoryMediaProviderClosure(roomProxy, initialFocussedEventID, timelineItemFactory, mediaProvider) } else { @@ -19798,68 +11796,40 @@ class TimelineControllerFactoryMock: TimelineControllerFactoryProtocol, @uncheck } //MARK: - buildThreadTimelineController - var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = 0 + private let buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderCallsCountLock = NSLock() + private var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = 0 var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderCallsCount: Int { - get { - if Thread.isMainThread { - return buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue - } - } - } + get { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount } } + set { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue } } } var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderCalled: Bool { return buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderCallsCount > 0 } - var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedArguments: (threadRootEventID: String, initialFocussedEventID: String?, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? - var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations: [(threadRootEventID: String, initialFocussedEventID: String?, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] = [] + private let buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock = NSLock() + private var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments: (threadRootEventID: String, initialFocussedEventID: String?, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? + var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedArguments: (threadRootEventID: String, initialFocussedEventID: String?, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? { + get { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments } } + set { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments = newValue } } + } + private let buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock = NSLock() + private var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations: [(threadRootEventID: String, initialFocussedEventID: String?, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] = [] + var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations: [(threadRootEventID: String, initialFocussedEventID: String?, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] { + get { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations } } + set { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations = newValue } } + } - var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue: Result! + private let buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReturnValueLock = NSLock() + private var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue: Result! var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReturnValue: Result! { - get { - if Thread.isMainThread { - return buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue - } - } - } + get { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReturnValueLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue } } + set { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReturnValueLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue } } } var buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderClosure: ((String, String?, JoinedRoomProxyProtocol, RoomTimelineItemFactoryProtocol, MediaProviderProtocol) async -> Result)? func buildThreadTimelineController(threadRootEventID: String, initialFocussedEventID: String?, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol) async -> Result { - buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderCallsCount += 1 + buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount += 1 } buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedArguments = (threadRootEventID: threadRootEventID, initialFocussedEventID: initialFocussedEventID, roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider) - DispatchQueue.main.async { - self.buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations.append((threadRootEventID: threadRootEventID, initialFocussedEventID: initialFocussedEventID, roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider)) - } + buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations.append((threadRootEventID: threadRootEventID, initialFocussedEventID: initialFocussedEventID, roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider)) } if let buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderClosure = buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderClosure { return await buildThreadTimelineControllerThreadRootEventIDInitialFocussedEventIDRoomProxyTimelineItemFactoryMediaProviderClosure(threadRootEventID, initialFocussedEventID, roomProxy, timelineItemFactory, mediaProvider) } else { @@ -19868,68 +11838,40 @@ class TimelineControllerFactoryMock: TimelineControllerFactoryProtocol, @uncheck } //MARK: - buildPinnedEventsTimelineController - var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = 0 + private let buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderCallsCountLock = NSLock() + private var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = 0 var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderCallsCount: Int { - get { - if Thread.isMainThread { - return buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue - } - } - } + get { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount } } + set { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue } } } var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderCalled: Bool { return buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderCallsCount > 0 } - var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedArguments: (roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? - var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations: [(roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] = [] + private let buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock = NSLock() + private var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments: (roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? + var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedArguments: (roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? { + get { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments } } + set { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments = newValue } } + } + private let buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock = NSLock() + private var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations: [(roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] = [] + var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations: [(roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] { + get { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations } } + set { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations = newValue } } + } - var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue: Result! + private let buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReturnValueLock = NSLock() + private var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue: Result! var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReturnValue: Result! { - get { - if Thread.isMainThread { - return buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue - } - } - } + get { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReturnValueLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue } } + set { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReturnValueLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue } } } var buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderClosure: ((JoinedRoomProxyProtocol, RoomTimelineItemFactoryProtocol, MediaProviderProtocol) async -> Result)? func buildPinnedEventsTimelineController(roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol) async -> Result { - buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderCallsCount += 1 + buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount += 1 } buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedArguments = (roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider) - DispatchQueue.main.async { - self.buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations.append((roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider)) - } + buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations.append((roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider)) } if let buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderClosure = buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderClosure { return await buildPinnedEventsTimelineControllerRoomProxyTimelineItemFactoryMediaProviderClosure(roomProxy, timelineItemFactory, mediaProvider) } else { @@ -19938,68 +11880,40 @@ class TimelineControllerFactoryMock: TimelineControllerFactoryProtocol, @uncheck } //MARK: - buildMessageFilteredTimelineController - var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = 0 + private let buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderCallsCountLock = NSLock() + private var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = 0 var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderCallsCount: Int { - get { - if Thread.isMainThread { - return buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue - } - } - } + get { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount } } + set { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount = newValue } } } var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderCalled: Bool { return buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderCallsCount > 0 } - var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedArguments: (focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? - var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations: [(focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] = [] + private let buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock = NSLock() + private var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments: (focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? + var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedArguments: (focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)? { + get { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments } } + set { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedArgumentsLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedArguments = newValue } } + } + private let buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock = NSLock() + private var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations: [(focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] = [] + var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations: [(focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol)] { + get { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations } } + set { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations = newValue } } + } - var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue: Result! + private let buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReturnValueLock = NSLock() + private var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue: Result! var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReturnValue: Result! { - get { - if Thread.isMainThread { - return buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue - } - } - } + get { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReturnValueLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue } } + set { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReturnValueLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReturnValue = newValue } } } var buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderClosure: ((TimelineFocus, [TimelineAllowedMessageType], TimelineKind.MediaPresentation, JoinedRoomProxyProtocol, RoomTimelineItemFactoryProtocol, MediaProviderProtocol) async -> Result)? func buildMessageFilteredTimelineController(focus: TimelineFocus, allowedMessageTypes: [TimelineAllowedMessageType], presentation: TimelineKind.MediaPresentation, roomProxy: JoinedRoomProxyProtocol, timelineItemFactory: RoomTimelineItemFactoryProtocol, mediaProvider: MediaProviderProtocol) async -> Result { - buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderCallsCount += 1 + buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderCallsCountLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingCallsCount += 1 } buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedArguments = (focus: focus, allowedMessageTypes: allowedMessageTypes, presentation: presentation, roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider) - DispatchQueue.main.async { - self.buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedInvocations.append((focus: focus, allowedMessageTypes: allowedMessageTypes, presentation: presentation, roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider)) - } + buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderReceivedInvocationsLock.withLock { buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderUnderlyingReceivedInvocations.append((focus: focus, allowedMessageTypes: allowedMessageTypes, presentation: presentation, roomProxy: roomProxy, timelineItemFactory: timelineItemFactory, mediaProvider: mediaProvider)) } if let buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderClosure = buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderClosure { return await buildMessageFilteredTimelineControllerFocusAllowedMessageTypesPresentationRoomProxyTimelineItemFactoryMediaProviderClosure(focus, allowedMessageTypes, presentation, roomProxy, timelineItemFactory, mediaProvider) } else { @@ -20032,150 +11946,102 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { //MARK: - processItemAppearance - var processItemAppearanceUnderlyingCallsCount = 0 + private let processItemAppearanceCallsCountLock = NSLock() + private var processItemAppearanceUnderlyingCallsCount = 0 var processItemAppearanceCallsCount: Int { - get { - if Thread.isMainThread { - return processItemAppearanceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = processItemAppearanceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - processItemAppearanceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - processItemAppearanceUnderlyingCallsCount = newValue - } - } - } + get { processItemAppearanceCallsCountLock.withLock { processItemAppearanceUnderlyingCallsCount } } + set { processItemAppearanceCallsCountLock.withLock { processItemAppearanceUnderlyingCallsCount = newValue } } } var processItemAppearanceCalled: Bool { return processItemAppearanceCallsCount > 0 } - var processItemAppearanceReceivedItemID: TimelineItemIdentifier? - var processItemAppearanceReceivedInvocations: [TimelineItemIdentifier] = [] + private let processItemAppearanceReceivedItemIDLock = NSLock() + private var processItemAppearanceUnderlyingReceivedItemID: TimelineItemIdentifier? + var processItemAppearanceReceivedItemID: TimelineItemIdentifier? { + get { processItemAppearanceReceivedItemIDLock.withLock { processItemAppearanceUnderlyingReceivedItemID } } + set { processItemAppearanceReceivedItemIDLock.withLock { processItemAppearanceUnderlyingReceivedItemID = newValue } } + } + private let processItemAppearanceReceivedInvocationsLock = NSLock() + private var processItemAppearanceUnderlyingReceivedInvocations: [TimelineItemIdentifier] = [] + var processItemAppearanceReceivedInvocations: [TimelineItemIdentifier] { + get { processItemAppearanceReceivedInvocationsLock.withLock { processItemAppearanceUnderlyingReceivedInvocations } } + set { processItemAppearanceReceivedInvocationsLock.withLock { processItemAppearanceUnderlyingReceivedInvocations = newValue } } + } var processItemAppearanceClosure: ((TimelineItemIdentifier) async -> Void)? func processItemAppearance(_ itemID: TimelineItemIdentifier) async { - processItemAppearanceCallsCount += 1 + processItemAppearanceCallsCountLock.withLock { processItemAppearanceUnderlyingCallsCount += 1 } processItemAppearanceReceivedItemID = itemID - DispatchQueue.main.async { - self.processItemAppearanceReceivedInvocations.append(itemID) - } + processItemAppearanceReceivedInvocationsLock.withLock { processItemAppearanceUnderlyingReceivedInvocations.append(itemID) } await processItemAppearanceClosure?(itemID) } //MARK: - processItemDisappearance - var processItemDisappearanceUnderlyingCallsCount = 0 + private let processItemDisappearanceCallsCountLock = NSLock() + private var processItemDisappearanceUnderlyingCallsCount = 0 var processItemDisappearanceCallsCount: Int { - get { - if Thread.isMainThread { - return processItemDisappearanceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = processItemDisappearanceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - processItemDisappearanceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - processItemDisappearanceUnderlyingCallsCount = newValue - } - } - } + get { processItemDisappearanceCallsCountLock.withLock { processItemDisappearanceUnderlyingCallsCount } } + set { processItemDisappearanceCallsCountLock.withLock { processItemDisappearanceUnderlyingCallsCount = newValue } } } var processItemDisappearanceCalled: Bool { return processItemDisappearanceCallsCount > 0 } - var processItemDisappearanceReceivedItemID: TimelineItemIdentifier? - var processItemDisappearanceReceivedInvocations: [TimelineItemIdentifier] = [] + private let processItemDisappearanceReceivedItemIDLock = NSLock() + private var processItemDisappearanceUnderlyingReceivedItemID: TimelineItemIdentifier? + var processItemDisappearanceReceivedItemID: TimelineItemIdentifier? { + get { processItemDisappearanceReceivedItemIDLock.withLock { processItemDisappearanceUnderlyingReceivedItemID } } + set { processItemDisappearanceReceivedItemIDLock.withLock { processItemDisappearanceUnderlyingReceivedItemID = newValue } } + } + private let processItemDisappearanceReceivedInvocationsLock = NSLock() + private var processItemDisappearanceUnderlyingReceivedInvocations: [TimelineItemIdentifier] = [] + var processItemDisappearanceReceivedInvocations: [TimelineItemIdentifier] { + get { processItemDisappearanceReceivedInvocationsLock.withLock { processItemDisappearanceUnderlyingReceivedInvocations } } + set { processItemDisappearanceReceivedInvocationsLock.withLock { processItemDisappearanceUnderlyingReceivedInvocations = newValue } } + } var processItemDisappearanceClosure: ((TimelineItemIdentifier) async -> Void)? func processItemDisappearance(_ itemID: TimelineItemIdentifier) async { - processItemDisappearanceCallsCount += 1 + processItemDisappearanceCallsCountLock.withLock { processItemDisappearanceUnderlyingCallsCount += 1 } processItemDisappearanceReceivedItemID = itemID - DispatchQueue.main.async { - self.processItemDisappearanceReceivedInvocations.append(itemID) - } + processItemDisappearanceReceivedInvocationsLock.withLock { processItemDisappearanceUnderlyingReceivedInvocations.append(itemID) } await processItemDisappearanceClosure?(itemID) } //MARK: - focusOnEvent - var focusOnEventTimelineSizeUnderlyingCallsCount = 0 + private let focusOnEventTimelineSizeCallsCountLock = NSLock() + private var focusOnEventTimelineSizeUnderlyingCallsCount = 0 var focusOnEventTimelineSizeCallsCount: Int { - get { - if Thread.isMainThread { - return focusOnEventTimelineSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = focusOnEventTimelineSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - focusOnEventTimelineSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - focusOnEventTimelineSizeUnderlyingCallsCount = newValue - } - } - } + get { focusOnEventTimelineSizeCallsCountLock.withLock { focusOnEventTimelineSizeUnderlyingCallsCount } } + set { focusOnEventTimelineSizeCallsCountLock.withLock { focusOnEventTimelineSizeUnderlyingCallsCount = newValue } } } var focusOnEventTimelineSizeCalled: Bool { return focusOnEventTimelineSizeCallsCount > 0 } - var focusOnEventTimelineSizeReceivedArguments: (eventID: String, timelineSize: UInt16)? - var focusOnEventTimelineSizeReceivedInvocations: [(eventID: String, timelineSize: UInt16)] = [] + private let focusOnEventTimelineSizeReceivedArgumentsLock = NSLock() + private var focusOnEventTimelineSizeUnderlyingReceivedArguments: (eventID: String, timelineSize: UInt16)? + var focusOnEventTimelineSizeReceivedArguments: (eventID: String, timelineSize: UInt16)? { + get { focusOnEventTimelineSizeReceivedArgumentsLock.withLock { focusOnEventTimelineSizeUnderlyingReceivedArguments } } + set { focusOnEventTimelineSizeReceivedArgumentsLock.withLock { focusOnEventTimelineSizeUnderlyingReceivedArguments = newValue } } + } + private let focusOnEventTimelineSizeReceivedInvocationsLock = NSLock() + private var focusOnEventTimelineSizeUnderlyingReceivedInvocations: [(eventID: String, timelineSize: UInt16)] = [] + var focusOnEventTimelineSizeReceivedInvocations: [(eventID: String, timelineSize: UInt16)] { + get { focusOnEventTimelineSizeReceivedInvocationsLock.withLock { focusOnEventTimelineSizeUnderlyingReceivedInvocations } } + set { focusOnEventTimelineSizeReceivedInvocationsLock.withLock { focusOnEventTimelineSizeUnderlyingReceivedInvocations = newValue } } + } - var focusOnEventTimelineSizeUnderlyingReturnValue: Result! + private let focusOnEventTimelineSizeReturnValueLock = NSLock() + private var focusOnEventTimelineSizeUnderlyingReturnValue: Result! var focusOnEventTimelineSizeReturnValue: Result! { - get { - if Thread.isMainThread { - return focusOnEventTimelineSizeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = focusOnEventTimelineSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - focusOnEventTimelineSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - focusOnEventTimelineSizeUnderlyingReturnValue = newValue - } - } - } + get { focusOnEventTimelineSizeReturnValueLock.withLock { focusOnEventTimelineSizeUnderlyingReturnValue } } + set { focusOnEventTimelineSizeReturnValueLock.withLock { focusOnEventTimelineSizeUnderlyingReturnValue = newValue } } } var focusOnEventTimelineSizeClosure: ((String, UInt16) async -> Result)? func focusOnEvent(_ eventID: String, timelineSize: UInt16) async -> Result { - focusOnEventTimelineSizeCallsCount += 1 + focusOnEventTimelineSizeCallsCountLock.withLock { focusOnEventTimelineSizeUnderlyingCallsCount += 1 } focusOnEventTimelineSizeReceivedArguments = (eventID: eventID, timelineSize: timelineSize) - DispatchQueue.main.async { - self.focusOnEventTimelineSizeReceivedInvocations.append((eventID: eventID, timelineSize: timelineSize)) - } + focusOnEventTimelineSizeReceivedInvocationsLock.withLock { focusOnEventTimelineSizeUnderlyingReceivedInvocations.append((eventID: eventID, timelineSize: timelineSize)) } if let focusOnEventTimelineSizeClosure = focusOnEventTimelineSizeClosure { return await focusOnEventTimelineSizeClosure(eventID, timelineSize) } else { @@ -20184,29 +12050,11 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - focusLive - var focusLiveUnderlyingCallsCount = 0 + private let focusLiveCallsCountLock = NSLock() + private var focusLiveUnderlyingCallsCount = 0 var focusLiveCallsCount: Int { - get { - if Thread.isMainThread { - return focusLiveUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = focusLiveUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - focusLiveUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - focusLiveUnderlyingCallsCount = newValue - } - } - } + get { focusLiveCallsCountLock.withLock { focusLiveUnderlyingCallsCount } } + set { focusLiveCallsCountLock.withLock { focusLiveUnderlyingCallsCount = newValue } } } var focusLiveCalled: Bool { return focusLiveCallsCount > 0 @@ -20214,73 +12062,45 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { var focusLiveClosure: (() -> Void)? func focusLive() { - focusLiveCallsCount += 1 + focusLiveCallsCountLock.withLock { focusLiveUnderlyingCallsCount += 1 } focusLiveClosure?() } //MARK: - paginateBackwards - var paginateBackwardsRequestSizeUnderlyingCallsCount = 0 + private let paginateBackwardsRequestSizeCallsCountLock = NSLock() + private var paginateBackwardsRequestSizeUnderlyingCallsCount = 0 var paginateBackwardsRequestSizeCallsCount: Int { - get { - if Thread.isMainThread { - return paginateBackwardsRequestSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateBackwardsRequestSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateBackwardsRequestSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateBackwardsRequestSizeUnderlyingCallsCount = newValue - } - } - } + get { paginateBackwardsRequestSizeCallsCountLock.withLock { paginateBackwardsRequestSizeUnderlyingCallsCount } } + set { paginateBackwardsRequestSizeCallsCountLock.withLock { paginateBackwardsRequestSizeUnderlyingCallsCount = newValue } } } var paginateBackwardsRequestSizeCalled: Bool { return paginateBackwardsRequestSizeCallsCount > 0 } - var paginateBackwardsRequestSizeReceivedRequestSize: UInt16? - var paginateBackwardsRequestSizeReceivedInvocations: [UInt16] = [] + private let paginateBackwardsRequestSizeReceivedRequestSizeLock = NSLock() + private var paginateBackwardsRequestSizeUnderlyingReceivedRequestSize: UInt16? + var paginateBackwardsRequestSizeReceivedRequestSize: UInt16? { + get { paginateBackwardsRequestSizeReceivedRequestSizeLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedRequestSize } } + set { paginateBackwardsRequestSizeReceivedRequestSizeLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedRequestSize = newValue } } + } + private let paginateBackwardsRequestSizeReceivedInvocationsLock = NSLock() + private var paginateBackwardsRequestSizeUnderlyingReceivedInvocations: [UInt16] = [] + var paginateBackwardsRequestSizeReceivedInvocations: [UInt16] { + get { paginateBackwardsRequestSizeReceivedInvocationsLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedInvocations } } + set { paginateBackwardsRequestSizeReceivedInvocationsLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedInvocations = newValue } } + } - var paginateBackwardsRequestSizeUnderlyingReturnValue: Result! + private let paginateBackwardsRequestSizeReturnValueLock = NSLock() + private var paginateBackwardsRequestSizeUnderlyingReturnValue: Result! var paginateBackwardsRequestSizeReturnValue: Result! { - get { - if Thread.isMainThread { - return paginateBackwardsRequestSizeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = paginateBackwardsRequestSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateBackwardsRequestSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginateBackwardsRequestSizeUnderlyingReturnValue = newValue - } - } - } + get { paginateBackwardsRequestSizeReturnValueLock.withLock { paginateBackwardsRequestSizeUnderlyingReturnValue } } + set { paginateBackwardsRequestSizeReturnValueLock.withLock { paginateBackwardsRequestSizeUnderlyingReturnValue = newValue } } } var paginateBackwardsRequestSizeClosure: ((UInt16) async -> Result)? func paginateBackwards(requestSize: UInt16) async -> Result { - paginateBackwardsRequestSizeCallsCount += 1 + paginateBackwardsRequestSizeCallsCountLock.withLock { paginateBackwardsRequestSizeUnderlyingCallsCount += 1 } paginateBackwardsRequestSizeReceivedRequestSize = requestSize - DispatchQueue.main.async { - self.paginateBackwardsRequestSizeReceivedInvocations.append(requestSize) - } + paginateBackwardsRequestSizeReceivedInvocationsLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedInvocations.append(requestSize) } if let paginateBackwardsRequestSizeClosure = paginateBackwardsRequestSizeClosure { return await paginateBackwardsRequestSizeClosure(requestSize) } else { @@ -20289,68 +12109,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - paginateForwards - var paginateForwardsRequestSizeUnderlyingCallsCount = 0 + private let paginateForwardsRequestSizeCallsCountLock = NSLock() + private var paginateForwardsRequestSizeUnderlyingCallsCount = 0 var paginateForwardsRequestSizeCallsCount: Int { - get { - if Thread.isMainThread { - return paginateForwardsRequestSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateForwardsRequestSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateForwardsRequestSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateForwardsRequestSizeUnderlyingCallsCount = newValue - } - } - } + get { paginateForwardsRequestSizeCallsCountLock.withLock { paginateForwardsRequestSizeUnderlyingCallsCount } } + set { paginateForwardsRequestSizeCallsCountLock.withLock { paginateForwardsRequestSizeUnderlyingCallsCount = newValue } } } var paginateForwardsRequestSizeCalled: Bool { return paginateForwardsRequestSizeCallsCount > 0 } - var paginateForwardsRequestSizeReceivedRequestSize: UInt16? - var paginateForwardsRequestSizeReceivedInvocations: [UInt16] = [] + private let paginateForwardsRequestSizeReceivedRequestSizeLock = NSLock() + private var paginateForwardsRequestSizeUnderlyingReceivedRequestSize: UInt16? + var paginateForwardsRequestSizeReceivedRequestSize: UInt16? { + get { paginateForwardsRequestSizeReceivedRequestSizeLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedRequestSize } } + set { paginateForwardsRequestSizeReceivedRequestSizeLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedRequestSize = newValue } } + } + private let paginateForwardsRequestSizeReceivedInvocationsLock = NSLock() + private var paginateForwardsRequestSizeUnderlyingReceivedInvocations: [UInt16] = [] + var paginateForwardsRequestSizeReceivedInvocations: [UInt16] { + get { paginateForwardsRequestSizeReceivedInvocationsLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedInvocations } } + set { paginateForwardsRequestSizeReceivedInvocationsLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedInvocations = newValue } } + } - var paginateForwardsRequestSizeUnderlyingReturnValue: Result! + private let paginateForwardsRequestSizeReturnValueLock = NSLock() + private var paginateForwardsRequestSizeUnderlyingReturnValue: Result! var paginateForwardsRequestSizeReturnValue: Result! { - get { - if Thread.isMainThread { - return paginateForwardsRequestSizeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = paginateForwardsRequestSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateForwardsRequestSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginateForwardsRequestSizeUnderlyingReturnValue = newValue - } - } - } + get { paginateForwardsRequestSizeReturnValueLock.withLock { paginateForwardsRequestSizeUnderlyingReturnValue } } + set { paginateForwardsRequestSizeReturnValueLock.withLock { paginateForwardsRequestSizeUnderlyingReturnValue = newValue } } } var paginateForwardsRequestSizeClosure: ((UInt16) async -> Result)? func paginateForwards(requestSize: UInt16) async -> Result { - paginateForwardsRequestSizeCallsCount += 1 + paginateForwardsRequestSizeCallsCountLock.withLock { paginateForwardsRequestSizeUnderlyingCallsCount += 1 } paginateForwardsRequestSizeReceivedRequestSize = requestSize - DispatchQueue.main.async { - self.paginateForwardsRequestSizeReceivedInvocations.append(requestSize) - } + paginateForwardsRequestSizeReceivedInvocationsLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedInvocations.append(requestSize) } if let paginateForwardsRequestSizeClosure = paginateForwardsRequestSizeClosure { return await paginateForwardsRequestSizeClosure(requestSize) } else { @@ -20359,396 +12151,288 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendReadReceipt - var sendReadReceiptForUnderlyingCallsCount = 0 + private let sendReadReceiptForCallsCountLock = NSLock() + private var sendReadReceiptForUnderlyingCallsCount = 0 var sendReadReceiptForCallsCount: Int { - get { - if Thread.isMainThread { - return sendReadReceiptForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendReadReceiptForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendReadReceiptForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendReadReceiptForUnderlyingCallsCount = newValue - } - } - } + get { sendReadReceiptForCallsCountLock.withLock { sendReadReceiptForUnderlyingCallsCount } } + set { sendReadReceiptForCallsCountLock.withLock { sendReadReceiptForUnderlyingCallsCount = newValue } } } var sendReadReceiptForCalled: Bool { return sendReadReceiptForCallsCount > 0 } - var sendReadReceiptForReceivedItemID: TimelineItemIdentifier? - var sendReadReceiptForReceivedInvocations: [TimelineItemIdentifier] = [] + private let sendReadReceiptForReceivedItemIDLock = NSLock() + private var sendReadReceiptForUnderlyingReceivedItemID: TimelineItemIdentifier? + var sendReadReceiptForReceivedItemID: TimelineItemIdentifier? { + get { sendReadReceiptForReceivedItemIDLock.withLock { sendReadReceiptForUnderlyingReceivedItemID } } + set { sendReadReceiptForReceivedItemIDLock.withLock { sendReadReceiptForUnderlyingReceivedItemID = newValue } } + } + private let sendReadReceiptForReceivedInvocationsLock = NSLock() + private var sendReadReceiptForUnderlyingReceivedInvocations: [TimelineItemIdentifier] = [] + var sendReadReceiptForReceivedInvocations: [TimelineItemIdentifier] { + get { sendReadReceiptForReceivedInvocationsLock.withLock { sendReadReceiptForUnderlyingReceivedInvocations } } + set { sendReadReceiptForReceivedInvocationsLock.withLock { sendReadReceiptForUnderlyingReceivedInvocations = newValue } } + } var sendReadReceiptForClosure: ((TimelineItemIdentifier) async -> Void)? func sendReadReceipt(for itemID: TimelineItemIdentifier) async { - sendReadReceiptForCallsCount += 1 + sendReadReceiptForCallsCountLock.withLock { sendReadReceiptForUnderlyingCallsCount += 1 } sendReadReceiptForReceivedItemID = itemID - DispatchQueue.main.async { - self.sendReadReceiptForReceivedInvocations.append(itemID) - } + sendReadReceiptForReceivedInvocationsLock.withLock { sendReadReceiptForUnderlyingReceivedInvocations.append(itemID) } await sendReadReceiptForClosure?(itemID) } //MARK: - edit - var editMessageHtmlIntentionalMentionsUnderlyingCallsCount = 0 + private let editMessageHtmlIntentionalMentionsCallsCountLock = NSLock() + private var editMessageHtmlIntentionalMentionsUnderlyingCallsCount = 0 var editMessageHtmlIntentionalMentionsCallsCount: Int { - get { - if Thread.isMainThread { - return editMessageHtmlIntentionalMentionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editMessageHtmlIntentionalMentionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editMessageHtmlIntentionalMentionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editMessageHtmlIntentionalMentionsUnderlyingCallsCount = newValue - } - } - } + get { editMessageHtmlIntentionalMentionsCallsCountLock.withLock { editMessageHtmlIntentionalMentionsUnderlyingCallsCount } } + set { editMessageHtmlIntentionalMentionsCallsCountLock.withLock { editMessageHtmlIntentionalMentionsUnderlyingCallsCount = newValue } } } var editMessageHtmlIntentionalMentionsCalled: Bool { return editMessageHtmlIntentionalMentionsCallsCount > 0 } - var editMessageHtmlIntentionalMentionsReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)? - var editMessageHtmlIntentionalMentionsReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)] = [] + private let editMessageHtmlIntentionalMentionsReceivedArgumentsLock = NSLock() + private var editMessageHtmlIntentionalMentionsUnderlyingReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)? + var editMessageHtmlIntentionalMentionsReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)? { + get { editMessageHtmlIntentionalMentionsReceivedArgumentsLock.withLock { editMessageHtmlIntentionalMentionsUnderlyingReceivedArguments } } + set { editMessageHtmlIntentionalMentionsReceivedArgumentsLock.withLock { editMessageHtmlIntentionalMentionsUnderlyingReceivedArguments = newValue } } + } + private let editMessageHtmlIntentionalMentionsReceivedInvocationsLock = NSLock() + private var editMessageHtmlIntentionalMentionsUnderlyingReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)] = [] + var editMessageHtmlIntentionalMentionsReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)] { + get { editMessageHtmlIntentionalMentionsReceivedInvocationsLock.withLock { editMessageHtmlIntentionalMentionsUnderlyingReceivedInvocations } } + set { editMessageHtmlIntentionalMentionsReceivedInvocationsLock.withLock { editMessageHtmlIntentionalMentionsUnderlyingReceivedInvocations = newValue } } + } var editMessageHtmlIntentionalMentionsClosure: ((TimelineItemIdentifier.EventOrTransactionID, String, String?, IntentionalMentions) async -> Void)? func edit(_ eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions) async { - editMessageHtmlIntentionalMentionsCallsCount += 1 + editMessageHtmlIntentionalMentionsCallsCountLock.withLock { editMessageHtmlIntentionalMentionsUnderlyingCallsCount += 1 } editMessageHtmlIntentionalMentionsReceivedArguments = (eventOrTransactionID: eventOrTransactionID, message: message, html: html, intentionalMentions: intentionalMentions) - DispatchQueue.main.async { - self.editMessageHtmlIntentionalMentionsReceivedInvocations.append((eventOrTransactionID: eventOrTransactionID, message: message, html: html, intentionalMentions: intentionalMentions)) - } + editMessageHtmlIntentionalMentionsReceivedInvocationsLock.withLock { editMessageHtmlIntentionalMentionsUnderlyingReceivedInvocations.append((eventOrTransactionID: eventOrTransactionID, message: message, html: html, intentionalMentions: intentionalMentions)) } await editMessageHtmlIntentionalMentionsClosure?(eventOrTransactionID, message, html, intentionalMentions) } //MARK: - editCaption - var editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount = 0 + private let editCaptionMessageHtmlIntentionalMentionsCallsCountLock = NSLock() + private var editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount = 0 var editCaptionMessageHtmlIntentionalMentionsCallsCount: Int { - get { - if Thread.isMainThread { - return editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount = newValue - } - } - } + get { editCaptionMessageHtmlIntentionalMentionsCallsCountLock.withLock { editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount } } + set { editCaptionMessageHtmlIntentionalMentionsCallsCountLock.withLock { editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount = newValue } } } var editCaptionMessageHtmlIntentionalMentionsCalled: Bool { return editCaptionMessageHtmlIntentionalMentionsCallsCount > 0 } - var editCaptionMessageHtmlIntentionalMentionsReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)? - var editCaptionMessageHtmlIntentionalMentionsReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)] = [] + private let editCaptionMessageHtmlIntentionalMentionsReceivedArgumentsLock = NSLock() + private var editCaptionMessageHtmlIntentionalMentionsUnderlyingReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)? + var editCaptionMessageHtmlIntentionalMentionsReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)? { + get { editCaptionMessageHtmlIntentionalMentionsReceivedArgumentsLock.withLock { editCaptionMessageHtmlIntentionalMentionsUnderlyingReceivedArguments } } + set { editCaptionMessageHtmlIntentionalMentionsReceivedArgumentsLock.withLock { editCaptionMessageHtmlIntentionalMentionsUnderlyingReceivedArguments = newValue } } + } + private let editCaptionMessageHtmlIntentionalMentionsReceivedInvocationsLock = NSLock() + private var editCaptionMessageHtmlIntentionalMentionsUnderlyingReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)] = [] + var editCaptionMessageHtmlIntentionalMentionsReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions)] { + get { editCaptionMessageHtmlIntentionalMentionsReceivedInvocationsLock.withLock { editCaptionMessageHtmlIntentionalMentionsUnderlyingReceivedInvocations } } + set { editCaptionMessageHtmlIntentionalMentionsReceivedInvocationsLock.withLock { editCaptionMessageHtmlIntentionalMentionsUnderlyingReceivedInvocations = newValue } } + } var editCaptionMessageHtmlIntentionalMentionsClosure: ((TimelineItemIdentifier.EventOrTransactionID, String, String?, IntentionalMentions) async -> Void)? func editCaption(_ eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, message: String, html: String?, intentionalMentions: IntentionalMentions) async { - editCaptionMessageHtmlIntentionalMentionsCallsCount += 1 + editCaptionMessageHtmlIntentionalMentionsCallsCountLock.withLock { editCaptionMessageHtmlIntentionalMentionsUnderlyingCallsCount += 1 } editCaptionMessageHtmlIntentionalMentionsReceivedArguments = (eventOrTransactionID: eventOrTransactionID, message: message, html: html, intentionalMentions: intentionalMentions) - DispatchQueue.main.async { - self.editCaptionMessageHtmlIntentionalMentionsReceivedInvocations.append((eventOrTransactionID: eventOrTransactionID, message: message, html: html, intentionalMentions: intentionalMentions)) - } + editCaptionMessageHtmlIntentionalMentionsReceivedInvocationsLock.withLock { editCaptionMessageHtmlIntentionalMentionsUnderlyingReceivedInvocations.append((eventOrTransactionID: eventOrTransactionID, message: message, html: html, intentionalMentions: intentionalMentions)) } await editCaptionMessageHtmlIntentionalMentionsClosure?(eventOrTransactionID, message, html, intentionalMentions) } //MARK: - removeCaption - var removeCaptionUnderlyingCallsCount = 0 + private let removeCaptionCallsCountLock = NSLock() + private var removeCaptionUnderlyingCallsCount = 0 var removeCaptionCallsCount: Int { - get { - if Thread.isMainThread { - return removeCaptionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeCaptionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeCaptionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeCaptionUnderlyingCallsCount = newValue - } - } - } + get { removeCaptionCallsCountLock.withLock { removeCaptionUnderlyingCallsCount } } + set { removeCaptionCallsCountLock.withLock { removeCaptionUnderlyingCallsCount = newValue } } } var removeCaptionCalled: Bool { return removeCaptionCallsCount > 0 } - var removeCaptionReceivedEventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID? - var removeCaptionReceivedInvocations: [TimelineItemIdentifier.EventOrTransactionID] = [] + private let removeCaptionReceivedEventOrTransactionIDLock = NSLock() + private var removeCaptionUnderlyingReceivedEventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID? + var removeCaptionReceivedEventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID? { + get { removeCaptionReceivedEventOrTransactionIDLock.withLock { removeCaptionUnderlyingReceivedEventOrTransactionID } } + set { removeCaptionReceivedEventOrTransactionIDLock.withLock { removeCaptionUnderlyingReceivedEventOrTransactionID = newValue } } + } + private let removeCaptionReceivedInvocationsLock = NSLock() + private var removeCaptionUnderlyingReceivedInvocations: [TimelineItemIdentifier.EventOrTransactionID] = [] + var removeCaptionReceivedInvocations: [TimelineItemIdentifier.EventOrTransactionID] { + get { removeCaptionReceivedInvocationsLock.withLock { removeCaptionUnderlyingReceivedInvocations } } + set { removeCaptionReceivedInvocationsLock.withLock { removeCaptionUnderlyingReceivedInvocations = newValue } } + } var removeCaptionClosure: ((TimelineItemIdentifier.EventOrTransactionID) async -> Void)? func removeCaption(_ eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID) async { - removeCaptionCallsCount += 1 + removeCaptionCallsCountLock.withLock { removeCaptionUnderlyingCallsCount += 1 } removeCaptionReceivedEventOrTransactionID = eventOrTransactionID - DispatchQueue.main.async { - self.removeCaptionReceivedInvocations.append(eventOrTransactionID) - } + removeCaptionReceivedInvocationsLock.withLock { removeCaptionUnderlyingReceivedInvocations.append(eventOrTransactionID) } await removeCaptionClosure?(eventOrTransactionID) } //MARK: - toggleReaction - var toggleReactionToUnderlyingCallsCount = 0 + private let toggleReactionToCallsCountLock = NSLock() + private var toggleReactionToUnderlyingCallsCount = 0 var toggleReactionToCallsCount: Int { - get { - if Thread.isMainThread { - return toggleReactionToUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = toggleReactionToUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toggleReactionToUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - toggleReactionToUnderlyingCallsCount = newValue - } - } - } + get { toggleReactionToCallsCountLock.withLock { toggleReactionToUnderlyingCallsCount } } + set { toggleReactionToCallsCountLock.withLock { toggleReactionToUnderlyingCallsCount = newValue } } } var toggleReactionToCalled: Bool { return toggleReactionToCallsCount > 0 } - var toggleReactionToReceivedArguments: (reaction: String, eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID)? - var toggleReactionToReceivedInvocations: [(reaction: String, eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID)] = [] + private let toggleReactionToReceivedArgumentsLock = NSLock() + private var toggleReactionToUnderlyingReceivedArguments: (reaction: String, eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID)? + var toggleReactionToReceivedArguments: (reaction: String, eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID)? { + get { toggleReactionToReceivedArgumentsLock.withLock { toggleReactionToUnderlyingReceivedArguments } } + set { toggleReactionToReceivedArgumentsLock.withLock { toggleReactionToUnderlyingReceivedArguments = newValue } } + } + private let toggleReactionToReceivedInvocationsLock = NSLock() + private var toggleReactionToUnderlyingReceivedInvocations: [(reaction: String, eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID)] = [] + var toggleReactionToReceivedInvocations: [(reaction: String, eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID)] { + get { toggleReactionToReceivedInvocationsLock.withLock { toggleReactionToUnderlyingReceivedInvocations } } + set { toggleReactionToReceivedInvocationsLock.withLock { toggleReactionToUnderlyingReceivedInvocations = newValue } } + } var toggleReactionToClosure: ((String, TimelineItemIdentifier.EventOrTransactionID) async -> Void)? func toggleReaction(_ reaction: String, to eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID) async { - toggleReactionToCallsCount += 1 + toggleReactionToCallsCountLock.withLock { toggleReactionToUnderlyingCallsCount += 1 } toggleReactionToReceivedArguments = (reaction: reaction, eventOrTransactionID: eventOrTransactionID) - DispatchQueue.main.async { - self.toggleReactionToReceivedInvocations.append((reaction: reaction, eventOrTransactionID: eventOrTransactionID)) - } + toggleReactionToReceivedInvocationsLock.withLock { toggleReactionToUnderlyingReceivedInvocations.append((reaction: reaction, eventOrTransactionID: eventOrTransactionID)) } await toggleReactionToClosure?(reaction, eventOrTransactionID) } //MARK: - redact - var redactUnderlyingCallsCount = 0 + private let redactCallsCountLock = NSLock() + private var redactUnderlyingCallsCount = 0 var redactCallsCount: Int { - get { - if Thread.isMainThread { - return redactUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = redactUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - redactUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - redactUnderlyingCallsCount = newValue - } - } - } + get { redactCallsCountLock.withLock { redactUnderlyingCallsCount } } + set { redactCallsCountLock.withLock { redactUnderlyingCallsCount = newValue } } } var redactCalled: Bool { return redactCallsCount > 0 } - var redactReceivedEventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID? - var redactReceivedInvocations: [TimelineItemIdentifier.EventOrTransactionID] = [] + private let redactReceivedEventOrTransactionIDLock = NSLock() + private var redactUnderlyingReceivedEventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID? + var redactReceivedEventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID? { + get { redactReceivedEventOrTransactionIDLock.withLock { redactUnderlyingReceivedEventOrTransactionID } } + set { redactReceivedEventOrTransactionIDLock.withLock { redactUnderlyingReceivedEventOrTransactionID = newValue } } + } + private let redactReceivedInvocationsLock = NSLock() + private var redactUnderlyingReceivedInvocations: [TimelineItemIdentifier.EventOrTransactionID] = [] + var redactReceivedInvocations: [TimelineItemIdentifier.EventOrTransactionID] { + get { redactReceivedInvocationsLock.withLock { redactUnderlyingReceivedInvocations } } + set { redactReceivedInvocationsLock.withLock { redactUnderlyingReceivedInvocations = newValue } } + } var redactClosure: ((TimelineItemIdentifier.EventOrTransactionID) async -> Void)? func redact(_ eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID) async { - redactCallsCount += 1 + redactCallsCountLock.withLock { redactUnderlyingCallsCount += 1 } redactReceivedEventOrTransactionID = eventOrTransactionID - DispatchQueue.main.async { - self.redactReceivedInvocations.append(eventOrTransactionID) - } + redactReceivedInvocationsLock.withLock { redactUnderlyingReceivedInvocations.append(eventOrTransactionID) } await redactClosure?(eventOrTransactionID) } //MARK: - pin - var pinEventIDUnderlyingCallsCount = 0 + private let pinEventIDCallsCountLock = NSLock() + private var pinEventIDUnderlyingCallsCount = 0 var pinEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return pinEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pinEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pinEventIDUnderlyingCallsCount = newValue - } - } - } + get { pinEventIDCallsCountLock.withLock { pinEventIDUnderlyingCallsCount } } + set { pinEventIDCallsCountLock.withLock { pinEventIDUnderlyingCallsCount = newValue } } } var pinEventIDCalled: Bool { return pinEventIDCallsCount > 0 } - var pinEventIDReceivedEventID: String? - var pinEventIDReceivedInvocations: [String] = [] + private let pinEventIDReceivedEventIDLock = NSLock() + private var pinEventIDUnderlyingReceivedEventID: String? + var pinEventIDReceivedEventID: String? { + get { pinEventIDReceivedEventIDLock.withLock { pinEventIDUnderlyingReceivedEventID } } + set { pinEventIDReceivedEventIDLock.withLock { pinEventIDUnderlyingReceivedEventID = newValue } } + } + private let pinEventIDReceivedInvocationsLock = NSLock() + private var pinEventIDUnderlyingReceivedInvocations: [String] = [] + var pinEventIDReceivedInvocations: [String] { + get { pinEventIDReceivedInvocationsLock.withLock { pinEventIDUnderlyingReceivedInvocations } } + set { pinEventIDReceivedInvocationsLock.withLock { pinEventIDUnderlyingReceivedInvocations = newValue } } + } var pinEventIDClosure: ((String) async -> Void)? func pin(eventID: String) async { - pinEventIDCallsCount += 1 + pinEventIDCallsCountLock.withLock { pinEventIDUnderlyingCallsCount += 1 } pinEventIDReceivedEventID = eventID - DispatchQueue.main.async { - self.pinEventIDReceivedInvocations.append(eventID) - } + pinEventIDReceivedInvocationsLock.withLock { pinEventIDUnderlyingReceivedInvocations.append(eventID) } await pinEventIDClosure?(eventID) } //MARK: - unpin - var unpinEventIDUnderlyingCallsCount = 0 + private let unpinEventIDCallsCountLock = NSLock() + private var unpinEventIDUnderlyingCallsCount = 0 var unpinEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return unpinEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unpinEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unpinEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unpinEventIDUnderlyingCallsCount = newValue - } - } - } + get { unpinEventIDCallsCountLock.withLock { unpinEventIDUnderlyingCallsCount } } + set { unpinEventIDCallsCountLock.withLock { unpinEventIDUnderlyingCallsCount = newValue } } } var unpinEventIDCalled: Bool { return unpinEventIDCallsCount > 0 } - var unpinEventIDReceivedEventID: String? - var unpinEventIDReceivedInvocations: [String] = [] + private let unpinEventIDReceivedEventIDLock = NSLock() + private var unpinEventIDUnderlyingReceivedEventID: String? + var unpinEventIDReceivedEventID: String? { + get { unpinEventIDReceivedEventIDLock.withLock { unpinEventIDUnderlyingReceivedEventID } } + set { unpinEventIDReceivedEventIDLock.withLock { unpinEventIDUnderlyingReceivedEventID = newValue } } + } + private let unpinEventIDReceivedInvocationsLock = NSLock() + private var unpinEventIDUnderlyingReceivedInvocations: [String] = [] + var unpinEventIDReceivedInvocations: [String] { + get { unpinEventIDReceivedInvocationsLock.withLock { unpinEventIDUnderlyingReceivedInvocations } } + set { unpinEventIDReceivedInvocationsLock.withLock { unpinEventIDUnderlyingReceivedInvocations = newValue } } + } var unpinEventIDClosure: ((String) async -> Void)? func unpin(eventID: String) async { - unpinEventIDCallsCount += 1 + unpinEventIDCallsCountLock.withLock { unpinEventIDUnderlyingCallsCount += 1 } unpinEventIDReceivedEventID = eventID - DispatchQueue.main.async { - self.unpinEventIDReceivedInvocations.append(eventID) - } + unpinEventIDReceivedInvocationsLock.withLock { unpinEventIDUnderlyingReceivedInvocations.append(eventID) } await unpinEventIDClosure?(eventID) } //MARK: - messageEventContent - var messageEventContentForUnderlyingCallsCount = 0 + private let messageEventContentForCallsCountLock = NSLock() + private var messageEventContentForUnderlyingCallsCount = 0 var messageEventContentForCallsCount: Int { - get { - if Thread.isMainThread { - return messageEventContentForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = messageEventContentForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - messageEventContentForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - messageEventContentForUnderlyingCallsCount = newValue - } - } - } + get { messageEventContentForCallsCountLock.withLock { messageEventContentForUnderlyingCallsCount } } + set { messageEventContentForCallsCountLock.withLock { messageEventContentForUnderlyingCallsCount = newValue } } } var messageEventContentForCalled: Bool { return messageEventContentForCallsCount > 0 } - var messageEventContentForReceivedItemID: TimelineItemIdentifier? - var messageEventContentForReceivedInvocations: [TimelineItemIdentifier] = [] + private let messageEventContentForReceivedItemIDLock = NSLock() + private var messageEventContentForUnderlyingReceivedItemID: TimelineItemIdentifier? + var messageEventContentForReceivedItemID: TimelineItemIdentifier? { + get { messageEventContentForReceivedItemIDLock.withLock { messageEventContentForUnderlyingReceivedItemID } } + set { messageEventContentForReceivedItemIDLock.withLock { messageEventContentForUnderlyingReceivedItemID = newValue } } + } + private let messageEventContentForReceivedInvocationsLock = NSLock() + private var messageEventContentForUnderlyingReceivedInvocations: [TimelineItemIdentifier] = [] + var messageEventContentForReceivedInvocations: [TimelineItemIdentifier] { + get { messageEventContentForReceivedInvocationsLock.withLock { messageEventContentForUnderlyingReceivedInvocations } } + set { messageEventContentForReceivedInvocationsLock.withLock { messageEventContentForUnderlyingReceivedInvocations = newValue } } + } - var messageEventContentForUnderlyingReturnValue: RoomMessageEventContentWithoutRelation? + private let messageEventContentForReturnValueLock = NSLock() + private var messageEventContentForUnderlyingReturnValue: RoomMessageEventContentWithoutRelation? var messageEventContentForReturnValue: RoomMessageEventContentWithoutRelation? { - get { - if Thread.isMainThread { - return messageEventContentForUnderlyingReturnValue - } else { - var returnValue: RoomMessageEventContentWithoutRelation?? = nil - DispatchQueue.main.sync { - returnValue = messageEventContentForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - messageEventContentForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - messageEventContentForUnderlyingReturnValue = newValue - } - } - } + get { messageEventContentForReturnValueLock.withLock { messageEventContentForUnderlyingReturnValue } } + set { messageEventContentForReturnValueLock.withLock { messageEventContentForUnderlyingReturnValue = newValue } } } var messageEventContentForClosure: ((TimelineItemIdentifier) async -> RoomMessageEventContentWithoutRelation?)? func messageEventContent(for itemID: TimelineItemIdentifier) async -> RoomMessageEventContentWithoutRelation? { - messageEventContentForCallsCount += 1 + messageEventContentForCallsCountLock.withLock { messageEventContentForUnderlyingCallsCount += 1 } messageEventContentForReceivedItemID = itemID - DispatchQueue.main.async { - self.messageEventContentForReceivedInvocations.append(itemID) - } + messageEventContentForReceivedInvocationsLock.withLock { messageEventContentForUnderlyingReceivedInvocations.append(itemID) } if let messageEventContentForClosure = messageEventContentForClosure { return await messageEventContentForClosure(itemID) } else { @@ -20757,68 +12441,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - debugInfo - var debugInfoForUnderlyingCallsCount = 0 + private let debugInfoForCallsCountLock = NSLock() + private var debugInfoForUnderlyingCallsCount = 0 var debugInfoForCallsCount: Int { - get { - if Thread.isMainThread { - return debugInfoForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = debugInfoForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - debugInfoForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - debugInfoForUnderlyingCallsCount = newValue - } - } - } + get { debugInfoForCallsCountLock.withLock { debugInfoForUnderlyingCallsCount } } + set { debugInfoForCallsCountLock.withLock { debugInfoForUnderlyingCallsCount = newValue } } } var debugInfoForCalled: Bool { return debugInfoForCallsCount > 0 } - var debugInfoForReceivedItemID: TimelineItemIdentifier? - var debugInfoForReceivedInvocations: [TimelineItemIdentifier] = [] + private let debugInfoForReceivedItemIDLock = NSLock() + private var debugInfoForUnderlyingReceivedItemID: TimelineItemIdentifier? + var debugInfoForReceivedItemID: TimelineItemIdentifier? { + get { debugInfoForReceivedItemIDLock.withLock { debugInfoForUnderlyingReceivedItemID } } + set { debugInfoForReceivedItemIDLock.withLock { debugInfoForUnderlyingReceivedItemID = newValue } } + } + private let debugInfoForReceivedInvocationsLock = NSLock() + private var debugInfoForUnderlyingReceivedInvocations: [TimelineItemIdentifier] = [] + var debugInfoForReceivedInvocations: [TimelineItemIdentifier] { + get { debugInfoForReceivedInvocationsLock.withLock { debugInfoForUnderlyingReceivedInvocations } } + set { debugInfoForReceivedInvocationsLock.withLock { debugInfoForUnderlyingReceivedInvocations = newValue } } + } - var debugInfoForUnderlyingReturnValue: TimelineItemDebugInfo! + private let debugInfoForReturnValueLock = NSLock() + private var debugInfoForUnderlyingReturnValue: TimelineItemDebugInfo! var debugInfoForReturnValue: TimelineItemDebugInfo! { - get { - if Thread.isMainThread { - return debugInfoForUnderlyingReturnValue - } else { - var returnValue: TimelineItemDebugInfo? = nil - DispatchQueue.main.sync { - returnValue = debugInfoForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - debugInfoForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - debugInfoForUnderlyingReturnValue = newValue - } - } - } + get { debugInfoForReturnValueLock.withLock { debugInfoForUnderlyingReturnValue } } + set { debugInfoForReturnValueLock.withLock { debugInfoForUnderlyingReturnValue = newValue } } } var debugInfoForClosure: ((TimelineItemIdentifier) -> TimelineItemDebugInfo)? func debugInfo(for itemID: TimelineItemIdentifier) -> TimelineItemDebugInfo { - debugInfoForCallsCount += 1 + debugInfoForCallsCountLock.withLock { debugInfoForUnderlyingCallsCount += 1 } debugInfoForReceivedItemID = itemID - DispatchQueue.main.async { - self.debugInfoForReceivedInvocations.append(itemID) - } + debugInfoForReceivedInvocationsLock.withLock { debugInfoForUnderlyingReceivedInvocations.append(itemID) } if let debugInfoForClosure = debugInfoForClosure { return debugInfoForClosure(itemID) } else { @@ -20827,68 +12483,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendHandle - var sendHandleForUnderlyingCallsCount = 0 + private let sendHandleForCallsCountLock = NSLock() + private var sendHandleForUnderlyingCallsCount = 0 var sendHandleForCallsCount: Int { - get { - if Thread.isMainThread { - return sendHandleForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendHandleForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendHandleForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendHandleForUnderlyingCallsCount = newValue - } - } - } + get { sendHandleForCallsCountLock.withLock { sendHandleForUnderlyingCallsCount } } + set { sendHandleForCallsCountLock.withLock { sendHandleForUnderlyingCallsCount = newValue } } } var sendHandleForCalled: Bool { return sendHandleForCallsCount > 0 } - var sendHandleForReceivedItemID: TimelineItemIdentifier? - var sendHandleForReceivedInvocations: [TimelineItemIdentifier] = [] + private let sendHandleForReceivedItemIDLock = NSLock() + private var sendHandleForUnderlyingReceivedItemID: TimelineItemIdentifier? + var sendHandleForReceivedItemID: TimelineItemIdentifier? { + get { sendHandleForReceivedItemIDLock.withLock { sendHandleForUnderlyingReceivedItemID } } + set { sendHandleForReceivedItemIDLock.withLock { sendHandleForUnderlyingReceivedItemID = newValue } } + } + private let sendHandleForReceivedInvocationsLock = NSLock() + private var sendHandleForUnderlyingReceivedInvocations: [TimelineItemIdentifier] = [] + var sendHandleForReceivedInvocations: [TimelineItemIdentifier] { + get { sendHandleForReceivedInvocationsLock.withLock { sendHandleForUnderlyingReceivedInvocations } } + set { sendHandleForReceivedInvocationsLock.withLock { sendHandleForUnderlyingReceivedInvocations = newValue } } + } - var sendHandleForUnderlyingReturnValue: SendHandleProxy? + private let sendHandleForReturnValueLock = NSLock() + private var sendHandleForUnderlyingReturnValue: SendHandleProxy? var sendHandleForReturnValue: SendHandleProxy? { - get { - if Thread.isMainThread { - return sendHandleForUnderlyingReturnValue - } else { - var returnValue: SendHandleProxy?? = nil - DispatchQueue.main.sync { - returnValue = sendHandleForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendHandleForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendHandleForUnderlyingReturnValue = newValue - } - } - } + get { sendHandleForReturnValueLock.withLock { sendHandleForUnderlyingReturnValue } } + set { sendHandleForReturnValueLock.withLock { sendHandleForUnderlyingReturnValue = newValue } } } var sendHandleForClosure: ((TimelineItemIdentifier) -> SendHandleProxy?)? func sendHandle(for itemID: TimelineItemIdentifier) -> SendHandleProxy? { - sendHandleForCallsCount += 1 + sendHandleForCallsCountLock.withLock { sendHandleForUnderlyingCallsCount += 1 } sendHandleForReceivedItemID = itemID - DispatchQueue.main.async { - self.sendHandleForReceivedInvocations.append(itemID) - } + sendHandleForReceivedInvocationsLock.withLock { sendHandleForUnderlyingReceivedInvocations.append(itemID) } if let sendHandleForClosure = sendHandleForClosure { return sendHandleForClosure(itemID) } else { @@ -20897,68 +12525,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - eventTimestamp - var eventTimestampForUnderlyingCallsCount = 0 + private let eventTimestampForCallsCountLock = NSLock() + private var eventTimestampForUnderlyingCallsCount = 0 var eventTimestampForCallsCount: Int { - get { - if Thread.isMainThread { - return eventTimestampForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = eventTimestampForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventTimestampForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - eventTimestampForUnderlyingCallsCount = newValue - } - } - } + get { eventTimestampForCallsCountLock.withLock { eventTimestampForUnderlyingCallsCount } } + set { eventTimestampForCallsCountLock.withLock { eventTimestampForUnderlyingCallsCount = newValue } } } var eventTimestampForCalled: Bool { return eventTimestampForCallsCount > 0 } - var eventTimestampForReceivedItemID: TimelineItemIdentifier? - var eventTimestampForReceivedInvocations: [TimelineItemIdentifier] = [] + private let eventTimestampForReceivedItemIDLock = NSLock() + private var eventTimestampForUnderlyingReceivedItemID: TimelineItemIdentifier? + var eventTimestampForReceivedItemID: TimelineItemIdentifier? { + get { eventTimestampForReceivedItemIDLock.withLock { eventTimestampForUnderlyingReceivedItemID } } + set { eventTimestampForReceivedItemIDLock.withLock { eventTimestampForUnderlyingReceivedItemID = newValue } } + } + private let eventTimestampForReceivedInvocationsLock = NSLock() + private var eventTimestampForUnderlyingReceivedInvocations: [TimelineItemIdentifier] = [] + var eventTimestampForReceivedInvocations: [TimelineItemIdentifier] { + get { eventTimestampForReceivedInvocationsLock.withLock { eventTimestampForUnderlyingReceivedInvocations } } + set { eventTimestampForReceivedInvocationsLock.withLock { eventTimestampForUnderlyingReceivedInvocations = newValue } } + } - var eventTimestampForUnderlyingReturnValue: Date? + private let eventTimestampForReturnValueLock = NSLock() + private var eventTimestampForUnderlyingReturnValue: Date? var eventTimestampForReturnValue: Date? { - get { - if Thread.isMainThread { - return eventTimestampForUnderlyingReturnValue - } else { - var returnValue: Date?? = nil - DispatchQueue.main.sync { - returnValue = eventTimestampForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventTimestampForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - eventTimestampForUnderlyingReturnValue = newValue - } - } - } + get { eventTimestampForReturnValueLock.withLock { eventTimestampForUnderlyingReturnValue } } + set { eventTimestampForReturnValueLock.withLock { eventTimestampForUnderlyingReturnValue = newValue } } } var eventTimestampForClosure: ((TimelineItemIdentifier) -> Date?)? func eventTimestamp(for itemID: TimelineItemIdentifier) -> Date? { - eventTimestampForCallsCount += 1 + eventTimestampForCallsCountLock.withLock { eventTimestampForUnderlyingCallsCount += 1 } eventTimestampForReceivedItemID = itemID - DispatchQueue.main.async { - self.eventTimestampForReceivedInvocations.append(itemID) - } + eventTimestampForReceivedInvocationsLock.withLock { eventTimestampForUnderlyingReceivedInvocations.append(itemID) } if let eventTimestampForClosure = eventTimestampForClosure { return eventTimestampForClosure(itemID) } else { @@ -20967,103 +12567,57 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendMessage - var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = 0 + private let sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCountLock = NSLock() + private var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = 0 var sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCount: Int { - get { - if Thread.isMainThread { - return sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = newValue - } - } - } + get { sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCountLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount } } + set { sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCountLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = newValue } } } var sendMessageHtmlInReplyToEventIDIntentionalMentionsCalled: Bool { return sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCount > 0 } - var sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArguments: (message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)? - var sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocations: [(message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)] = [] + private let sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArgumentsLock = NSLock() + private var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedArguments: (message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)? + var sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArguments: (message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)? { + get { sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArgumentsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedArguments } } + set { sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArgumentsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedArguments = newValue } } + } + private let sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocationsLock = NSLock() + private var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedInvocations: [(message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)] = [] + var sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocations: [(message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)] { + get { sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocationsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedInvocations } } + set { sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocationsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedInvocations = newValue } } + } var sendMessageHtmlInReplyToEventIDIntentionalMentionsClosure: ((String, String?, String?, IntentionalMentions) async -> Void)? func sendMessage(_ message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions) async { - sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCount += 1 + sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCountLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount += 1 } sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArguments = (message: message, html: html, inReplyToEventID: inReplyToEventID, intentionalMentions: intentionalMentions) - DispatchQueue.main.async { - self.sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocations.append((message: message, html: html, inReplyToEventID: inReplyToEventID, intentionalMentions: intentionalMentions)) - } + sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocationsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedInvocations.append((message: message, html: html, inReplyToEventID: inReplyToEventID, intentionalMentions: intentionalMentions)) } await sendMessageHtmlInReplyToEventIDIntentionalMentionsClosure?(message, html, inReplyToEventID, intentionalMentions) } //MARK: - sendAudio - var sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = 0 + private let sendAudioUrlAudioInfoCaptionRequestHandleCallsCountLock = NSLock() + private var sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = 0 var sendAudioUrlAudioInfoCaptionRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendAudioUrlAudioInfoCaptionRequestHandleCallsCountLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount } } + set { sendAudioUrlAudioInfoCaptionRequestHandleCallsCountLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = newValue } } } var sendAudioUrlAudioInfoCaptionRequestHandleCalled: Bool { return sendAudioUrlAudioInfoCaptionRequestHandleCallsCount > 0 } - var sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue: Result! + private let sendAudioUrlAudioInfoCaptionRequestHandleReturnValueLock = NSLock() + private var sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue: Result! var sendAudioUrlAudioInfoCaptionRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendAudioUrlAudioInfoCaptionRequestHandleReturnValueLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue } } + set { sendAudioUrlAudioInfoCaptionRequestHandleReturnValueLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue = newValue } } } var sendAudioUrlAudioInfoCaptionRequestHandleClosure: ((URL, AudioInfo, String?, @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendAudio(url: URL, audioInfo: AudioInfo, caption: String?, requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendAudioUrlAudioInfoCaptionRequestHandleCallsCount += 1 + sendAudioUrlAudioInfoCaptionRequestHandleCallsCountLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount += 1 } if let sendAudioUrlAudioInfoCaptionRequestHandleClosure = sendAudioUrlAudioInfoCaptionRequestHandleClosure { return await sendAudioUrlAudioInfoCaptionRequestHandleClosure(url, audioInfo, caption, requestHandle) } else { @@ -21072,62 +12626,26 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendFile - var sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = 0 + private let sendFileUrlFileInfoCaptionRequestHandleCallsCountLock = NSLock() + private var sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = 0 var sendFileUrlFileInfoCaptionRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendFileUrlFileInfoCaptionRequestHandleCallsCountLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount } } + set { sendFileUrlFileInfoCaptionRequestHandleCallsCountLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = newValue } } } var sendFileUrlFileInfoCaptionRequestHandleCalled: Bool { return sendFileUrlFileInfoCaptionRequestHandleCallsCount > 0 } - var sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue: Result! + private let sendFileUrlFileInfoCaptionRequestHandleReturnValueLock = NSLock() + private var sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue: Result! var sendFileUrlFileInfoCaptionRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendFileUrlFileInfoCaptionRequestHandleReturnValueLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue } } + set { sendFileUrlFileInfoCaptionRequestHandleReturnValueLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue = newValue } } } var sendFileUrlFileInfoCaptionRequestHandleClosure: ((URL, FileInfo, String?, @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendFile(url: URL, fileInfo: FileInfo, caption: String?, requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendFileUrlFileInfoCaptionRequestHandleCallsCount += 1 + sendFileUrlFileInfoCaptionRequestHandleCallsCountLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount += 1 } if let sendFileUrlFileInfoCaptionRequestHandleClosure = sendFileUrlFileInfoCaptionRequestHandleClosure { return await sendFileUrlFileInfoCaptionRequestHandleClosure(url, fileInfo, caption, requestHandle) } else { @@ -21136,62 +12654,26 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendImage - var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = 0 + private let sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCountLock = NSLock() + private var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = 0 var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCountLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount } } + set { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCountLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = newValue } } } var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCalled: Bool { return sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCount > 0 } - var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue: Result! + private let sendImageUrlThumbnailURLImageInfoCaptionRequestHandleReturnValueLock = NSLock() + private var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue: Result! var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleReturnValueLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue } } + set { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleReturnValueLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue = newValue } } } var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleClosure: ((URL, URL, ImageInfo, String?, @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendImage(url: URL, thumbnailURL: URL, imageInfo: ImageInfo, caption: String?, requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCount += 1 + sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCountLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount += 1 } if let sendImageUrlThumbnailURLImageInfoCaptionRequestHandleClosure = sendImageUrlThumbnailURLImageInfoCaptionRequestHandleClosure { return await sendImageUrlThumbnailURLImageInfoCaptionRequestHandleClosure(url, thumbnailURL, imageInfo, caption, requestHandle) } else { @@ -21200,68 +12682,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendLocation - var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = 0 + private let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCountLock = NSLock() + private var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = 0 var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCount: Int { - get { - if Thread.isMainThread { - return sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = newValue - } - } - } + get { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCountLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount } } + set { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCountLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = newValue } } } var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCalled: Bool { return sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCount > 0 } - var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArguments: (body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)? - var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocations: [(body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)] = [] + private let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArgumentsLock = NSLock() + private var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedArguments: (body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)? + var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArguments: (body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)? { + get { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArgumentsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedArguments } } + set { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArgumentsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedArguments = newValue } } + } + private let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocationsLock = NSLock() + private var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedInvocations: [(body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)] = [] + var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocations: [(body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)] { + get { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocationsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedInvocations } } + set { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocationsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedInvocations = newValue } } + } - var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue: Result! + private let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReturnValueLock = NSLock() + private var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue: Result! var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReturnValue: Result! { - get { - if Thread.isMainThread { - return sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue = newValue - } - } - } + get { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReturnValueLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue } } + set { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReturnValueLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue = newValue } } } var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeClosure: ((String, GeoURI, String?, UInt8?, AssetType?) async -> Result)? func sendLocation(body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?) async -> Result { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCount += 1 + sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCountLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount += 1 } sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArguments = (body: body, geoURI: geoURI, description: description, zoomLevel: zoomLevel, assetType: assetType) - DispatchQueue.main.async { - self.sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocations.append((body: body, geoURI: geoURI, description: description, zoomLevel: zoomLevel, assetType: assetType)) - } + sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocationsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedInvocations.append((body: body, geoURI: geoURI, description: description, zoomLevel: zoomLevel, assetType: assetType)) } if let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeClosure = sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeClosure { return await sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeClosure(body, geoURI, description, zoomLevel, assetType) } else { @@ -21270,62 +12724,26 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendVideo - var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = 0 + private let sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCountLock = NSLock() + private var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = 0 var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCountLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount } } + set { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCountLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = newValue } } } var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCalled: Bool { return sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCount > 0 } - var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue: Result! + private let sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleReturnValueLock = NSLock() + private var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue: Result! var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleReturnValueLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue } } + set { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleReturnValueLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue = newValue } } } var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleClosure: ((URL, URL, VideoInfo, String?, @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendVideo(url: URL, thumbnailURL: URL, videoInfo: VideoInfo, caption: String?, requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCount += 1 + sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCountLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount += 1 } if let sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleClosure = sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleClosure { return await sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleClosure(url, thumbnailURL, videoInfo, caption, requestHandle) } else { @@ -21334,62 +12752,26 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendVoiceMessage - var sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = 0 + private let sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCountLock = NSLock() + private var sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = 0 var sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCountLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount } } + set { sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCountLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = newValue } } } var sendVoiceMessageUrlAudioInfoWaveformRequestHandleCalled: Bool { return sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCount > 0 } - var sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue: Result! + private let sendVoiceMessageUrlAudioInfoWaveformRequestHandleReturnValueLock = NSLock() + private var sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue: Result! var sendVoiceMessageUrlAudioInfoWaveformRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendVoiceMessageUrlAudioInfoWaveformRequestHandleReturnValueLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue } } + set { sendVoiceMessageUrlAudioInfoWaveformRequestHandleReturnValueLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue = newValue } } } var sendVoiceMessageUrlAudioInfoWaveformRequestHandleClosure: ((URL, AudioInfo, [Float], @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendVoiceMessage(url: URL, audioInfo: AudioInfo, waveform: [Float], requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCount += 1 + sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCountLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount += 1 } if let sendVoiceMessageUrlAudioInfoWaveformRequestHandleClosure = sendVoiceMessageUrlAudioInfoWaveformRequestHandleClosure { return await sendVoiceMessageUrlAudioInfoWaveformRequestHandleClosure(url, audioInfo, waveform, requestHandle) } else { @@ -21398,68 +12780,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - createPoll - var createPollQuestionAnswersPollKindUnderlyingCallsCount = 0 + private let createPollQuestionAnswersPollKindCallsCountLock = NSLock() + private var createPollQuestionAnswersPollKindUnderlyingCallsCount = 0 var createPollQuestionAnswersPollKindCallsCount: Int { - get { - if Thread.isMainThread { - return createPollQuestionAnswersPollKindUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = createPollQuestionAnswersPollKindUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createPollQuestionAnswersPollKindUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - createPollQuestionAnswersPollKindUnderlyingCallsCount = newValue - } - } - } + get { createPollQuestionAnswersPollKindCallsCountLock.withLock { createPollQuestionAnswersPollKindUnderlyingCallsCount } } + set { createPollQuestionAnswersPollKindCallsCountLock.withLock { createPollQuestionAnswersPollKindUnderlyingCallsCount = newValue } } } var createPollQuestionAnswersPollKindCalled: Bool { return createPollQuestionAnswersPollKindCallsCount > 0 } - var createPollQuestionAnswersPollKindReceivedArguments: (question: String, answers: [String], pollKind: Poll.Kind)? - var createPollQuestionAnswersPollKindReceivedInvocations: [(question: String, answers: [String], pollKind: Poll.Kind)] = [] + private let createPollQuestionAnswersPollKindReceivedArgumentsLock = NSLock() + private var createPollQuestionAnswersPollKindUnderlyingReceivedArguments: (question: String, answers: [String], pollKind: Poll.Kind)? + var createPollQuestionAnswersPollKindReceivedArguments: (question: String, answers: [String], pollKind: Poll.Kind)? { + get { createPollQuestionAnswersPollKindReceivedArgumentsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedArguments } } + set { createPollQuestionAnswersPollKindReceivedArgumentsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedArguments = newValue } } + } + private let createPollQuestionAnswersPollKindReceivedInvocationsLock = NSLock() + private var createPollQuestionAnswersPollKindUnderlyingReceivedInvocations: [(question: String, answers: [String], pollKind: Poll.Kind)] = [] + var createPollQuestionAnswersPollKindReceivedInvocations: [(question: String, answers: [String], pollKind: Poll.Kind)] { + get { createPollQuestionAnswersPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedInvocations } } + set { createPollQuestionAnswersPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedInvocations = newValue } } + } - var createPollQuestionAnswersPollKindUnderlyingReturnValue: Result! + private let createPollQuestionAnswersPollKindReturnValueLock = NSLock() + private var createPollQuestionAnswersPollKindUnderlyingReturnValue: Result! var createPollQuestionAnswersPollKindReturnValue: Result! { - get { - if Thread.isMainThread { - return createPollQuestionAnswersPollKindUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = createPollQuestionAnswersPollKindUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createPollQuestionAnswersPollKindUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - createPollQuestionAnswersPollKindUnderlyingReturnValue = newValue - } - } - } + get { createPollQuestionAnswersPollKindReturnValueLock.withLock { createPollQuestionAnswersPollKindUnderlyingReturnValue } } + set { createPollQuestionAnswersPollKindReturnValueLock.withLock { createPollQuestionAnswersPollKindUnderlyingReturnValue = newValue } } } var createPollQuestionAnswersPollKindClosure: ((String, [String], Poll.Kind) async -> Result)? func createPoll(question: String, answers: [String], pollKind: Poll.Kind) async -> Result { - createPollQuestionAnswersPollKindCallsCount += 1 + createPollQuestionAnswersPollKindCallsCountLock.withLock { createPollQuestionAnswersPollKindUnderlyingCallsCount += 1 } createPollQuestionAnswersPollKindReceivedArguments = (question: question, answers: answers, pollKind: pollKind) - DispatchQueue.main.async { - self.createPollQuestionAnswersPollKindReceivedInvocations.append((question: question, answers: answers, pollKind: pollKind)) - } + createPollQuestionAnswersPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedInvocations.append((question: question, answers: answers, pollKind: pollKind)) } if let createPollQuestionAnswersPollKindClosure = createPollQuestionAnswersPollKindClosure { return await createPollQuestionAnswersPollKindClosure(question, answers, pollKind) } else { @@ -21468,68 +12822,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - editPoll - var editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = 0 + private let editPollOriginalQuestionAnswersPollKindCallsCountLock = NSLock() + private var editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = 0 var editPollOriginalQuestionAnswersPollKindCallsCount: Int { - get { - if Thread.isMainThread { - return editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = newValue - } - } - } + get { editPollOriginalQuestionAnswersPollKindCallsCountLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount } } + set { editPollOriginalQuestionAnswersPollKindCallsCountLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = newValue } } } var editPollOriginalQuestionAnswersPollKindCalled: Bool { return editPollOriginalQuestionAnswersPollKindCallsCount > 0 } - var editPollOriginalQuestionAnswersPollKindReceivedArguments: (eventID: String, question: String, answers: [String], pollKind: Poll.Kind)? - var editPollOriginalQuestionAnswersPollKindReceivedInvocations: [(eventID: String, question: String, answers: [String], pollKind: Poll.Kind)] = [] + private let editPollOriginalQuestionAnswersPollKindReceivedArgumentsLock = NSLock() + private var editPollOriginalQuestionAnswersPollKindUnderlyingReceivedArguments: (eventID: String, question: String, answers: [String], pollKind: Poll.Kind)? + var editPollOriginalQuestionAnswersPollKindReceivedArguments: (eventID: String, question: String, answers: [String], pollKind: Poll.Kind)? { + get { editPollOriginalQuestionAnswersPollKindReceivedArgumentsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedArguments } } + set { editPollOriginalQuestionAnswersPollKindReceivedArgumentsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedArguments = newValue } } + } + private let editPollOriginalQuestionAnswersPollKindReceivedInvocationsLock = NSLock() + private var editPollOriginalQuestionAnswersPollKindUnderlyingReceivedInvocations: [(eventID: String, question: String, answers: [String], pollKind: Poll.Kind)] = [] + var editPollOriginalQuestionAnswersPollKindReceivedInvocations: [(eventID: String, question: String, answers: [String], pollKind: Poll.Kind)] { + get { editPollOriginalQuestionAnswersPollKindReceivedInvocationsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedInvocations } } + set { editPollOriginalQuestionAnswersPollKindReceivedInvocationsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedInvocations = newValue } } + } - var editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue: Result! + private let editPollOriginalQuestionAnswersPollKindReturnValueLock = NSLock() + private var editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue: Result! var editPollOriginalQuestionAnswersPollKindReturnValue: Result! { - get { - if Thread.isMainThread { - return editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue = newValue - } - } - } + get { editPollOriginalQuestionAnswersPollKindReturnValueLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue } } + set { editPollOriginalQuestionAnswersPollKindReturnValueLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue = newValue } } } var editPollOriginalQuestionAnswersPollKindClosure: ((String, String, [String], Poll.Kind) async -> Result)? func editPoll(original eventID: String, question: String, answers: [String], pollKind: Poll.Kind) async -> Result { - editPollOriginalQuestionAnswersPollKindCallsCount += 1 + editPollOriginalQuestionAnswersPollKindCallsCountLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount += 1 } editPollOriginalQuestionAnswersPollKindReceivedArguments = (eventID: eventID, question: question, answers: answers, pollKind: pollKind) - DispatchQueue.main.async { - self.editPollOriginalQuestionAnswersPollKindReceivedInvocations.append((eventID: eventID, question: question, answers: answers, pollKind: pollKind)) - } + editPollOriginalQuestionAnswersPollKindReceivedInvocationsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedInvocations.append((eventID: eventID, question: question, answers: answers, pollKind: pollKind)) } if let editPollOriginalQuestionAnswersPollKindClosure = editPollOriginalQuestionAnswersPollKindClosure { return await editPollOriginalQuestionAnswersPollKindClosure(eventID, question, answers, pollKind) } else { @@ -21538,68 +12864,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - sendPollResponse - var sendPollResponsePollStartIDAnswersUnderlyingCallsCount = 0 + private let sendPollResponsePollStartIDAnswersCallsCountLock = NSLock() + private var sendPollResponsePollStartIDAnswersUnderlyingCallsCount = 0 var sendPollResponsePollStartIDAnswersCallsCount: Int { - get { - if Thread.isMainThread { - return sendPollResponsePollStartIDAnswersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendPollResponsePollStartIDAnswersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendPollResponsePollStartIDAnswersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendPollResponsePollStartIDAnswersUnderlyingCallsCount = newValue - } - } - } + get { sendPollResponsePollStartIDAnswersCallsCountLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingCallsCount } } + set { sendPollResponsePollStartIDAnswersCallsCountLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingCallsCount = newValue } } } var sendPollResponsePollStartIDAnswersCalled: Bool { return sendPollResponsePollStartIDAnswersCallsCount > 0 } - var sendPollResponsePollStartIDAnswersReceivedArguments: (pollStartID: String, answers: [String])? - var sendPollResponsePollStartIDAnswersReceivedInvocations: [(pollStartID: String, answers: [String])] = [] + private let sendPollResponsePollStartIDAnswersReceivedArgumentsLock = NSLock() + private var sendPollResponsePollStartIDAnswersUnderlyingReceivedArguments: (pollStartID: String, answers: [String])? + var sendPollResponsePollStartIDAnswersReceivedArguments: (pollStartID: String, answers: [String])? { + get { sendPollResponsePollStartIDAnswersReceivedArgumentsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedArguments } } + set { sendPollResponsePollStartIDAnswersReceivedArgumentsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedArguments = newValue } } + } + private let sendPollResponsePollStartIDAnswersReceivedInvocationsLock = NSLock() + private var sendPollResponsePollStartIDAnswersUnderlyingReceivedInvocations: [(pollStartID: String, answers: [String])] = [] + var sendPollResponsePollStartIDAnswersReceivedInvocations: [(pollStartID: String, answers: [String])] { + get { sendPollResponsePollStartIDAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedInvocations } } + set { sendPollResponsePollStartIDAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedInvocations = newValue } } + } - var sendPollResponsePollStartIDAnswersUnderlyingReturnValue: Result! + private let sendPollResponsePollStartIDAnswersReturnValueLock = NSLock() + private var sendPollResponsePollStartIDAnswersUnderlyingReturnValue: Result! var sendPollResponsePollStartIDAnswersReturnValue: Result! { - get { - if Thread.isMainThread { - return sendPollResponsePollStartIDAnswersUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendPollResponsePollStartIDAnswersUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendPollResponsePollStartIDAnswersUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendPollResponsePollStartIDAnswersUnderlyingReturnValue = newValue - } - } - } + get { sendPollResponsePollStartIDAnswersReturnValueLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReturnValue } } + set { sendPollResponsePollStartIDAnswersReturnValueLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReturnValue = newValue } } } var sendPollResponsePollStartIDAnswersClosure: ((String, [String]) async -> Result)? func sendPollResponse(pollStartID: String, answers: [String]) async -> Result { - sendPollResponsePollStartIDAnswersCallsCount += 1 + sendPollResponsePollStartIDAnswersCallsCountLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingCallsCount += 1 } sendPollResponsePollStartIDAnswersReceivedArguments = (pollStartID: pollStartID, answers: answers) - DispatchQueue.main.async { - self.sendPollResponsePollStartIDAnswersReceivedInvocations.append((pollStartID: pollStartID, answers: answers)) - } + sendPollResponsePollStartIDAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedInvocations.append((pollStartID: pollStartID, answers: answers)) } if let sendPollResponsePollStartIDAnswersClosure = sendPollResponsePollStartIDAnswersClosure { return await sendPollResponsePollStartIDAnswersClosure(pollStartID, answers) } else { @@ -21608,68 +12906,40 @@ class TimelineControllerMock: TimelineControllerProtocol, @unchecked Sendable { } //MARK: - endPoll - var endPollPollStartIDTextUnderlyingCallsCount = 0 + private let endPollPollStartIDTextCallsCountLock = NSLock() + private var endPollPollStartIDTextUnderlyingCallsCount = 0 var endPollPollStartIDTextCallsCount: Int { - get { - if Thread.isMainThread { - return endPollPollStartIDTextUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = endPollPollStartIDTextUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - endPollPollStartIDTextUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - endPollPollStartIDTextUnderlyingCallsCount = newValue - } - } - } + get { endPollPollStartIDTextCallsCountLock.withLock { endPollPollStartIDTextUnderlyingCallsCount } } + set { endPollPollStartIDTextCallsCountLock.withLock { endPollPollStartIDTextUnderlyingCallsCount = newValue } } } var endPollPollStartIDTextCalled: Bool { return endPollPollStartIDTextCallsCount > 0 } - var endPollPollStartIDTextReceivedArguments: (pollStartID: String, text: String)? - var endPollPollStartIDTextReceivedInvocations: [(pollStartID: String, text: String)] = [] + private let endPollPollStartIDTextReceivedArgumentsLock = NSLock() + private var endPollPollStartIDTextUnderlyingReceivedArguments: (pollStartID: String, text: String)? + var endPollPollStartIDTextReceivedArguments: (pollStartID: String, text: String)? { + get { endPollPollStartIDTextReceivedArgumentsLock.withLock { endPollPollStartIDTextUnderlyingReceivedArguments } } + set { endPollPollStartIDTextReceivedArgumentsLock.withLock { endPollPollStartIDTextUnderlyingReceivedArguments = newValue } } + } + private let endPollPollStartIDTextReceivedInvocationsLock = NSLock() + private var endPollPollStartIDTextUnderlyingReceivedInvocations: [(pollStartID: String, text: String)] = [] + var endPollPollStartIDTextReceivedInvocations: [(pollStartID: String, text: String)] { + get { endPollPollStartIDTextReceivedInvocationsLock.withLock { endPollPollStartIDTextUnderlyingReceivedInvocations } } + set { endPollPollStartIDTextReceivedInvocationsLock.withLock { endPollPollStartIDTextUnderlyingReceivedInvocations = newValue } } + } - var endPollPollStartIDTextUnderlyingReturnValue: Result! + private let endPollPollStartIDTextReturnValueLock = NSLock() + private var endPollPollStartIDTextUnderlyingReturnValue: Result! var endPollPollStartIDTextReturnValue: Result! { - get { - if Thread.isMainThread { - return endPollPollStartIDTextUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = endPollPollStartIDTextUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - endPollPollStartIDTextUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - endPollPollStartIDTextUnderlyingReturnValue = newValue - } - } - } + get { endPollPollStartIDTextReturnValueLock.withLock { endPollPollStartIDTextUnderlyingReturnValue } } + set { endPollPollStartIDTextReturnValueLock.withLock { endPollPollStartIDTextUnderlyingReturnValue = newValue } } } var endPollPollStartIDTextClosure: ((String, String) async -> Result)? func endPoll(pollStartID: String, text: String) async -> Result { - endPollPollStartIDTextCallsCount += 1 + endPollPollStartIDTextCallsCountLock.withLock { endPollPollStartIDTextUnderlyingCallsCount += 1 } endPollPollStartIDTextReceivedArguments = (pollStartID: pollStartID, text: text) - DispatchQueue.main.async { - self.endPollPollStartIDTextReceivedInvocations.append((pollStartID: pollStartID, text: text)) - } + endPollPollStartIDTextReceivedInvocationsLock.withLock { endPollPollStartIDTextUnderlyingReceivedInvocations.append((pollStartID: pollStartID, text: text)) } if let endPollPollStartIDTextClosure = endPollPollStartIDTextClosure { return await endPollPollStartIDTextClosure(pollStartID, text) } else { @@ -21710,29 +12980,11 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { //MARK: - subscribeForUpdates - var subscribeForUpdatesUnderlyingCallsCount = 0 + private let subscribeForUpdatesCallsCountLock = NSLock() + private var subscribeForUpdatesUnderlyingCallsCount = 0 var subscribeForUpdatesCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeForUpdatesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeForUpdatesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeForUpdatesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeForUpdatesUnderlyingCallsCount = newValue - } - } - } + get { subscribeForUpdatesCallsCountLock.withLock { subscribeForUpdatesUnderlyingCallsCount } } + set { subscribeForUpdatesCallsCountLock.withLock { subscribeForUpdatesUnderlyingCallsCount = newValue } } } var subscribeForUpdatesCalled: Bool { return subscribeForUpdatesCallsCount > 0 @@ -21740,114 +12992,76 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { var subscribeForUpdatesClosure: (() async -> Void)? func subscribeForUpdates() async { - subscribeForUpdatesCallsCount += 1 + subscribeForUpdatesCallsCountLock.withLock { subscribeForUpdatesUnderlyingCallsCount += 1 } await subscribeForUpdatesClosure?() } //MARK: - fetchDetails - var fetchDetailsForUnderlyingCallsCount = 0 + private let fetchDetailsForCallsCountLock = NSLock() + private var fetchDetailsForUnderlyingCallsCount = 0 var fetchDetailsForCallsCount: Int { - get { - if Thread.isMainThread { - return fetchDetailsForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = fetchDetailsForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchDetailsForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - fetchDetailsForUnderlyingCallsCount = newValue - } - } - } + get { fetchDetailsForCallsCountLock.withLock { fetchDetailsForUnderlyingCallsCount } } + set { fetchDetailsForCallsCountLock.withLock { fetchDetailsForUnderlyingCallsCount = newValue } } } var fetchDetailsForCalled: Bool { return fetchDetailsForCallsCount > 0 } - var fetchDetailsForReceivedEventID: String? - var fetchDetailsForReceivedInvocations: [String] = [] + private let fetchDetailsForReceivedEventIDLock = NSLock() + private var fetchDetailsForUnderlyingReceivedEventID: String? + var fetchDetailsForReceivedEventID: String? { + get { fetchDetailsForReceivedEventIDLock.withLock { fetchDetailsForUnderlyingReceivedEventID } } + set { fetchDetailsForReceivedEventIDLock.withLock { fetchDetailsForUnderlyingReceivedEventID = newValue } } + } + private let fetchDetailsForReceivedInvocationsLock = NSLock() + private var fetchDetailsForUnderlyingReceivedInvocations: [String] = [] + var fetchDetailsForReceivedInvocations: [String] { + get { fetchDetailsForReceivedInvocationsLock.withLock { fetchDetailsForUnderlyingReceivedInvocations } } + set { fetchDetailsForReceivedInvocationsLock.withLock { fetchDetailsForUnderlyingReceivedInvocations = newValue } } + } var fetchDetailsForClosure: ((String) -> Void)? func fetchDetails(for eventID: String) { - fetchDetailsForCallsCount += 1 + fetchDetailsForCallsCountLock.withLock { fetchDetailsForUnderlyingCallsCount += 1 } fetchDetailsForReceivedEventID = eventID - DispatchQueue.main.async { - self.fetchDetailsForReceivedInvocations.append(eventID) - } + fetchDetailsForReceivedInvocationsLock.withLock { fetchDetailsForUnderlyingReceivedInvocations.append(eventID) } fetchDetailsForClosure?(eventID) } //MARK: - messageEventContent - var messageEventContentForUnderlyingCallsCount = 0 + private let messageEventContentForCallsCountLock = NSLock() + private var messageEventContentForUnderlyingCallsCount = 0 var messageEventContentForCallsCount: Int { - get { - if Thread.isMainThread { - return messageEventContentForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = messageEventContentForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - messageEventContentForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - messageEventContentForUnderlyingCallsCount = newValue - } - } - } + get { messageEventContentForCallsCountLock.withLock { messageEventContentForUnderlyingCallsCount } } + set { messageEventContentForCallsCountLock.withLock { messageEventContentForUnderlyingCallsCount = newValue } } } var messageEventContentForCalled: Bool { return messageEventContentForCallsCount > 0 } - var messageEventContentForReceivedTimelineItemID: TimelineItemIdentifier? - var messageEventContentForReceivedInvocations: [TimelineItemIdentifier] = [] + private let messageEventContentForReceivedTimelineItemIDLock = NSLock() + private var messageEventContentForUnderlyingReceivedTimelineItemID: TimelineItemIdentifier? + var messageEventContentForReceivedTimelineItemID: TimelineItemIdentifier? { + get { messageEventContentForReceivedTimelineItemIDLock.withLock { messageEventContentForUnderlyingReceivedTimelineItemID } } + set { messageEventContentForReceivedTimelineItemIDLock.withLock { messageEventContentForUnderlyingReceivedTimelineItemID = newValue } } + } + private let messageEventContentForReceivedInvocationsLock = NSLock() + private var messageEventContentForUnderlyingReceivedInvocations: [TimelineItemIdentifier] = [] + var messageEventContentForReceivedInvocations: [TimelineItemIdentifier] { + get { messageEventContentForReceivedInvocationsLock.withLock { messageEventContentForUnderlyingReceivedInvocations } } + set { messageEventContentForReceivedInvocationsLock.withLock { messageEventContentForUnderlyingReceivedInvocations = newValue } } + } - var messageEventContentForUnderlyingReturnValue: RoomMessageEventContentWithoutRelation? + private let messageEventContentForReturnValueLock = NSLock() + private var messageEventContentForUnderlyingReturnValue: RoomMessageEventContentWithoutRelation? var messageEventContentForReturnValue: RoomMessageEventContentWithoutRelation? { - get { - if Thread.isMainThread { - return messageEventContentForUnderlyingReturnValue - } else { - var returnValue: RoomMessageEventContentWithoutRelation?? = nil - DispatchQueue.main.sync { - returnValue = messageEventContentForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - messageEventContentForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - messageEventContentForUnderlyingReturnValue = newValue - } - } - } + get { messageEventContentForReturnValueLock.withLock { messageEventContentForUnderlyingReturnValue } } + set { messageEventContentForReturnValueLock.withLock { messageEventContentForUnderlyingReturnValue = newValue } } } var messageEventContentForClosure: ((TimelineItemIdentifier) async -> RoomMessageEventContentWithoutRelation?)? func messageEventContent(for timelineItemID: TimelineItemIdentifier) async -> RoomMessageEventContentWithoutRelation? { - messageEventContentForCallsCount += 1 + messageEventContentForCallsCountLock.withLock { messageEventContentForUnderlyingCallsCount += 1 } messageEventContentForReceivedTimelineItemID = timelineItemID - DispatchQueue.main.async { - self.messageEventContentForReceivedInvocations.append(timelineItemID) - } + messageEventContentForReceivedInvocationsLock.withLock { messageEventContentForUnderlyingReceivedInvocations.append(timelineItemID) } if let messageEventContentForClosure = messageEventContentForClosure { return await messageEventContentForClosure(timelineItemID) } else { @@ -21856,109 +13070,71 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - retryDecryption - var retryDecryptionSessionIDsUnderlyingCallsCount = 0 + private let retryDecryptionSessionIDsCallsCountLock = NSLock() + private var retryDecryptionSessionIDsUnderlyingCallsCount = 0 var retryDecryptionSessionIDsCallsCount: Int { - get { - if Thread.isMainThread { - return retryDecryptionSessionIDsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = retryDecryptionSessionIDsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - retryDecryptionSessionIDsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - retryDecryptionSessionIDsUnderlyingCallsCount = newValue - } - } - } + get { retryDecryptionSessionIDsCallsCountLock.withLock { retryDecryptionSessionIDsUnderlyingCallsCount } } + set { retryDecryptionSessionIDsCallsCountLock.withLock { retryDecryptionSessionIDsUnderlyingCallsCount = newValue } } } var retryDecryptionSessionIDsCalled: Bool { return retryDecryptionSessionIDsCallsCount > 0 } - var retryDecryptionSessionIDsReceivedSessionIDs: [String]? - var retryDecryptionSessionIDsReceivedInvocations: [[String]?] = [] + private let retryDecryptionSessionIDsReceivedSessionIDsLock = NSLock() + private var retryDecryptionSessionIDsUnderlyingReceivedSessionIDs: [String]? + var retryDecryptionSessionIDsReceivedSessionIDs: [String]? { + get { retryDecryptionSessionIDsReceivedSessionIDsLock.withLock { retryDecryptionSessionIDsUnderlyingReceivedSessionIDs } } + set { retryDecryptionSessionIDsReceivedSessionIDsLock.withLock { retryDecryptionSessionIDsUnderlyingReceivedSessionIDs = newValue } } + } + private let retryDecryptionSessionIDsReceivedInvocationsLock = NSLock() + private var retryDecryptionSessionIDsUnderlyingReceivedInvocations: [[String]?] = [] + var retryDecryptionSessionIDsReceivedInvocations: [[String]?] { + get { retryDecryptionSessionIDsReceivedInvocationsLock.withLock { retryDecryptionSessionIDsUnderlyingReceivedInvocations } } + set { retryDecryptionSessionIDsReceivedInvocationsLock.withLock { retryDecryptionSessionIDsUnderlyingReceivedInvocations = newValue } } + } var retryDecryptionSessionIDsClosure: (([String]?) -> Void)? func retryDecryption(sessionIDs: [String]?) { - retryDecryptionSessionIDsCallsCount += 1 + retryDecryptionSessionIDsCallsCountLock.withLock { retryDecryptionSessionIDsUnderlyingCallsCount += 1 } retryDecryptionSessionIDsReceivedSessionIDs = sessionIDs - DispatchQueue.main.async { - self.retryDecryptionSessionIDsReceivedInvocations.append(sessionIDs) - } + retryDecryptionSessionIDsReceivedInvocationsLock.withLock { retryDecryptionSessionIDsUnderlyingReceivedInvocations.append(sessionIDs) } retryDecryptionSessionIDsClosure?(sessionIDs) } //MARK: - paginateBackwards - var paginateBackwardsRequestSizeUnderlyingCallsCount = 0 + private let paginateBackwardsRequestSizeCallsCountLock = NSLock() + private var paginateBackwardsRequestSizeUnderlyingCallsCount = 0 var paginateBackwardsRequestSizeCallsCount: Int { - get { - if Thread.isMainThread { - return paginateBackwardsRequestSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateBackwardsRequestSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateBackwardsRequestSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateBackwardsRequestSizeUnderlyingCallsCount = newValue - } - } - } + get { paginateBackwardsRequestSizeCallsCountLock.withLock { paginateBackwardsRequestSizeUnderlyingCallsCount } } + set { paginateBackwardsRequestSizeCallsCountLock.withLock { paginateBackwardsRequestSizeUnderlyingCallsCount = newValue } } } var paginateBackwardsRequestSizeCalled: Bool { return paginateBackwardsRequestSizeCallsCount > 0 } - var paginateBackwardsRequestSizeReceivedRequestSize: UInt16? - var paginateBackwardsRequestSizeReceivedInvocations: [UInt16] = [] + private let paginateBackwardsRequestSizeReceivedRequestSizeLock = NSLock() + private var paginateBackwardsRequestSizeUnderlyingReceivedRequestSize: UInt16? + var paginateBackwardsRequestSizeReceivedRequestSize: UInt16? { + get { paginateBackwardsRequestSizeReceivedRequestSizeLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedRequestSize } } + set { paginateBackwardsRequestSizeReceivedRequestSizeLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedRequestSize = newValue } } + } + private let paginateBackwardsRequestSizeReceivedInvocationsLock = NSLock() + private var paginateBackwardsRequestSizeUnderlyingReceivedInvocations: [UInt16] = [] + var paginateBackwardsRequestSizeReceivedInvocations: [UInt16] { + get { paginateBackwardsRequestSizeReceivedInvocationsLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedInvocations } } + set { paginateBackwardsRequestSizeReceivedInvocationsLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedInvocations = newValue } } + } - var paginateBackwardsRequestSizeUnderlyingReturnValue: Result! + private let paginateBackwardsRequestSizeReturnValueLock = NSLock() + private var paginateBackwardsRequestSizeUnderlyingReturnValue: Result! var paginateBackwardsRequestSizeReturnValue: Result! { - get { - if Thread.isMainThread { - return paginateBackwardsRequestSizeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = paginateBackwardsRequestSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateBackwardsRequestSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginateBackwardsRequestSizeUnderlyingReturnValue = newValue - } - } - } + get { paginateBackwardsRequestSizeReturnValueLock.withLock { paginateBackwardsRequestSizeUnderlyingReturnValue } } + set { paginateBackwardsRequestSizeReturnValueLock.withLock { paginateBackwardsRequestSizeUnderlyingReturnValue = newValue } } } var paginateBackwardsRequestSizeClosure: ((UInt16) async -> Result)? func paginateBackwards(requestSize: UInt16) async -> Result { - paginateBackwardsRequestSizeCallsCount += 1 + paginateBackwardsRequestSizeCallsCountLock.withLock { paginateBackwardsRequestSizeUnderlyingCallsCount += 1 } paginateBackwardsRequestSizeReceivedRequestSize = requestSize - DispatchQueue.main.async { - self.paginateBackwardsRequestSizeReceivedInvocations.append(requestSize) - } + paginateBackwardsRequestSizeReceivedInvocationsLock.withLock { paginateBackwardsRequestSizeUnderlyingReceivedInvocations.append(requestSize) } if let paginateBackwardsRequestSizeClosure = paginateBackwardsRequestSizeClosure { return await paginateBackwardsRequestSizeClosure(requestSize) } else { @@ -21967,68 +13143,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - paginateForwards - var paginateForwardsRequestSizeUnderlyingCallsCount = 0 + private let paginateForwardsRequestSizeCallsCountLock = NSLock() + private var paginateForwardsRequestSizeUnderlyingCallsCount = 0 var paginateForwardsRequestSizeCallsCount: Int { - get { - if Thread.isMainThread { - return paginateForwardsRequestSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateForwardsRequestSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateForwardsRequestSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateForwardsRequestSizeUnderlyingCallsCount = newValue - } - } - } + get { paginateForwardsRequestSizeCallsCountLock.withLock { paginateForwardsRequestSizeUnderlyingCallsCount } } + set { paginateForwardsRequestSizeCallsCountLock.withLock { paginateForwardsRequestSizeUnderlyingCallsCount = newValue } } } var paginateForwardsRequestSizeCalled: Bool { return paginateForwardsRequestSizeCallsCount > 0 } - var paginateForwardsRequestSizeReceivedRequestSize: UInt16? - var paginateForwardsRequestSizeReceivedInvocations: [UInt16] = [] + private let paginateForwardsRequestSizeReceivedRequestSizeLock = NSLock() + private var paginateForwardsRequestSizeUnderlyingReceivedRequestSize: UInt16? + var paginateForwardsRequestSizeReceivedRequestSize: UInt16? { + get { paginateForwardsRequestSizeReceivedRequestSizeLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedRequestSize } } + set { paginateForwardsRequestSizeReceivedRequestSizeLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedRequestSize = newValue } } + } + private let paginateForwardsRequestSizeReceivedInvocationsLock = NSLock() + private var paginateForwardsRequestSizeUnderlyingReceivedInvocations: [UInt16] = [] + var paginateForwardsRequestSizeReceivedInvocations: [UInt16] { + get { paginateForwardsRequestSizeReceivedInvocationsLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedInvocations } } + set { paginateForwardsRequestSizeReceivedInvocationsLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedInvocations = newValue } } + } - var paginateForwardsRequestSizeUnderlyingReturnValue: Result! + private let paginateForwardsRequestSizeReturnValueLock = NSLock() + private var paginateForwardsRequestSizeUnderlyingReturnValue: Result! var paginateForwardsRequestSizeReturnValue: Result! { - get { - if Thread.isMainThread { - return paginateForwardsRequestSizeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = paginateForwardsRequestSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateForwardsRequestSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginateForwardsRequestSizeUnderlyingReturnValue = newValue - } - } - } + get { paginateForwardsRequestSizeReturnValueLock.withLock { paginateForwardsRequestSizeUnderlyingReturnValue } } + set { paginateForwardsRequestSizeReturnValueLock.withLock { paginateForwardsRequestSizeUnderlyingReturnValue = newValue } } } var paginateForwardsRequestSizeClosure: ((UInt16) async -> Result)? func paginateForwards(requestSize: UInt16) async -> Result { - paginateForwardsRequestSizeCallsCount += 1 + paginateForwardsRequestSizeCallsCountLock.withLock { paginateForwardsRequestSizeUnderlyingCallsCount += 1 } paginateForwardsRequestSizeReceivedRequestSize = requestSize - DispatchQueue.main.async { - self.paginateForwardsRequestSizeReceivedInvocations.append(requestSize) - } + paginateForwardsRequestSizeReceivedInvocationsLock.withLock { paginateForwardsRequestSizeUnderlyingReceivedInvocations.append(requestSize) } if let paginateForwardsRequestSizeClosure = paginateForwardsRequestSizeClosure { return await paginateForwardsRequestSizeClosure(requestSize) } else { @@ -22037,68 +13185,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - edit - var editNewContentUnderlyingCallsCount = 0 + private let editNewContentCallsCountLock = NSLock() + private var editNewContentUnderlyingCallsCount = 0 var editNewContentCallsCount: Int { - get { - if Thread.isMainThread { - return editNewContentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editNewContentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editNewContentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editNewContentUnderlyingCallsCount = newValue - } - } - } + get { editNewContentCallsCountLock.withLock { editNewContentUnderlyingCallsCount } } + set { editNewContentCallsCountLock.withLock { editNewContentUnderlyingCallsCount = newValue } } } var editNewContentCalled: Bool { return editNewContentCallsCount > 0 } - var editNewContentReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, newContent: EditedContent)? - var editNewContentReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, newContent: EditedContent)] = [] + private let editNewContentReceivedArgumentsLock = NSLock() + private var editNewContentUnderlyingReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, newContent: EditedContent)? + var editNewContentReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, newContent: EditedContent)? { + get { editNewContentReceivedArgumentsLock.withLock { editNewContentUnderlyingReceivedArguments } } + set { editNewContentReceivedArgumentsLock.withLock { editNewContentUnderlyingReceivedArguments = newValue } } + } + private let editNewContentReceivedInvocationsLock = NSLock() + private var editNewContentUnderlyingReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, newContent: EditedContent)] = [] + var editNewContentReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, newContent: EditedContent)] { + get { editNewContentReceivedInvocationsLock.withLock { editNewContentUnderlyingReceivedInvocations } } + set { editNewContentReceivedInvocationsLock.withLock { editNewContentUnderlyingReceivedInvocations = newValue } } + } - var editNewContentUnderlyingReturnValue: Result! + private let editNewContentReturnValueLock = NSLock() + private var editNewContentUnderlyingReturnValue: Result! var editNewContentReturnValue: Result! { - get { - if Thread.isMainThread { - return editNewContentUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = editNewContentUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editNewContentUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - editNewContentUnderlyingReturnValue = newValue - } - } - } + get { editNewContentReturnValueLock.withLock { editNewContentUnderlyingReturnValue } } + set { editNewContentReturnValueLock.withLock { editNewContentUnderlyingReturnValue = newValue } } } var editNewContentClosure: ((TimelineItemIdentifier.EventOrTransactionID, EditedContent) async -> Result)? func edit(_ eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, newContent: EditedContent) async -> Result { - editNewContentCallsCount += 1 + editNewContentCallsCountLock.withLock { editNewContentUnderlyingCallsCount += 1 } editNewContentReceivedArguments = (eventOrTransactionID: eventOrTransactionID, newContent: newContent) - DispatchQueue.main.async { - self.editNewContentReceivedInvocations.append((eventOrTransactionID: eventOrTransactionID, newContent: newContent)) - } + editNewContentReceivedInvocationsLock.withLock { editNewContentUnderlyingReceivedInvocations.append((eventOrTransactionID: eventOrTransactionID, newContent: newContent)) } if let editNewContentClosure = editNewContentClosure { return await editNewContentClosure(eventOrTransactionID, newContent) } else { @@ -22107,68 +13227,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - redact - var redactReasonUnderlyingCallsCount = 0 + private let redactReasonCallsCountLock = NSLock() + private var redactReasonUnderlyingCallsCount = 0 var redactReasonCallsCount: Int { - get { - if Thread.isMainThread { - return redactReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = redactReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - redactReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - redactReasonUnderlyingCallsCount = newValue - } - } - } + get { redactReasonCallsCountLock.withLock { redactReasonUnderlyingCallsCount } } + set { redactReasonCallsCountLock.withLock { redactReasonUnderlyingCallsCount = newValue } } } var redactReasonCalled: Bool { return redactReasonCallsCount > 0 } - var redactReasonReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, reason: String?)? - var redactReasonReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, reason: String?)] = [] + private let redactReasonReceivedArgumentsLock = NSLock() + private var redactReasonUnderlyingReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, reason: String?)? + var redactReasonReceivedArguments: (eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, reason: String?)? { + get { redactReasonReceivedArgumentsLock.withLock { redactReasonUnderlyingReceivedArguments } } + set { redactReasonReceivedArgumentsLock.withLock { redactReasonUnderlyingReceivedArguments = newValue } } + } + private let redactReasonReceivedInvocationsLock = NSLock() + private var redactReasonUnderlyingReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, reason: String?)] = [] + var redactReasonReceivedInvocations: [(eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, reason: String?)] { + get { redactReasonReceivedInvocationsLock.withLock { redactReasonUnderlyingReceivedInvocations } } + set { redactReasonReceivedInvocationsLock.withLock { redactReasonUnderlyingReceivedInvocations = newValue } } + } - var redactReasonUnderlyingReturnValue: Result! + private let redactReasonReturnValueLock = NSLock() + private var redactReasonUnderlyingReturnValue: Result! var redactReasonReturnValue: Result! { - get { - if Thread.isMainThread { - return redactReasonUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = redactReasonUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - redactReasonUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - redactReasonUnderlyingReturnValue = newValue - } - } - } + get { redactReasonReturnValueLock.withLock { redactReasonUnderlyingReturnValue } } + set { redactReasonReturnValueLock.withLock { redactReasonUnderlyingReturnValue = newValue } } } var redactReasonClosure: ((TimelineItemIdentifier.EventOrTransactionID, String?) async -> Result)? func redact(_ eventOrTransactionID: TimelineItemIdentifier.EventOrTransactionID, reason: String?) async -> Result { - redactReasonCallsCount += 1 + redactReasonCallsCountLock.withLock { redactReasonUnderlyingCallsCount += 1 } redactReasonReceivedArguments = (eventOrTransactionID: eventOrTransactionID, reason: reason) - DispatchQueue.main.async { - self.redactReasonReceivedInvocations.append((eventOrTransactionID: eventOrTransactionID, reason: reason)) - } + redactReasonReceivedInvocationsLock.withLock { redactReasonUnderlyingReceivedInvocations.append((eventOrTransactionID: eventOrTransactionID, reason: reason)) } if let redactReasonClosure = redactReasonClosure { return await redactReasonClosure(eventOrTransactionID, reason) } else { @@ -22177,68 +13269,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - pin - var pinEventIDUnderlyingCallsCount = 0 + private let pinEventIDCallsCountLock = NSLock() + private var pinEventIDUnderlyingCallsCount = 0 var pinEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return pinEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pinEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pinEventIDUnderlyingCallsCount = newValue - } - } - } + get { pinEventIDCallsCountLock.withLock { pinEventIDUnderlyingCallsCount } } + set { pinEventIDCallsCountLock.withLock { pinEventIDUnderlyingCallsCount = newValue } } } var pinEventIDCalled: Bool { return pinEventIDCallsCount > 0 } - var pinEventIDReceivedEventID: String? - var pinEventIDReceivedInvocations: [String] = [] + private let pinEventIDReceivedEventIDLock = NSLock() + private var pinEventIDUnderlyingReceivedEventID: String? + var pinEventIDReceivedEventID: String? { + get { pinEventIDReceivedEventIDLock.withLock { pinEventIDUnderlyingReceivedEventID } } + set { pinEventIDReceivedEventIDLock.withLock { pinEventIDUnderlyingReceivedEventID = newValue } } + } + private let pinEventIDReceivedInvocationsLock = NSLock() + private var pinEventIDUnderlyingReceivedInvocations: [String] = [] + var pinEventIDReceivedInvocations: [String] { + get { pinEventIDReceivedInvocationsLock.withLock { pinEventIDUnderlyingReceivedInvocations } } + set { pinEventIDReceivedInvocationsLock.withLock { pinEventIDUnderlyingReceivedInvocations = newValue } } + } - var pinEventIDUnderlyingReturnValue: Result! + private let pinEventIDReturnValueLock = NSLock() + private var pinEventIDUnderlyingReturnValue: Result! var pinEventIDReturnValue: Result! { - get { - if Thread.isMainThread { - return pinEventIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = pinEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - pinEventIDUnderlyingReturnValue = newValue - } - } - } + get { pinEventIDReturnValueLock.withLock { pinEventIDUnderlyingReturnValue } } + set { pinEventIDReturnValueLock.withLock { pinEventIDUnderlyingReturnValue = newValue } } } var pinEventIDClosure: ((String) async -> Result)? func pin(eventID: String) async -> Result { - pinEventIDCallsCount += 1 + pinEventIDCallsCountLock.withLock { pinEventIDUnderlyingCallsCount += 1 } pinEventIDReceivedEventID = eventID - DispatchQueue.main.async { - self.pinEventIDReceivedInvocations.append(eventID) - } + pinEventIDReceivedInvocationsLock.withLock { pinEventIDUnderlyingReceivedInvocations.append(eventID) } if let pinEventIDClosure = pinEventIDClosure { return await pinEventIDClosure(eventID) } else { @@ -22247,68 +13311,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - unpin - var unpinEventIDUnderlyingCallsCount = 0 + private let unpinEventIDCallsCountLock = NSLock() + private var unpinEventIDUnderlyingCallsCount = 0 var unpinEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return unpinEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unpinEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unpinEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unpinEventIDUnderlyingCallsCount = newValue - } - } - } + get { unpinEventIDCallsCountLock.withLock { unpinEventIDUnderlyingCallsCount } } + set { unpinEventIDCallsCountLock.withLock { unpinEventIDUnderlyingCallsCount = newValue } } } var unpinEventIDCalled: Bool { return unpinEventIDCallsCount > 0 } - var unpinEventIDReceivedEventID: String? - var unpinEventIDReceivedInvocations: [String] = [] + private let unpinEventIDReceivedEventIDLock = NSLock() + private var unpinEventIDUnderlyingReceivedEventID: String? + var unpinEventIDReceivedEventID: String? { + get { unpinEventIDReceivedEventIDLock.withLock { unpinEventIDUnderlyingReceivedEventID } } + set { unpinEventIDReceivedEventIDLock.withLock { unpinEventIDUnderlyingReceivedEventID = newValue } } + } + private let unpinEventIDReceivedInvocationsLock = NSLock() + private var unpinEventIDUnderlyingReceivedInvocations: [String] = [] + var unpinEventIDReceivedInvocations: [String] { + get { unpinEventIDReceivedInvocationsLock.withLock { unpinEventIDUnderlyingReceivedInvocations } } + set { unpinEventIDReceivedInvocationsLock.withLock { unpinEventIDUnderlyingReceivedInvocations = newValue } } + } - var unpinEventIDUnderlyingReturnValue: Result! + private let unpinEventIDReturnValueLock = NSLock() + private var unpinEventIDUnderlyingReturnValue: Result! var unpinEventIDReturnValue: Result! { - get { - if Thread.isMainThread { - return unpinEventIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = unpinEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unpinEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - unpinEventIDUnderlyingReturnValue = newValue - } - } - } + get { unpinEventIDReturnValueLock.withLock { unpinEventIDUnderlyingReturnValue } } + set { unpinEventIDReturnValueLock.withLock { unpinEventIDUnderlyingReturnValue = newValue } } } var unpinEventIDClosure: ((String) async -> Result)? func unpin(eventID: String) async -> Result { - unpinEventIDCallsCount += 1 + unpinEventIDCallsCountLock.withLock { unpinEventIDUnderlyingCallsCount += 1 } unpinEventIDReceivedEventID = eventID - DispatchQueue.main.async { - self.unpinEventIDReceivedInvocations.append(eventID) - } + unpinEventIDReceivedInvocationsLock.withLock { unpinEventIDUnderlyingReceivedInvocations.append(eventID) } if let unpinEventIDClosure = unpinEventIDClosure { return await unpinEventIDClosure(eventID) } else { @@ -22317,62 +13353,26 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendAudio - var sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = 0 + private let sendAudioUrlAudioInfoCaptionRequestHandleCallsCountLock = NSLock() + private var sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = 0 var sendAudioUrlAudioInfoCaptionRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendAudioUrlAudioInfoCaptionRequestHandleCallsCountLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount } } + set { sendAudioUrlAudioInfoCaptionRequestHandleCallsCountLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount = newValue } } } var sendAudioUrlAudioInfoCaptionRequestHandleCalled: Bool { return sendAudioUrlAudioInfoCaptionRequestHandleCallsCount > 0 } - var sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue: Result! + private let sendAudioUrlAudioInfoCaptionRequestHandleReturnValueLock = NSLock() + private var sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue: Result! var sendAudioUrlAudioInfoCaptionRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendAudioUrlAudioInfoCaptionRequestHandleReturnValueLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue } } + set { sendAudioUrlAudioInfoCaptionRequestHandleReturnValueLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingReturnValue = newValue } } } var sendAudioUrlAudioInfoCaptionRequestHandleClosure: ((URL, AudioInfo, String?, @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendAudio(url: URL, audioInfo: AudioInfo, caption: String?, requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendAudioUrlAudioInfoCaptionRequestHandleCallsCount += 1 + sendAudioUrlAudioInfoCaptionRequestHandleCallsCountLock.withLock { sendAudioUrlAudioInfoCaptionRequestHandleUnderlyingCallsCount += 1 } if let sendAudioUrlAudioInfoCaptionRequestHandleClosure = sendAudioUrlAudioInfoCaptionRequestHandleClosure { return await sendAudioUrlAudioInfoCaptionRequestHandleClosure(url, audioInfo, caption, requestHandle) } else { @@ -22381,62 +13381,26 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendFile - var sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = 0 + private let sendFileUrlFileInfoCaptionRequestHandleCallsCountLock = NSLock() + private var sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = 0 var sendFileUrlFileInfoCaptionRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendFileUrlFileInfoCaptionRequestHandleCallsCountLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount } } + set { sendFileUrlFileInfoCaptionRequestHandleCallsCountLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount = newValue } } } var sendFileUrlFileInfoCaptionRequestHandleCalled: Bool { return sendFileUrlFileInfoCaptionRequestHandleCallsCount > 0 } - var sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue: Result! + private let sendFileUrlFileInfoCaptionRequestHandleReturnValueLock = NSLock() + private var sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue: Result! var sendFileUrlFileInfoCaptionRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendFileUrlFileInfoCaptionRequestHandleReturnValueLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue } } + set { sendFileUrlFileInfoCaptionRequestHandleReturnValueLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingReturnValue = newValue } } } var sendFileUrlFileInfoCaptionRequestHandleClosure: ((URL, FileInfo, String?, @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendFile(url: URL, fileInfo: FileInfo, caption: String?, requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendFileUrlFileInfoCaptionRequestHandleCallsCount += 1 + sendFileUrlFileInfoCaptionRequestHandleCallsCountLock.withLock { sendFileUrlFileInfoCaptionRequestHandleUnderlyingCallsCount += 1 } if let sendFileUrlFileInfoCaptionRequestHandleClosure = sendFileUrlFileInfoCaptionRequestHandleClosure { return await sendFileUrlFileInfoCaptionRequestHandleClosure(url, fileInfo, caption, requestHandle) } else { @@ -22445,62 +13409,26 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendImage - var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = 0 + private let sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCountLock = NSLock() + private var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = 0 var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCountLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount } } + set { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCountLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount = newValue } } } var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCalled: Bool { return sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCount > 0 } - var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue: Result! + private let sendImageUrlThumbnailURLImageInfoCaptionRequestHandleReturnValueLock = NSLock() + private var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue: Result! var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleReturnValueLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue } } + set { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleReturnValueLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingReturnValue = newValue } } } var sendImageUrlThumbnailURLImageInfoCaptionRequestHandleClosure: ((URL, URL, ImageInfo, String?, @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendImage(url: URL, thumbnailURL: URL, imageInfo: ImageInfo, caption: String?, requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCount += 1 + sendImageUrlThumbnailURLImageInfoCaptionRequestHandleCallsCountLock.withLock { sendImageUrlThumbnailURLImageInfoCaptionRequestHandleUnderlyingCallsCount += 1 } if let sendImageUrlThumbnailURLImageInfoCaptionRequestHandleClosure = sendImageUrlThumbnailURLImageInfoCaptionRequestHandleClosure { return await sendImageUrlThumbnailURLImageInfoCaptionRequestHandleClosure(url, thumbnailURL, imageInfo, caption, requestHandle) } else { @@ -22509,68 +13437,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendLocation - var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = 0 + private let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCountLock = NSLock() + private var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = 0 var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCount: Int { - get { - if Thread.isMainThread { - return sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = newValue - } - } - } + get { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCountLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount } } + set { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCountLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount = newValue } } } var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCalled: Bool { return sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCount > 0 } - var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArguments: (body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)? - var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocations: [(body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)] = [] + private let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArgumentsLock = NSLock() + private var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedArguments: (body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)? + var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArguments: (body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)? { + get { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArgumentsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedArguments } } + set { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArgumentsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedArguments = newValue } } + } + private let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocationsLock = NSLock() + private var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedInvocations: [(body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)] = [] + var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocations: [(body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?)] { + get { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocationsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedInvocations } } + set { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocationsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedInvocations = newValue } } + } - var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue: Result! + private let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReturnValueLock = NSLock() + private var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue: Result! var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReturnValue: Result! { - get { - if Thread.isMainThread { - return sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue = newValue - } - } - } + get { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReturnValueLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue } } + set { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReturnValueLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReturnValue = newValue } } } var sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeClosure: ((String, GeoURI, String?, UInt8?, AssetType?) async -> Result)? func sendLocation(body: String, geoURI: GeoURI, description: String?, zoomLevel: UInt8?, assetType: AssetType?) async -> Result { - sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCount += 1 + sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeCallsCountLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingCallsCount += 1 } sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedArguments = (body: body, geoURI: geoURI, description: description, zoomLevel: zoomLevel, assetType: assetType) - DispatchQueue.main.async { - self.sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocations.append((body: body, geoURI: geoURI, description: description, zoomLevel: zoomLevel, assetType: assetType)) - } + sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeReceivedInvocationsLock.withLock { sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeUnderlyingReceivedInvocations.append((body: body, geoURI: geoURI, description: description, zoomLevel: zoomLevel, assetType: assetType)) } if let sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeClosure = sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeClosure { return await sendLocationBodyGeoURIDescriptionZoomLevelAssetTypeClosure(body, geoURI, description, zoomLevel, assetType) } else { @@ -22579,62 +13479,26 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendVideo - var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = 0 + private let sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCountLock = NSLock() + private var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = 0 var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCountLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount } } + set { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCountLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount = newValue } } } var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCalled: Bool { return sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCount > 0 } - var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue: Result! + private let sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleReturnValueLock = NSLock() + private var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue: Result! var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleReturnValueLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue } } + set { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleReturnValueLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingReturnValue = newValue } } } var sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleClosure: ((URL, URL, VideoInfo, String?, @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendVideo(url: URL, thumbnailURL: URL, videoInfo: VideoInfo, caption: String?, requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCount += 1 + sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleCallsCountLock.withLock { sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleUnderlyingCallsCount += 1 } if let sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleClosure = sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleClosure { return await sendVideoUrlThumbnailURLVideoInfoCaptionRequestHandleClosure(url, thumbnailURL, videoInfo, caption, requestHandle) } else { @@ -22643,62 +13507,26 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendVoiceMessage - var sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = 0 + private let sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCountLock = NSLock() + private var sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = 0 var sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCount: Int { - get { - if Thread.isMainThread { - return sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = newValue - } - } - } + get { sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCountLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount } } + set { sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCountLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount = newValue } } } var sendVoiceMessageUrlAudioInfoWaveformRequestHandleCalled: Bool { return sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCount > 0 } - var sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue: Result! + private let sendVoiceMessageUrlAudioInfoWaveformRequestHandleReturnValueLock = NSLock() + private var sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue: Result! var sendVoiceMessageUrlAudioInfoWaveformRequestHandleReturnValue: Result! { - get { - if Thread.isMainThread { - return sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue = newValue - } - } - } + get { sendVoiceMessageUrlAudioInfoWaveformRequestHandleReturnValueLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue } } + set { sendVoiceMessageUrlAudioInfoWaveformRequestHandleReturnValueLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingReturnValue = newValue } } } var sendVoiceMessageUrlAudioInfoWaveformRequestHandleClosure: ((URL, AudioInfo, [Float], @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result)? func sendVoiceMessage(url: URL, audioInfo: AudioInfo, waveform: [Float], requestHandle: @MainActor (SendAttachmentJoinHandleProtocol) -> Void) async -> Result { - sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCount += 1 + sendVoiceMessageUrlAudioInfoWaveformRequestHandleCallsCountLock.withLock { sendVoiceMessageUrlAudioInfoWaveformRequestHandleUnderlyingCallsCount += 1 } if let sendVoiceMessageUrlAudioInfoWaveformRequestHandleClosure = sendVoiceMessageUrlAudioInfoWaveformRequestHandleClosure { return await sendVoiceMessageUrlAudioInfoWaveformRequestHandleClosure(url, audioInfo, waveform, requestHandle) } else { @@ -22707,68 +13535,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendReadReceipt - var sendReadReceiptForTypeUnderlyingCallsCount = 0 + private let sendReadReceiptForTypeCallsCountLock = NSLock() + private var sendReadReceiptForTypeUnderlyingCallsCount = 0 var sendReadReceiptForTypeCallsCount: Int { - get { - if Thread.isMainThread { - return sendReadReceiptForTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendReadReceiptForTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendReadReceiptForTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendReadReceiptForTypeUnderlyingCallsCount = newValue - } - } - } + get { sendReadReceiptForTypeCallsCountLock.withLock { sendReadReceiptForTypeUnderlyingCallsCount } } + set { sendReadReceiptForTypeCallsCountLock.withLock { sendReadReceiptForTypeUnderlyingCallsCount = newValue } } } var sendReadReceiptForTypeCalled: Bool { return sendReadReceiptForTypeCallsCount > 0 } - var sendReadReceiptForTypeReceivedArguments: (eventID: String, type: ReceiptType)? - var sendReadReceiptForTypeReceivedInvocations: [(eventID: String, type: ReceiptType)] = [] + private let sendReadReceiptForTypeReceivedArgumentsLock = NSLock() + private var sendReadReceiptForTypeUnderlyingReceivedArguments: (eventID: String, type: ReceiptType)? + var sendReadReceiptForTypeReceivedArguments: (eventID: String, type: ReceiptType)? { + get { sendReadReceiptForTypeReceivedArgumentsLock.withLock { sendReadReceiptForTypeUnderlyingReceivedArguments } } + set { sendReadReceiptForTypeReceivedArgumentsLock.withLock { sendReadReceiptForTypeUnderlyingReceivedArguments = newValue } } + } + private let sendReadReceiptForTypeReceivedInvocationsLock = NSLock() + private var sendReadReceiptForTypeUnderlyingReceivedInvocations: [(eventID: String, type: ReceiptType)] = [] + var sendReadReceiptForTypeReceivedInvocations: [(eventID: String, type: ReceiptType)] { + get { sendReadReceiptForTypeReceivedInvocationsLock.withLock { sendReadReceiptForTypeUnderlyingReceivedInvocations } } + set { sendReadReceiptForTypeReceivedInvocationsLock.withLock { sendReadReceiptForTypeUnderlyingReceivedInvocations = newValue } } + } - var sendReadReceiptForTypeUnderlyingReturnValue: Result! + private let sendReadReceiptForTypeReturnValueLock = NSLock() + private var sendReadReceiptForTypeUnderlyingReturnValue: Result! var sendReadReceiptForTypeReturnValue: Result! { - get { - if Thread.isMainThread { - return sendReadReceiptForTypeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendReadReceiptForTypeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendReadReceiptForTypeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendReadReceiptForTypeUnderlyingReturnValue = newValue - } - } - } + get { sendReadReceiptForTypeReturnValueLock.withLock { sendReadReceiptForTypeUnderlyingReturnValue } } + set { sendReadReceiptForTypeReturnValueLock.withLock { sendReadReceiptForTypeUnderlyingReturnValue = newValue } } } var sendReadReceiptForTypeClosure: ((String, ReceiptType) async -> Result)? func sendReadReceipt(for eventID: String, type: ReceiptType) async -> Result { - sendReadReceiptForTypeCallsCount += 1 + sendReadReceiptForTypeCallsCountLock.withLock { sendReadReceiptForTypeUnderlyingCallsCount += 1 } sendReadReceiptForTypeReceivedArguments = (eventID: eventID, type: type) - DispatchQueue.main.async { - self.sendReadReceiptForTypeReceivedInvocations.append((eventID: eventID, type: type)) - } + sendReadReceiptForTypeReceivedInvocationsLock.withLock { sendReadReceiptForTypeUnderlyingReceivedInvocations.append((eventID: eventID, type: type)) } if let sendReadReceiptForTypeClosure = sendReadReceiptForTypeClosure { return await sendReadReceiptForTypeClosure(eventID, type) } else { @@ -22777,68 +13577,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - markAsRead - var markAsReadReceiptTypeUnderlyingCallsCount = 0 + private let markAsReadReceiptTypeCallsCountLock = NSLock() + private var markAsReadReceiptTypeUnderlyingCallsCount = 0 var markAsReadReceiptTypeCallsCount: Int { - get { - if Thread.isMainThread { - return markAsReadReceiptTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAsReadReceiptTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsReadReceiptTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAsReadReceiptTypeUnderlyingCallsCount = newValue - } - } - } + get { markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount } } + set { markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount = newValue } } } var markAsReadReceiptTypeCalled: Bool { return markAsReadReceiptTypeCallsCount > 0 } - var markAsReadReceiptTypeReceivedReceiptType: ReceiptType? - var markAsReadReceiptTypeReceivedInvocations: [ReceiptType] = [] + private let markAsReadReceiptTypeReceivedReceiptTypeLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReceivedReceiptType: ReceiptType? + var markAsReadReceiptTypeReceivedReceiptType: ReceiptType? { + get { markAsReadReceiptTypeReceivedReceiptTypeLock.withLock { markAsReadReceiptTypeUnderlyingReceivedReceiptType } } + set { markAsReadReceiptTypeReceivedReceiptTypeLock.withLock { markAsReadReceiptTypeUnderlyingReceivedReceiptType = newValue } } + } + private let markAsReadReceiptTypeReceivedInvocationsLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReceivedInvocations: [ReceiptType] = [] + var markAsReadReceiptTypeReceivedInvocations: [ReceiptType] { + get { markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations } } + set { markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations = newValue } } + } - var markAsReadReceiptTypeUnderlyingReturnValue: Result! + private let markAsReadReceiptTypeReturnValueLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReturnValue: Result! var markAsReadReceiptTypeReturnValue: Result! { - get { - if Thread.isMainThread { - return markAsReadReceiptTypeUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = markAsReadReceiptTypeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsReadReceiptTypeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - markAsReadReceiptTypeUnderlyingReturnValue = newValue - } - } - } + get { markAsReadReceiptTypeReturnValueLock.withLock { markAsReadReceiptTypeUnderlyingReturnValue } } + set { markAsReadReceiptTypeReturnValueLock.withLock { markAsReadReceiptTypeUnderlyingReturnValue = newValue } } } var markAsReadReceiptTypeClosure: ((ReceiptType) async -> Result)? func markAsRead(receiptType: ReceiptType) async -> Result { - markAsReadReceiptTypeCallsCount += 1 + markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount += 1 } markAsReadReceiptTypeReceivedReceiptType = receiptType - DispatchQueue.main.async { - self.markAsReadReceiptTypeReceivedInvocations.append(receiptType) - } + markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations.append(receiptType) } if let markAsReadReceiptTypeClosure = markAsReadReceiptTypeClosure { return await markAsReadReceiptTypeClosure(receiptType) } else { @@ -22847,68 +13619,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendMessageEventContent - var sendMessageEventContentUnderlyingCallsCount = 0 + private let sendMessageEventContentCallsCountLock = NSLock() + private var sendMessageEventContentUnderlyingCallsCount = 0 var sendMessageEventContentCallsCount: Int { - get { - if Thread.isMainThread { - return sendMessageEventContentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendMessageEventContentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMessageEventContentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendMessageEventContentUnderlyingCallsCount = newValue - } - } - } + get { sendMessageEventContentCallsCountLock.withLock { sendMessageEventContentUnderlyingCallsCount } } + set { sendMessageEventContentCallsCountLock.withLock { sendMessageEventContentUnderlyingCallsCount = newValue } } } var sendMessageEventContentCalled: Bool { return sendMessageEventContentCallsCount > 0 } - var sendMessageEventContentReceivedMessageContent: RoomMessageEventContentWithoutRelation? - var sendMessageEventContentReceivedInvocations: [RoomMessageEventContentWithoutRelation] = [] + private let sendMessageEventContentReceivedMessageContentLock = NSLock() + private var sendMessageEventContentUnderlyingReceivedMessageContent: RoomMessageEventContentWithoutRelation? + var sendMessageEventContentReceivedMessageContent: RoomMessageEventContentWithoutRelation? { + get { sendMessageEventContentReceivedMessageContentLock.withLock { sendMessageEventContentUnderlyingReceivedMessageContent } } + set { sendMessageEventContentReceivedMessageContentLock.withLock { sendMessageEventContentUnderlyingReceivedMessageContent = newValue } } + } + private let sendMessageEventContentReceivedInvocationsLock = NSLock() + private var sendMessageEventContentUnderlyingReceivedInvocations: [RoomMessageEventContentWithoutRelation] = [] + var sendMessageEventContentReceivedInvocations: [RoomMessageEventContentWithoutRelation] { + get { sendMessageEventContentReceivedInvocationsLock.withLock { sendMessageEventContentUnderlyingReceivedInvocations } } + set { sendMessageEventContentReceivedInvocationsLock.withLock { sendMessageEventContentUnderlyingReceivedInvocations = newValue } } + } - var sendMessageEventContentUnderlyingReturnValue: Result! + private let sendMessageEventContentReturnValueLock = NSLock() + private var sendMessageEventContentUnderlyingReturnValue: Result! var sendMessageEventContentReturnValue: Result! { - get { - if Thread.isMainThread { - return sendMessageEventContentUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendMessageEventContentUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMessageEventContentUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendMessageEventContentUnderlyingReturnValue = newValue - } - } - } + get { sendMessageEventContentReturnValueLock.withLock { sendMessageEventContentUnderlyingReturnValue } } + set { sendMessageEventContentReturnValueLock.withLock { sendMessageEventContentUnderlyingReturnValue = newValue } } } var sendMessageEventContentClosure: ((RoomMessageEventContentWithoutRelation) async -> Result)? func sendMessageEventContent(_ messageContent: RoomMessageEventContentWithoutRelation) async -> Result { - sendMessageEventContentCallsCount += 1 + sendMessageEventContentCallsCountLock.withLock { sendMessageEventContentUnderlyingCallsCount += 1 } sendMessageEventContentReceivedMessageContent = messageContent - DispatchQueue.main.async { - self.sendMessageEventContentReceivedInvocations.append(messageContent) - } + sendMessageEventContentReceivedInvocationsLock.withLock { sendMessageEventContentUnderlyingReceivedInvocations.append(messageContent) } if let sendMessageEventContentClosure = sendMessageEventContentClosure { return await sendMessageEventContentClosure(messageContent) } else { @@ -22917,68 +13661,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendMessage - var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = 0 + private let sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCountLock = NSLock() + private var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = 0 var sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCount: Int { - get { - if Thread.isMainThread { - return sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = newValue - } - } - } + get { sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCountLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount } } + set { sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCountLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount = newValue } } } var sendMessageHtmlInReplyToEventIDIntentionalMentionsCalled: Bool { return sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCount > 0 } - var sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArguments: (message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)? - var sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocations: [(message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)] = [] + private let sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArgumentsLock = NSLock() + private var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedArguments: (message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)? + var sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArguments: (message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)? { + get { sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArgumentsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedArguments } } + set { sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArgumentsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedArguments = newValue } } + } + private let sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocationsLock = NSLock() + private var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedInvocations: [(message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)] = [] + var sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocations: [(message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions)] { + get { sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocationsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedInvocations } } + set { sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocationsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedInvocations = newValue } } + } - var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReturnValue: Result! + private let sendMessageHtmlInReplyToEventIDIntentionalMentionsReturnValueLock = NSLock() + private var sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReturnValue: Result! var sendMessageHtmlInReplyToEventIDIntentionalMentionsReturnValue: Result! { - get { - if Thread.isMainThread { - return sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReturnValue = newValue - } - } - } + get { sendMessageHtmlInReplyToEventIDIntentionalMentionsReturnValueLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReturnValue } } + set { sendMessageHtmlInReplyToEventIDIntentionalMentionsReturnValueLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReturnValue = newValue } } } var sendMessageHtmlInReplyToEventIDIntentionalMentionsClosure: ((String, String?, String?, IntentionalMentions) async -> Result)? func sendMessage(_ message: String, html: String?, inReplyToEventID: String?, intentionalMentions: IntentionalMentions) async -> Result { - sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCount += 1 + sendMessageHtmlInReplyToEventIDIntentionalMentionsCallsCountLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingCallsCount += 1 } sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedArguments = (message: message, html: html, inReplyToEventID: inReplyToEventID, intentionalMentions: intentionalMentions) - DispatchQueue.main.async { - self.sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocations.append((message: message, html: html, inReplyToEventID: inReplyToEventID, intentionalMentions: intentionalMentions)) - } + sendMessageHtmlInReplyToEventIDIntentionalMentionsReceivedInvocationsLock.withLock { sendMessageHtmlInReplyToEventIDIntentionalMentionsUnderlyingReceivedInvocations.append((message: message, html: html, inReplyToEventID: inReplyToEventID, intentionalMentions: intentionalMentions)) } if let sendMessageHtmlInReplyToEventIDIntentionalMentionsClosure = sendMessageHtmlInReplyToEventIDIntentionalMentionsClosure { return await sendMessageHtmlInReplyToEventIDIntentionalMentionsClosure(message, html, inReplyToEventID, intentionalMentions) } else { @@ -22987,68 +13703,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - toggleReaction - var toggleReactionToUnderlyingCallsCount = 0 + private let toggleReactionToCallsCountLock = NSLock() + private var toggleReactionToUnderlyingCallsCount = 0 var toggleReactionToCallsCount: Int { - get { - if Thread.isMainThread { - return toggleReactionToUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = toggleReactionToUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toggleReactionToUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - toggleReactionToUnderlyingCallsCount = newValue - } - } - } + get { toggleReactionToCallsCountLock.withLock { toggleReactionToUnderlyingCallsCount } } + set { toggleReactionToCallsCountLock.withLock { toggleReactionToUnderlyingCallsCount = newValue } } } var toggleReactionToCalled: Bool { return toggleReactionToCallsCount > 0 } - var toggleReactionToReceivedArguments: (reaction: String, eventID: TimelineItemIdentifier.EventOrTransactionID)? - var toggleReactionToReceivedInvocations: [(reaction: String, eventID: TimelineItemIdentifier.EventOrTransactionID)] = [] + private let toggleReactionToReceivedArgumentsLock = NSLock() + private var toggleReactionToUnderlyingReceivedArguments: (reaction: String, eventID: TimelineItemIdentifier.EventOrTransactionID)? + var toggleReactionToReceivedArguments: (reaction: String, eventID: TimelineItemIdentifier.EventOrTransactionID)? { + get { toggleReactionToReceivedArgumentsLock.withLock { toggleReactionToUnderlyingReceivedArguments } } + set { toggleReactionToReceivedArgumentsLock.withLock { toggleReactionToUnderlyingReceivedArguments = newValue } } + } + private let toggleReactionToReceivedInvocationsLock = NSLock() + private var toggleReactionToUnderlyingReceivedInvocations: [(reaction: String, eventID: TimelineItemIdentifier.EventOrTransactionID)] = [] + var toggleReactionToReceivedInvocations: [(reaction: String, eventID: TimelineItemIdentifier.EventOrTransactionID)] { + get { toggleReactionToReceivedInvocationsLock.withLock { toggleReactionToUnderlyingReceivedInvocations } } + set { toggleReactionToReceivedInvocationsLock.withLock { toggleReactionToUnderlyingReceivedInvocations = newValue } } + } - var toggleReactionToUnderlyingReturnValue: Result! + private let toggleReactionToReturnValueLock = NSLock() + private var toggleReactionToUnderlyingReturnValue: Result! var toggleReactionToReturnValue: Result! { - get { - if Thread.isMainThread { - return toggleReactionToUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = toggleReactionToUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toggleReactionToUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - toggleReactionToUnderlyingReturnValue = newValue - } - } - } + get { toggleReactionToReturnValueLock.withLock { toggleReactionToUnderlyingReturnValue } } + set { toggleReactionToReturnValueLock.withLock { toggleReactionToUnderlyingReturnValue = newValue } } } var toggleReactionToClosure: ((String, TimelineItemIdentifier.EventOrTransactionID) async -> Result)? func toggleReaction(_ reaction: String, to eventID: TimelineItemIdentifier.EventOrTransactionID) async -> Result { - toggleReactionToCallsCount += 1 + toggleReactionToCallsCountLock.withLock { toggleReactionToUnderlyingCallsCount += 1 } toggleReactionToReceivedArguments = (reaction: reaction, eventID: eventID) - DispatchQueue.main.async { - self.toggleReactionToReceivedInvocations.append((reaction: reaction, eventID: eventID)) - } + toggleReactionToReceivedInvocationsLock.withLock { toggleReactionToUnderlyingReceivedInvocations.append((reaction: reaction, eventID: eventID)) } if let toggleReactionToClosure = toggleReactionToClosure { return await toggleReactionToClosure(reaction, eventID) } else { @@ -23057,68 +13745,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - createPoll - var createPollQuestionAnswersPollKindUnderlyingCallsCount = 0 + private let createPollQuestionAnswersPollKindCallsCountLock = NSLock() + private var createPollQuestionAnswersPollKindUnderlyingCallsCount = 0 var createPollQuestionAnswersPollKindCallsCount: Int { - get { - if Thread.isMainThread { - return createPollQuestionAnswersPollKindUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = createPollQuestionAnswersPollKindUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createPollQuestionAnswersPollKindUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - createPollQuestionAnswersPollKindUnderlyingCallsCount = newValue - } - } - } + get { createPollQuestionAnswersPollKindCallsCountLock.withLock { createPollQuestionAnswersPollKindUnderlyingCallsCount } } + set { createPollQuestionAnswersPollKindCallsCountLock.withLock { createPollQuestionAnswersPollKindUnderlyingCallsCount = newValue } } } var createPollQuestionAnswersPollKindCalled: Bool { return createPollQuestionAnswersPollKindCallsCount > 0 } - var createPollQuestionAnswersPollKindReceivedArguments: (question: String, answers: [String], pollKind: Poll.Kind)? - var createPollQuestionAnswersPollKindReceivedInvocations: [(question: String, answers: [String], pollKind: Poll.Kind)] = [] + private let createPollQuestionAnswersPollKindReceivedArgumentsLock = NSLock() + private var createPollQuestionAnswersPollKindUnderlyingReceivedArguments: (question: String, answers: [String], pollKind: Poll.Kind)? + var createPollQuestionAnswersPollKindReceivedArguments: (question: String, answers: [String], pollKind: Poll.Kind)? { + get { createPollQuestionAnswersPollKindReceivedArgumentsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedArguments } } + set { createPollQuestionAnswersPollKindReceivedArgumentsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedArguments = newValue } } + } + private let createPollQuestionAnswersPollKindReceivedInvocationsLock = NSLock() + private var createPollQuestionAnswersPollKindUnderlyingReceivedInvocations: [(question: String, answers: [String], pollKind: Poll.Kind)] = [] + var createPollQuestionAnswersPollKindReceivedInvocations: [(question: String, answers: [String], pollKind: Poll.Kind)] { + get { createPollQuestionAnswersPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedInvocations } } + set { createPollQuestionAnswersPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedInvocations = newValue } } + } - var createPollQuestionAnswersPollKindUnderlyingReturnValue: Result! + private let createPollQuestionAnswersPollKindReturnValueLock = NSLock() + private var createPollQuestionAnswersPollKindUnderlyingReturnValue: Result! var createPollQuestionAnswersPollKindReturnValue: Result! { - get { - if Thread.isMainThread { - return createPollQuestionAnswersPollKindUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = createPollQuestionAnswersPollKindUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createPollQuestionAnswersPollKindUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - createPollQuestionAnswersPollKindUnderlyingReturnValue = newValue - } - } - } + get { createPollQuestionAnswersPollKindReturnValueLock.withLock { createPollQuestionAnswersPollKindUnderlyingReturnValue } } + set { createPollQuestionAnswersPollKindReturnValueLock.withLock { createPollQuestionAnswersPollKindUnderlyingReturnValue = newValue } } } var createPollQuestionAnswersPollKindClosure: ((String, [String], Poll.Kind) async -> Result)? func createPoll(question: String, answers: [String], pollKind: Poll.Kind) async -> Result { - createPollQuestionAnswersPollKindCallsCount += 1 + createPollQuestionAnswersPollKindCallsCountLock.withLock { createPollQuestionAnswersPollKindUnderlyingCallsCount += 1 } createPollQuestionAnswersPollKindReceivedArguments = (question: question, answers: answers, pollKind: pollKind) - DispatchQueue.main.async { - self.createPollQuestionAnswersPollKindReceivedInvocations.append((question: question, answers: answers, pollKind: pollKind)) - } + createPollQuestionAnswersPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersPollKindUnderlyingReceivedInvocations.append((question: question, answers: answers, pollKind: pollKind)) } if let createPollQuestionAnswersPollKindClosure = createPollQuestionAnswersPollKindClosure { return await createPollQuestionAnswersPollKindClosure(question, answers, pollKind) } else { @@ -23127,68 +13787,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - editPoll - var editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = 0 + private let editPollOriginalQuestionAnswersPollKindCallsCountLock = NSLock() + private var editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = 0 var editPollOriginalQuestionAnswersPollKindCallsCount: Int { - get { - if Thread.isMainThread { - return editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = newValue - } - } - } + get { editPollOriginalQuestionAnswersPollKindCallsCountLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount } } + set { editPollOriginalQuestionAnswersPollKindCallsCountLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount = newValue } } } var editPollOriginalQuestionAnswersPollKindCalled: Bool { return editPollOriginalQuestionAnswersPollKindCallsCount > 0 } - var editPollOriginalQuestionAnswersPollKindReceivedArguments: (eventID: String, question: String, answers: [String], pollKind: Poll.Kind)? - var editPollOriginalQuestionAnswersPollKindReceivedInvocations: [(eventID: String, question: String, answers: [String], pollKind: Poll.Kind)] = [] + private let editPollOriginalQuestionAnswersPollKindReceivedArgumentsLock = NSLock() + private var editPollOriginalQuestionAnswersPollKindUnderlyingReceivedArguments: (eventID: String, question: String, answers: [String], pollKind: Poll.Kind)? + var editPollOriginalQuestionAnswersPollKindReceivedArguments: (eventID: String, question: String, answers: [String], pollKind: Poll.Kind)? { + get { editPollOriginalQuestionAnswersPollKindReceivedArgumentsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedArguments } } + set { editPollOriginalQuestionAnswersPollKindReceivedArgumentsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedArguments = newValue } } + } + private let editPollOriginalQuestionAnswersPollKindReceivedInvocationsLock = NSLock() + private var editPollOriginalQuestionAnswersPollKindUnderlyingReceivedInvocations: [(eventID: String, question: String, answers: [String], pollKind: Poll.Kind)] = [] + var editPollOriginalQuestionAnswersPollKindReceivedInvocations: [(eventID: String, question: String, answers: [String], pollKind: Poll.Kind)] { + get { editPollOriginalQuestionAnswersPollKindReceivedInvocationsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedInvocations } } + set { editPollOriginalQuestionAnswersPollKindReceivedInvocationsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedInvocations = newValue } } + } - var editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue: Result! + private let editPollOriginalQuestionAnswersPollKindReturnValueLock = NSLock() + private var editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue: Result! var editPollOriginalQuestionAnswersPollKindReturnValue: Result! { - get { - if Thread.isMainThread { - return editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue = newValue - } - } - } + get { editPollOriginalQuestionAnswersPollKindReturnValueLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue } } + set { editPollOriginalQuestionAnswersPollKindReturnValueLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReturnValue = newValue } } } var editPollOriginalQuestionAnswersPollKindClosure: ((String, String, [String], Poll.Kind) async -> Result)? func editPoll(original eventID: String, question: String, answers: [String], pollKind: Poll.Kind) async -> Result { - editPollOriginalQuestionAnswersPollKindCallsCount += 1 + editPollOriginalQuestionAnswersPollKindCallsCountLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingCallsCount += 1 } editPollOriginalQuestionAnswersPollKindReceivedArguments = (eventID: eventID, question: question, answers: answers, pollKind: pollKind) - DispatchQueue.main.async { - self.editPollOriginalQuestionAnswersPollKindReceivedInvocations.append((eventID: eventID, question: question, answers: answers, pollKind: pollKind)) - } + editPollOriginalQuestionAnswersPollKindReceivedInvocationsLock.withLock { editPollOriginalQuestionAnswersPollKindUnderlyingReceivedInvocations.append((eventID: eventID, question: question, answers: answers, pollKind: pollKind)) } if let editPollOriginalQuestionAnswersPollKindClosure = editPollOriginalQuestionAnswersPollKindClosure { return await editPollOriginalQuestionAnswersPollKindClosure(eventID, question, answers, pollKind) } else { @@ -23197,68 +13829,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - sendPollResponse - var sendPollResponsePollStartIDAnswersUnderlyingCallsCount = 0 + private let sendPollResponsePollStartIDAnswersCallsCountLock = NSLock() + private var sendPollResponsePollStartIDAnswersUnderlyingCallsCount = 0 var sendPollResponsePollStartIDAnswersCallsCount: Int { - get { - if Thread.isMainThread { - return sendPollResponsePollStartIDAnswersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendPollResponsePollStartIDAnswersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendPollResponsePollStartIDAnswersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendPollResponsePollStartIDAnswersUnderlyingCallsCount = newValue - } - } - } + get { sendPollResponsePollStartIDAnswersCallsCountLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingCallsCount } } + set { sendPollResponsePollStartIDAnswersCallsCountLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingCallsCount = newValue } } } var sendPollResponsePollStartIDAnswersCalled: Bool { return sendPollResponsePollStartIDAnswersCallsCount > 0 } - var sendPollResponsePollStartIDAnswersReceivedArguments: (pollStartID: String, answers: [String])? - var sendPollResponsePollStartIDAnswersReceivedInvocations: [(pollStartID: String, answers: [String])] = [] + private let sendPollResponsePollStartIDAnswersReceivedArgumentsLock = NSLock() + private var sendPollResponsePollStartIDAnswersUnderlyingReceivedArguments: (pollStartID: String, answers: [String])? + var sendPollResponsePollStartIDAnswersReceivedArguments: (pollStartID: String, answers: [String])? { + get { sendPollResponsePollStartIDAnswersReceivedArgumentsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedArguments } } + set { sendPollResponsePollStartIDAnswersReceivedArgumentsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedArguments = newValue } } + } + private let sendPollResponsePollStartIDAnswersReceivedInvocationsLock = NSLock() + private var sendPollResponsePollStartIDAnswersUnderlyingReceivedInvocations: [(pollStartID: String, answers: [String])] = [] + var sendPollResponsePollStartIDAnswersReceivedInvocations: [(pollStartID: String, answers: [String])] { + get { sendPollResponsePollStartIDAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedInvocations } } + set { sendPollResponsePollStartIDAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedInvocations = newValue } } + } - var sendPollResponsePollStartIDAnswersUnderlyingReturnValue: Result! + private let sendPollResponsePollStartIDAnswersReturnValueLock = NSLock() + private var sendPollResponsePollStartIDAnswersUnderlyingReturnValue: Result! var sendPollResponsePollStartIDAnswersReturnValue: Result! { - get { - if Thread.isMainThread { - return sendPollResponsePollStartIDAnswersUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendPollResponsePollStartIDAnswersUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendPollResponsePollStartIDAnswersUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendPollResponsePollStartIDAnswersUnderlyingReturnValue = newValue - } - } - } + get { sendPollResponsePollStartIDAnswersReturnValueLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReturnValue } } + set { sendPollResponsePollStartIDAnswersReturnValueLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReturnValue = newValue } } } var sendPollResponsePollStartIDAnswersClosure: ((String, [String]) async -> Result)? func sendPollResponse(pollStartID: String, answers: [String]) async -> Result { - sendPollResponsePollStartIDAnswersCallsCount += 1 + sendPollResponsePollStartIDAnswersCallsCountLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingCallsCount += 1 } sendPollResponsePollStartIDAnswersReceivedArguments = (pollStartID: pollStartID, answers: answers) - DispatchQueue.main.async { - self.sendPollResponsePollStartIDAnswersReceivedInvocations.append((pollStartID: pollStartID, answers: answers)) - } + sendPollResponsePollStartIDAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartIDAnswersUnderlyingReceivedInvocations.append((pollStartID: pollStartID, answers: answers)) } if let sendPollResponsePollStartIDAnswersClosure = sendPollResponsePollStartIDAnswersClosure { return await sendPollResponsePollStartIDAnswersClosure(pollStartID, answers) } else { @@ -23267,68 +13871,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - endPoll - var endPollPollStartIDTextUnderlyingCallsCount = 0 + private let endPollPollStartIDTextCallsCountLock = NSLock() + private var endPollPollStartIDTextUnderlyingCallsCount = 0 var endPollPollStartIDTextCallsCount: Int { - get { - if Thread.isMainThread { - return endPollPollStartIDTextUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = endPollPollStartIDTextUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - endPollPollStartIDTextUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - endPollPollStartIDTextUnderlyingCallsCount = newValue - } - } - } + get { endPollPollStartIDTextCallsCountLock.withLock { endPollPollStartIDTextUnderlyingCallsCount } } + set { endPollPollStartIDTextCallsCountLock.withLock { endPollPollStartIDTextUnderlyingCallsCount = newValue } } } var endPollPollStartIDTextCalled: Bool { return endPollPollStartIDTextCallsCount > 0 } - var endPollPollStartIDTextReceivedArguments: (pollStartID: String, text: String)? - var endPollPollStartIDTextReceivedInvocations: [(pollStartID: String, text: String)] = [] + private let endPollPollStartIDTextReceivedArgumentsLock = NSLock() + private var endPollPollStartIDTextUnderlyingReceivedArguments: (pollStartID: String, text: String)? + var endPollPollStartIDTextReceivedArguments: (pollStartID: String, text: String)? { + get { endPollPollStartIDTextReceivedArgumentsLock.withLock { endPollPollStartIDTextUnderlyingReceivedArguments } } + set { endPollPollStartIDTextReceivedArgumentsLock.withLock { endPollPollStartIDTextUnderlyingReceivedArguments = newValue } } + } + private let endPollPollStartIDTextReceivedInvocationsLock = NSLock() + private var endPollPollStartIDTextUnderlyingReceivedInvocations: [(pollStartID: String, text: String)] = [] + var endPollPollStartIDTextReceivedInvocations: [(pollStartID: String, text: String)] { + get { endPollPollStartIDTextReceivedInvocationsLock.withLock { endPollPollStartIDTextUnderlyingReceivedInvocations } } + set { endPollPollStartIDTextReceivedInvocationsLock.withLock { endPollPollStartIDTextUnderlyingReceivedInvocations = newValue } } + } - var endPollPollStartIDTextUnderlyingReturnValue: Result! + private let endPollPollStartIDTextReturnValueLock = NSLock() + private var endPollPollStartIDTextUnderlyingReturnValue: Result! var endPollPollStartIDTextReturnValue: Result! { - get { - if Thread.isMainThread { - return endPollPollStartIDTextUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = endPollPollStartIDTextUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - endPollPollStartIDTextUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - endPollPollStartIDTextUnderlyingReturnValue = newValue - } - } - } + get { endPollPollStartIDTextReturnValueLock.withLock { endPollPollStartIDTextUnderlyingReturnValue } } + set { endPollPollStartIDTextReturnValueLock.withLock { endPollPollStartIDTextUnderlyingReturnValue = newValue } } } var endPollPollStartIDTextClosure: ((String, String) async -> Result)? func endPoll(pollStartID: String, text: String) async -> Result { - endPollPollStartIDTextCallsCount += 1 + endPollPollStartIDTextCallsCountLock.withLock { endPollPollStartIDTextUnderlyingCallsCount += 1 } endPollPollStartIDTextReceivedArguments = (pollStartID: pollStartID, text: text) - DispatchQueue.main.async { - self.endPollPollStartIDTextReceivedInvocations.append((pollStartID: pollStartID, text: text)) - } + endPollPollStartIDTextReceivedInvocationsLock.withLock { endPollPollStartIDTextUnderlyingReceivedInvocations.append((pollStartID: pollStartID, text: text)) } if let endPollPollStartIDTextClosure = endPollPollStartIDTextClosure { return await endPollPollStartIDTextClosure(pollStartID, text) } else { @@ -23337,68 +13913,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - getLoadedReplyDetails - var getLoadedReplyDetailsEventIDUnderlyingCallsCount = 0 + private let getLoadedReplyDetailsEventIDCallsCountLock = NSLock() + private var getLoadedReplyDetailsEventIDUnderlyingCallsCount = 0 var getLoadedReplyDetailsEventIDCallsCount: Int { - get { - if Thread.isMainThread { - return getLoadedReplyDetailsEventIDUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getLoadedReplyDetailsEventIDUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getLoadedReplyDetailsEventIDUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getLoadedReplyDetailsEventIDUnderlyingCallsCount = newValue - } - } - } + get { getLoadedReplyDetailsEventIDCallsCountLock.withLock { getLoadedReplyDetailsEventIDUnderlyingCallsCount } } + set { getLoadedReplyDetailsEventIDCallsCountLock.withLock { getLoadedReplyDetailsEventIDUnderlyingCallsCount = newValue } } } var getLoadedReplyDetailsEventIDCalled: Bool { return getLoadedReplyDetailsEventIDCallsCount > 0 } - var getLoadedReplyDetailsEventIDReceivedEventID: String? - var getLoadedReplyDetailsEventIDReceivedInvocations: [String] = [] + private let getLoadedReplyDetailsEventIDReceivedEventIDLock = NSLock() + private var getLoadedReplyDetailsEventIDUnderlyingReceivedEventID: String? + var getLoadedReplyDetailsEventIDReceivedEventID: String? { + get { getLoadedReplyDetailsEventIDReceivedEventIDLock.withLock { getLoadedReplyDetailsEventIDUnderlyingReceivedEventID } } + set { getLoadedReplyDetailsEventIDReceivedEventIDLock.withLock { getLoadedReplyDetailsEventIDUnderlyingReceivedEventID = newValue } } + } + private let getLoadedReplyDetailsEventIDReceivedInvocationsLock = NSLock() + private var getLoadedReplyDetailsEventIDUnderlyingReceivedInvocations: [String] = [] + var getLoadedReplyDetailsEventIDReceivedInvocations: [String] { + get { getLoadedReplyDetailsEventIDReceivedInvocationsLock.withLock { getLoadedReplyDetailsEventIDUnderlyingReceivedInvocations } } + set { getLoadedReplyDetailsEventIDReceivedInvocationsLock.withLock { getLoadedReplyDetailsEventIDUnderlyingReceivedInvocations = newValue } } + } - var getLoadedReplyDetailsEventIDUnderlyingReturnValue: Result! + private let getLoadedReplyDetailsEventIDReturnValueLock = NSLock() + private var getLoadedReplyDetailsEventIDUnderlyingReturnValue: Result! var getLoadedReplyDetailsEventIDReturnValue: Result! { - get { - if Thread.isMainThread { - return getLoadedReplyDetailsEventIDUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = getLoadedReplyDetailsEventIDUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getLoadedReplyDetailsEventIDUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getLoadedReplyDetailsEventIDUnderlyingReturnValue = newValue - } - } - } + get { getLoadedReplyDetailsEventIDReturnValueLock.withLock { getLoadedReplyDetailsEventIDUnderlyingReturnValue } } + set { getLoadedReplyDetailsEventIDReturnValueLock.withLock { getLoadedReplyDetailsEventIDUnderlyingReturnValue = newValue } } } var getLoadedReplyDetailsEventIDClosure: ((String) async -> Result)? func getLoadedReplyDetails(eventID: String) async -> Result { - getLoadedReplyDetailsEventIDCallsCount += 1 + getLoadedReplyDetailsEventIDCallsCountLock.withLock { getLoadedReplyDetailsEventIDUnderlyingCallsCount += 1 } getLoadedReplyDetailsEventIDReceivedEventID = eventID - DispatchQueue.main.async { - self.getLoadedReplyDetailsEventIDReceivedInvocations.append(eventID) - } + getLoadedReplyDetailsEventIDReceivedInvocationsLock.withLock { getLoadedReplyDetailsEventIDUnderlyingReceivedInvocations.append(eventID) } if let getLoadedReplyDetailsEventIDClosure = getLoadedReplyDetailsEventIDClosure { return await getLoadedReplyDetailsEventIDClosure(eventID) } else { @@ -23407,68 +13955,40 @@ class TimelineProxyMock: TimelineProxyProtocol, @unchecked Sendable { } //MARK: - buildMessageContentFor - var buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount = 0 + private let buildMessageContentForHtmlIntentionalMentionsCallsCountLock = NSLock() + private var buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount = 0 var buildMessageContentForHtmlIntentionalMentionsCallsCount: Int { - get { - if Thread.isMainThread { - return buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount = newValue - } - } - } + get { buildMessageContentForHtmlIntentionalMentionsCallsCountLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount } } + set { buildMessageContentForHtmlIntentionalMentionsCallsCountLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount = newValue } } } var buildMessageContentForHtmlIntentionalMentionsCalled: Bool { return buildMessageContentForHtmlIntentionalMentionsCallsCount > 0 } - var buildMessageContentForHtmlIntentionalMentionsReceivedArguments: (message: String, html: String?, intentionalMentions: Mentions)? - var buildMessageContentForHtmlIntentionalMentionsReceivedInvocations: [(message: String, html: String?, intentionalMentions: Mentions)] = [] + private let buildMessageContentForHtmlIntentionalMentionsReceivedArgumentsLock = NSLock() + private var buildMessageContentForHtmlIntentionalMentionsUnderlyingReceivedArguments: (message: String, html: String?, intentionalMentions: Mentions)? + var buildMessageContentForHtmlIntentionalMentionsReceivedArguments: (message: String, html: String?, intentionalMentions: Mentions)? { + get { buildMessageContentForHtmlIntentionalMentionsReceivedArgumentsLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingReceivedArguments } } + set { buildMessageContentForHtmlIntentionalMentionsReceivedArgumentsLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingReceivedArguments = newValue } } + } + private let buildMessageContentForHtmlIntentionalMentionsReceivedInvocationsLock = NSLock() + private var buildMessageContentForHtmlIntentionalMentionsUnderlyingReceivedInvocations: [(message: String, html: String?, intentionalMentions: Mentions)] = [] + var buildMessageContentForHtmlIntentionalMentionsReceivedInvocations: [(message: String, html: String?, intentionalMentions: Mentions)] { + get { buildMessageContentForHtmlIntentionalMentionsReceivedInvocationsLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingReceivedInvocations } } + set { buildMessageContentForHtmlIntentionalMentionsReceivedInvocationsLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingReceivedInvocations = newValue } } + } - var buildMessageContentForHtmlIntentionalMentionsUnderlyingReturnValue: RoomMessageEventContentWithoutRelation! + private let buildMessageContentForHtmlIntentionalMentionsReturnValueLock = NSLock() + private var buildMessageContentForHtmlIntentionalMentionsUnderlyingReturnValue: RoomMessageEventContentWithoutRelation! var buildMessageContentForHtmlIntentionalMentionsReturnValue: RoomMessageEventContentWithoutRelation! { - get { - if Thread.isMainThread { - return buildMessageContentForHtmlIntentionalMentionsUnderlyingReturnValue - } else { - var returnValue: RoomMessageEventContentWithoutRelation? = nil - DispatchQueue.main.sync { - returnValue = buildMessageContentForHtmlIntentionalMentionsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildMessageContentForHtmlIntentionalMentionsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - buildMessageContentForHtmlIntentionalMentionsUnderlyingReturnValue = newValue - } - } - } + get { buildMessageContentForHtmlIntentionalMentionsReturnValueLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingReturnValue } } + set { buildMessageContentForHtmlIntentionalMentionsReturnValueLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingReturnValue = newValue } } } var buildMessageContentForHtmlIntentionalMentionsClosure: ((String, String?, Mentions) -> RoomMessageEventContentWithoutRelation)? func buildMessageContentFor(_ message: String, html: String?, intentionalMentions: Mentions) -> RoomMessageEventContentWithoutRelation { - buildMessageContentForHtmlIntentionalMentionsCallsCount += 1 + buildMessageContentForHtmlIntentionalMentionsCallsCountLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingCallsCount += 1 } buildMessageContentForHtmlIntentionalMentionsReceivedArguments = (message: message, html: html, intentionalMentions: intentionalMentions) - DispatchQueue.main.async { - self.buildMessageContentForHtmlIntentionalMentionsReceivedInvocations.append((message: message, html: html, intentionalMentions: intentionalMentions)) - } + buildMessageContentForHtmlIntentionalMentionsReceivedInvocationsLock.withLock { buildMessageContentForHtmlIntentionalMentionsUnderlyingReceivedInvocations.append((message: message, html: html, intentionalMentions: intentionalMentions)) } if let buildMessageContentForHtmlIntentionalMentionsClosure = buildMessageContentForHtmlIntentionalMentionsClosure { return buildMessageContentForHtmlIntentionalMentionsClosure(message, html, intentionalMentions) } else { @@ -23480,68 +14000,40 @@ class UserDiscoveryServiceMock: UserDiscoveryServiceProtocol, @unchecked Sendabl //MARK: - searchProfiles - var searchProfilesWithUnderlyingCallsCount = 0 + private let searchProfilesWithCallsCountLock = NSLock() + private var searchProfilesWithUnderlyingCallsCount = 0 var searchProfilesWithCallsCount: Int { - get { - if Thread.isMainThread { - return searchProfilesWithUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = searchProfilesWithUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchProfilesWithUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - searchProfilesWithUnderlyingCallsCount = newValue - } - } - } + get { searchProfilesWithCallsCountLock.withLock { searchProfilesWithUnderlyingCallsCount } } + set { searchProfilesWithCallsCountLock.withLock { searchProfilesWithUnderlyingCallsCount = newValue } } } var searchProfilesWithCalled: Bool { return searchProfilesWithCallsCount > 0 } - var searchProfilesWithReceivedSearchQuery: String? - var searchProfilesWithReceivedInvocations: [String] = [] + private let searchProfilesWithReceivedSearchQueryLock = NSLock() + private var searchProfilesWithUnderlyingReceivedSearchQuery: String? + var searchProfilesWithReceivedSearchQuery: String? { + get { searchProfilesWithReceivedSearchQueryLock.withLock { searchProfilesWithUnderlyingReceivedSearchQuery } } + set { searchProfilesWithReceivedSearchQueryLock.withLock { searchProfilesWithUnderlyingReceivedSearchQuery = newValue } } + } + private let searchProfilesWithReceivedInvocationsLock = NSLock() + private var searchProfilesWithUnderlyingReceivedInvocations: [String] = [] + var searchProfilesWithReceivedInvocations: [String] { + get { searchProfilesWithReceivedInvocationsLock.withLock { searchProfilesWithUnderlyingReceivedInvocations } } + set { searchProfilesWithReceivedInvocationsLock.withLock { searchProfilesWithUnderlyingReceivedInvocations = newValue } } + } - var searchProfilesWithUnderlyingReturnValue: Result<[UserProfileProxy], UserDiscoveryErrorType>! + private let searchProfilesWithReturnValueLock = NSLock() + private var searchProfilesWithUnderlyingReturnValue: Result<[UserProfileProxy], UserDiscoveryErrorType>! var searchProfilesWithReturnValue: Result<[UserProfileProxy], UserDiscoveryErrorType>! { - get { - if Thread.isMainThread { - return searchProfilesWithUnderlyingReturnValue - } else { - var returnValue: Result<[UserProfileProxy], UserDiscoveryErrorType>? = nil - DispatchQueue.main.sync { - returnValue = searchProfilesWithUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchProfilesWithUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - searchProfilesWithUnderlyingReturnValue = newValue - } - } - } + get { searchProfilesWithReturnValueLock.withLock { searchProfilesWithUnderlyingReturnValue } } + set { searchProfilesWithReturnValueLock.withLock { searchProfilesWithUnderlyingReturnValue = newValue } } } var searchProfilesWithClosure: ((String) async -> Result<[UserProfileProxy], UserDiscoveryErrorType>)? func searchProfiles(with searchQuery: String) async -> Result<[UserProfileProxy], UserDiscoveryErrorType> { - searchProfilesWithCallsCount += 1 + searchProfilesWithCallsCountLock.withLock { searchProfilesWithUnderlyingCallsCount += 1 } searchProfilesWithReceivedSearchQuery = searchQuery - DispatchQueue.main.async { - self.searchProfilesWithReceivedInvocations.append(searchQuery) - } + searchProfilesWithReceivedInvocationsLock.withLock { searchProfilesWithUnderlyingReceivedInvocations.append(searchQuery) } if let searchProfilesWithClosure = searchProfilesWithClosure { return await searchProfilesWithClosure(searchQuery) } else { @@ -23562,111 +14054,73 @@ class UserIndicatorControllerMock: UserIndicatorControllerProtocol, @unchecked S //MARK: - submitIndicator - var submitIndicatorDelayUnderlyingCallsCount = 0 + private let submitIndicatorDelayCallsCountLock = NSLock() + private var submitIndicatorDelayUnderlyingCallsCount = 0 var submitIndicatorDelayCallsCount: Int { - get { - if Thread.isMainThread { - return submitIndicatorDelayUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = submitIndicatorDelayUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - submitIndicatorDelayUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - submitIndicatorDelayUnderlyingCallsCount = newValue - } - } - } + get { submitIndicatorDelayCallsCountLock.withLock { submitIndicatorDelayUnderlyingCallsCount } } + set { submitIndicatorDelayCallsCountLock.withLock { submitIndicatorDelayUnderlyingCallsCount = newValue } } } var submitIndicatorDelayCalled: Bool { return submitIndicatorDelayCallsCount > 0 } - var submitIndicatorDelayReceivedArguments: (indicator: UserIndicator, delay: Duration?)? - var submitIndicatorDelayReceivedInvocations: [(indicator: UserIndicator, delay: Duration?)] = [] + private let submitIndicatorDelayReceivedArgumentsLock = NSLock() + private var submitIndicatorDelayUnderlyingReceivedArguments: (indicator: UserIndicator, delay: Duration?)? + var submitIndicatorDelayReceivedArguments: (indicator: UserIndicator, delay: Duration?)? { + get { submitIndicatorDelayReceivedArgumentsLock.withLock { submitIndicatorDelayUnderlyingReceivedArguments } } + set { submitIndicatorDelayReceivedArgumentsLock.withLock { submitIndicatorDelayUnderlyingReceivedArguments = newValue } } + } + private let submitIndicatorDelayReceivedInvocationsLock = NSLock() + private var submitIndicatorDelayUnderlyingReceivedInvocations: [(indicator: UserIndicator, delay: Duration?)] = [] + var submitIndicatorDelayReceivedInvocations: [(indicator: UserIndicator, delay: Duration?)] { + get { submitIndicatorDelayReceivedInvocationsLock.withLock { submitIndicatorDelayUnderlyingReceivedInvocations } } + set { submitIndicatorDelayReceivedInvocationsLock.withLock { submitIndicatorDelayUnderlyingReceivedInvocations = newValue } } + } var submitIndicatorDelayClosure: ((UserIndicator, Duration?) -> Void)? func submitIndicator(_ indicator: UserIndicator, delay: Duration?) { - submitIndicatorDelayCallsCount += 1 + submitIndicatorDelayCallsCountLock.withLock { submitIndicatorDelayUnderlyingCallsCount += 1 } submitIndicatorDelayReceivedArguments = (indicator: indicator, delay: delay) - DispatchQueue.main.async { - self.submitIndicatorDelayReceivedInvocations.append((indicator: indicator, delay: delay)) - } + submitIndicatorDelayReceivedInvocationsLock.withLock { submitIndicatorDelayUnderlyingReceivedInvocations.append((indicator: indicator, delay: delay)) } submitIndicatorDelayClosure?(indicator, delay) } //MARK: - retractIndicatorWithId - var retractIndicatorWithIdUnderlyingCallsCount = 0 + private let retractIndicatorWithIdCallsCountLock = NSLock() + private var retractIndicatorWithIdUnderlyingCallsCount = 0 var retractIndicatorWithIdCallsCount: Int { - get { - if Thread.isMainThread { - return retractIndicatorWithIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = retractIndicatorWithIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - retractIndicatorWithIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - retractIndicatorWithIdUnderlyingCallsCount = newValue - } - } - } + get { retractIndicatorWithIdCallsCountLock.withLock { retractIndicatorWithIdUnderlyingCallsCount } } + set { retractIndicatorWithIdCallsCountLock.withLock { retractIndicatorWithIdUnderlyingCallsCount = newValue } } } var retractIndicatorWithIdCalled: Bool { return retractIndicatorWithIdCallsCount > 0 } - var retractIndicatorWithIdReceivedId: String? - var retractIndicatorWithIdReceivedInvocations: [String] = [] + private let retractIndicatorWithIdReceivedIdLock = NSLock() + private var retractIndicatorWithIdUnderlyingReceivedId: String? + var retractIndicatorWithIdReceivedId: String? { + get { retractIndicatorWithIdReceivedIdLock.withLock { retractIndicatorWithIdUnderlyingReceivedId } } + set { retractIndicatorWithIdReceivedIdLock.withLock { retractIndicatorWithIdUnderlyingReceivedId = newValue } } + } + private let retractIndicatorWithIdReceivedInvocationsLock = NSLock() + private var retractIndicatorWithIdUnderlyingReceivedInvocations: [String] = [] + var retractIndicatorWithIdReceivedInvocations: [String] { + get { retractIndicatorWithIdReceivedInvocationsLock.withLock { retractIndicatorWithIdUnderlyingReceivedInvocations } } + set { retractIndicatorWithIdReceivedInvocationsLock.withLock { retractIndicatorWithIdUnderlyingReceivedInvocations = newValue } } + } var retractIndicatorWithIdClosure: ((String) -> Void)? func retractIndicatorWithId(_ id: String) { - retractIndicatorWithIdCallsCount += 1 + retractIndicatorWithIdCallsCountLock.withLock { retractIndicatorWithIdUnderlyingCallsCount += 1 } retractIndicatorWithIdReceivedId = id - DispatchQueue.main.async { - self.retractIndicatorWithIdReceivedInvocations.append(id) - } + retractIndicatorWithIdReceivedInvocationsLock.withLock { retractIndicatorWithIdUnderlyingReceivedInvocations.append(id) } retractIndicatorWithIdClosure?(id) } //MARK: - retractAllIndicators - var retractAllIndicatorsUnderlyingCallsCount = 0 + private let retractAllIndicatorsCallsCountLock = NSLock() + private var retractAllIndicatorsUnderlyingCallsCount = 0 var retractAllIndicatorsCallsCount: Int { - get { - if Thread.isMainThread { - return retractAllIndicatorsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = retractAllIndicatorsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - retractAllIndicatorsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - retractAllIndicatorsUnderlyingCallsCount = newValue - } - } - } + get { retractAllIndicatorsCallsCountLock.withLock { retractAllIndicatorsUnderlyingCallsCount } } + set { retractAllIndicatorsCallsCountLock.withLock { retractAllIndicatorsUnderlyingCallsCount = newValue } } } var retractAllIndicatorsCalled: Bool { return retractAllIndicatorsCallsCount > 0 @@ -23674,34 +14128,16 @@ class UserIndicatorControllerMock: UserIndicatorControllerProtocol, @unchecked S var retractAllIndicatorsClosure: (() -> Void)? func retractAllIndicators() { - retractAllIndicatorsCallsCount += 1 + retractAllIndicatorsCallsCountLock.withLock { retractAllIndicatorsUnderlyingCallsCount += 1 } retractAllIndicatorsClosure?() } //MARK: - start - var startUnderlyingCallsCount = 0 + private let startCallsCountLock = NSLock() + private var startUnderlyingCallsCount = 0 var startCallsCount: Int { - get { - if Thread.isMainThread { - return startUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startUnderlyingCallsCount = newValue - } - } - } + get { startCallsCountLock.withLock { startUnderlyingCallsCount } } + set { startCallsCountLock.withLock { startUnderlyingCallsCount = newValue } } } var startCalled: Bool { return startCallsCount > 0 @@ -23709,34 +14145,16 @@ class UserIndicatorControllerMock: UserIndicatorControllerProtocol, @unchecked S var startClosure: (() -> Void)? func start() { - startCallsCount += 1 + startCallsCountLock.withLock { startUnderlyingCallsCount += 1 } startClosure?() } //MARK: - stop - var stopUnderlyingCallsCount = 0 + private let stopCallsCountLock = NSLock() + private var stopUnderlyingCallsCount = 0 var stopCallsCount: Int { - get { - if Thread.isMainThread { - return stopUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopUnderlyingCallsCount = newValue - } - } - } + get { stopCallsCountLock.withLock { stopUnderlyingCallsCount } } + set { stopCallsCountLock.withLock { stopUnderlyingCallsCount = newValue } } } var stopCalled: Bool { return stopCallsCount > 0 @@ -23744,67 +14162,31 @@ class UserIndicatorControllerMock: UserIndicatorControllerProtocol, @unchecked S var stopClosure: (() -> Void)? func stop() { - stopCallsCount += 1 + stopCallsCountLock.withLock { stopUnderlyingCallsCount += 1 } stopClosure?() } //MARK: - toPresentable - var toPresentableUnderlyingCallsCount = 0 + private let toPresentableCallsCountLock = NSLock() + private var toPresentableUnderlyingCallsCount = 0 var toPresentableCallsCount: Int { - get { - if Thread.isMainThread { - return toPresentableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = toPresentableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toPresentableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - toPresentableUnderlyingCallsCount = newValue - } - } - } + get { toPresentableCallsCountLock.withLock { toPresentableUnderlyingCallsCount } } + set { toPresentableCallsCountLock.withLock { toPresentableUnderlyingCallsCount = newValue } } } var toPresentableCalled: Bool { return toPresentableCallsCount > 0 } - var toPresentableUnderlyingReturnValue: AnyView! + private let toPresentableReturnValueLock = NSLock() + private var toPresentableUnderlyingReturnValue: AnyView! var toPresentableReturnValue: AnyView! { - get { - if Thread.isMainThread { - return toPresentableUnderlyingReturnValue - } else { - var returnValue: AnyView? = nil - DispatchQueue.main.sync { - returnValue = toPresentableUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toPresentableUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - toPresentableUnderlyingReturnValue = newValue - } - } - } + get { toPresentableReturnValueLock.withLock { toPresentableUnderlyingReturnValue } } + set { toPresentableReturnValueLock.withLock { toPresentableUnderlyingReturnValue = newValue } } } var toPresentableClosure: (() -> AnyView)? func toPresentable() -> AnyView { - toPresentableCallsCount += 1 + toPresentableCallsCountLock.withLock { toPresentableUnderlyingCallsCount += 1 } if let toPresentableClosure = toPresentableClosure { return toPresentableClosure() } else { @@ -23818,104 +14200,68 @@ class UserNotificationCenterMock: UserNotificationCenterProtocol, @unchecked Sen //MARK: - add var addThrowableError: Error? - var addUnderlyingCallsCount = 0 + private let addCallsCountLock = NSLock() + private var addUnderlyingCallsCount = 0 var addCallsCount: Int { - get { - if Thread.isMainThread { - return addUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addUnderlyingCallsCount = newValue - } - } - } + get { addCallsCountLock.withLock { addUnderlyingCallsCount } } + set { addCallsCountLock.withLock { addUnderlyingCallsCount = newValue } } } var addCalled: Bool { return addCallsCount > 0 } - var addReceivedRequest: UNNotificationRequest? - var addReceivedInvocations: [UNNotificationRequest] = [] + private let addReceivedRequestLock = NSLock() + private var addUnderlyingReceivedRequest: UNNotificationRequest? + var addReceivedRequest: UNNotificationRequest? { + get { addReceivedRequestLock.withLock { addUnderlyingReceivedRequest } } + set { addReceivedRequestLock.withLock { addUnderlyingReceivedRequest = newValue } } + } + private let addReceivedInvocationsLock = NSLock() + private var addUnderlyingReceivedInvocations: [UNNotificationRequest] = [] + var addReceivedInvocations: [UNNotificationRequest] { + get { addReceivedInvocationsLock.withLock { addUnderlyingReceivedInvocations } } + set { addReceivedInvocationsLock.withLock { addUnderlyingReceivedInvocations = newValue } } + } var addClosure: ((UNNotificationRequest) async throws -> Void)? func add(_ request: UNNotificationRequest) async throws { if let error = addThrowableError { throw error } - addCallsCount += 1 + addCallsCountLock.withLock { addUnderlyingCallsCount += 1 } addReceivedRequest = request - DispatchQueue.main.async { - self.addReceivedInvocations.append(request) - } + addReceivedInvocationsLock.withLock { addUnderlyingReceivedInvocations.append(request) } try await addClosure?(request) } //MARK: - requestAuthorization var requestAuthorizationOptionsThrowableError: Error? - var requestAuthorizationOptionsUnderlyingCallsCount = 0 + private let requestAuthorizationOptionsCallsCountLock = NSLock() + private var requestAuthorizationOptionsUnderlyingCallsCount = 0 var requestAuthorizationOptionsCallsCount: Int { - get { - if Thread.isMainThread { - return requestAuthorizationOptionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestAuthorizationOptionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestAuthorizationOptionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestAuthorizationOptionsUnderlyingCallsCount = newValue - } - } - } + get { requestAuthorizationOptionsCallsCountLock.withLock { requestAuthorizationOptionsUnderlyingCallsCount } } + set { requestAuthorizationOptionsCallsCountLock.withLock { requestAuthorizationOptionsUnderlyingCallsCount = newValue } } } var requestAuthorizationOptionsCalled: Bool { return requestAuthorizationOptionsCallsCount > 0 } - var requestAuthorizationOptionsReceivedOptions: UNAuthorizationOptions? - var requestAuthorizationOptionsReceivedInvocations: [UNAuthorizationOptions] = [] + private let requestAuthorizationOptionsReceivedOptionsLock = NSLock() + private var requestAuthorizationOptionsUnderlyingReceivedOptions: UNAuthorizationOptions? + var requestAuthorizationOptionsReceivedOptions: UNAuthorizationOptions? { + get { requestAuthorizationOptionsReceivedOptionsLock.withLock { requestAuthorizationOptionsUnderlyingReceivedOptions } } + set { requestAuthorizationOptionsReceivedOptionsLock.withLock { requestAuthorizationOptionsUnderlyingReceivedOptions = newValue } } + } + private let requestAuthorizationOptionsReceivedInvocationsLock = NSLock() + private var requestAuthorizationOptionsUnderlyingReceivedInvocations: [UNAuthorizationOptions] = [] + var requestAuthorizationOptionsReceivedInvocations: [UNAuthorizationOptions] { + get { requestAuthorizationOptionsReceivedInvocationsLock.withLock { requestAuthorizationOptionsUnderlyingReceivedInvocations } } + set { requestAuthorizationOptionsReceivedInvocationsLock.withLock { requestAuthorizationOptionsUnderlyingReceivedInvocations = newValue } } + } - var requestAuthorizationOptionsUnderlyingReturnValue: Bool! + private let requestAuthorizationOptionsReturnValueLock = NSLock() + private var requestAuthorizationOptionsUnderlyingReturnValue: Bool! var requestAuthorizationOptionsReturnValue: Bool! { - get { - if Thread.isMainThread { - return requestAuthorizationOptionsUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = requestAuthorizationOptionsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestAuthorizationOptionsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - requestAuthorizationOptionsUnderlyingReturnValue = newValue - } - } - } + get { requestAuthorizationOptionsReturnValueLock.withLock { requestAuthorizationOptionsUnderlyingReturnValue } } + set { requestAuthorizationOptionsReturnValueLock.withLock { requestAuthorizationOptionsUnderlyingReturnValue = newValue } } } var requestAuthorizationOptionsClosure: ((UNAuthorizationOptions) async throws -> Bool)? @@ -23923,11 +14269,9 @@ class UserNotificationCenterMock: UserNotificationCenterProtocol, @unchecked Sen if let error = requestAuthorizationOptionsThrowableError { throw error } - requestAuthorizationOptionsCallsCount += 1 + requestAuthorizationOptionsCallsCountLock.withLock { requestAuthorizationOptionsUnderlyingCallsCount += 1 } requestAuthorizationOptionsReceivedOptions = options - DispatchQueue.main.async { - self.requestAuthorizationOptionsReceivedInvocations.append(options) - } + requestAuthorizationOptionsReceivedInvocationsLock.withLock { requestAuthorizationOptionsUnderlyingReceivedInvocations.append(options) } if let requestAuthorizationOptionsClosure = requestAuthorizationOptionsClosure { return try await requestAuthorizationOptionsClosure(options) } else { @@ -23936,62 +14280,26 @@ class UserNotificationCenterMock: UserNotificationCenterProtocol, @unchecked Sen } //MARK: - deliveredNotifications - var deliveredNotificationsUnderlyingCallsCount = 0 + private let deliveredNotificationsCallsCountLock = NSLock() + private var deliveredNotificationsUnderlyingCallsCount = 0 var deliveredNotificationsCallsCount: Int { - get { - if Thread.isMainThread { - return deliveredNotificationsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = deliveredNotificationsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deliveredNotificationsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - deliveredNotificationsUnderlyingCallsCount = newValue - } - } - } + get { deliveredNotificationsCallsCountLock.withLock { deliveredNotificationsUnderlyingCallsCount } } + set { deliveredNotificationsCallsCountLock.withLock { deliveredNotificationsUnderlyingCallsCount = newValue } } } var deliveredNotificationsCalled: Bool { return deliveredNotificationsCallsCount > 0 } - var deliveredNotificationsUnderlyingReturnValue: [UNNotification]! + private let deliveredNotificationsReturnValueLock = NSLock() + private var deliveredNotificationsUnderlyingReturnValue: [UNNotification]! var deliveredNotificationsReturnValue: [UNNotification]! { - get { - if Thread.isMainThread { - return deliveredNotificationsUnderlyingReturnValue - } else { - var returnValue: [UNNotification]? = nil - DispatchQueue.main.sync { - returnValue = deliveredNotificationsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deliveredNotificationsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - deliveredNotificationsUnderlyingReturnValue = newValue - } - } - } + get { deliveredNotificationsReturnValueLock.withLock { deliveredNotificationsUnderlyingReturnValue } } + set { deliveredNotificationsReturnValueLock.withLock { deliveredNotificationsUnderlyingReturnValue = newValue } } } var deliveredNotificationsClosure: (() async -> [UNNotification])? func deliveredNotifications() async -> [UNNotification] { - deliveredNotificationsCallsCount += 1 + deliveredNotificationsCallsCountLock.withLock { deliveredNotificationsUnderlyingCallsCount += 1 } if let deliveredNotificationsClosure = deliveredNotificationsClosure { return await deliveredNotificationsClosure() } else { @@ -24000,144 +14308,88 @@ class UserNotificationCenterMock: UserNotificationCenterProtocol, @unchecked Sen } //MARK: - removeDeliveredNotifications - var removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount = 0 + private let removeDeliveredNotificationsWithIdentifiersCallsCountLock = NSLock() + private var removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount = 0 var removeDeliveredNotificationsWithIdentifiersCallsCount: Int { - get { - if Thread.isMainThread { - return removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount = newValue - } - } - } + get { removeDeliveredNotificationsWithIdentifiersCallsCountLock.withLock { removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount } } + set { removeDeliveredNotificationsWithIdentifiersCallsCountLock.withLock { removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount = newValue } } } var removeDeliveredNotificationsWithIdentifiersCalled: Bool { return removeDeliveredNotificationsWithIdentifiersCallsCount > 0 } - var removeDeliveredNotificationsWithIdentifiersReceivedIdentifiers: [String]? - var removeDeliveredNotificationsWithIdentifiersReceivedInvocations: [[String]] = [] + private let removeDeliveredNotificationsWithIdentifiersReceivedIdentifiersLock = NSLock() + private var removeDeliveredNotificationsWithIdentifiersUnderlyingReceivedIdentifiers: [String]? + var removeDeliveredNotificationsWithIdentifiersReceivedIdentifiers: [String]? { + get { removeDeliveredNotificationsWithIdentifiersReceivedIdentifiersLock.withLock { removeDeliveredNotificationsWithIdentifiersUnderlyingReceivedIdentifiers } } + set { removeDeliveredNotificationsWithIdentifiersReceivedIdentifiersLock.withLock { removeDeliveredNotificationsWithIdentifiersUnderlyingReceivedIdentifiers = newValue } } + } + private let removeDeliveredNotificationsWithIdentifiersReceivedInvocationsLock = NSLock() + private var removeDeliveredNotificationsWithIdentifiersUnderlyingReceivedInvocations: [[String]] = [] + var removeDeliveredNotificationsWithIdentifiersReceivedInvocations: [[String]] { + get { removeDeliveredNotificationsWithIdentifiersReceivedInvocationsLock.withLock { removeDeliveredNotificationsWithIdentifiersUnderlyingReceivedInvocations } } + set { removeDeliveredNotificationsWithIdentifiersReceivedInvocationsLock.withLock { removeDeliveredNotificationsWithIdentifiersUnderlyingReceivedInvocations = newValue } } + } var removeDeliveredNotificationsWithIdentifiersClosure: (([String]) -> Void)? func removeDeliveredNotifications(withIdentifiers identifiers: [String]) { - removeDeliveredNotificationsWithIdentifiersCallsCount += 1 + removeDeliveredNotificationsWithIdentifiersCallsCountLock.withLock { removeDeliveredNotificationsWithIdentifiersUnderlyingCallsCount += 1 } removeDeliveredNotificationsWithIdentifiersReceivedIdentifiers = identifiers - DispatchQueue.main.async { - self.removeDeliveredNotificationsWithIdentifiersReceivedInvocations.append(identifiers) - } + removeDeliveredNotificationsWithIdentifiersReceivedInvocationsLock.withLock { removeDeliveredNotificationsWithIdentifiersUnderlyingReceivedInvocations.append(identifiers) } removeDeliveredNotificationsWithIdentifiersClosure?(identifiers) } //MARK: - setNotificationCategories - var setNotificationCategoriesUnderlyingCallsCount = 0 + private let setNotificationCategoriesCallsCountLock = NSLock() + private var setNotificationCategoriesUnderlyingCallsCount = 0 var setNotificationCategoriesCallsCount: Int { - get { - if Thread.isMainThread { - return setNotificationCategoriesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setNotificationCategoriesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setNotificationCategoriesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setNotificationCategoriesUnderlyingCallsCount = newValue - } - } - } + get { setNotificationCategoriesCallsCountLock.withLock { setNotificationCategoriesUnderlyingCallsCount } } + set { setNotificationCategoriesCallsCountLock.withLock { setNotificationCategoriesUnderlyingCallsCount = newValue } } } var setNotificationCategoriesCalled: Bool { return setNotificationCategoriesCallsCount > 0 } - var setNotificationCategoriesReceivedCategories: Set? - var setNotificationCategoriesReceivedInvocations: [Set] = [] + private let setNotificationCategoriesReceivedCategoriesLock = NSLock() + private var setNotificationCategoriesUnderlyingReceivedCategories: Set? + var setNotificationCategoriesReceivedCategories: Set? { + get { setNotificationCategoriesReceivedCategoriesLock.withLock { setNotificationCategoriesUnderlyingReceivedCategories } } + set { setNotificationCategoriesReceivedCategoriesLock.withLock { setNotificationCategoriesUnderlyingReceivedCategories = newValue } } + } + private let setNotificationCategoriesReceivedInvocationsLock = NSLock() + private var setNotificationCategoriesUnderlyingReceivedInvocations: [Set] = [] + var setNotificationCategoriesReceivedInvocations: [Set] { + get { setNotificationCategoriesReceivedInvocationsLock.withLock { setNotificationCategoriesUnderlyingReceivedInvocations } } + set { setNotificationCategoriesReceivedInvocationsLock.withLock { setNotificationCategoriesUnderlyingReceivedInvocations = newValue } } + } var setNotificationCategoriesClosure: ((Set) -> Void)? func setNotificationCategories(_ categories: Set) { - setNotificationCategoriesCallsCount += 1 + setNotificationCategoriesCallsCountLock.withLock { setNotificationCategoriesUnderlyingCallsCount += 1 } setNotificationCategoriesReceivedCategories = categories - DispatchQueue.main.async { - self.setNotificationCategoriesReceivedInvocations.append(categories) - } + setNotificationCategoriesReceivedInvocationsLock.withLock { setNotificationCategoriesUnderlyingReceivedInvocations.append(categories) } setNotificationCategoriesClosure?(categories) } //MARK: - authorizationStatus - var authorizationStatusUnderlyingCallsCount = 0 + private let authorizationStatusCallsCountLock = NSLock() + private var authorizationStatusUnderlyingCallsCount = 0 var authorizationStatusCallsCount: Int { - get { - if Thread.isMainThread { - return authorizationStatusUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = authorizationStatusUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - authorizationStatusUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - authorizationStatusUnderlyingCallsCount = newValue - } - } - } + get { authorizationStatusCallsCountLock.withLock { authorizationStatusUnderlyingCallsCount } } + set { authorizationStatusCallsCountLock.withLock { authorizationStatusUnderlyingCallsCount = newValue } } } var authorizationStatusCalled: Bool { return authorizationStatusCallsCount > 0 } - var authorizationStatusUnderlyingReturnValue: UNAuthorizationStatus! + private let authorizationStatusReturnValueLock = NSLock() + private var authorizationStatusUnderlyingReturnValue: UNAuthorizationStatus! var authorizationStatusReturnValue: UNAuthorizationStatus! { - get { - if Thread.isMainThread { - return authorizationStatusUnderlyingReturnValue - } else { - var returnValue: UNAuthorizationStatus? = nil - DispatchQueue.main.sync { - returnValue = authorizationStatusUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - authorizationStatusUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - authorizationStatusUnderlyingReturnValue = newValue - } - } - } + get { authorizationStatusReturnValueLock.withLock { authorizationStatusUnderlyingReturnValue } } + set { authorizationStatusReturnValueLock.withLock { authorizationStatusUnderlyingReturnValue = newValue } } } var authorizationStatusClosure: (() async -> UNAuthorizationStatus)? func authorizationStatus() async -> UNAuthorizationStatus { - authorizationStatusCallsCount += 1 + authorizationStatusCallsCountLock.withLock { authorizationStatusUnderlyingCallsCount += 1 } if let authorizationStatusClosure = authorizationStatusClosure { return await authorizationStatusClosure() } else { @@ -24146,62 +14398,26 @@ class UserNotificationCenterMock: UserNotificationCenterProtocol, @unchecked Sen } //MARK: - notificationSettings - var notificationSettingsUnderlyingCallsCount = 0 + private let notificationSettingsCallsCountLock = NSLock() + private var notificationSettingsUnderlyingCallsCount = 0 var notificationSettingsCallsCount: Int { - get { - if Thread.isMainThread { - return notificationSettingsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = notificationSettingsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - notificationSettingsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - notificationSettingsUnderlyingCallsCount = newValue - } - } - } + get { notificationSettingsCallsCountLock.withLock { notificationSettingsUnderlyingCallsCount } } + set { notificationSettingsCallsCountLock.withLock { notificationSettingsUnderlyingCallsCount = newValue } } } var notificationSettingsCalled: Bool { return notificationSettingsCallsCount > 0 } - var notificationSettingsUnderlyingReturnValue: UNNotificationSettings! + private let notificationSettingsReturnValueLock = NSLock() + private var notificationSettingsUnderlyingReturnValue: UNNotificationSettings! var notificationSettingsReturnValue: UNNotificationSettings! { - get { - if Thread.isMainThread { - return notificationSettingsUnderlyingReturnValue - } else { - var returnValue: UNNotificationSettings? = nil - DispatchQueue.main.sync { - returnValue = notificationSettingsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - notificationSettingsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - notificationSettingsUnderlyingReturnValue = newValue - } - } - } + get { notificationSettingsReturnValueLock.withLock { notificationSettingsUnderlyingReturnValue } } + set { notificationSettingsReturnValueLock.withLock { notificationSettingsUnderlyingReturnValue = newValue } } } var notificationSettingsClosure: (() async -> UNNotificationSettings)? func notificationSettings() async -> UNNotificationSettings { - notificationSettingsCallsCount += 1 + notificationSettingsCallsCountLock.withLock { notificationSettingsUnderlyingCallsCount += 1 } if let notificationSettingsClosure = notificationSettingsClosure { return await notificationSettingsClosure() } else { @@ -24257,29 +14473,11 @@ class UserSessionStoreMock: UserSessionStoreProtocol, @unchecked Sendable { //MARK: - reset - var resetUnderlyingCallsCount = 0 + private let resetCallsCountLock = NSLock() + private var resetUnderlyingCallsCount = 0 var resetCallsCount: Int { - get { - if Thread.isMainThread { - return resetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetUnderlyingCallsCount = newValue - } - } - } + get { resetCallsCountLock.withLock { resetUnderlyingCallsCount } } + set { resetCallsCountLock.withLock { resetUnderlyingCallsCount = newValue } } } var resetCalled: Bool { return resetCallsCount > 0 @@ -24287,67 +14485,31 @@ class UserSessionStoreMock: UserSessionStoreProtocol, @unchecked Sendable { var resetClosure: (() -> Void)? func reset() { - resetCallsCount += 1 + resetCallsCountLock.withLock { resetUnderlyingCallsCount += 1 } resetClosure?() } //MARK: - restoreUserSession - var restoreUserSessionUnderlyingCallsCount = 0 + private let restoreUserSessionCallsCountLock = NSLock() + private var restoreUserSessionUnderlyingCallsCount = 0 var restoreUserSessionCallsCount: Int { - get { - if Thread.isMainThread { - return restoreUserSessionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = restoreUserSessionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - restoreUserSessionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - restoreUserSessionUnderlyingCallsCount = newValue - } - } - } + get { restoreUserSessionCallsCountLock.withLock { restoreUserSessionUnderlyingCallsCount } } + set { restoreUserSessionCallsCountLock.withLock { restoreUserSessionUnderlyingCallsCount = newValue } } } var restoreUserSessionCalled: Bool { return restoreUserSessionCallsCount > 0 } - var restoreUserSessionUnderlyingReturnValue: Result! + private let restoreUserSessionReturnValueLock = NSLock() + private var restoreUserSessionUnderlyingReturnValue: Result! var restoreUserSessionReturnValue: Result! { - get { - if Thread.isMainThread { - return restoreUserSessionUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = restoreUserSessionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - restoreUserSessionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - restoreUserSessionUnderlyingReturnValue = newValue - } - } - } + get { restoreUserSessionReturnValueLock.withLock { restoreUserSessionUnderlyingReturnValue } } + set { restoreUserSessionReturnValueLock.withLock { restoreUserSessionUnderlyingReturnValue = newValue } } } var restoreUserSessionClosure: (() async -> Result)? func restoreUserSession() async -> Result { - restoreUserSessionCallsCount += 1 + restoreUserSessionCallsCountLock.withLock { restoreUserSessionUnderlyingCallsCount += 1 } if let restoreUserSessionClosure = restoreUserSessionClosure { return await restoreUserSessionClosure() } else { @@ -24356,68 +14518,40 @@ class UserSessionStoreMock: UserSessionStoreProtocol, @unchecked Sendable { } //MARK: - userSession - var userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount = 0 + private let userSessionForSessionDirectoriesPassphraseCallsCountLock = NSLock() + private var userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount = 0 var userSessionForSessionDirectoriesPassphraseCallsCount: Int { - get { - if Thread.isMainThread { - return userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount = newValue - } - } - } + get { userSessionForSessionDirectoriesPassphraseCallsCountLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount } } + set { userSessionForSessionDirectoriesPassphraseCallsCountLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount = newValue } } } var userSessionForSessionDirectoriesPassphraseCalled: Bool { return userSessionForSessionDirectoriesPassphraseCallsCount > 0 } - var userSessionForSessionDirectoriesPassphraseReceivedArguments: (client: ClientProtocol, sessionDirectories: SessionDirectories, passphrase: String)? - var userSessionForSessionDirectoriesPassphraseReceivedInvocations: [(client: ClientProtocol, sessionDirectories: SessionDirectories, passphrase: String)] = [] + private let userSessionForSessionDirectoriesPassphraseReceivedArgumentsLock = NSLock() + private var userSessionForSessionDirectoriesPassphraseUnderlyingReceivedArguments: (client: ClientProtocol, sessionDirectories: SessionDirectories, passphrase: String)? + var userSessionForSessionDirectoriesPassphraseReceivedArguments: (client: ClientProtocol, sessionDirectories: SessionDirectories, passphrase: String)? { + get { userSessionForSessionDirectoriesPassphraseReceivedArgumentsLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingReceivedArguments } } + set { userSessionForSessionDirectoriesPassphraseReceivedArgumentsLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingReceivedArguments = newValue } } + } + private let userSessionForSessionDirectoriesPassphraseReceivedInvocationsLock = NSLock() + private var userSessionForSessionDirectoriesPassphraseUnderlyingReceivedInvocations: [(client: ClientProtocol, sessionDirectories: SessionDirectories, passphrase: String)] = [] + var userSessionForSessionDirectoriesPassphraseReceivedInvocations: [(client: ClientProtocol, sessionDirectories: SessionDirectories, passphrase: String)] { + get { userSessionForSessionDirectoriesPassphraseReceivedInvocationsLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingReceivedInvocations } } + set { userSessionForSessionDirectoriesPassphraseReceivedInvocationsLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingReceivedInvocations = newValue } } + } - var userSessionForSessionDirectoriesPassphraseUnderlyingReturnValue: Result! + private let userSessionForSessionDirectoriesPassphraseReturnValueLock = NSLock() + private var userSessionForSessionDirectoriesPassphraseUnderlyingReturnValue: Result! var userSessionForSessionDirectoriesPassphraseReturnValue: Result! { - get { - if Thread.isMainThread { - return userSessionForSessionDirectoriesPassphraseUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = userSessionForSessionDirectoriesPassphraseUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userSessionForSessionDirectoriesPassphraseUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - userSessionForSessionDirectoriesPassphraseUnderlyingReturnValue = newValue - } - } - } + get { userSessionForSessionDirectoriesPassphraseReturnValueLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingReturnValue } } + set { userSessionForSessionDirectoriesPassphraseReturnValueLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingReturnValue = newValue } } } var userSessionForSessionDirectoriesPassphraseClosure: ((ClientProtocol, SessionDirectories, String) async -> Result)? func userSession(for client: ClientProtocol, sessionDirectories: SessionDirectories, passphrase: String) async -> Result { - userSessionForSessionDirectoriesPassphraseCallsCount += 1 + userSessionForSessionDirectoriesPassphraseCallsCountLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingCallsCount += 1 } userSessionForSessionDirectoriesPassphraseReceivedArguments = (client: client, sessionDirectories: sessionDirectories, passphrase: passphrase) - DispatchQueue.main.async { - self.userSessionForSessionDirectoriesPassphraseReceivedInvocations.append((client: client, sessionDirectories: sessionDirectories, passphrase: passphrase)) - } + userSessionForSessionDirectoriesPassphraseReceivedInvocationsLock.withLock { userSessionForSessionDirectoriesPassphraseUnderlyingReceivedInvocations.append((client: client, sessionDirectories: sessionDirectories, passphrase: passphrase)) } if let userSessionForSessionDirectoriesPassphraseClosure = userSessionForSessionDirectoriesPassphraseClosure { return await userSessionForSessionDirectoriesPassphraseClosure(client, sessionDirectories, passphrase) } else { @@ -24426,43 +14560,33 @@ class UserSessionStoreMock: UserSessionStoreProtocol, @unchecked Sendable { } //MARK: - logout - var logoutUserSessionUnderlyingCallsCount = 0 + private let logoutUserSessionCallsCountLock = NSLock() + private var logoutUserSessionUnderlyingCallsCount = 0 var logoutUserSessionCallsCount: Int { - get { - if Thread.isMainThread { - return logoutUserSessionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = logoutUserSessionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - logoutUserSessionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - logoutUserSessionUnderlyingCallsCount = newValue - } - } - } + get { logoutUserSessionCallsCountLock.withLock { logoutUserSessionUnderlyingCallsCount } } + set { logoutUserSessionCallsCountLock.withLock { logoutUserSessionUnderlyingCallsCount = newValue } } } var logoutUserSessionCalled: Bool { return logoutUserSessionCallsCount > 0 } - var logoutUserSessionReceivedUserSession: UserSessionProtocol? - var logoutUserSessionReceivedInvocations: [UserSessionProtocol] = [] + private let logoutUserSessionReceivedUserSessionLock = NSLock() + private var logoutUserSessionUnderlyingReceivedUserSession: UserSessionProtocol? + var logoutUserSessionReceivedUserSession: UserSessionProtocol? { + get { logoutUserSessionReceivedUserSessionLock.withLock { logoutUserSessionUnderlyingReceivedUserSession } } + set { logoutUserSessionReceivedUserSessionLock.withLock { logoutUserSessionUnderlyingReceivedUserSession = newValue } } + } + private let logoutUserSessionReceivedInvocationsLock = NSLock() + private var logoutUserSessionUnderlyingReceivedInvocations: [UserSessionProtocol] = [] + var logoutUserSessionReceivedInvocations: [UserSessionProtocol] { + get { logoutUserSessionReceivedInvocationsLock.withLock { logoutUserSessionUnderlyingReceivedInvocations } } + set { logoutUserSessionReceivedInvocationsLock.withLock { logoutUserSessionUnderlyingReceivedInvocations = newValue } } + } var logoutUserSessionClosure: ((UserSessionProtocol) -> Void)? func logout(userSession: UserSessionProtocol) { - logoutUserSessionCallsCount += 1 + logoutUserSessionCallsCountLock.withLock { logoutUserSessionUnderlyingCallsCount += 1 } logoutUserSessionReceivedUserSession = userSession - DispatchQueue.main.async { - self.logoutUserSessionReceivedInvocations.append(userSession) - } + logoutUserSessionReceivedInvocationsLock.withLock { logoutUserSessionUnderlyingReceivedInvocations.append(userSession) } logoutUserSessionClosure?(userSession) } } @@ -24475,68 +14599,40 @@ class VoiceMessageCacheMock: VoiceMessageCacheProtocol, @unchecked Sendable { //MARK: - fileURL - var fileURLForUnderlyingCallsCount = 0 + private let fileURLForCallsCountLock = NSLock() + private var fileURLForUnderlyingCallsCount = 0 var fileURLForCallsCount: Int { - get { - if Thread.isMainThread { - return fileURLForUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = fileURLForUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fileURLForUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - fileURLForUnderlyingCallsCount = newValue - } - } - } + get { fileURLForCallsCountLock.withLock { fileURLForUnderlyingCallsCount } } + set { fileURLForCallsCountLock.withLock { fileURLForUnderlyingCallsCount = newValue } } } var fileURLForCalled: Bool { return fileURLForCallsCount > 0 } - var fileURLForReceivedMediaSource: MediaSourceProxy? - var fileURLForReceivedInvocations: [MediaSourceProxy] = [] + private let fileURLForReceivedMediaSourceLock = NSLock() + private var fileURLForUnderlyingReceivedMediaSource: MediaSourceProxy? + var fileURLForReceivedMediaSource: MediaSourceProxy? { + get { fileURLForReceivedMediaSourceLock.withLock { fileURLForUnderlyingReceivedMediaSource } } + set { fileURLForReceivedMediaSourceLock.withLock { fileURLForUnderlyingReceivedMediaSource = newValue } } + } + private let fileURLForReceivedInvocationsLock = NSLock() + private var fileURLForUnderlyingReceivedInvocations: [MediaSourceProxy] = [] + var fileURLForReceivedInvocations: [MediaSourceProxy] { + get { fileURLForReceivedInvocationsLock.withLock { fileURLForUnderlyingReceivedInvocations } } + set { fileURLForReceivedInvocationsLock.withLock { fileURLForUnderlyingReceivedInvocations = newValue } } + } - var fileURLForUnderlyingReturnValue: URL? + private let fileURLForReturnValueLock = NSLock() + private var fileURLForUnderlyingReturnValue: URL? var fileURLForReturnValue: URL? { - get { - if Thread.isMainThread { - return fileURLForUnderlyingReturnValue - } else { - var returnValue: URL?? = nil - DispatchQueue.main.sync { - returnValue = fileURLForUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fileURLForUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - fileURLForUnderlyingReturnValue = newValue - } - } - } + get { fileURLForReturnValueLock.withLock { fileURLForUnderlyingReturnValue } } + set { fileURLForReturnValueLock.withLock { fileURLForUnderlyingReturnValue = newValue } } } var fileURLForClosure: ((MediaSourceProxy) -> URL?)? func fileURL(for mediaSource: MediaSourceProxy) -> URL? { - fileURLForCallsCount += 1 + fileURLForCallsCountLock.withLock { fileURLForUnderlyingCallsCount += 1 } fileURLForReceivedMediaSource = mediaSource - DispatchQueue.main.async { - self.fileURLForReceivedInvocations.append(mediaSource) - } + fileURLForReceivedInvocationsLock.withLock { fileURLForUnderlyingReceivedInvocations.append(mediaSource) } if let fileURLForClosure = fileURLForClosure { return fileURLForClosure(mediaSource) } else { @@ -24545,68 +14641,40 @@ class VoiceMessageCacheMock: VoiceMessageCacheProtocol, @unchecked Sendable { } //MARK: - cache - var cacheMediaSourceUsingMoveUnderlyingCallsCount = 0 + private let cacheMediaSourceUsingMoveCallsCountLock = NSLock() + private var cacheMediaSourceUsingMoveUnderlyingCallsCount = 0 var cacheMediaSourceUsingMoveCallsCount: Int { - get { - if Thread.isMainThread { - return cacheMediaSourceUsingMoveUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cacheMediaSourceUsingMoveUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cacheMediaSourceUsingMoveUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cacheMediaSourceUsingMoveUnderlyingCallsCount = newValue - } - } - } + get { cacheMediaSourceUsingMoveCallsCountLock.withLock { cacheMediaSourceUsingMoveUnderlyingCallsCount } } + set { cacheMediaSourceUsingMoveCallsCountLock.withLock { cacheMediaSourceUsingMoveUnderlyingCallsCount = newValue } } } var cacheMediaSourceUsingMoveCalled: Bool { return cacheMediaSourceUsingMoveCallsCount > 0 } - var cacheMediaSourceUsingMoveReceivedArguments: (mediaSource: MediaSourceProxy, fileURL: URL, move: Bool)? - var cacheMediaSourceUsingMoveReceivedInvocations: [(mediaSource: MediaSourceProxy, fileURL: URL, move: Bool)] = [] + private let cacheMediaSourceUsingMoveReceivedArgumentsLock = NSLock() + private var cacheMediaSourceUsingMoveUnderlyingReceivedArguments: (mediaSource: MediaSourceProxy, fileURL: URL, move: Bool)? + var cacheMediaSourceUsingMoveReceivedArguments: (mediaSource: MediaSourceProxy, fileURL: URL, move: Bool)? { + get { cacheMediaSourceUsingMoveReceivedArgumentsLock.withLock { cacheMediaSourceUsingMoveUnderlyingReceivedArguments } } + set { cacheMediaSourceUsingMoveReceivedArgumentsLock.withLock { cacheMediaSourceUsingMoveUnderlyingReceivedArguments = newValue } } + } + private let cacheMediaSourceUsingMoveReceivedInvocationsLock = NSLock() + private var cacheMediaSourceUsingMoveUnderlyingReceivedInvocations: [(mediaSource: MediaSourceProxy, fileURL: URL, move: Bool)] = [] + var cacheMediaSourceUsingMoveReceivedInvocations: [(mediaSource: MediaSourceProxy, fileURL: URL, move: Bool)] { + get { cacheMediaSourceUsingMoveReceivedInvocationsLock.withLock { cacheMediaSourceUsingMoveUnderlyingReceivedInvocations } } + set { cacheMediaSourceUsingMoveReceivedInvocationsLock.withLock { cacheMediaSourceUsingMoveUnderlyingReceivedInvocations = newValue } } + } - var cacheMediaSourceUsingMoveUnderlyingReturnValue: Result! + private let cacheMediaSourceUsingMoveReturnValueLock = NSLock() + private var cacheMediaSourceUsingMoveUnderlyingReturnValue: Result! var cacheMediaSourceUsingMoveReturnValue: Result! { - get { - if Thread.isMainThread { - return cacheMediaSourceUsingMoveUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = cacheMediaSourceUsingMoveUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cacheMediaSourceUsingMoveUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - cacheMediaSourceUsingMoveUnderlyingReturnValue = newValue - } - } - } + get { cacheMediaSourceUsingMoveReturnValueLock.withLock { cacheMediaSourceUsingMoveUnderlyingReturnValue } } + set { cacheMediaSourceUsingMoveReturnValueLock.withLock { cacheMediaSourceUsingMoveUnderlyingReturnValue = newValue } } } var cacheMediaSourceUsingMoveClosure: ((MediaSourceProxy, URL, Bool) -> Result)? func cache(mediaSource: MediaSourceProxy, using fileURL: URL, move: Bool) -> Result { - cacheMediaSourceUsingMoveCallsCount += 1 + cacheMediaSourceUsingMoveCallsCountLock.withLock { cacheMediaSourceUsingMoveUnderlyingCallsCount += 1 } cacheMediaSourceUsingMoveReceivedArguments = (mediaSource: mediaSource, fileURL: fileURL, move: move) - DispatchQueue.main.async { - self.cacheMediaSourceUsingMoveReceivedInvocations.append((mediaSource: mediaSource, fileURL: fileURL, move: move)) - } + cacheMediaSourceUsingMoveReceivedInvocationsLock.withLock { cacheMediaSourceUsingMoveUnderlyingReceivedInvocations.append((mediaSource: mediaSource, fileURL: fileURL, move: move)) } if let cacheMediaSourceUsingMoveClosure = cacheMediaSourceUsingMoveClosure { return cacheMediaSourceUsingMoveClosure(mediaSource, fileURL, move) } else { @@ -24615,29 +14683,11 @@ class VoiceMessageCacheMock: VoiceMessageCacheProtocol, @unchecked Sendable { } //MARK: - clearCache - var clearCacheUnderlyingCallsCount = 0 + private let clearCacheCallsCountLock = NSLock() + private var clearCacheUnderlyingCallsCount = 0 var clearCacheCallsCount: Int { - get { - if Thread.isMainThread { - return clearCacheUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = clearCacheUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearCacheUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - clearCacheUnderlyingCallsCount = newValue - } - } - } + get { clearCacheCallsCountLock.withLock { clearCacheUnderlyingCallsCount } } + set { clearCacheCallsCountLock.withLock { clearCacheUnderlyingCallsCount = newValue } } } var clearCacheCalled: Bool { return clearCacheCallsCount > 0 @@ -24645,7 +14695,7 @@ class VoiceMessageCacheMock: VoiceMessageCacheProtocol, @unchecked Sendable { var clearCacheClosure: (() -> Void)? func clearCache() { - clearCacheCallsCount += 1 + clearCacheCallsCountLock.withLock { clearCacheUnderlyingCallsCount += 1 } clearCacheClosure?() } } @@ -24654,59 +14704,33 @@ class VoiceMessageMediaManagerMock: VoiceMessageMediaManagerProtocol, @unchecked //MARK: - loadVoiceMessageFromSource var loadVoiceMessageFromSourceBodyThrowableError: Error? - var loadVoiceMessageFromSourceBodyUnderlyingCallsCount = 0 + private let loadVoiceMessageFromSourceBodyCallsCountLock = NSLock() + private var loadVoiceMessageFromSourceBodyUnderlyingCallsCount = 0 var loadVoiceMessageFromSourceBodyCallsCount: Int { - get { - if Thread.isMainThread { - return loadVoiceMessageFromSourceBodyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadVoiceMessageFromSourceBodyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadVoiceMessageFromSourceBodyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadVoiceMessageFromSourceBodyUnderlyingCallsCount = newValue - } - } - } + get { loadVoiceMessageFromSourceBodyCallsCountLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingCallsCount } } + set { loadVoiceMessageFromSourceBodyCallsCountLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingCallsCount = newValue } } } var loadVoiceMessageFromSourceBodyCalled: Bool { return loadVoiceMessageFromSourceBodyCallsCount > 0 } - var loadVoiceMessageFromSourceBodyReceivedArguments: (source: MediaSourceProxy, body: String?)? - var loadVoiceMessageFromSourceBodyReceivedInvocations: [(source: MediaSourceProxy, body: String?)] = [] + private let loadVoiceMessageFromSourceBodyReceivedArgumentsLock = NSLock() + private var loadVoiceMessageFromSourceBodyUnderlyingReceivedArguments: (source: MediaSourceProxy, body: String?)? + var loadVoiceMessageFromSourceBodyReceivedArguments: (source: MediaSourceProxy, body: String?)? { + get { loadVoiceMessageFromSourceBodyReceivedArgumentsLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingReceivedArguments } } + set { loadVoiceMessageFromSourceBodyReceivedArgumentsLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingReceivedArguments = newValue } } + } + private let loadVoiceMessageFromSourceBodyReceivedInvocationsLock = NSLock() + private var loadVoiceMessageFromSourceBodyUnderlyingReceivedInvocations: [(source: MediaSourceProxy, body: String?)] = [] + var loadVoiceMessageFromSourceBodyReceivedInvocations: [(source: MediaSourceProxy, body: String?)] { + get { loadVoiceMessageFromSourceBodyReceivedInvocationsLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingReceivedInvocations } } + set { loadVoiceMessageFromSourceBodyReceivedInvocationsLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingReceivedInvocations = newValue } } + } - var loadVoiceMessageFromSourceBodyUnderlyingReturnValue: URL! + private let loadVoiceMessageFromSourceBodyReturnValueLock = NSLock() + private var loadVoiceMessageFromSourceBodyUnderlyingReturnValue: URL! var loadVoiceMessageFromSourceBodyReturnValue: URL! { - get { - if Thread.isMainThread { - return loadVoiceMessageFromSourceBodyUnderlyingReturnValue - } else { - var returnValue: URL? = nil - DispatchQueue.main.sync { - returnValue = loadVoiceMessageFromSourceBodyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadVoiceMessageFromSourceBodyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadVoiceMessageFromSourceBodyUnderlyingReturnValue = newValue - } - } - } + get { loadVoiceMessageFromSourceBodyReturnValueLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingReturnValue } } + set { loadVoiceMessageFromSourceBodyReturnValueLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingReturnValue = newValue } } } var loadVoiceMessageFromSourceBodyClosure: ((MediaSourceProxy, String?) async throws -> URL)? @@ -24714,11 +14738,9 @@ class VoiceMessageMediaManagerMock: VoiceMessageMediaManagerProtocol, @unchecked if let error = loadVoiceMessageFromSourceBodyThrowableError { throw error } - loadVoiceMessageFromSourceBodyCallsCount += 1 + loadVoiceMessageFromSourceBodyCallsCountLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingCallsCount += 1 } loadVoiceMessageFromSourceBodyReceivedArguments = (source: source, body: body) - DispatchQueue.main.async { - self.loadVoiceMessageFromSourceBodyReceivedInvocations.append((source: source, body: body)) - } + loadVoiceMessageFromSourceBodyReceivedInvocationsLock.withLock { loadVoiceMessageFromSourceBodyUnderlyingReceivedInvocations.append((source: source, body: body)) } if let loadVoiceMessageFromSourceBodyClosure = loadVoiceMessageFromSourceBodyClosure { return try await loadVoiceMessageFromSourceBodyClosure(source, body) } else { @@ -24742,29 +14764,11 @@ class VoiceMessageRecorderMock: VoiceMessageRecorderProtocol, @unchecked Sendabl //MARK: - startRecording - var startRecordingUnderlyingCallsCount = 0 + private let startRecordingCallsCountLock = NSLock() + private var startRecordingUnderlyingCallsCount = 0 var startRecordingCallsCount: Int { - get { - if Thread.isMainThread { - return startRecordingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startRecordingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startRecordingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startRecordingUnderlyingCallsCount = newValue - } - } - } + get { startRecordingCallsCountLock.withLock { startRecordingUnderlyingCallsCount } } + set { startRecordingCallsCountLock.withLock { startRecordingUnderlyingCallsCount = newValue } } } var startRecordingCalled: Bool { return startRecordingCallsCount > 0 @@ -24772,34 +14776,16 @@ class VoiceMessageRecorderMock: VoiceMessageRecorderProtocol, @unchecked Sendabl var startRecordingClosure: (() async -> Void)? func startRecording() async { - startRecordingCallsCount += 1 + startRecordingCallsCountLock.withLock { startRecordingUnderlyingCallsCount += 1 } await startRecordingClosure?() } //MARK: - stopRecording - var stopRecordingUnderlyingCallsCount = 0 + private let stopRecordingCallsCountLock = NSLock() + private var stopRecordingUnderlyingCallsCount = 0 var stopRecordingCallsCount: Int { - get { - if Thread.isMainThread { - return stopRecordingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopRecordingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopRecordingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopRecordingUnderlyingCallsCount = newValue - } - } - } + get { stopRecordingCallsCountLock.withLock { stopRecordingUnderlyingCallsCount } } + set { stopRecordingCallsCountLock.withLock { stopRecordingUnderlyingCallsCount = newValue } } } var stopRecordingCalled: Bool { return stopRecordingCallsCount > 0 @@ -24807,34 +14793,16 @@ class VoiceMessageRecorderMock: VoiceMessageRecorderProtocol, @unchecked Sendabl var stopRecordingClosure: (() async -> Void)? func stopRecording() async { - stopRecordingCallsCount += 1 + stopRecordingCallsCountLock.withLock { stopRecordingUnderlyingCallsCount += 1 } await stopRecordingClosure?() } //MARK: - cancelRecording - var cancelRecordingUnderlyingCallsCount = 0 + private let cancelRecordingCallsCountLock = NSLock() + private var cancelRecordingUnderlyingCallsCount = 0 var cancelRecordingCallsCount: Int { - get { - if Thread.isMainThread { - return cancelRecordingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cancelRecordingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelRecordingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cancelRecordingUnderlyingCallsCount = newValue - } - } - } + get { cancelRecordingCallsCountLock.withLock { cancelRecordingUnderlyingCallsCount } } + set { cancelRecordingCallsCountLock.withLock { cancelRecordingUnderlyingCallsCount = newValue } } } var cancelRecordingCalled: Bool { return cancelRecordingCallsCount > 0 @@ -24842,67 +14810,31 @@ class VoiceMessageRecorderMock: VoiceMessageRecorderProtocol, @unchecked Sendabl var cancelRecordingClosure: (() async -> Void)? func cancelRecording() async { - cancelRecordingCallsCount += 1 + cancelRecordingCallsCountLock.withLock { cancelRecordingUnderlyingCallsCount += 1 } await cancelRecordingClosure?() } //MARK: - startPlayback - var startPlaybackUnderlyingCallsCount = 0 + private let startPlaybackCallsCountLock = NSLock() + private var startPlaybackUnderlyingCallsCount = 0 var startPlaybackCallsCount: Int { - get { - if Thread.isMainThread { - return startPlaybackUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startPlaybackUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startPlaybackUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startPlaybackUnderlyingCallsCount = newValue - } - } - } + get { startPlaybackCallsCountLock.withLock { startPlaybackUnderlyingCallsCount } } + set { startPlaybackCallsCountLock.withLock { startPlaybackUnderlyingCallsCount = newValue } } } var startPlaybackCalled: Bool { return startPlaybackCallsCount > 0 } - var startPlaybackUnderlyingReturnValue: Result! + private let startPlaybackReturnValueLock = NSLock() + private var startPlaybackUnderlyingReturnValue: Result! var startPlaybackReturnValue: Result! { - get { - if Thread.isMainThread { - return startPlaybackUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = startPlaybackUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startPlaybackUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - startPlaybackUnderlyingReturnValue = newValue - } - } - } + get { startPlaybackReturnValueLock.withLock { startPlaybackUnderlyingReturnValue } } + set { startPlaybackReturnValueLock.withLock { startPlaybackUnderlyingReturnValue = newValue } } } var startPlaybackClosure: (() async -> Result)? func startPlayback() async -> Result { - startPlaybackCallsCount += 1 + startPlaybackCallsCountLock.withLock { startPlaybackUnderlyingCallsCount += 1 } if let startPlaybackClosure = startPlaybackClosure { return await startPlaybackClosure() } else { @@ -24911,29 +14843,11 @@ class VoiceMessageRecorderMock: VoiceMessageRecorderProtocol, @unchecked Sendabl } //MARK: - pausePlayback - var pausePlaybackUnderlyingCallsCount = 0 + private let pausePlaybackCallsCountLock = NSLock() + private var pausePlaybackUnderlyingCallsCount = 0 var pausePlaybackCallsCount: Int { - get { - if Thread.isMainThread { - return pausePlaybackUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pausePlaybackUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pausePlaybackUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pausePlaybackUnderlyingCallsCount = newValue - } - } - } + get { pausePlaybackCallsCountLock.withLock { pausePlaybackUnderlyingCallsCount } } + set { pausePlaybackCallsCountLock.withLock { pausePlaybackUnderlyingCallsCount = newValue } } } var pausePlaybackCalled: Bool { return pausePlaybackCallsCount > 0 @@ -24941,34 +14855,16 @@ class VoiceMessageRecorderMock: VoiceMessageRecorderProtocol, @unchecked Sendabl var pausePlaybackClosure: (() -> Void)? func pausePlayback() { - pausePlaybackCallsCount += 1 + pausePlaybackCallsCountLock.withLock { pausePlaybackUnderlyingCallsCount += 1 } pausePlaybackClosure?() } //MARK: - stopPlayback - var stopPlaybackUnderlyingCallsCount = 0 + private let stopPlaybackCallsCountLock = NSLock() + private var stopPlaybackUnderlyingCallsCount = 0 var stopPlaybackCallsCount: Int { - get { - if Thread.isMainThread { - return stopPlaybackUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopPlaybackUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopPlaybackUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopPlaybackUnderlyingCallsCount = newValue - } - } - } + get { stopPlaybackCallsCountLock.withLock { stopPlaybackUnderlyingCallsCount } } + set { stopPlaybackCallsCountLock.withLock { stopPlaybackUnderlyingCallsCount = newValue } } } var stopPlaybackCalled: Bool { return stopPlaybackCallsCount > 0 @@ -24976,75 +14872,47 @@ class VoiceMessageRecorderMock: VoiceMessageRecorderProtocol, @unchecked Sendabl var stopPlaybackClosure: (() async -> Void)? func stopPlayback() async { - stopPlaybackCallsCount += 1 + stopPlaybackCallsCountLock.withLock { stopPlaybackUnderlyingCallsCount += 1 } await stopPlaybackClosure?() } //MARK: - seekPlayback - var seekPlaybackToUnderlyingCallsCount = 0 + private let seekPlaybackToCallsCountLock = NSLock() + private var seekPlaybackToUnderlyingCallsCount = 0 var seekPlaybackToCallsCount: Int { - get { - if Thread.isMainThread { - return seekPlaybackToUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = seekPlaybackToUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - seekPlaybackToUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - seekPlaybackToUnderlyingCallsCount = newValue - } - } - } + get { seekPlaybackToCallsCountLock.withLock { seekPlaybackToUnderlyingCallsCount } } + set { seekPlaybackToCallsCountLock.withLock { seekPlaybackToUnderlyingCallsCount = newValue } } } var seekPlaybackToCalled: Bool { return seekPlaybackToCallsCount > 0 } - var seekPlaybackToReceivedProgress: Double? - var seekPlaybackToReceivedInvocations: [Double] = [] + private let seekPlaybackToReceivedProgressLock = NSLock() + private var seekPlaybackToUnderlyingReceivedProgress: Double? + var seekPlaybackToReceivedProgress: Double? { + get { seekPlaybackToReceivedProgressLock.withLock { seekPlaybackToUnderlyingReceivedProgress } } + set { seekPlaybackToReceivedProgressLock.withLock { seekPlaybackToUnderlyingReceivedProgress = newValue } } + } + private let seekPlaybackToReceivedInvocationsLock = NSLock() + private var seekPlaybackToUnderlyingReceivedInvocations: [Double] = [] + var seekPlaybackToReceivedInvocations: [Double] { + get { seekPlaybackToReceivedInvocationsLock.withLock { seekPlaybackToUnderlyingReceivedInvocations } } + set { seekPlaybackToReceivedInvocationsLock.withLock { seekPlaybackToUnderlyingReceivedInvocations = newValue } } + } var seekPlaybackToClosure: ((Double) async -> Void)? func seekPlayback(to progress: Double) async { - seekPlaybackToCallsCount += 1 + seekPlaybackToCallsCountLock.withLock { seekPlaybackToUnderlyingCallsCount += 1 } seekPlaybackToReceivedProgress = progress - DispatchQueue.main.async { - self.seekPlaybackToReceivedInvocations.append(progress) - } + seekPlaybackToReceivedInvocationsLock.withLock { seekPlaybackToUnderlyingReceivedInvocations.append(progress) } await seekPlaybackToClosure?(progress) } //MARK: - deleteRecording - var deleteRecordingUnderlyingCallsCount = 0 + private let deleteRecordingCallsCountLock = NSLock() + private var deleteRecordingUnderlyingCallsCount = 0 var deleteRecordingCallsCount: Int { - get { - if Thread.isMainThread { - return deleteRecordingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = deleteRecordingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deleteRecordingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - deleteRecordingUnderlyingCallsCount = newValue - } - } - } + get { deleteRecordingCallsCountLock.withLock { deleteRecordingUnderlyingCallsCount } } + set { deleteRecordingCallsCountLock.withLock { deleteRecordingUnderlyingCallsCount = newValue } } } var deleteRecordingCalled: Bool { return deleteRecordingCallsCount > 0 @@ -25052,73 +14920,45 @@ class VoiceMessageRecorderMock: VoiceMessageRecorderProtocol, @unchecked Sendabl var deleteRecordingClosure: (() async -> Void)? func deleteRecording() async { - deleteRecordingCallsCount += 1 + deleteRecordingCallsCountLock.withLock { deleteRecordingUnderlyingCallsCount += 1 } await deleteRecordingClosure?() } //MARK: - sendVoiceMessage - var sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount = 0 + private let sendVoiceMessageTimelineControllerAudioConverterCallsCountLock = NSLock() + private var sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount = 0 var sendVoiceMessageTimelineControllerAudioConverterCallsCount: Int { - get { - if Thread.isMainThread { - return sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount = newValue - } - } - } + get { sendVoiceMessageTimelineControllerAudioConverterCallsCountLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount } } + set { sendVoiceMessageTimelineControllerAudioConverterCallsCountLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount = newValue } } } var sendVoiceMessageTimelineControllerAudioConverterCalled: Bool { return sendVoiceMessageTimelineControllerAudioConverterCallsCount > 0 } - var sendVoiceMessageTimelineControllerAudioConverterReceivedArguments: (timelineController: TimelineControllerProtocol, audioConverter: AudioConverterProtocol)? - var sendVoiceMessageTimelineControllerAudioConverterReceivedInvocations: [(timelineController: TimelineControllerProtocol, audioConverter: AudioConverterProtocol)] = [] + private let sendVoiceMessageTimelineControllerAudioConverterReceivedArgumentsLock = NSLock() + private var sendVoiceMessageTimelineControllerAudioConverterUnderlyingReceivedArguments: (timelineController: TimelineControllerProtocol, audioConverter: AudioConverterProtocol)? + var sendVoiceMessageTimelineControllerAudioConverterReceivedArguments: (timelineController: TimelineControllerProtocol, audioConverter: AudioConverterProtocol)? { + get { sendVoiceMessageTimelineControllerAudioConverterReceivedArgumentsLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingReceivedArguments } } + set { sendVoiceMessageTimelineControllerAudioConverterReceivedArgumentsLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingReceivedArguments = newValue } } + } + private let sendVoiceMessageTimelineControllerAudioConverterReceivedInvocationsLock = NSLock() + private var sendVoiceMessageTimelineControllerAudioConverterUnderlyingReceivedInvocations: [(timelineController: TimelineControllerProtocol, audioConverter: AudioConverterProtocol)] = [] + var sendVoiceMessageTimelineControllerAudioConverterReceivedInvocations: [(timelineController: TimelineControllerProtocol, audioConverter: AudioConverterProtocol)] { + get { sendVoiceMessageTimelineControllerAudioConverterReceivedInvocationsLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingReceivedInvocations } } + set { sendVoiceMessageTimelineControllerAudioConverterReceivedInvocationsLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingReceivedInvocations = newValue } } + } - var sendVoiceMessageTimelineControllerAudioConverterUnderlyingReturnValue: Result! + private let sendVoiceMessageTimelineControllerAudioConverterReturnValueLock = NSLock() + private var sendVoiceMessageTimelineControllerAudioConverterUnderlyingReturnValue: Result! var sendVoiceMessageTimelineControllerAudioConverterReturnValue: Result! { - get { - if Thread.isMainThread { - return sendVoiceMessageTimelineControllerAudioConverterUnderlyingReturnValue - } else { - var returnValue: Result? = nil - DispatchQueue.main.sync { - returnValue = sendVoiceMessageTimelineControllerAudioConverterUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVoiceMessageTimelineControllerAudioConverterUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendVoiceMessageTimelineControllerAudioConverterUnderlyingReturnValue = newValue - } - } - } + get { sendVoiceMessageTimelineControllerAudioConverterReturnValueLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingReturnValue } } + set { sendVoiceMessageTimelineControllerAudioConverterReturnValueLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingReturnValue = newValue } } } var sendVoiceMessageTimelineControllerAudioConverterClosure: ((TimelineControllerProtocol, AudioConverterProtocol) async -> Result)? func sendVoiceMessage(timelineController: TimelineControllerProtocol, audioConverter: AudioConverterProtocol) async -> Result { - sendVoiceMessageTimelineControllerAudioConverterCallsCount += 1 + sendVoiceMessageTimelineControllerAudioConverterCallsCountLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingCallsCount += 1 } sendVoiceMessageTimelineControllerAudioConverterReceivedArguments = (timelineController: timelineController, audioConverter: audioConverter) - DispatchQueue.main.async { - self.sendVoiceMessageTimelineControllerAudioConverterReceivedInvocations.append((timelineController: timelineController, audioConverter: audioConverter)) - } + sendVoiceMessageTimelineControllerAudioConverterReceivedInvocationsLock.withLock { sendVoiceMessageTimelineControllerAudioConverterUnderlyingReceivedInvocations.append((timelineController: timelineController, audioConverter: audioConverter)) } if let sendVoiceMessageTimelineControllerAudioConverterClosure = sendVoiceMessageTimelineControllerAudioConverterClosure { return await sendVoiceMessageTimelineControllerAudioConverterClosure(timelineController, audioConverter) } else { @@ -25140,29 +14980,11 @@ class WindowManagerMock: WindowManagerProtocol, @unchecked Sendable { //MARK: - showGlobalSearch - var showGlobalSearchUnderlyingCallsCount = 0 + private let showGlobalSearchCallsCountLock = NSLock() + private var showGlobalSearchUnderlyingCallsCount = 0 var showGlobalSearchCallsCount: Int { - get { - if Thread.isMainThread { - return showGlobalSearchUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = showGlobalSearchUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - showGlobalSearchUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - showGlobalSearchUnderlyingCallsCount = newValue - } - } - } + get { showGlobalSearchCallsCountLock.withLock { showGlobalSearchUnderlyingCallsCount } } + set { showGlobalSearchCallsCountLock.withLock { showGlobalSearchUnderlyingCallsCount = newValue } } } var showGlobalSearchCalled: Bool { return showGlobalSearchCallsCount > 0 @@ -25170,34 +14992,16 @@ class WindowManagerMock: WindowManagerProtocol, @unchecked Sendable { var showGlobalSearchClosure: (() -> Void)? func showGlobalSearch() { - showGlobalSearchCallsCount += 1 + showGlobalSearchCallsCountLock.withLock { showGlobalSearchUnderlyingCallsCount += 1 } showGlobalSearchClosure?() } //MARK: - hideGlobalSearch - var hideGlobalSearchUnderlyingCallsCount = 0 + private let hideGlobalSearchCallsCountLock = NSLock() + private var hideGlobalSearchUnderlyingCallsCount = 0 var hideGlobalSearchCallsCount: Int { - get { - if Thread.isMainThread { - return hideGlobalSearchUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = hideGlobalSearchUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hideGlobalSearchUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - hideGlobalSearchUnderlyingCallsCount = newValue - } - } - } + get { hideGlobalSearchCallsCountLock.withLock { hideGlobalSearchUnderlyingCallsCount } } + set { hideGlobalSearchCallsCountLock.withLock { hideGlobalSearchUnderlyingCallsCount = newValue } } } var hideGlobalSearchCalled: Bool { return hideGlobalSearchCallsCount > 0 @@ -25205,75 +15009,47 @@ class WindowManagerMock: WindowManagerProtocol, @unchecked Sendable { var hideGlobalSearchClosure: (() -> Void)? func hideGlobalSearch() { - hideGlobalSearchCallsCount += 1 + hideGlobalSearchCallsCountLock.withLock { hideGlobalSearchUnderlyingCallsCount += 1 } hideGlobalSearchClosure?() } //MARK: - registerCoordinator - var registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount = 0 + private let registerCoordinatorFlowCoordinatorForWindowTypeCallsCountLock = NSLock() + private var registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount = 0 var registerCoordinatorFlowCoordinatorForWindowTypeCallsCount: Int { - get { - if Thread.isMainThread { - return registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount = newValue - } - } - } + get { registerCoordinatorFlowCoordinatorForWindowTypeCallsCountLock.withLock { registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount } } + set { registerCoordinatorFlowCoordinatorForWindowTypeCallsCountLock.withLock { registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount = newValue } } } var registerCoordinatorFlowCoordinatorForWindowTypeCalled: Bool { return registerCoordinatorFlowCoordinatorForWindowTypeCallsCount > 0 } - var registerCoordinatorFlowCoordinatorForWindowTypeReceivedArguments: (coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, type: SecondaryWindowType)? - var registerCoordinatorFlowCoordinatorForWindowTypeReceivedInvocations: [(coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, type: SecondaryWindowType)] = [] + private let registerCoordinatorFlowCoordinatorForWindowTypeReceivedArgumentsLock = NSLock() + private var registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingReceivedArguments: (coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, type: SecondaryWindowType)? + var registerCoordinatorFlowCoordinatorForWindowTypeReceivedArguments: (coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, type: SecondaryWindowType)? { + get { registerCoordinatorFlowCoordinatorForWindowTypeReceivedArgumentsLock.withLock { registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingReceivedArguments } } + set { registerCoordinatorFlowCoordinatorForWindowTypeReceivedArgumentsLock.withLock { registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingReceivedArguments = newValue } } + } + private let registerCoordinatorFlowCoordinatorForWindowTypeReceivedInvocationsLock = NSLock() + private var registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingReceivedInvocations: [(coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, type: SecondaryWindowType)] = [] + var registerCoordinatorFlowCoordinatorForWindowTypeReceivedInvocations: [(coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, type: SecondaryWindowType)] { + get { registerCoordinatorFlowCoordinatorForWindowTypeReceivedInvocationsLock.withLock { registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingReceivedInvocations } } + set { registerCoordinatorFlowCoordinatorForWindowTypeReceivedInvocationsLock.withLock { registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingReceivedInvocations = newValue } } + } var registerCoordinatorFlowCoordinatorForWindowTypeClosure: ((CoordinatorProtocol, FlowCoordinatorProtocol?, SecondaryWindowType) -> Void)? func registerCoordinator(_ coordinator: CoordinatorProtocol, flowCoordinator: FlowCoordinatorProtocol?, forWindowType type: SecondaryWindowType) { - registerCoordinatorFlowCoordinatorForWindowTypeCallsCount += 1 + registerCoordinatorFlowCoordinatorForWindowTypeCallsCountLock.withLock { registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingCallsCount += 1 } registerCoordinatorFlowCoordinatorForWindowTypeReceivedArguments = (coordinator: coordinator, flowCoordinator: flowCoordinator, type: type) - DispatchQueue.main.async { - self.registerCoordinatorFlowCoordinatorForWindowTypeReceivedInvocations.append((coordinator: coordinator, flowCoordinator: flowCoordinator, type: type)) - } + registerCoordinatorFlowCoordinatorForWindowTypeReceivedInvocationsLock.withLock { registerCoordinatorFlowCoordinatorForWindowTypeUnderlyingReceivedInvocations.append((coordinator: coordinator, flowCoordinator: flowCoordinator, type: type)) } registerCoordinatorFlowCoordinatorForWindowTypeClosure?(coordinator, flowCoordinator, type) } //MARK: - closeAllSecondaryWindows - var closeAllSecondaryWindowsUnderlyingCallsCount = 0 + private let closeAllSecondaryWindowsCallsCountLock = NSLock() + private var closeAllSecondaryWindowsUnderlyingCallsCount = 0 var closeAllSecondaryWindowsCallsCount: Int { - get { - if Thread.isMainThread { - return closeAllSecondaryWindowsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = closeAllSecondaryWindowsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - closeAllSecondaryWindowsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - closeAllSecondaryWindowsUnderlyingCallsCount = newValue - } - } - } + get { closeAllSecondaryWindowsCallsCountLock.withLock { closeAllSecondaryWindowsUnderlyingCallsCount } } + set { closeAllSecondaryWindowsCallsCountLock.withLock { closeAllSecondaryWindowsUnderlyingCallsCount = newValue } } } var closeAllSecondaryWindowsCalled: Bool { return closeAllSecondaryWindowsCallsCount > 0 @@ -25281,130 +15057,100 @@ class WindowManagerMock: WindowManagerProtocol, @unchecked Sendable { var closeAllSecondaryWindowsClosure: (() -> Void)? func closeAllSecondaryWindows() { - closeAllSecondaryWindowsCallsCount += 1 + closeAllSecondaryWindowsCallsCountLock.withLock { closeAllSecondaryWindowsUnderlyingCallsCount += 1 } closeAllSecondaryWindowsClosure?() } //MARK: - closeSecondaryWindow - var closeSecondaryWindowForTypeUnderlyingCallsCount = 0 + private let closeSecondaryWindowForTypeCallsCountLock = NSLock() + private var closeSecondaryWindowForTypeUnderlyingCallsCount = 0 var closeSecondaryWindowForTypeCallsCount: Int { - get { - if Thread.isMainThread { - return closeSecondaryWindowForTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = closeSecondaryWindowForTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - closeSecondaryWindowForTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - closeSecondaryWindowForTypeUnderlyingCallsCount = newValue - } - } - } + get { closeSecondaryWindowForTypeCallsCountLock.withLock { closeSecondaryWindowForTypeUnderlyingCallsCount } } + set { closeSecondaryWindowForTypeCallsCountLock.withLock { closeSecondaryWindowForTypeUnderlyingCallsCount = newValue } } } var closeSecondaryWindowForTypeCalled: Bool { return closeSecondaryWindowForTypeCallsCount > 0 } - var closeSecondaryWindowForTypeReceivedType: SecondaryWindowType? - var closeSecondaryWindowForTypeReceivedInvocations: [SecondaryWindowType] = [] + private let closeSecondaryWindowForTypeReceivedTypeLock = NSLock() + private var closeSecondaryWindowForTypeUnderlyingReceivedType: SecondaryWindowType? + var closeSecondaryWindowForTypeReceivedType: SecondaryWindowType? { + get { closeSecondaryWindowForTypeReceivedTypeLock.withLock { closeSecondaryWindowForTypeUnderlyingReceivedType } } + set { closeSecondaryWindowForTypeReceivedTypeLock.withLock { closeSecondaryWindowForTypeUnderlyingReceivedType = newValue } } + } + private let closeSecondaryWindowForTypeReceivedInvocationsLock = NSLock() + private var closeSecondaryWindowForTypeUnderlyingReceivedInvocations: [SecondaryWindowType] = [] + var closeSecondaryWindowForTypeReceivedInvocations: [SecondaryWindowType] { + get { closeSecondaryWindowForTypeReceivedInvocationsLock.withLock { closeSecondaryWindowForTypeUnderlyingReceivedInvocations } } + set { closeSecondaryWindowForTypeReceivedInvocationsLock.withLock { closeSecondaryWindowForTypeUnderlyingReceivedInvocations = newValue } } + } var closeSecondaryWindowForTypeClosure: ((SecondaryWindowType) -> Void)? func closeSecondaryWindow(forType type: SecondaryWindowType) { - closeSecondaryWindowForTypeCallsCount += 1 + closeSecondaryWindowForTypeCallsCountLock.withLock { closeSecondaryWindowForTypeUnderlyingCallsCount += 1 } closeSecondaryWindowForTypeReceivedType = type - DispatchQueue.main.async { - self.closeSecondaryWindowForTypeReceivedInvocations.append(type) - } + closeSecondaryWindowForTypeReceivedInvocationsLock.withLock { closeSecondaryWindowForTypeUnderlyingReceivedInvocations.append(type) } closeSecondaryWindowForTypeClosure?(type) } //MARK: - setOrientation - var setOrientationUnderlyingCallsCount = 0 + private let setOrientationCallsCountLock = NSLock() + private var setOrientationUnderlyingCallsCount = 0 var setOrientationCallsCount: Int { - get { - if Thread.isMainThread { - return setOrientationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setOrientationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setOrientationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setOrientationUnderlyingCallsCount = newValue - } - } - } + get { setOrientationCallsCountLock.withLock { setOrientationUnderlyingCallsCount } } + set { setOrientationCallsCountLock.withLock { setOrientationUnderlyingCallsCount = newValue } } } var setOrientationCalled: Bool { return setOrientationCallsCount > 0 } - var setOrientationReceivedOrientation: UIInterfaceOrientationMask? - var setOrientationReceivedInvocations: [UIInterfaceOrientationMask] = [] + private let setOrientationReceivedOrientationLock = NSLock() + private var setOrientationUnderlyingReceivedOrientation: UIInterfaceOrientationMask? + var setOrientationReceivedOrientation: UIInterfaceOrientationMask? { + get { setOrientationReceivedOrientationLock.withLock { setOrientationUnderlyingReceivedOrientation } } + set { setOrientationReceivedOrientationLock.withLock { setOrientationUnderlyingReceivedOrientation = newValue } } + } + private let setOrientationReceivedInvocationsLock = NSLock() + private var setOrientationUnderlyingReceivedInvocations: [UIInterfaceOrientationMask] = [] + var setOrientationReceivedInvocations: [UIInterfaceOrientationMask] { + get { setOrientationReceivedInvocationsLock.withLock { setOrientationUnderlyingReceivedInvocations } } + set { setOrientationReceivedInvocationsLock.withLock { setOrientationUnderlyingReceivedInvocations = newValue } } + } var setOrientationClosure: ((UIInterfaceOrientationMask) -> Void)? func setOrientation(_ orientation: UIInterfaceOrientationMask) { - setOrientationCallsCount += 1 + setOrientationCallsCountLock.withLock { setOrientationUnderlyingCallsCount += 1 } setOrientationReceivedOrientation = orientation - DispatchQueue.main.async { - self.setOrientationReceivedInvocations.append(orientation) - } + setOrientationReceivedInvocationsLock.withLock { setOrientationUnderlyingReceivedInvocations.append(orientation) } setOrientationClosure?(orientation) } //MARK: - lockOrientation - var lockOrientationUnderlyingCallsCount = 0 + private let lockOrientationCallsCountLock = NSLock() + private var lockOrientationUnderlyingCallsCount = 0 var lockOrientationCallsCount: Int { - get { - if Thread.isMainThread { - return lockOrientationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = lockOrientationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - lockOrientationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - lockOrientationUnderlyingCallsCount = newValue - } - } - } + get { lockOrientationCallsCountLock.withLock { lockOrientationUnderlyingCallsCount } } + set { lockOrientationCallsCountLock.withLock { lockOrientationUnderlyingCallsCount = newValue } } } var lockOrientationCalled: Bool { return lockOrientationCallsCount > 0 } - var lockOrientationReceivedOrientation: UIInterfaceOrientationMask? - var lockOrientationReceivedInvocations: [UIInterfaceOrientationMask] = [] + private let lockOrientationReceivedOrientationLock = NSLock() + private var lockOrientationUnderlyingReceivedOrientation: UIInterfaceOrientationMask? + var lockOrientationReceivedOrientation: UIInterfaceOrientationMask? { + get { lockOrientationReceivedOrientationLock.withLock { lockOrientationUnderlyingReceivedOrientation } } + set { lockOrientationReceivedOrientationLock.withLock { lockOrientationUnderlyingReceivedOrientation = newValue } } + } + private let lockOrientationReceivedInvocationsLock = NSLock() + private var lockOrientationUnderlyingReceivedInvocations: [UIInterfaceOrientationMask] = [] + var lockOrientationReceivedInvocations: [UIInterfaceOrientationMask] { + get { lockOrientationReceivedInvocationsLock.withLock { lockOrientationUnderlyingReceivedInvocations } } + set { lockOrientationReceivedInvocationsLock.withLock { lockOrientationUnderlyingReceivedInvocations = newValue } } + } var lockOrientationClosure: ((UIInterfaceOrientationMask) -> Void)? func lockOrientation(_ orientation: UIInterfaceOrientationMask) { - lockOrientationCallsCount += 1 + lockOrientationCallsCountLock.withLock { lockOrientationUnderlyingCallsCount += 1 } lockOrientationReceivedOrientation = orientation - DispatchQueue.main.async { - self.lockOrientationReceivedInvocations.append(orientation) - } + lockOrientationReceivedInvocationsLock.withLock { lockOrientationUnderlyingReceivedInvocations.append(orientation) } lockOrientationClosure?(orientation) } } diff --git a/SDKMocks/Sources/Generated/SDKGeneratedMocks.swift b/SDKMocks/Sources/Generated/SDKGeneratedMocks.swift index eff6df8d9..669c9becd 100644 --- a/SDKMocks/Sources/Generated/SDKGeneratedMocks.swift +++ b/SDKMocks/Sources/Generated/SDKGeneratedMocks.swift @@ -6,6 +6,21 @@ import Foundation +open class BackupSecretsSDKMock: MatrixRustSDK.BackupSecrets, @unchecked Sendable { + public init() { + super.init(noHandle: .init()) + } + + public required init(unsafeFromHandle handle: UInt64) { + fatalError("init(unsafeFromHandle:) has not been implemented") + } + + fileprivate var handle: UInt64 { + get { return underlyingHandle } + set(value) { underlyingHandle = value } + } + fileprivate var underlyingHandle: UInt64! +} open class CheckCodeSenderSDKMock: MatrixRustSDK.CheckCodeSender, @unchecked Sendable { public init() { super.init(noHandle: .init()) @@ -24,46 +39,36 @@ open class CheckCodeSenderSDKMock: MatrixRustSDK.CheckCodeSender, @unchecked Sen //MARK: - send open var sendCodeThrowableError: Error? - open var sendCodeUnderlyingCallsCount = 0 + private let sendCodeCallsCountLock = NSLock() + private var sendCodeUnderlyingCallsCount = 0 open var sendCodeCallsCount: Int { - get { - if Thread.isMainThread { - return sendCodeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendCodeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendCodeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendCodeUnderlyingCallsCount = newValue - } - } - } + get { sendCodeCallsCountLock.withLock { sendCodeUnderlyingCallsCount } } + set { sendCodeCallsCountLock.withLock { sendCodeUnderlyingCallsCount = newValue } } } open var sendCodeCalled: Bool { return sendCodeCallsCount > 0 } - open var sendCodeReceivedCode: UInt8? - open var sendCodeReceivedInvocations: [UInt8] = [] + private let sendCodeReceivedCodeLock = NSLock() + private var sendCodeUnderlyingReceivedCode: UInt8? + open var sendCodeReceivedCode: UInt8? { + get { sendCodeReceivedCodeLock.withLock { sendCodeUnderlyingReceivedCode } } + set { sendCodeReceivedCodeLock.withLock { sendCodeUnderlyingReceivedCode = newValue } } + } + private let sendCodeReceivedInvocationsLock = NSLock() + private var sendCodeUnderlyingReceivedInvocations: [UInt8] = [] + open var sendCodeReceivedInvocations: [UInt8] { + get { sendCodeReceivedInvocationsLock.withLock { sendCodeUnderlyingReceivedInvocations } } + set { sendCodeReceivedInvocationsLock.withLock { sendCodeUnderlyingReceivedInvocations = newValue } } + } open var sendCodeClosure: ((UInt8) async throws -> Void)? open override func send(code: UInt8) async throws { if let error = sendCodeThrowableError { throw error } - sendCodeCallsCount += 1 + sendCodeCallsCountLock.withLock { sendCodeUnderlyingCallsCount += 1 } sendCodeReceivedCode = code - DispatchQueue.main.async { - self.sendCodeReceivedInvocations.append(code) - } + sendCodeReceivedInvocationsLock.withLock { sendCodeUnderlyingReceivedInvocations.append(code) } try await sendCodeClosure?(code) } } @@ -84,102 +89,66 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - abortOauthAuth - open var abortOauthAuthAuthorizationDataUnderlyingCallsCount = 0 + private let abortOauthAuthAuthorizationDataCallsCountLock = NSLock() + private var abortOauthAuthAuthorizationDataUnderlyingCallsCount = 0 open var abortOauthAuthAuthorizationDataCallsCount: Int { - get { - if Thread.isMainThread { - return abortOauthAuthAuthorizationDataUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = abortOauthAuthAuthorizationDataUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - abortOauthAuthAuthorizationDataUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - abortOauthAuthAuthorizationDataUnderlyingCallsCount = newValue - } - } - } + get { abortOauthAuthAuthorizationDataCallsCountLock.withLock { abortOauthAuthAuthorizationDataUnderlyingCallsCount } } + set { abortOauthAuthAuthorizationDataCallsCountLock.withLock { abortOauthAuthAuthorizationDataUnderlyingCallsCount = newValue } } } open var abortOauthAuthAuthorizationDataCalled: Bool { return abortOauthAuthAuthorizationDataCallsCount > 0 } - open var abortOauthAuthAuthorizationDataReceivedAuthorizationData: OAuthAuthorizationData? - open var abortOauthAuthAuthorizationDataReceivedInvocations: [OAuthAuthorizationData] = [] + private let abortOauthAuthAuthorizationDataReceivedAuthorizationDataLock = NSLock() + private var abortOauthAuthAuthorizationDataUnderlyingReceivedAuthorizationData: OAuthAuthorizationData? + open var abortOauthAuthAuthorizationDataReceivedAuthorizationData: OAuthAuthorizationData? { + get { abortOauthAuthAuthorizationDataReceivedAuthorizationDataLock.withLock { abortOauthAuthAuthorizationDataUnderlyingReceivedAuthorizationData } } + set { abortOauthAuthAuthorizationDataReceivedAuthorizationDataLock.withLock { abortOauthAuthAuthorizationDataUnderlyingReceivedAuthorizationData = newValue } } + } + private let abortOauthAuthAuthorizationDataReceivedInvocationsLock = NSLock() + private var abortOauthAuthAuthorizationDataUnderlyingReceivedInvocations: [OAuthAuthorizationData] = [] + open var abortOauthAuthAuthorizationDataReceivedInvocations: [OAuthAuthorizationData] { + get { abortOauthAuthAuthorizationDataReceivedInvocationsLock.withLock { abortOauthAuthAuthorizationDataUnderlyingReceivedInvocations } } + set { abortOauthAuthAuthorizationDataReceivedInvocationsLock.withLock { abortOauthAuthAuthorizationDataUnderlyingReceivedInvocations = newValue } } + } open var abortOauthAuthAuthorizationDataClosure: ((OAuthAuthorizationData) async -> Void)? open override func abortOauthAuth(authorizationData: OAuthAuthorizationData) async { - abortOauthAuthAuthorizationDataCallsCount += 1 + abortOauthAuthAuthorizationDataCallsCountLock.withLock { abortOauthAuthAuthorizationDataUnderlyingCallsCount += 1 } abortOauthAuthAuthorizationDataReceivedAuthorizationData = authorizationData - DispatchQueue.main.async { - self.abortOauthAuthAuthorizationDataReceivedInvocations.append(authorizationData) - } + abortOauthAuthAuthorizationDataReceivedInvocationsLock.withLock { abortOauthAuthAuthorizationDataUnderlyingReceivedInvocations.append(authorizationData) } await abortOauthAuthAuthorizationDataClosure?(authorizationData) } //MARK: - accountData open var accountDataEventTypeThrowableError: Error? - open var accountDataEventTypeUnderlyingCallsCount = 0 + private let accountDataEventTypeCallsCountLock = NSLock() + private var accountDataEventTypeUnderlyingCallsCount = 0 open var accountDataEventTypeCallsCount: Int { - get { - if Thread.isMainThread { - return accountDataEventTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = accountDataEventTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - accountDataEventTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - accountDataEventTypeUnderlyingCallsCount = newValue - } - } - } + get { accountDataEventTypeCallsCountLock.withLock { accountDataEventTypeUnderlyingCallsCount } } + set { accountDataEventTypeCallsCountLock.withLock { accountDataEventTypeUnderlyingCallsCount = newValue } } } open var accountDataEventTypeCalled: Bool { return accountDataEventTypeCallsCount > 0 } - open var accountDataEventTypeReceivedEventType: String? - open var accountDataEventTypeReceivedInvocations: [String] = [] + private let accountDataEventTypeReceivedEventTypeLock = NSLock() + private var accountDataEventTypeUnderlyingReceivedEventType: String? + open var accountDataEventTypeReceivedEventType: String? { + get { accountDataEventTypeReceivedEventTypeLock.withLock { accountDataEventTypeUnderlyingReceivedEventType } } + set { accountDataEventTypeReceivedEventTypeLock.withLock { accountDataEventTypeUnderlyingReceivedEventType = newValue } } + } + private let accountDataEventTypeReceivedInvocationsLock = NSLock() + private var accountDataEventTypeUnderlyingReceivedInvocations: [String] = [] + open var accountDataEventTypeReceivedInvocations: [String] { + get { accountDataEventTypeReceivedInvocationsLock.withLock { accountDataEventTypeUnderlyingReceivedInvocations } } + set { accountDataEventTypeReceivedInvocationsLock.withLock { accountDataEventTypeUnderlyingReceivedInvocations = newValue } } + } + private let accountDataEventTypeReturnValueLock = NSLock() open var accountDataEventTypeUnderlyingReturnValue: String? open var accountDataEventTypeReturnValue: String? { - get { - if Thread.isMainThread { - return accountDataEventTypeUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = accountDataEventTypeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - accountDataEventTypeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - accountDataEventTypeUnderlyingReturnValue = newValue - } - } - } + get { accountDataEventTypeReturnValueLock.withLock { accountDataEventTypeUnderlyingReturnValue } } + set { accountDataEventTypeReturnValueLock.withLock { accountDataEventTypeUnderlyingReturnValue = newValue } } } open var accountDataEventTypeClosure: ((String) async throws -> String?)? @@ -187,11 +156,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = accountDataEventTypeThrowableError { throw error } - accountDataEventTypeCallsCount += 1 + accountDataEventTypeCallsCountLock.withLock { accountDataEventTypeUnderlyingCallsCount += 1 } accountDataEventTypeReceivedEventType = eventType - DispatchQueue.main.async { - self.accountDataEventTypeReceivedInvocations.append(eventType) - } + accountDataEventTypeReceivedInvocationsLock.withLock { accountDataEventTypeUnderlyingReceivedInvocations.append(eventType) } if let accountDataEventTypeClosure = accountDataEventTypeClosure { return try await accountDataEventTypeClosure(eventType) } else { @@ -202,59 +169,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - accountUrl open var accountUrlActionThrowableError: Error? - open var accountUrlActionUnderlyingCallsCount = 0 + private let accountUrlActionCallsCountLock = NSLock() + private var accountUrlActionUnderlyingCallsCount = 0 open var accountUrlActionCallsCount: Int { - get { - if Thread.isMainThread { - return accountUrlActionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = accountUrlActionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - accountUrlActionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - accountUrlActionUnderlyingCallsCount = newValue - } - } - } + get { accountUrlActionCallsCountLock.withLock { accountUrlActionUnderlyingCallsCount } } + set { accountUrlActionCallsCountLock.withLock { accountUrlActionUnderlyingCallsCount = newValue } } } open var accountUrlActionCalled: Bool { return accountUrlActionCallsCount > 0 } - open var accountUrlActionReceivedAction: AccountManagementAction? - open var accountUrlActionReceivedInvocations: [AccountManagementAction?] = [] + private let accountUrlActionReceivedActionLock = NSLock() + private var accountUrlActionUnderlyingReceivedAction: AccountManagementAction? + open var accountUrlActionReceivedAction: AccountManagementAction? { + get { accountUrlActionReceivedActionLock.withLock { accountUrlActionUnderlyingReceivedAction } } + set { accountUrlActionReceivedActionLock.withLock { accountUrlActionUnderlyingReceivedAction = newValue } } + } + private let accountUrlActionReceivedInvocationsLock = NSLock() + private var accountUrlActionUnderlyingReceivedInvocations: [AccountManagementAction?] = [] + open var accountUrlActionReceivedInvocations: [AccountManagementAction?] { + get { accountUrlActionReceivedInvocationsLock.withLock { accountUrlActionUnderlyingReceivedInvocations } } + set { accountUrlActionReceivedInvocationsLock.withLock { accountUrlActionUnderlyingReceivedInvocations = newValue } } + } + private let accountUrlActionReturnValueLock = NSLock() open var accountUrlActionUnderlyingReturnValue: String? open var accountUrlActionReturnValue: String? { - get { - if Thread.isMainThread { - return accountUrlActionUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = accountUrlActionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - accountUrlActionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - accountUrlActionUnderlyingReturnValue = newValue - } - } - } + get { accountUrlActionReturnValueLock.withLock { accountUrlActionUnderlyingReturnValue } } + set { accountUrlActionReturnValueLock.withLock { accountUrlActionUnderlyingReturnValue = newValue } } } open var accountUrlActionClosure: ((AccountManagementAction?) async throws -> String?)? @@ -262,11 +203,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = accountUrlActionThrowableError { throw error } - accountUrlActionCallsCount += 1 + accountUrlActionCallsCountLock.withLock { accountUrlActionUnderlyingCallsCount += 1 } accountUrlActionReceivedAction = action - DispatchQueue.main.async { - self.accountUrlActionReceivedInvocations.append(action) - } + accountUrlActionReceivedInvocationsLock.withLock { accountUrlActionUnderlyingReceivedInvocations.append(action) } if let accountUrlActionClosure = accountUrlActionClosure { return try await accountUrlActionClosure(action) } else { @@ -276,62 +215,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - availableSlidingSyncVersions - open var availableSlidingSyncVersionsUnderlyingCallsCount = 0 + private let availableSlidingSyncVersionsCallsCountLock = NSLock() + private var availableSlidingSyncVersionsUnderlyingCallsCount = 0 open var availableSlidingSyncVersionsCallsCount: Int { - get { - if Thread.isMainThread { - return availableSlidingSyncVersionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = availableSlidingSyncVersionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - availableSlidingSyncVersionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - availableSlidingSyncVersionsUnderlyingCallsCount = newValue - } - } - } + get { availableSlidingSyncVersionsCallsCountLock.withLock { availableSlidingSyncVersionsUnderlyingCallsCount } } + set { availableSlidingSyncVersionsCallsCountLock.withLock { availableSlidingSyncVersionsUnderlyingCallsCount = newValue } } } open var availableSlidingSyncVersionsCalled: Bool { return availableSlidingSyncVersionsCallsCount > 0 } + private let availableSlidingSyncVersionsReturnValueLock = NSLock() open var availableSlidingSyncVersionsUnderlyingReturnValue: [SlidingSyncVersion]! open var availableSlidingSyncVersionsReturnValue: [SlidingSyncVersion]! { - get { - if Thread.isMainThread { - return availableSlidingSyncVersionsUnderlyingReturnValue - } else { - var returnValue: [SlidingSyncVersion]? = nil - DispatchQueue.main.sync { - returnValue = availableSlidingSyncVersionsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - availableSlidingSyncVersionsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - availableSlidingSyncVersionsUnderlyingReturnValue = newValue - } - } - } + get { availableSlidingSyncVersionsReturnValueLock.withLock { availableSlidingSyncVersionsUnderlyingReturnValue } } + set { availableSlidingSyncVersionsReturnValueLock.withLock { availableSlidingSyncVersionsUnderlyingReturnValue = newValue } } } open var availableSlidingSyncVersionsClosure: (() async -> [SlidingSyncVersion])? open override func availableSlidingSyncVersions() async -> [SlidingSyncVersion] { - availableSlidingSyncVersionsCallsCount += 1 + availableSlidingSyncVersionsCallsCountLock.withLock { availableSlidingSyncVersionsUnderlyingCallsCount += 1 } if let availableSlidingSyncVersionsClosure = availableSlidingSyncVersionsClosure { return await availableSlidingSyncVersionsClosure() } else { @@ -342,57 +245,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - avatarUrl open var avatarUrlThrowableError: Error? - open var avatarUrlUnderlyingCallsCount = 0 + private let avatarUrlCallsCountLock = NSLock() + private var avatarUrlUnderlyingCallsCount = 0 open var avatarUrlCallsCount: Int { - get { - if Thread.isMainThread { - return avatarUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = avatarUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - avatarUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - avatarUrlUnderlyingCallsCount = newValue - } - } - } + get { avatarUrlCallsCountLock.withLock { avatarUrlUnderlyingCallsCount } } + set { avatarUrlCallsCountLock.withLock { avatarUrlUnderlyingCallsCount = newValue } } } open var avatarUrlCalled: Bool { return avatarUrlCallsCount > 0 } + private let avatarUrlReturnValueLock = NSLock() open var avatarUrlUnderlyingReturnValue: String? open var avatarUrlReturnValue: String? { - get { - if Thread.isMainThread { - return avatarUrlUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = avatarUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - avatarUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - avatarUrlUnderlyingReturnValue = newValue - } - } - } + get { avatarUrlReturnValueLock.withLock { avatarUrlUnderlyingReturnValue } } + set { avatarUrlReturnValueLock.withLock { avatarUrlUnderlyingReturnValue = newValue } } } open var avatarUrlClosure: (() async throws -> String?)? @@ -400,7 +267,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = avatarUrlThrowableError { throw error } - avatarUrlCallsCount += 1 + avatarUrlCallsCountLock.withLock { avatarUrlUnderlyingCallsCount += 1 } if let avatarUrlClosure = avatarUrlClosure { return try await avatarUrlClosure() } else { @@ -411,59 +278,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - awaitRoomRemoteEcho open var awaitRoomRemoteEchoRoomIdThrowableError: Error? - open var awaitRoomRemoteEchoRoomIdUnderlyingCallsCount = 0 + private let awaitRoomRemoteEchoRoomIdCallsCountLock = NSLock() + private var awaitRoomRemoteEchoRoomIdUnderlyingCallsCount = 0 open var awaitRoomRemoteEchoRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return awaitRoomRemoteEchoRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = awaitRoomRemoteEchoRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - awaitRoomRemoteEchoRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - awaitRoomRemoteEchoRoomIdUnderlyingCallsCount = newValue - } - } - } + get { awaitRoomRemoteEchoRoomIdCallsCountLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingCallsCount } } + set { awaitRoomRemoteEchoRoomIdCallsCountLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingCallsCount = newValue } } } open var awaitRoomRemoteEchoRoomIdCalled: Bool { return awaitRoomRemoteEchoRoomIdCallsCount > 0 } - open var awaitRoomRemoteEchoRoomIdReceivedRoomId: String? - open var awaitRoomRemoteEchoRoomIdReceivedInvocations: [String] = [] + private let awaitRoomRemoteEchoRoomIdReceivedRoomIdLock = NSLock() + private var awaitRoomRemoteEchoRoomIdUnderlyingReceivedRoomId: String? + open var awaitRoomRemoteEchoRoomIdReceivedRoomId: String? { + get { awaitRoomRemoteEchoRoomIdReceivedRoomIdLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingReceivedRoomId } } + set { awaitRoomRemoteEchoRoomIdReceivedRoomIdLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let awaitRoomRemoteEchoRoomIdReceivedInvocationsLock = NSLock() + private var awaitRoomRemoteEchoRoomIdUnderlyingReceivedInvocations: [String] = [] + open var awaitRoomRemoteEchoRoomIdReceivedInvocations: [String] { + get { awaitRoomRemoteEchoRoomIdReceivedInvocationsLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingReceivedInvocations } } + set { awaitRoomRemoteEchoRoomIdReceivedInvocationsLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingReceivedInvocations = newValue } } + } + private let awaitRoomRemoteEchoRoomIdReturnValueLock = NSLock() open var awaitRoomRemoteEchoRoomIdUnderlyingReturnValue: Room! open var awaitRoomRemoteEchoRoomIdReturnValue: Room! { - get { - if Thread.isMainThread { - return awaitRoomRemoteEchoRoomIdUnderlyingReturnValue - } else { - var returnValue: Room? = nil - DispatchQueue.main.sync { - returnValue = awaitRoomRemoteEchoRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - awaitRoomRemoteEchoRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - awaitRoomRemoteEchoRoomIdUnderlyingReturnValue = newValue - } - } - } + get { awaitRoomRemoteEchoRoomIdReturnValueLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingReturnValue } } + set { awaitRoomRemoteEchoRoomIdReturnValueLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingReturnValue = newValue } } } open var awaitRoomRemoteEchoRoomIdClosure: ((String) async throws -> Room)? @@ -471,11 +312,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = awaitRoomRemoteEchoRoomIdThrowableError { throw error } - awaitRoomRemoteEchoRoomIdCallsCount += 1 + awaitRoomRemoteEchoRoomIdCallsCountLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingCallsCount += 1 } awaitRoomRemoteEchoRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.awaitRoomRemoteEchoRoomIdReceivedInvocations.append(roomId) - } + awaitRoomRemoteEchoRoomIdReceivedInvocationsLock.withLock { awaitRoomRemoteEchoRoomIdUnderlyingReceivedInvocations.append(roomId) } if let awaitRoomRemoteEchoRoomIdClosure = awaitRoomRemoteEchoRoomIdClosure { return try await awaitRoomRemoteEchoRoomIdClosure(roomId) } else { @@ -486,57 +325,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - cachedAvatarUrl open var cachedAvatarUrlThrowableError: Error? - open var cachedAvatarUrlUnderlyingCallsCount = 0 + private let cachedAvatarUrlCallsCountLock = NSLock() + private var cachedAvatarUrlUnderlyingCallsCount = 0 open var cachedAvatarUrlCallsCount: Int { - get { - if Thread.isMainThread { - return cachedAvatarUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cachedAvatarUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cachedAvatarUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cachedAvatarUrlUnderlyingCallsCount = newValue - } - } - } + get { cachedAvatarUrlCallsCountLock.withLock { cachedAvatarUrlUnderlyingCallsCount } } + set { cachedAvatarUrlCallsCountLock.withLock { cachedAvatarUrlUnderlyingCallsCount = newValue } } } open var cachedAvatarUrlCalled: Bool { return cachedAvatarUrlCallsCount > 0 } + private let cachedAvatarUrlReturnValueLock = NSLock() open var cachedAvatarUrlUnderlyingReturnValue: String? open var cachedAvatarUrlReturnValue: String? { - get { - if Thread.isMainThread { - return cachedAvatarUrlUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = cachedAvatarUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cachedAvatarUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - cachedAvatarUrlUnderlyingReturnValue = newValue - } - } - } + get { cachedAvatarUrlReturnValueLock.withLock { cachedAvatarUrlUnderlyingReturnValue } } + set { cachedAvatarUrlReturnValueLock.withLock { cachedAvatarUrlUnderlyingReturnValue = newValue } } } open var cachedAvatarUrlClosure: (() async throws -> String?)? @@ -544,7 +347,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = cachedAvatarUrlThrowableError { throw error } - cachedAvatarUrlCallsCount += 1 + cachedAvatarUrlCallsCountLock.withLock { cachedAvatarUrlUnderlyingCallsCount += 1 } if let cachedAvatarUrlClosure = cachedAvatarUrlClosure { return try await cachedAvatarUrlClosure() } else { @@ -554,62 +357,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - canDeactivateAccount - open var canDeactivateAccountUnderlyingCallsCount = 0 + private let canDeactivateAccountCallsCountLock = NSLock() + private var canDeactivateAccountUnderlyingCallsCount = 0 open var canDeactivateAccountCallsCount: Int { - get { - if Thread.isMainThread { - return canDeactivateAccountUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canDeactivateAccountUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canDeactivateAccountUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canDeactivateAccountUnderlyingCallsCount = newValue - } - } - } + get { canDeactivateAccountCallsCountLock.withLock { canDeactivateAccountUnderlyingCallsCount } } + set { canDeactivateAccountCallsCountLock.withLock { canDeactivateAccountUnderlyingCallsCount = newValue } } } open var canDeactivateAccountCalled: Bool { return canDeactivateAccountCallsCount > 0 } + private let canDeactivateAccountReturnValueLock = NSLock() open var canDeactivateAccountUnderlyingReturnValue: Bool! open var canDeactivateAccountReturnValue: Bool! { - get { - if Thread.isMainThread { - return canDeactivateAccountUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canDeactivateAccountUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canDeactivateAccountUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canDeactivateAccountUnderlyingReturnValue = newValue - } - } - } + get { canDeactivateAccountReturnValueLock.withLock { canDeactivateAccountUnderlyingReturnValue } } + set { canDeactivateAccountReturnValueLock.withLock { canDeactivateAccountUnderlyingReturnValue = newValue } } } open var canDeactivateAccountClosure: (() -> Bool)? open override func canDeactivateAccount() -> Bool { - canDeactivateAccountCallsCount += 1 + canDeactivateAccountCallsCountLock.withLock { canDeactivateAccountUnderlyingCallsCount += 1 } if let canDeactivateAccountClosure = canDeactivateAccountClosure { return canDeactivateAccountClosure() } else { @@ -620,105 +387,69 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - clearCaches open var clearCachesSyncServiceThrowableError: Error? - open var clearCachesSyncServiceUnderlyingCallsCount = 0 + private let clearCachesSyncServiceCallsCountLock = NSLock() + private var clearCachesSyncServiceUnderlyingCallsCount = 0 open var clearCachesSyncServiceCallsCount: Int { - get { - if Thread.isMainThread { - return clearCachesSyncServiceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = clearCachesSyncServiceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearCachesSyncServiceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - clearCachesSyncServiceUnderlyingCallsCount = newValue - } - } - } + get { clearCachesSyncServiceCallsCountLock.withLock { clearCachesSyncServiceUnderlyingCallsCount } } + set { clearCachesSyncServiceCallsCountLock.withLock { clearCachesSyncServiceUnderlyingCallsCount = newValue } } } open var clearCachesSyncServiceCalled: Bool { return clearCachesSyncServiceCallsCount > 0 } - open var clearCachesSyncServiceReceivedSyncService: SyncService? - open var clearCachesSyncServiceReceivedInvocations: [SyncService?] = [] + private let clearCachesSyncServiceReceivedSyncServiceLock = NSLock() + private var clearCachesSyncServiceUnderlyingReceivedSyncService: SyncService? + open var clearCachesSyncServiceReceivedSyncService: SyncService? { + get { clearCachesSyncServiceReceivedSyncServiceLock.withLock { clearCachesSyncServiceUnderlyingReceivedSyncService } } + set { clearCachesSyncServiceReceivedSyncServiceLock.withLock { clearCachesSyncServiceUnderlyingReceivedSyncService = newValue } } + } + private let clearCachesSyncServiceReceivedInvocationsLock = NSLock() + private var clearCachesSyncServiceUnderlyingReceivedInvocations: [SyncService?] = [] + open var clearCachesSyncServiceReceivedInvocations: [SyncService?] { + get { clearCachesSyncServiceReceivedInvocationsLock.withLock { clearCachesSyncServiceUnderlyingReceivedInvocations } } + set { clearCachesSyncServiceReceivedInvocationsLock.withLock { clearCachesSyncServiceUnderlyingReceivedInvocations = newValue } } + } open var clearCachesSyncServiceClosure: ((SyncService?) async throws -> Void)? open override func clearCaches(syncService: SyncService?) async throws { if let error = clearCachesSyncServiceThrowableError { throw error } - clearCachesSyncServiceCallsCount += 1 + clearCachesSyncServiceCallsCountLock.withLock { clearCachesSyncServiceUnderlyingCallsCount += 1 } clearCachesSyncServiceReceivedSyncService = syncService - DispatchQueue.main.async { - self.clearCachesSyncServiceReceivedInvocations.append(syncService) - } + clearCachesSyncServiceReceivedInvocationsLock.withLock { clearCachesSyncServiceUnderlyingReceivedInvocations.append(syncService) } try await clearCachesSyncServiceClosure?(syncService) } //MARK: - createRoom open var createRoomRequestThrowableError: Error? - open var createRoomRequestUnderlyingCallsCount = 0 + private let createRoomRequestCallsCountLock = NSLock() + private var createRoomRequestUnderlyingCallsCount = 0 open var createRoomRequestCallsCount: Int { - get { - if Thread.isMainThread { - return createRoomRequestUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = createRoomRequestUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createRoomRequestUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - createRoomRequestUnderlyingCallsCount = newValue - } - } - } + get { createRoomRequestCallsCountLock.withLock { createRoomRequestUnderlyingCallsCount } } + set { createRoomRequestCallsCountLock.withLock { createRoomRequestUnderlyingCallsCount = newValue } } } open var createRoomRequestCalled: Bool { return createRoomRequestCallsCount > 0 } - open var createRoomRequestReceivedRequest: CreateRoomParameters? - open var createRoomRequestReceivedInvocations: [CreateRoomParameters] = [] + private let createRoomRequestReceivedRequestLock = NSLock() + private var createRoomRequestUnderlyingReceivedRequest: CreateRoomParameters? + open var createRoomRequestReceivedRequest: CreateRoomParameters? { + get { createRoomRequestReceivedRequestLock.withLock { createRoomRequestUnderlyingReceivedRequest } } + set { createRoomRequestReceivedRequestLock.withLock { createRoomRequestUnderlyingReceivedRequest = newValue } } + } + private let createRoomRequestReceivedInvocationsLock = NSLock() + private var createRoomRequestUnderlyingReceivedInvocations: [CreateRoomParameters] = [] + open var createRoomRequestReceivedInvocations: [CreateRoomParameters] { + get { createRoomRequestReceivedInvocationsLock.withLock { createRoomRequestUnderlyingReceivedInvocations } } + set { createRoomRequestReceivedInvocationsLock.withLock { createRoomRequestUnderlyingReceivedInvocations = newValue } } + } + private let createRoomRequestReturnValueLock = NSLock() open var createRoomRequestUnderlyingReturnValue: String! open var createRoomRequestReturnValue: String! { - get { - if Thread.isMainThread { - return createRoomRequestUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = createRoomRequestUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createRoomRequestUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - createRoomRequestUnderlyingReturnValue = newValue - } - } - } + get { createRoomRequestReturnValueLock.withLock { createRoomRequestUnderlyingReturnValue } } + set { createRoomRequestReturnValueLock.withLock { createRoomRequestUnderlyingReturnValue = newValue } } } open var createRoomRequestClosure: ((CreateRoomParameters) async throws -> String)? @@ -726,11 +457,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = createRoomRequestThrowableError { throw error } - createRoomRequestCallsCount += 1 + createRoomRequestCallsCountLock.withLock { createRoomRequestUnderlyingCallsCount += 1 } createRoomRequestReceivedRequest = request - DispatchQueue.main.async { - self.createRoomRequestReceivedInvocations.append(request) - } + createRoomRequestReceivedInvocationsLock.withLock { createRoomRequestUnderlyingReceivedInvocations.append(request) } if let createRoomRequestClosure = createRoomRequestClosure { return try await createRoomRequestClosure(request) } else { @@ -741,195 +470,129 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - customLoginWithJwt open var customLoginWithJwtJwtInitialDeviceNameDeviceIdThrowableError: Error? - open var customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount = 0 + private let customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCountLock = NSLock() + private var customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount = 0 open var customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCount: Int { - get { - if Thread.isMainThread { - return customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue - } - } - } + get { customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCountLock.withLock { customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount } } + set { customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCountLock.withLock { customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue } } } open var customLoginWithJwtJwtInitialDeviceNameDeviceIdCalled: Bool { return customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCount > 0 } - open var customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedArguments: (jwt: String, initialDeviceName: String?, deviceId: String?)? - open var customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocations: [(jwt: String, initialDeviceName: String?, deviceId: String?)] = [] + private let customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedArgumentsLock = NSLock() + private var customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingReceivedArguments: (jwt: String, initialDeviceName: String?, deviceId: String?)? + open var customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedArguments: (jwt: String, initialDeviceName: String?, deviceId: String?)? { + get { customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedArgumentsLock.withLock { customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingReceivedArguments } } + set { customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedArgumentsLock.withLock { customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingReceivedArguments = newValue } } + } + private let customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocationsLock = NSLock() + private var customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingReceivedInvocations: [(jwt: String, initialDeviceName: String?, deviceId: String?)] = [] + open var customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocations: [(jwt: String, initialDeviceName: String?, deviceId: String?)] { + get { customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingReceivedInvocations } } + set { customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingReceivedInvocations = newValue } } + } open var customLoginWithJwtJwtInitialDeviceNameDeviceIdClosure: ((String, String?, String?) async throws -> Void)? open override func customLoginWithJwt(jwt: String, initialDeviceName: String?, deviceId: String?) async throws { if let error = customLoginWithJwtJwtInitialDeviceNameDeviceIdThrowableError { throw error } - customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCount += 1 + customLoginWithJwtJwtInitialDeviceNameDeviceIdCallsCountLock.withLock { customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingCallsCount += 1 } customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedArguments = (jwt: jwt, initialDeviceName: initialDeviceName, deviceId: deviceId) - DispatchQueue.main.async { - self.customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocations.append((jwt: jwt, initialDeviceName: initialDeviceName, deviceId: deviceId)) - } + customLoginWithJwtJwtInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { customLoginWithJwtJwtInitialDeviceNameDeviceIdUnderlyingReceivedInvocations.append((jwt: jwt, initialDeviceName: initialDeviceName, deviceId: deviceId)) } try await customLoginWithJwtJwtInitialDeviceNameDeviceIdClosure?(jwt, initialDeviceName, deviceId) } //MARK: - deactivateAccount open var deactivateAccountAuthDataEraseDataThrowableError: Error? - open var deactivateAccountAuthDataEraseDataUnderlyingCallsCount = 0 + private let deactivateAccountAuthDataEraseDataCallsCountLock = NSLock() + private var deactivateAccountAuthDataEraseDataUnderlyingCallsCount = 0 open var deactivateAccountAuthDataEraseDataCallsCount: Int { - get { - if Thread.isMainThread { - return deactivateAccountAuthDataEraseDataUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = deactivateAccountAuthDataEraseDataUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deactivateAccountAuthDataEraseDataUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - deactivateAccountAuthDataEraseDataUnderlyingCallsCount = newValue - } - } - } + get { deactivateAccountAuthDataEraseDataCallsCountLock.withLock { deactivateAccountAuthDataEraseDataUnderlyingCallsCount } } + set { deactivateAccountAuthDataEraseDataCallsCountLock.withLock { deactivateAccountAuthDataEraseDataUnderlyingCallsCount = newValue } } } open var deactivateAccountAuthDataEraseDataCalled: Bool { return deactivateAccountAuthDataEraseDataCallsCount > 0 } - open var deactivateAccountAuthDataEraseDataReceivedArguments: (authData: AuthData?, eraseData: Bool)? - open var deactivateAccountAuthDataEraseDataReceivedInvocations: [(authData: AuthData?, eraseData: Bool)] = [] + private let deactivateAccountAuthDataEraseDataReceivedArgumentsLock = NSLock() + private var deactivateAccountAuthDataEraseDataUnderlyingReceivedArguments: (authData: AuthData?, eraseData: Bool)? + open var deactivateAccountAuthDataEraseDataReceivedArguments: (authData: AuthData?, eraseData: Bool)? { + get { deactivateAccountAuthDataEraseDataReceivedArgumentsLock.withLock { deactivateAccountAuthDataEraseDataUnderlyingReceivedArguments } } + set { deactivateAccountAuthDataEraseDataReceivedArgumentsLock.withLock { deactivateAccountAuthDataEraseDataUnderlyingReceivedArguments = newValue } } + } + private let deactivateAccountAuthDataEraseDataReceivedInvocationsLock = NSLock() + private var deactivateAccountAuthDataEraseDataUnderlyingReceivedInvocations: [(authData: AuthData?, eraseData: Bool)] = [] + open var deactivateAccountAuthDataEraseDataReceivedInvocations: [(authData: AuthData?, eraseData: Bool)] { + get { deactivateAccountAuthDataEraseDataReceivedInvocationsLock.withLock { deactivateAccountAuthDataEraseDataUnderlyingReceivedInvocations } } + set { deactivateAccountAuthDataEraseDataReceivedInvocationsLock.withLock { deactivateAccountAuthDataEraseDataUnderlyingReceivedInvocations = newValue } } + } open var deactivateAccountAuthDataEraseDataClosure: ((AuthData?, Bool) async throws -> Void)? open override func deactivateAccount(authData: AuthData?, eraseData: Bool) async throws { if let error = deactivateAccountAuthDataEraseDataThrowableError { throw error } - deactivateAccountAuthDataEraseDataCallsCount += 1 + deactivateAccountAuthDataEraseDataCallsCountLock.withLock { deactivateAccountAuthDataEraseDataUnderlyingCallsCount += 1 } deactivateAccountAuthDataEraseDataReceivedArguments = (authData: authData, eraseData: eraseData) - DispatchQueue.main.async { - self.deactivateAccountAuthDataEraseDataReceivedInvocations.append((authData: authData, eraseData: eraseData)) - } + deactivateAccountAuthDataEraseDataReceivedInvocationsLock.withLock { deactivateAccountAuthDataEraseDataUnderlyingReceivedInvocations.append((authData: authData, eraseData: eraseData)) } try await deactivateAccountAuthDataEraseDataClosure?(authData, eraseData) } //MARK: - deletePusher open var deletePusherIdentifiersThrowableError: Error? - open var deletePusherIdentifiersUnderlyingCallsCount = 0 + private let deletePusherIdentifiersCallsCountLock = NSLock() + private var deletePusherIdentifiersUnderlyingCallsCount = 0 open var deletePusherIdentifiersCallsCount: Int { - get { - if Thread.isMainThread { - return deletePusherIdentifiersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = deletePusherIdentifiersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deletePusherIdentifiersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - deletePusherIdentifiersUnderlyingCallsCount = newValue - } - } - } + get { deletePusherIdentifiersCallsCountLock.withLock { deletePusherIdentifiersUnderlyingCallsCount } } + set { deletePusherIdentifiersCallsCountLock.withLock { deletePusherIdentifiersUnderlyingCallsCount = newValue } } } open var deletePusherIdentifiersCalled: Bool { return deletePusherIdentifiersCallsCount > 0 } - open var deletePusherIdentifiersReceivedIdentifiers: PusherIdentifiers? - open var deletePusherIdentifiersReceivedInvocations: [PusherIdentifiers] = [] + private let deletePusherIdentifiersReceivedIdentifiersLock = NSLock() + private var deletePusherIdentifiersUnderlyingReceivedIdentifiers: PusherIdentifiers? + open var deletePusherIdentifiersReceivedIdentifiers: PusherIdentifiers? { + get { deletePusherIdentifiersReceivedIdentifiersLock.withLock { deletePusherIdentifiersUnderlyingReceivedIdentifiers } } + set { deletePusherIdentifiersReceivedIdentifiersLock.withLock { deletePusherIdentifiersUnderlyingReceivedIdentifiers = newValue } } + } + private let deletePusherIdentifiersReceivedInvocationsLock = NSLock() + private var deletePusherIdentifiersUnderlyingReceivedInvocations: [PusherIdentifiers] = [] + open var deletePusherIdentifiersReceivedInvocations: [PusherIdentifiers] { + get { deletePusherIdentifiersReceivedInvocationsLock.withLock { deletePusherIdentifiersUnderlyingReceivedInvocations } } + set { deletePusherIdentifiersReceivedInvocationsLock.withLock { deletePusherIdentifiersUnderlyingReceivedInvocations = newValue } } + } open var deletePusherIdentifiersClosure: ((PusherIdentifiers) async throws -> Void)? open override func deletePusher(identifiers: PusherIdentifiers) async throws { if let error = deletePusherIdentifiersThrowableError { throw error } - deletePusherIdentifiersCallsCount += 1 + deletePusherIdentifiersCallsCountLock.withLock { deletePusherIdentifiersUnderlyingCallsCount += 1 } deletePusherIdentifiersReceivedIdentifiers = identifiers - DispatchQueue.main.async { - self.deletePusherIdentifiersReceivedInvocations.append(identifiers) - } + deletePusherIdentifiersReceivedInvocationsLock.withLock { deletePusherIdentifiersUnderlyingReceivedInvocations.append(identifiers) } try await deletePusherIdentifiersClosure?(identifiers) } //MARK: - deviceId open var deviceIdThrowableError: Error? - open var deviceIdUnderlyingCallsCount = 0 + private let deviceIdCallsCountLock = NSLock() + private var deviceIdUnderlyingCallsCount = 0 open var deviceIdCallsCount: Int { - get { - if Thread.isMainThread { - return deviceIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = deviceIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deviceIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - deviceIdUnderlyingCallsCount = newValue - } - } - } + get { deviceIdCallsCountLock.withLock { deviceIdUnderlyingCallsCount } } + set { deviceIdCallsCountLock.withLock { deviceIdUnderlyingCallsCount = newValue } } } open var deviceIdCalled: Bool { return deviceIdCallsCount > 0 } + private let deviceIdReturnValueLock = NSLock() open var deviceIdUnderlyingReturnValue: String! open var deviceIdReturnValue: String! { - get { - if Thread.isMainThread { - return deviceIdUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = deviceIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - deviceIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - deviceIdUnderlyingReturnValue = newValue - } - } - } + get { deviceIdReturnValueLock.withLock { deviceIdUnderlyingReturnValue } } + set { deviceIdReturnValueLock.withLock { deviceIdUnderlyingReturnValue = newValue } } } open var deviceIdClosure: (() throws -> String)? @@ -937,7 +600,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = deviceIdThrowableError { throw error } - deviceIdCallsCount += 1 + deviceIdCallsCountLock.withLock { deviceIdUnderlyingCallsCount += 1 } if let deviceIdClosure = deviceIdClosure { return try deviceIdClosure() } else { @@ -948,57 +611,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - displayName open var displayNameThrowableError: Error? - open var displayNameUnderlyingCallsCount = 0 + private let displayNameCallsCountLock = NSLock() + private var displayNameUnderlyingCallsCount = 0 open var displayNameCallsCount: Int { - get { - if Thread.isMainThread { - return displayNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = displayNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - displayNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - displayNameUnderlyingCallsCount = newValue - } - } - } + get { displayNameCallsCountLock.withLock { displayNameUnderlyingCallsCount } } + set { displayNameCallsCountLock.withLock { displayNameUnderlyingCallsCount = newValue } } } open var displayNameCalled: Bool { return displayNameCallsCount > 0 } + private let displayNameReturnValueLock = NSLock() open var displayNameUnderlyingReturnValue: String! open var displayNameReturnValue: String! { - get { - if Thread.isMainThread { - return displayNameUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = displayNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - displayNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - displayNameUnderlyingReturnValue = newValue - } - } - } + get { displayNameReturnValueLock.withLock { displayNameUnderlyingReturnValue } } + set { displayNameReturnValueLock.withLock { displayNameUnderlyingReturnValue = newValue } } } open var displayNameClosure: (() async throws -> String)? @@ -1006,7 +633,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = displayNameThrowableError { throw error } - displayNameCallsCount += 1 + displayNameCallsCountLock.withLock { displayNameUnderlyingCallsCount += 1 } if let displayNameClosure = displayNameClosure { return try await displayNameClosure() } else { @@ -1016,71 +643,43 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - enableAllSendQueues - open var enableAllSendQueuesEnableUnderlyingCallsCount = 0 + private let enableAllSendQueuesEnableCallsCountLock = NSLock() + private var enableAllSendQueuesEnableUnderlyingCallsCount = 0 open var enableAllSendQueuesEnableCallsCount: Int { - get { - if Thread.isMainThread { - return enableAllSendQueuesEnableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableAllSendQueuesEnableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableAllSendQueuesEnableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableAllSendQueuesEnableUnderlyingCallsCount = newValue - } - } - } + get { enableAllSendQueuesEnableCallsCountLock.withLock { enableAllSendQueuesEnableUnderlyingCallsCount } } + set { enableAllSendQueuesEnableCallsCountLock.withLock { enableAllSendQueuesEnableUnderlyingCallsCount = newValue } } } open var enableAllSendQueuesEnableCalled: Bool { return enableAllSendQueuesEnableCallsCount > 0 } - open var enableAllSendQueuesEnableReceivedEnable: Bool? - open var enableAllSendQueuesEnableReceivedInvocations: [Bool] = [] + private let enableAllSendQueuesEnableReceivedEnableLock = NSLock() + private var enableAllSendQueuesEnableUnderlyingReceivedEnable: Bool? + open var enableAllSendQueuesEnableReceivedEnable: Bool? { + get { enableAllSendQueuesEnableReceivedEnableLock.withLock { enableAllSendQueuesEnableUnderlyingReceivedEnable } } + set { enableAllSendQueuesEnableReceivedEnableLock.withLock { enableAllSendQueuesEnableUnderlyingReceivedEnable = newValue } } + } + private let enableAllSendQueuesEnableReceivedInvocationsLock = NSLock() + private var enableAllSendQueuesEnableUnderlyingReceivedInvocations: [Bool] = [] + open var enableAllSendQueuesEnableReceivedInvocations: [Bool] { + get { enableAllSendQueuesEnableReceivedInvocationsLock.withLock { enableAllSendQueuesEnableUnderlyingReceivedInvocations } } + set { enableAllSendQueuesEnableReceivedInvocationsLock.withLock { enableAllSendQueuesEnableUnderlyingReceivedInvocations = newValue } } + } open var enableAllSendQueuesEnableClosure: ((Bool) async -> Void)? open override func enableAllSendQueues(enable: Bool) async { - enableAllSendQueuesEnableCallsCount += 1 + enableAllSendQueuesEnableCallsCountLock.withLock { enableAllSendQueuesEnableUnderlyingCallsCount += 1 } enableAllSendQueuesEnableReceivedEnable = enable - DispatchQueue.main.async { - self.enableAllSendQueuesEnableReceivedInvocations.append(enable) - } + enableAllSendQueuesEnableReceivedInvocationsLock.withLock { enableAllSendQueuesEnableUnderlyingReceivedInvocations.append(enable) } await enableAllSendQueuesEnableClosure?(enable) } //MARK: - enableAutomaticBackpagination - open var enableAutomaticBackpaginationUnderlyingCallsCount = 0 + private let enableAutomaticBackpaginationCallsCountLock = NSLock() + private var enableAutomaticBackpaginationUnderlyingCallsCount = 0 open var enableAutomaticBackpaginationCallsCount: Int { - get { - if Thread.isMainThread { - return enableAutomaticBackpaginationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableAutomaticBackpaginationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableAutomaticBackpaginationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableAutomaticBackpaginationUnderlyingCallsCount = newValue - } - } - } + get { enableAutomaticBackpaginationCallsCountLock.withLock { enableAutomaticBackpaginationUnderlyingCallsCount } } + set { enableAutomaticBackpaginationCallsCountLock.withLock { enableAutomaticBackpaginationUnderlyingCallsCount = newValue } } } open var enableAutomaticBackpaginationCalled: Bool { return enableAutomaticBackpaginationCallsCount > 0 @@ -1088,110 +687,64 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { open var enableAutomaticBackpaginationClosure: (() -> Void)? open override func enableAutomaticBackpagination() { - enableAutomaticBackpaginationCallsCount += 1 + enableAutomaticBackpaginationCallsCountLock.withLock { enableAutomaticBackpaginationUnderlyingCallsCount += 1 } enableAutomaticBackpaginationClosure?() } //MARK: - enableSendQueueUploadProgress - open var enableSendQueueUploadProgressEnableUnderlyingCallsCount = 0 + private let enableSendQueueUploadProgressEnableCallsCountLock = NSLock() + private var enableSendQueueUploadProgressEnableUnderlyingCallsCount = 0 open var enableSendQueueUploadProgressEnableCallsCount: Int { - get { - if Thread.isMainThread { - return enableSendQueueUploadProgressEnableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableSendQueueUploadProgressEnableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableSendQueueUploadProgressEnableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableSendQueueUploadProgressEnableUnderlyingCallsCount = newValue - } - } - } + get { enableSendQueueUploadProgressEnableCallsCountLock.withLock { enableSendQueueUploadProgressEnableUnderlyingCallsCount } } + set { enableSendQueueUploadProgressEnableCallsCountLock.withLock { enableSendQueueUploadProgressEnableUnderlyingCallsCount = newValue } } } open var enableSendQueueUploadProgressEnableCalled: Bool { return enableSendQueueUploadProgressEnableCallsCount > 0 } - open var enableSendQueueUploadProgressEnableReceivedEnable: Bool? - open var enableSendQueueUploadProgressEnableReceivedInvocations: [Bool] = [] + private let enableSendQueueUploadProgressEnableReceivedEnableLock = NSLock() + private var enableSendQueueUploadProgressEnableUnderlyingReceivedEnable: Bool? + open var enableSendQueueUploadProgressEnableReceivedEnable: Bool? { + get { enableSendQueueUploadProgressEnableReceivedEnableLock.withLock { enableSendQueueUploadProgressEnableUnderlyingReceivedEnable } } + set { enableSendQueueUploadProgressEnableReceivedEnableLock.withLock { enableSendQueueUploadProgressEnableUnderlyingReceivedEnable = newValue } } + } + private let enableSendQueueUploadProgressEnableReceivedInvocationsLock = NSLock() + private var enableSendQueueUploadProgressEnableUnderlyingReceivedInvocations: [Bool] = [] + open var enableSendQueueUploadProgressEnableReceivedInvocations: [Bool] { + get { enableSendQueueUploadProgressEnableReceivedInvocationsLock.withLock { enableSendQueueUploadProgressEnableUnderlyingReceivedInvocations } } + set { enableSendQueueUploadProgressEnableReceivedInvocationsLock.withLock { enableSendQueueUploadProgressEnableUnderlyingReceivedInvocations = newValue } } + } open var enableSendQueueUploadProgressEnableClosure: ((Bool) -> Void)? open override func enableSendQueueUploadProgress(enable: Bool) { - enableSendQueueUploadProgressEnableCallsCount += 1 + enableSendQueueUploadProgressEnableCallsCountLock.withLock { enableSendQueueUploadProgressEnableUnderlyingCallsCount += 1 } enableSendQueueUploadProgressEnableReceivedEnable = enable - DispatchQueue.main.async { - self.enableSendQueueUploadProgressEnableReceivedInvocations.append(enable) - } + enableSendQueueUploadProgressEnableReceivedInvocationsLock.withLock { enableSendQueueUploadProgressEnableUnderlyingReceivedInvocations.append(enable) } enableSendQueueUploadProgressEnableClosure?(enable) } //MARK: - encryption - open var encryptionUnderlyingCallsCount = 0 + private let encryptionCallsCountLock = NSLock() + private var encryptionUnderlyingCallsCount = 0 open var encryptionCallsCount: Int { - get { - if Thread.isMainThread { - return encryptionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = encryptionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - encryptionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - encryptionUnderlyingCallsCount = newValue - } - } - } + get { encryptionCallsCountLock.withLock { encryptionUnderlyingCallsCount } } + set { encryptionCallsCountLock.withLock { encryptionUnderlyingCallsCount = newValue } } } open var encryptionCalled: Bool { return encryptionCallsCount > 0 } + private let encryptionReturnValueLock = NSLock() open var encryptionUnderlyingReturnValue: Encryption! open var encryptionReturnValue: Encryption! { - get { - if Thread.isMainThread { - return encryptionUnderlyingReturnValue - } else { - var returnValue: Encryption? = nil - DispatchQueue.main.sync { - returnValue = encryptionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - encryptionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - encryptionUnderlyingReturnValue = newValue - } - } - } + get { encryptionReturnValueLock.withLock { encryptionUnderlyingReturnValue } } + set { encryptionReturnValueLock.withLock { encryptionUnderlyingReturnValue = newValue } } } open var encryptionClosure: (() -> Encryption)? open override func encryption() -> Encryption { - encryptionCallsCount += 1 + encryptionCallsCountLock.withLock { encryptionUnderlyingCallsCount += 1 } if let encryptionClosure = encryptionClosure { return encryptionClosure() } else { @@ -1202,57 +755,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - fetchMediaPreviewConfig open var fetchMediaPreviewConfigThrowableError: Error? - open var fetchMediaPreviewConfigUnderlyingCallsCount = 0 + private let fetchMediaPreviewConfigCallsCountLock = NSLock() + private var fetchMediaPreviewConfigUnderlyingCallsCount = 0 open var fetchMediaPreviewConfigCallsCount: Int { - get { - if Thread.isMainThread { - return fetchMediaPreviewConfigUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = fetchMediaPreviewConfigUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchMediaPreviewConfigUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - fetchMediaPreviewConfigUnderlyingCallsCount = newValue - } - } - } + get { fetchMediaPreviewConfigCallsCountLock.withLock { fetchMediaPreviewConfigUnderlyingCallsCount } } + set { fetchMediaPreviewConfigCallsCountLock.withLock { fetchMediaPreviewConfigUnderlyingCallsCount = newValue } } } open var fetchMediaPreviewConfigCalled: Bool { return fetchMediaPreviewConfigCallsCount > 0 } + private let fetchMediaPreviewConfigReturnValueLock = NSLock() open var fetchMediaPreviewConfigUnderlyingReturnValue: MediaPreviewConfig? open var fetchMediaPreviewConfigReturnValue: MediaPreviewConfig? { - get { - if Thread.isMainThread { - return fetchMediaPreviewConfigUnderlyingReturnValue - } else { - var returnValue: MediaPreviewConfig?? = nil - DispatchQueue.main.sync { - returnValue = fetchMediaPreviewConfigUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchMediaPreviewConfigUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - fetchMediaPreviewConfigUnderlyingReturnValue = newValue - } - } - } + get { fetchMediaPreviewConfigReturnValueLock.withLock { fetchMediaPreviewConfigUnderlyingReturnValue } } + set { fetchMediaPreviewConfigReturnValueLock.withLock { fetchMediaPreviewConfigUnderlyingReturnValue = newValue } } } open var fetchMediaPreviewConfigClosure: (() async throws -> MediaPreviewConfig?)? @@ -1260,7 +777,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = fetchMediaPreviewConfigThrowableError { throw error } - fetchMediaPreviewConfigCallsCount += 1 + fetchMediaPreviewConfigCallsCountLock.withLock { fetchMediaPreviewConfigUnderlyingCallsCount += 1 } if let fetchMediaPreviewConfigClosure = fetchMediaPreviewConfigClosure { return try await fetchMediaPreviewConfigClosure() } else { @@ -1271,59 +788,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getDmRoom open var getDmRoomUserIdThrowableError: Error? - open var getDmRoomUserIdUnderlyingCallsCount = 0 + private let getDmRoomUserIdCallsCountLock = NSLock() + private var getDmRoomUserIdUnderlyingCallsCount = 0 open var getDmRoomUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return getDmRoomUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getDmRoomUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getDmRoomUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getDmRoomUserIdUnderlyingCallsCount = newValue - } - } - } + get { getDmRoomUserIdCallsCountLock.withLock { getDmRoomUserIdUnderlyingCallsCount } } + set { getDmRoomUserIdCallsCountLock.withLock { getDmRoomUserIdUnderlyingCallsCount = newValue } } } open var getDmRoomUserIdCalled: Bool { return getDmRoomUserIdCallsCount > 0 } - open var getDmRoomUserIdReceivedUserId: String? - open var getDmRoomUserIdReceivedInvocations: [String] = [] + private let getDmRoomUserIdReceivedUserIdLock = NSLock() + private var getDmRoomUserIdUnderlyingReceivedUserId: String? + open var getDmRoomUserIdReceivedUserId: String? { + get { getDmRoomUserIdReceivedUserIdLock.withLock { getDmRoomUserIdUnderlyingReceivedUserId } } + set { getDmRoomUserIdReceivedUserIdLock.withLock { getDmRoomUserIdUnderlyingReceivedUserId = newValue } } + } + private let getDmRoomUserIdReceivedInvocationsLock = NSLock() + private var getDmRoomUserIdUnderlyingReceivedInvocations: [String] = [] + open var getDmRoomUserIdReceivedInvocations: [String] { + get { getDmRoomUserIdReceivedInvocationsLock.withLock { getDmRoomUserIdUnderlyingReceivedInvocations } } + set { getDmRoomUserIdReceivedInvocationsLock.withLock { getDmRoomUserIdUnderlyingReceivedInvocations = newValue } } + } + private let getDmRoomUserIdReturnValueLock = NSLock() open var getDmRoomUserIdUnderlyingReturnValue: Room? open var getDmRoomUserIdReturnValue: Room? { - get { - if Thread.isMainThread { - return getDmRoomUserIdUnderlyingReturnValue - } else { - var returnValue: Room?? = nil - DispatchQueue.main.sync { - returnValue = getDmRoomUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getDmRoomUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getDmRoomUserIdUnderlyingReturnValue = newValue - } - } - } + get { getDmRoomUserIdReturnValueLock.withLock { getDmRoomUserIdUnderlyingReturnValue } } + set { getDmRoomUserIdReturnValueLock.withLock { getDmRoomUserIdUnderlyingReturnValue = newValue } } } open var getDmRoomUserIdClosure: ((String) throws -> Room?)? @@ -1331,11 +822,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getDmRoomUserIdThrowableError { throw error } - getDmRoomUserIdCallsCount += 1 + getDmRoomUserIdCallsCountLock.withLock { getDmRoomUserIdUnderlyingCallsCount += 1 } getDmRoomUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.getDmRoomUserIdReceivedInvocations.append(userId) - } + getDmRoomUserIdReceivedInvocationsLock.withLock { getDmRoomUserIdUnderlyingReceivedInvocations.append(userId) } if let getDmRoomUserIdClosure = getDmRoomUserIdClosure { return try getDmRoomUserIdClosure(userId) } else { @@ -1346,59 +835,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getDmRooms open var getDmRoomsUserIdThrowableError: Error? - open var getDmRoomsUserIdUnderlyingCallsCount = 0 + private let getDmRoomsUserIdCallsCountLock = NSLock() + private var getDmRoomsUserIdUnderlyingCallsCount = 0 open var getDmRoomsUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return getDmRoomsUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getDmRoomsUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getDmRoomsUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getDmRoomsUserIdUnderlyingCallsCount = newValue - } - } - } + get { getDmRoomsUserIdCallsCountLock.withLock { getDmRoomsUserIdUnderlyingCallsCount } } + set { getDmRoomsUserIdCallsCountLock.withLock { getDmRoomsUserIdUnderlyingCallsCount = newValue } } } open var getDmRoomsUserIdCalled: Bool { return getDmRoomsUserIdCallsCount > 0 } - open var getDmRoomsUserIdReceivedUserId: String? - open var getDmRoomsUserIdReceivedInvocations: [String] = [] + private let getDmRoomsUserIdReceivedUserIdLock = NSLock() + private var getDmRoomsUserIdUnderlyingReceivedUserId: String? + open var getDmRoomsUserIdReceivedUserId: String? { + get { getDmRoomsUserIdReceivedUserIdLock.withLock { getDmRoomsUserIdUnderlyingReceivedUserId } } + set { getDmRoomsUserIdReceivedUserIdLock.withLock { getDmRoomsUserIdUnderlyingReceivedUserId = newValue } } + } + private let getDmRoomsUserIdReceivedInvocationsLock = NSLock() + private var getDmRoomsUserIdUnderlyingReceivedInvocations: [String] = [] + open var getDmRoomsUserIdReceivedInvocations: [String] { + get { getDmRoomsUserIdReceivedInvocationsLock.withLock { getDmRoomsUserIdUnderlyingReceivedInvocations } } + set { getDmRoomsUserIdReceivedInvocationsLock.withLock { getDmRoomsUserIdUnderlyingReceivedInvocations = newValue } } + } + private let getDmRoomsUserIdReturnValueLock = NSLock() open var getDmRoomsUserIdUnderlyingReturnValue: [Room]! open var getDmRoomsUserIdReturnValue: [Room]! { - get { - if Thread.isMainThread { - return getDmRoomsUserIdUnderlyingReturnValue - } else { - var returnValue: [Room]? = nil - DispatchQueue.main.sync { - returnValue = getDmRoomsUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getDmRoomsUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getDmRoomsUserIdUnderlyingReturnValue = newValue - } - } - } + get { getDmRoomsUserIdReturnValueLock.withLock { getDmRoomsUserIdUnderlyingReturnValue } } + set { getDmRoomsUserIdReturnValueLock.withLock { getDmRoomsUserIdUnderlyingReturnValue = newValue } } } open var getDmRoomsUserIdClosure: ((String) throws -> [Room])? @@ -1406,11 +869,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getDmRoomsUserIdThrowableError { throw error } - getDmRoomsUserIdCallsCount += 1 + getDmRoomsUserIdCallsCountLock.withLock { getDmRoomsUserIdUnderlyingCallsCount += 1 } getDmRoomsUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.getDmRoomsUserIdReceivedInvocations.append(userId) - } + getDmRoomsUserIdReceivedInvocationsLock.withLock { getDmRoomsUserIdUnderlyingReceivedInvocations.append(userId) } if let getDmRoomsUserIdClosure = getDmRoomsUserIdClosure { return try getDmRoomsUserIdClosure(userId) } else { @@ -1421,57 +882,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getInviteAvatarsDisplayPolicy open var getInviteAvatarsDisplayPolicyThrowableError: Error? - open var getInviteAvatarsDisplayPolicyUnderlyingCallsCount = 0 + private let getInviteAvatarsDisplayPolicyCallsCountLock = NSLock() + private var getInviteAvatarsDisplayPolicyUnderlyingCallsCount = 0 open var getInviteAvatarsDisplayPolicyCallsCount: Int { - get { - if Thread.isMainThread { - return getInviteAvatarsDisplayPolicyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getInviteAvatarsDisplayPolicyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getInviteAvatarsDisplayPolicyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getInviteAvatarsDisplayPolicyUnderlyingCallsCount = newValue - } - } - } + get { getInviteAvatarsDisplayPolicyCallsCountLock.withLock { getInviteAvatarsDisplayPolicyUnderlyingCallsCount } } + set { getInviteAvatarsDisplayPolicyCallsCountLock.withLock { getInviteAvatarsDisplayPolicyUnderlyingCallsCount = newValue } } } open var getInviteAvatarsDisplayPolicyCalled: Bool { return getInviteAvatarsDisplayPolicyCallsCount > 0 } + private let getInviteAvatarsDisplayPolicyReturnValueLock = NSLock() open var getInviteAvatarsDisplayPolicyUnderlyingReturnValue: InviteAvatars? open var getInviteAvatarsDisplayPolicyReturnValue: InviteAvatars? { - get { - if Thread.isMainThread { - return getInviteAvatarsDisplayPolicyUnderlyingReturnValue - } else { - var returnValue: InviteAvatars?? = nil - DispatchQueue.main.sync { - returnValue = getInviteAvatarsDisplayPolicyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getInviteAvatarsDisplayPolicyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getInviteAvatarsDisplayPolicyUnderlyingReturnValue = newValue - } - } - } + get { getInviteAvatarsDisplayPolicyReturnValueLock.withLock { getInviteAvatarsDisplayPolicyUnderlyingReturnValue } } + set { getInviteAvatarsDisplayPolicyReturnValueLock.withLock { getInviteAvatarsDisplayPolicyUnderlyingReturnValue = newValue } } } open var getInviteAvatarsDisplayPolicyClosure: (() async throws -> InviteAvatars?)? @@ -1479,7 +904,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getInviteAvatarsDisplayPolicyThrowableError { throw error } - getInviteAvatarsDisplayPolicyCallsCount += 1 + getInviteAvatarsDisplayPolicyCallsCountLock.withLock { getInviteAvatarsDisplayPolicyUnderlyingCallsCount += 1 } if let getInviteAvatarsDisplayPolicyClosure = getInviteAvatarsDisplayPolicyClosure { return try await getInviteAvatarsDisplayPolicyClosure() } else { @@ -1490,57 +915,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getMaxMediaUploadSize open var getMaxMediaUploadSizeThrowableError: Error? - open var getMaxMediaUploadSizeUnderlyingCallsCount = 0 + private let getMaxMediaUploadSizeCallsCountLock = NSLock() + private var getMaxMediaUploadSizeUnderlyingCallsCount = 0 open var getMaxMediaUploadSizeCallsCount: Int { - get { - if Thread.isMainThread { - return getMaxMediaUploadSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getMaxMediaUploadSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMaxMediaUploadSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getMaxMediaUploadSizeUnderlyingCallsCount = newValue - } - } - } + get { getMaxMediaUploadSizeCallsCountLock.withLock { getMaxMediaUploadSizeUnderlyingCallsCount } } + set { getMaxMediaUploadSizeCallsCountLock.withLock { getMaxMediaUploadSizeUnderlyingCallsCount = newValue } } } open var getMaxMediaUploadSizeCalled: Bool { return getMaxMediaUploadSizeCallsCount > 0 } + private let getMaxMediaUploadSizeReturnValueLock = NSLock() open var getMaxMediaUploadSizeUnderlyingReturnValue: UInt64! open var getMaxMediaUploadSizeReturnValue: UInt64! { - get { - if Thread.isMainThread { - return getMaxMediaUploadSizeUnderlyingReturnValue - } else { - var returnValue: UInt64? = nil - DispatchQueue.main.sync { - returnValue = getMaxMediaUploadSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMaxMediaUploadSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getMaxMediaUploadSizeUnderlyingReturnValue = newValue - } - } - } + get { getMaxMediaUploadSizeReturnValueLock.withLock { getMaxMediaUploadSizeUnderlyingReturnValue } } + set { getMaxMediaUploadSizeReturnValueLock.withLock { getMaxMediaUploadSizeUnderlyingReturnValue = newValue } } } open var getMaxMediaUploadSizeClosure: (() async throws -> UInt64)? @@ -1548,7 +937,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getMaxMediaUploadSizeThrowableError { throw error } - getMaxMediaUploadSizeCallsCount += 1 + getMaxMediaUploadSizeCallsCountLock.withLock { getMaxMediaUploadSizeUnderlyingCallsCount += 1 } if let getMaxMediaUploadSizeClosure = getMaxMediaUploadSizeClosure { return try await getMaxMediaUploadSizeClosure() } else { @@ -1559,59 +948,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getMediaContent open var getMediaContentMediaSourceThrowableError: Error? - open var getMediaContentMediaSourceUnderlyingCallsCount = 0 + private let getMediaContentMediaSourceCallsCountLock = NSLock() + private var getMediaContentMediaSourceUnderlyingCallsCount = 0 open var getMediaContentMediaSourceCallsCount: Int { - get { - if Thread.isMainThread { - return getMediaContentMediaSourceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getMediaContentMediaSourceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMediaContentMediaSourceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getMediaContentMediaSourceUnderlyingCallsCount = newValue - } - } - } + get { getMediaContentMediaSourceCallsCountLock.withLock { getMediaContentMediaSourceUnderlyingCallsCount } } + set { getMediaContentMediaSourceCallsCountLock.withLock { getMediaContentMediaSourceUnderlyingCallsCount = newValue } } } open var getMediaContentMediaSourceCalled: Bool { return getMediaContentMediaSourceCallsCount > 0 } - open var getMediaContentMediaSourceReceivedMediaSource: MediaSource? - open var getMediaContentMediaSourceReceivedInvocations: [MediaSource] = [] + private let getMediaContentMediaSourceReceivedMediaSourceLock = NSLock() + private var getMediaContentMediaSourceUnderlyingReceivedMediaSource: MediaSource? + open var getMediaContentMediaSourceReceivedMediaSource: MediaSource? { + get { getMediaContentMediaSourceReceivedMediaSourceLock.withLock { getMediaContentMediaSourceUnderlyingReceivedMediaSource } } + set { getMediaContentMediaSourceReceivedMediaSourceLock.withLock { getMediaContentMediaSourceUnderlyingReceivedMediaSource = newValue } } + } + private let getMediaContentMediaSourceReceivedInvocationsLock = NSLock() + private var getMediaContentMediaSourceUnderlyingReceivedInvocations: [MediaSource] = [] + open var getMediaContentMediaSourceReceivedInvocations: [MediaSource] { + get { getMediaContentMediaSourceReceivedInvocationsLock.withLock { getMediaContentMediaSourceUnderlyingReceivedInvocations } } + set { getMediaContentMediaSourceReceivedInvocationsLock.withLock { getMediaContentMediaSourceUnderlyingReceivedInvocations = newValue } } + } + private let getMediaContentMediaSourceReturnValueLock = NSLock() open var getMediaContentMediaSourceUnderlyingReturnValue: Data! open var getMediaContentMediaSourceReturnValue: Data! { - get { - if Thread.isMainThread { - return getMediaContentMediaSourceUnderlyingReturnValue - } else { - var returnValue: Data? = nil - DispatchQueue.main.sync { - returnValue = getMediaContentMediaSourceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMediaContentMediaSourceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getMediaContentMediaSourceUnderlyingReturnValue = newValue - } - } - } + get { getMediaContentMediaSourceReturnValueLock.withLock { getMediaContentMediaSourceUnderlyingReturnValue } } + set { getMediaContentMediaSourceReturnValueLock.withLock { getMediaContentMediaSourceUnderlyingReturnValue = newValue } } } open var getMediaContentMediaSourceClosure: ((MediaSource) async throws -> Data)? @@ -1619,11 +982,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getMediaContentMediaSourceThrowableError { throw error } - getMediaContentMediaSourceCallsCount += 1 + getMediaContentMediaSourceCallsCountLock.withLock { getMediaContentMediaSourceUnderlyingCallsCount += 1 } getMediaContentMediaSourceReceivedMediaSource = mediaSource - DispatchQueue.main.async { - self.getMediaContentMediaSourceReceivedInvocations.append(mediaSource) - } + getMediaContentMediaSourceReceivedInvocationsLock.withLock { getMediaContentMediaSourceUnderlyingReceivedInvocations.append(mediaSource) } if let getMediaContentMediaSourceClosure = getMediaContentMediaSourceClosure { return try await getMediaContentMediaSourceClosure(mediaSource) } else { @@ -1634,59 +995,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getMediaFile open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirThrowableError: Error? - open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount = 0 + private let getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirCallsCountLock = NSLock() + private var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount = 0 open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirCallsCount: Int { - get { - if Thread.isMainThread { - return getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount = newValue - } - } - } + get { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirCallsCountLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount } } + set { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirCallsCountLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount = newValue } } } open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirCalled: Bool { return getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirCallsCount > 0 } - open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedArguments: (mediaSource: MediaSource, filename: String?, mimeType: String, useCache: Bool, tempDir: String?)? - open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedInvocations: [(mediaSource: MediaSource, filename: String?, mimeType: String, useCache: Bool, tempDir: String?)] = [] + private let getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedArgumentsLock = NSLock() + private var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReceivedArguments: (mediaSource: MediaSource, filename: String?, mimeType: String, useCache: Bool, tempDir: String?)? + open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedArguments: (mediaSource: MediaSource, filename: String?, mimeType: String, useCache: Bool, tempDir: String?)? { + get { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedArgumentsLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReceivedArguments } } + set { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedArgumentsLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReceivedArguments = newValue } } + } + private let getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedInvocationsLock = NSLock() + private var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReceivedInvocations: [(mediaSource: MediaSource, filename: String?, mimeType: String, useCache: Bool, tempDir: String?)] = [] + open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedInvocations: [(mediaSource: MediaSource, filename: String?, mimeType: String, useCache: Bool, tempDir: String?)] { + get { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedInvocationsLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReceivedInvocations } } + set { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedInvocationsLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReceivedInvocations = newValue } } + } + private let getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReturnValueLock = NSLock() open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReturnValue: MediaFileHandle! open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReturnValue: MediaFileHandle! { - get { - if Thread.isMainThread { - return getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReturnValue - } else { - var returnValue: MediaFileHandle? = nil - DispatchQueue.main.sync { - returnValue = getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReturnValue = newValue - } - } - } + get { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReturnValueLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReturnValue } } + set { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReturnValueLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReturnValue = newValue } } } open var getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirClosure: ((MediaSource, String?, String, Bool, String?) async throws -> MediaFileHandle)? @@ -1694,11 +1029,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirThrowableError { throw error } - getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirCallsCount += 1 + getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirCallsCountLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingCallsCount += 1 } getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedArguments = (mediaSource: mediaSource, filename: filename, mimeType: mimeType, useCache: useCache, tempDir: tempDir) - DispatchQueue.main.async { - self.getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedInvocations.append((mediaSource: mediaSource, filename: filename, mimeType: mimeType, useCache: useCache, tempDir: tempDir)) - } + getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirReceivedInvocationsLock.withLock { getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirUnderlyingReceivedInvocations.append((mediaSource: mediaSource, filename: filename, mimeType: mimeType, useCache: useCache, tempDir: tempDir)) } if let getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirClosure = getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirClosure { return try await getMediaFileMediaSourceFilenameMimeTypeUseCacheTempDirClosure(mediaSource, filename, mimeType, useCache, tempDir) } else { @@ -1709,57 +1042,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getMediaPreviewDisplayPolicy open var getMediaPreviewDisplayPolicyThrowableError: Error? - open var getMediaPreviewDisplayPolicyUnderlyingCallsCount = 0 + private let getMediaPreviewDisplayPolicyCallsCountLock = NSLock() + private var getMediaPreviewDisplayPolicyUnderlyingCallsCount = 0 open var getMediaPreviewDisplayPolicyCallsCount: Int { - get { - if Thread.isMainThread { - return getMediaPreviewDisplayPolicyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getMediaPreviewDisplayPolicyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMediaPreviewDisplayPolicyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getMediaPreviewDisplayPolicyUnderlyingCallsCount = newValue - } - } - } + get { getMediaPreviewDisplayPolicyCallsCountLock.withLock { getMediaPreviewDisplayPolicyUnderlyingCallsCount } } + set { getMediaPreviewDisplayPolicyCallsCountLock.withLock { getMediaPreviewDisplayPolicyUnderlyingCallsCount = newValue } } } open var getMediaPreviewDisplayPolicyCalled: Bool { return getMediaPreviewDisplayPolicyCallsCount > 0 } + private let getMediaPreviewDisplayPolicyReturnValueLock = NSLock() open var getMediaPreviewDisplayPolicyUnderlyingReturnValue: MediaPreviews? open var getMediaPreviewDisplayPolicyReturnValue: MediaPreviews? { - get { - if Thread.isMainThread { - return getMediaPreviewDisplayPolicyUnderlyingReturnValue - } else { - var returnValue: MediaPreviews?? = nil - DispatchQueue.main.sync { - returnValue = getMediaPreviewDisplayPolicyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMediaPreviewDisplayPolicyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getMediaPreviewDisplayPolicyUnderlyingReturnValue = newValue - } - } - } + get { getMediaPreviewDisplayPolicyReturnValueLock.withLock { getMediaPreviewDisplayPolicyUnderlyingReturnValue } } + set { getMediaPreviewDisplayPolicyReturnValueLock.withLock { getMediaPreviewDisplayPolicyUnderlyingReturnValue = newValue } } } open var getMediaPreviewDisplayPolicyClosure: (() async throws -> MediaPreviews?)? @@ -1767,7 +1064,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getMediaPreviewDisplayPolicyThrowableError { throw error } - getMediaPreviewDisplayPolicyCallsCount += 1 + getMediaPreviewDisplayPolicyCallsCountLock.withLock { getMediaPreviewDisplayPolicyUnderlyingCallsCount += 1 } if let getMediaPreviewDisplayPolicyClosure = getMediaPreviewDisplayPolicyClosure { return try await getMediaPreviewDisplayPolicyClosure() } else { @@ -1778,59 +1075,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getMediaThumbnail open var getMediaThumbnailMediaSourceWidthHeightThrowableError: Error? - open var getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount = 0 + private let getMediaThumbnailMediaSourceWidthHeightCallsCountLock = NSLock() + private var getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount = 0 open var getMediaThumbnailMediaSourceWidthHeightCallsCount: Int { - get { - if Thread.isMainThread { - return getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount = newValue - } - } - } + get { getMediaThumbnailMediaSourceWidthHeightCallsCountLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount } } + set { getMediaThumbnailMediaSourceWidthHeightCallsCountLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount = newValue } } } open var getMediaThumbnailMediaSourceWidthHeightCalled: Bool { return getMediaThumbnailMediaSourceWidthHeightCallsCount > 0 } - open var getMediaThumbnailMediaSourceWidthHeightReceivedArguments: (mediaSource: MediaSource, width: UInt64, height: UInt64)? - open var getMediaThumbnailMediaSourceWidthHeightReceivedInvocations: [(mediaSource: MediaSource, width: UInt64, height: UInt64)] = [] + private let getMediaThumbnailMediaSourceWidthHeightReceivedArgumentsLock = NSLock() + private var getMediaThumbnailMediaSourceWidthHeightUnderlyingReceivedArguments: (mediaSource: MediaSource, width: UInt64, height: UInt64)? + open var getMediaThumbnailMediaSourceWidthHeightReceivedArguments: (mediaSource: MediaSource, width: UInt64, height: UInt64)? { + get { getMediaThumbnailMediaSourceWidthHeightReceivedArgumentsLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingReceivedArguments } } + set { getMediaThumbnailMediaSourceWidthHeightReceivedArgumentsLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingReceivedArguments = newValue } } + } + private let getMediaThumbnailMediaSourceWidthHeightReceivedInvocationsLock = NSLock() + private var getMediaThumbnailMediaSourceWidthHeightUnderlyingReceivedInvocations: [(mediaSource: MediaSource, width: UInt64, height: UInt64)] = [] + open var getMediaThumbnailMediaSourceWidthHeightReceivedInvocations: [(mediaSource: MediaSource, width: UInt64, height: UInt64)] { + get { getMediaThumbnailMediaSourceWidthHeightReceivedInvocationsLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingReceivedInvocations } } + set { getMediaThumbnailMediaSourceWidthHeightReceivedInvocationsLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingReceivedInvocations = newValue } } + } + private let getMediaThumbnailMediaSourceWidthHeightReturnValueLock = NSLock() open var getMediaThumbnailMediaSourceWidthHeightUnderlyingReturnValue: Data! open var getMediaThumbnailMediaSourceWidthHeightReturnValue: Data! { - get { - if Thread.isMainThread { - return getMediaThumbnailMediaSourceWidthHeightUnderlyingReturnValue - } else { - var returnValue: Data? = nil - DispatchQueue.main.sync { - returnValue = getMediaThumbnailMediaSourceWidthHeightUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getMediaThumbnailMediaSourceWidthHeightUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getMediaThumbnailMediaSourceWidthHeightUnderlyingReturnValue = newValue - } - } - } + get { getMediaThumbnailMediaSourceWidthHeightReturnValueLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingReturnValue } } + set { getMediaThumbnailMediaSourceWidthHeightReturnValueLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingReturnValue = newValue } } } open var getMediaThumbnailMediaSourceWidthHeightClosure: ((MediaSource, UInt64, UInt64) async throws -> Data)? @@ -1838,11 +1109,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getMediaThumbnailMediaSourceWidthHeightThrowableError { throw error } - getMediaThumbnailMediaSourceWidthHeightCallsCount += 1 + getMediaThumbnailMediaSourceWidthHeightCallsCountLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingCallsCount += 1 } getMediaThumbnailMediaSourceWidthHeightReceivedArguments = (mediaSource: mediaSource, width: width, height: height) - DispatchQueue.main.async { - self.getMediaThumbnailMediaSourceWidthHeightReceivedInvocations.append((mediaSource: mediaSource, width: width, height: height)) - } + getMediaThumbnailMediaSourceWidthHeightReceivedInvocationsLock.withLock { getMediaThumbnailMediaSourceWidthHeightUnderlyingReceivedInvocations.append((mediaSource: mediaSource, width: width, height: height)) } if let getMediaThumbnailMediaSourceWidthHeightClosure = getMediaThumbnailMediaSourceWidthHeightClosure { return try await getMediaThumbnailMediaSourceWidthHeightClosure(mediaSource, width, height) } else { @@ -1852,62 +1121,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getNotificationSettings - open var getNotificationSettingsUnderlyingCallsCount = 0 + private let getNotificationSettingsCallsCountLock = NSLock() + private var getNotificationSettingsUnderlyingCallsCount = 0 open var getNotificationSettingsCallsCount: Int { - get { - if Thread.isMainThread { - return getNotificationSettingsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getNotificationSettingsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getNotificationSettingsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getNotificationSettingsUnderlyingCallsCount = newValue - } - } - } + get { getNotificationSettingsCallsCountLock.withLock { getNotificationSettingsUnderlyingCallsCount } } + set { getNotificationSettingsCallsCountLock.withLock { getNotificationSettingsUnderlyingCallsCount = newValue } } } open var getNotificationSettingsCalled: Bool { return getNotificationSettingsCallsCount > 0 } + private let getNotificationSettingsReturnValueLock = NSLock() open var getNotificationSettingsUnderlyingReturnValue: NotificationSettings! open var getNotificationSettingsReturnValue: NotificationSettings! { - get { - if Thread.isMainThread { - return getNotificationSettingsUnderlyingReturnValue - } else { - var returnValue: NotificationSettings? = nil - DispatchQueue.main.sync { - returnValue = getNotificationSettingsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getNotificationSettingsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getNotificationSettingsUnderlyingReturnValue = newValue - } - } - } + get { getNotificationSettingsReturnValueLock.withLock { getNotificationSettingsUnderlyingReturnValue } } + set { getNotificationSettingsReturnValueLock.withLock { getNotificationSettingsUnderlyingReturnValue = newValue } } } open var getNotificationSettingsClosure: (() async -> NotificationSettings)? open override func getNotificationSettings() async -> NotificationSettings { - getNotificationSettingsCallsCount += 1 + getNotificationSettingsCallsCountLock.withLock { getNotificationSettingsUnderlyingCallsCount += 1 } if let getNotificationSettingsClosure = getNotificationSettingsClosure { return await getNotificationSettingsClosure() } else { @@ -1918,59 +1151,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getProfile open var getProfileUserIdThrowableError: Error? - open var getProfileUserIdUnderlyingCallsCount = 0 + private let getProfileUserIdCallsCountLock = NSLock() + private var getProfileUserIdUnderlyingCallsCount = 0 open var getProfileUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return getProfileUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getProfileUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getProfileUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getProfileUserIdUnderlyingCallsCount = newValue - } - } - } + get { getProfileUserIdCallsCountLock.withLock { getProfileUserIdUnderlyingCallsCount } } + set { getProfileUserIdCallsCountLock.withLock { getProfileUserIdUnderlyingCallsCount = newValue } } } open var getProfileUserIdCalled: Bool { return getProfileUserIdCallsCount > 0 } - open var getProfileUserIdReceivedUserId: String? - open var getProfileUserIdReceivedInvocations: [String] = [] + private let getProfileUserIdReceivedUserIdLock = NSLock() + private var getProfileUserIdUnderlyingReceivedUserId: String? + open var getProfileUserIdReceivedUserId: String? { + get { getProfileUserIdReceivedUserIdLock.withLock { getProfileUserIdUnderlyingReceivedUserId } } + set { getProfileUserIdReceivedUserIdLock.withLock { getProfileUserIdUnderlyingReceivedUserId = newValue } } + } + private let getProfileUserIdReceivedInvocationsLock = NSLock() + private var getProfileUserIdUnderlyingReceivedInvocations: [String] = [] + open var getProfileUserIdReceivedInvocations: [String] { + get { getProfileUserIdReceivedInvocationsLock.withLock { getProfileUserIdUnderlyingReceivedInvocations } } + set { getProfileUserIdReceivedInvocationsLock.withLock { getProfileUserIdUnderlyingReceivedInvocations = newValue } } + } + private let getProfileUserIdReturnValueLock = NSLock() open var getProfileUserIdUnderlyingReturnValue: UserProfile! open var getProfileUserIdReturnValue: UserProfile! { - get { - if Thread.isMainThread { - return getProfileUserIdUnderlyingReturnValue - } else { - var returnValue: UserProfile? = nil - DispatchQueue.main.sync { - returnValue = getProfileUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getProfileUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getProfileUserIdUnderlyingReturnValue = newValue - } - } - } + get { getProfileUserIdReturnValueLock.withLock { getProfileUserIdUnderlyingReturnValue } } + set { getProfileUserIdReturnValueLock.withLock { getProfileUserIdUnderlyingReturnValue = newValue } } } open var getProfileUserIdClosure: ((String) async throws -> UserProfile)? @@ -1978,11 +1185,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getProfileUserIdThrowableError { throw error } - getProfileUserIdCallsCount += 1 + getProfileUserIdCallsCountLock.withLock { getProfileUserIdUnderlyingCallsCount += 1 } getProfileUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.getProfileUserIdReceivedInvocations.append(userId) - } + getProfileUserIdReceivedInvocationsLock.withLock { getProfileUserIdUnderlyingReceivedInvocations.append(userId) } if let getProfileUserIdClosure = getProfileUserIdClosure { return try await getProfileUserIdClosure(userId) } else { @@ -1993,57 +1198,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getRecentlyVisitedRooms open var getRecentlyVisitedRoomsThrowableError: Error? - open var getRecentlyVisitedRoomsUnderlyingCallsCount = 0 + private let getRecentlyVisitedRoomsCallsCountLock = NSLock() + private var getRecentlyVisitedRoomsUnderlyingCallsCount = 0 open var getRecentlyVisitedRoomsCallsCount: Int { - get { - if Thread.isMainThread { - return getRecentlyVisitedRoomsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRecentlyVisitedRoomsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRecentlyVisitedRoomsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRecentlyVisitedRoomsUnderlyingCallsCount = newValue - } - } - } + get { getRecentlyVisitedRoomsCallsCountLock.withLock { getRecentlyVisitedRoomsUnderlyingCallsCount } } + set { getRecentlyVisitedRoomsCallsCountLock.withLock { getRecentlyVisitedRoomsUnderlyingCallsCount = newValue } } } open var getRecentlyVisitedRoomsCalled: Bool { return getRecentlyVisitedRoomsCallsCount > 0 } + private let getRecentlyVisitedRoomsReturnValueLock = NSLock() open var getRecentlyVisitedRoomsUnderlyingReturnValue: [String]! open var getRecentlyVisitedRoomsReturnValue: [String]! { - get { - if Thread.isMainThread { - return getRecentlyVisitedRoomsUnderlyingReturnValue - } else { - var returnValue: [String]? = nil - DispatchQueue.main.sync { - returnValue = getRecentlyVisitedRoomsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRecentlyVisitedRoomsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRecentlyVisitedRoomsUnderlyingReturnValue = newValue - } - } - } + get { getRecentlyVisitedRoomsReturnValueLock.withLock { getRecentlyVisitedRoomsUnderlyingReturnValue } } + set { getRecentlyVisitedRoomsReturnValueLock.withLock { getRecentlyVisitedRoomsUnderlyingReturnValue = newValue } } } open var getRecentlyVisitedRoomsClosure: (() async throws -> [String])? @@ -2051,7 +1220,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getRecentlyVisitedRoomsThrowableError { throw error } - getRecentlyVisitedRoomsCallsCount += 1 + getRecentlyVisitedRoomsCallsCountLock.withLock { getRecentlyVisitedRoomsUnderlyingCallsCount += 1 } if let getRecentlyVisitedRoomsClosure = getRecentlyVisitedRoomsClosure { return try await getRecentlyVisitedRoomsClosure() } else { @@ -2062,59 +1231,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getRoom open var getRoomRoomIdThrowableError: Error? - open var getRoomRoomIdUnderlyingCallsCount = 0 + private let getRoomRoomIdCallsCountLock = NSLock() + private var getRoomRoomIdUnderlyingCallsCount = 0 open var getRoomRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return getRoomRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRoomRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRoomRoomIdUnderlyingCallsCount = newValue - } - } - } + get { getRoomRoomIdCallsCountLock.withLock { getRoomRoomIdUnderlyingCallsCount } } + set { getRoomRoomIdCallsCountLock.withLock { getRoomRoomIdUnderlyingCallsCount = newValue } } } open var getRoomRoomIdCalled: Bool { return getRoomRoomIdCallsCount > 0 } - open var getRoomRoomIdReceivedRoomId: String? - open var getRoomRoomIdReceivedInvocations: [String] = [] + private let getRoomRoomIdReceivedRoomIdLock = NSLock() + private var getRoomRoomIdUnderlyingReceivedRoomId: String? + open var getRoomRoomIdReceivedRoomId: String? { + get { getRoomRoomIdReceivedRoomIdLock.withLock { getRoomRoomIdUnderlyingReceivedRoomId } } + set { getRoomRoomIdReceivedRoomIdLock.withLock { getRoomRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let getRoomRoomIdReceivedInvocationsLock = NSLock() + private var getRoomRoomIdUnderlyingReceivedInvocations: [String] = [] + open var getRoomRoomIdReceivedInvocations: [String] { + get { getRoomRoomIdReceivedInvocationsLock.withLock { getRoomRoomIdUnderlyingReceivedInvocations } } + set { getRoomRoomIdReceivedInvocationsLock.withLock { getRoomRoomIdUnderlyingReceivedInvocations = newValue } } + } + private let getRoomRoomIdReturnValueLock = NSLock() open var getRoomRoomIdUnderlyingReturnValue: Room? open var getRoomRoomIdReturnValue: Room? { - get { - if Thread.isMainThread { - return getRoomRoomIdUnderlyingReturnValue - } else { - var returnValue: Room?? = nil - DispatchQueue.main.sync { - returnValue = getRoomRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRoomRoomIdUnderlyingReturnValue = newValue - } - } - } + get { getRoomRoomIdReturnValueLock.withLock { getRoomRoomIdUnderlyingReturnValue } } + set { getRoomRoomIdReturnValueLock.withLock { getRoomRoomIdUnderlyingReturnValue = newValue } } } open var getRoomRoomIdClosure: ((String) throws -> Room?)? @@ -2122,11 +1265,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getRoomRoomIdThrowableError { throw error } - getRoomRoomIdCallsCount += 1 + getRoomRoomIdCallsCountLock.withLock { getRoomRoomIdUnderlyingCallsCount += 1 } getRoomRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.getRoomRoomIdReceivedInvocations.append(roomId) - } + getRoomRoomIdReceivedInvocationsLock.withLock { getRoomRoomIdUnderlyingReceivedInvocations.append(roomId) } if let getRoomRoomIdClosure = getRoomRoomIdClosure { return try getRoomRoomIdClosure(roomId) } else { @@ -2137,59 +1278,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getRoomPreviewFromRoomAlias open var getRoomPreviewFromRoomAliasRoomAliasThrowableError: Error? - open var getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount = 0 + private let getRoomPreviewFromRoomAliasRoomAliasCallsCountLock = NSLock() + private var getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount = 0 open var getRoomPreviewFromRoomAliasRoomAliasCallsCount: Int { - get { - if Thread.isMainThread { - return getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount = newValue - } - } - } + get { getRoomPreviewFromRoomAliasRoomAliasCallsCountLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount } } + set { getRoomPreviewFromRoomAliasRoomAliasCallsCountLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount = newValue } } } open var getRoomPreviewFromRoomAliasRoomAliasCalled: Bool { return getRoomPreviewFromRoomAliasRoomAliasCallsCount > 0 } - open var getRoomPreviewFromRoomAliasRoomAliasReceivedRoomAlias: String? - open var getRoomPreviewFromRoomAliasRoomAliasReceivedInvocations: [String] = [] + private let getRoomPreviewFromRoomAliasRoomAliasReceivedRoomAliasLock = NSLock() + private var getRoomPreviewFromRoomAliasRoomAliasUnderlyingReceivedRoomAlias: String? + open var getRoomPreviewFromRoomAliasRoomAliasReceivedRoomAlias: String? { + get { getRoomPreviewFromRoomAliasRoomAliasReceivedRoomAliasLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingReceivedRoomAlias } } + set { getRoomPreviewFromRoomAliasRoomAliasReceivedRoomAliasLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingReceivedRoomAlias = newValue } } + } + private let getRoomPreviewFromRoomAliasRoomAliasReceivedInvocationsLock = NSLock() + private var getRoomPreviewFromRoomAliasRoomAliasUnderlyingReceivedInvocations: [String] = [] + open var getRoomPreviewFromRoomAliasRoomAliasReceivedInvocations: [String] { + get { getRoomPreviewFromRoomAliasRoomAliasReceivedInvocationsLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingReceivedInvocations } } + set { getRoomPreviewFromRoomAliasRoomAliasReceivedInvocationsLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingReceivedInvocations = newValue } } + } + private let getRoomPreviewFromRoomAliasRoomAliasReturnValueLock = NSLock() open var getRoomPreviewFromRoomAliasRoomAliasUnderlyingReturnValue: RoomPreview! open var getRoomPreviewFromRoomAliasRoomAliasReturnValue: RoomPreview! { - get { - if Thread.isMainThread { - return getRoomPreviewFromRoomAliasRoomAliasUnderlyingReturnValue - } else { - var returnValue: RoomPreview? = nil - DispatchQueue.main.sync { - returnValue = getRoomPreviewFromRoomAliasRoomAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomPreviewFromRoomAliasRoomAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRoomPreviewFromRoomAliasRoomAliasUnderlyingReturnValue = newValue - } - } - } + get { getRoomPreviewFromRoomAliasRoomAliasReturnValueLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingReturnValue } } + set { getRoomPreviewFromRoomAliasRoomAliasReturnValueLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingReturnValue = newValue } } } open var getRoomPreviewFromRoomAliasRoomAliasClosure: ((String) async throws -> RoomPreview)? @@ -2197,11 +1312,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getRoomPreviewFromRoomAliasRoomAliasThrowableError { throw error } - getRoomPreviewFromRoomAliasRoomAliasCallsCount += 1 + getRoomPreviewFromRoomAliasRoomAliasCallsCountLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingCallsCount += 1 } getRoomPreviewFromRoomAliasRoomAliasReceivedRoomAlias = roomAlias - DispatchQueue.main.async { - self.getRoomPreviewFromRoomAliasRoomAliasReceivedInvocations.append(roomAlias) - } + getRoomPreviewFromRoomAliasRoomAliasReceivedInvocationsLock.withLock { getRoomPreviewFromRoomAliasRoomAliasUnderlyingReceivedInvocations.append(roomAlias) } if let getRoomPreviewFromRoomAliasRoomAliasClosure = getRoomPreviewFromRoomAliasRoomAliasClosure { return try await getRoomPreviewFromRoomAliasRoomAliasClosure(roomAlias) } else { @@ -2212,59 +1325,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getRoomPreviewFromRoomId open var getRoomPreviewFromRoomIdRoomIdViaServersThrowableError: Error? - open var getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount = 0 + private let getRoomPreviewFromRoomIdRoomIdViaServersCallsCountLock = NSLock() + private var getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount = 0 open var getRoomPreviewFromRoomIdRoomIdViaServersCallsCount: Int { - get { - if Thread.isMainThread { - return getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount = newValue - } - } - } + get { getRoomPreviewFromRoomIdRoomIdViaServersCallsCountLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount } } + set { getRoomPreviewFromRoomIdRoomIdViaServersCallsCountLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount = newValue } } } open var getRoomPreviewFromRoomIdRoomIdViaServersCalled: Bool { return getRoomPreviewFromRoomIdRoomIdViaServersCallsCount > 0 } - open var getRoomPreviewFromRoomIdRoomIdViaServersReceivedArguments: (roomId: String, viaServers: [String])? - open var getRoomPreviewFromRoomIdRoomIdViaServersReceivedInvocations: [(roomId: String, viaServers: [String])] = [] + private let getRoomPreviewFromRoomIdRoomIdViaServersReceivedArgumentsLock = NSLock() + private var getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReceivedArguments: (roomId: String, viaServers: [String])? + open var getRoomPreviewFromRoomIdRoomIdViaServersReceivedArguments: (roomId: String, viaServers: [String])? { + get { getRoomPreviewFromRoomIdRoomIdViaServersReceivedArgumentsLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReceivedArguments } } + set { getRoomPreviewFromRoomIdRoomIdViaServersReceivedArgumentsLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReceivedArguments = newValue } } + } + private let getRoomPreviewFromRoomIdRoomIdViaServersReceivedInvocationsLock = NSLock() + private var getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReceivedInvocations: [(roomId: String, viaServers: [String])] = [] + open var getRoomPreviewFromRoomIdRoomIdViaServersReceivedInvocations: [(roomId: String, viaServers: [String])] { + get { getRoomPreviewFromRoomIdRoomIdViaServersReceivedInvocationsLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReceivedInvocations } } + set { getRoomPreviewFromRoomIdRoomIdViaServersReceivedInvocationsLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReceivedInvocations = newValue } } + } + private let getRoomPreviewFromRoomIdRoomIdViaServersReturnValueLock = NSLock() open var getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReturnValue: RoomPreview! open var getRoomPreviewFromRoomIdRoomIdViaServersReturnValue: RoomPreview! { - get { - if Thread.isMainThread { - return getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReturnValue - } else { - var returnValue: RoomPreview? = nil - DispatchQueue.main.sync { - returnValue = getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReturnValue = newValue - } - } - } + get { getRoomPreviewFromRoomIdRoomIdViaServersReturnValueLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReturnValue } } + set { getRoomPreviewFromRoomIdRoomIdViaServersReturnValueLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReturnValue = newValue } } } open var getRoomPreviewFromRoomIdRoomIdViaServersClosure: ((String, [String]) async throws -> RoomPreview)? @@ -2272,11 +1359,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getRoomPreviewFromRoomIdRoomIdViaServersThrowableError { throw error } - getRoomPreviewFromRoomIdRoomIdViaServersCallsCount += 1 + getRoomPreviewFromRoomIdRoomIdViaServersCallsCountLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingCallsCount += 1 } getRoomPreviewFromRoomIdRoomIdViaServersReceivedArguments = (roomId: roomId, viaServers: viaServers) - DispatchQueue.main.async { - self.getRoomPreviewFromRoomIdRoomIdViaServersReceivedInvocations.append((roomId: roomId, viaServers: viaServers)) - } + getRoomPreviewFromRoomIdRoomIdViaServersReceivedInvocationsLock.withLock { getRoomPreviewFromRoomIdRoomIdViaServersUnderlyingReceivedInvocations.append((roomId: roomId, viaServers: viaServers)) } if let getRoomPreviewFromRoomIdRoomIdViaServersClosure = getRoomPreviewFromRoomIdRoomIdViaServersClosure { return try await getRoomPreviewFromRoomIdRoomIdViaServersClosure(roomId, viaServers) } else { @@ -2287,57 +1372,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getSessionVerificationController open var getSessionVerificationControllerThrowableError: Error? - open var getSessionVerificationControllerUnderlyingCallsCount = 0 + private let getSessionVerificationControllerCallsCountLock = NSLock() + private var getSessionVerificationControllerUnderlyingCallsCount = 0 open var getSessionVerificationControllerCallsCount: Int { - get { - if Thread.isMainThread { - return getSessionVerificationControllerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getSessionVerificationControllerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getSessionVerificationControllerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getSessionVerificationControllerUnderlyingCallsCount = newValue - } - } - } + get { getSessionVerificationControllerCallsCountLock.withLock { getSessionVerificationControllerUnderlyingCallsCount } } + set { getSessionVerificationControllerCallsCountLock.withLock { getSessionVerificationControllerUnderlyingCallsCount = newValue } } } open var getSessionVerificationControllerCalled: Bool { return getSessionVerificationControllerCallsCount > 0 } + private let getSessionVerificationControllerReturnValueLock = NSLock() open var getSessionVerificationControllerUnderlyingReturnValue: SessionVerificationController! open var getSessionVerificationControllerReturnValue: SessionVerificationController! { - get { - if Thread.isMainThread { - return getSessionVerificationControllerUnderlyingReturnValue - } else { - var returnValue: SessionVerificationController? = nil - DispatchQueue.main.sync { - returnValue = getSessionVerificationControllerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getSessionVerificationControllerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getSessionVerificationControllerUnderlyingReturnValue = newValue - } - } - } + get { getSessionVerificationControllerReturnValueLock.withLock { getSessionVerificationControllerUnderlyingReturnValue } } + set { getSessionVerificationControllerReturnValueLock.withLock { getSessionVerificationControllerUnderlyingReturnValue = newValue } } } open var getSessionVerificationControllerClosure: (() async throws -> SessionVerificationController)? @@ -2345,7 +1394,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getSessionVerificationControllerThrowableError { throw error } - getSessionVerificationControllerCallsCount += 1 + getSessionVerificationControllerCallsCountLock.withLock { getSessionVerificationControllerUnderlyingCallsCount += 1 } if let getSessionVerificationControllerClosure = getSessionVerificationControllerClosure { return try await getSessionVerificationControllerClosure() } else { @@ -2356,57 +1405,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getStoreSizes open var getStoreSizesThrowableError: Error? - open var getStoreSizesUnderlyingCallsCount = 0 + private let getStoreSizesCallsCountLock = NSLock() + private var getStoreSizesUnderlyingCallsCount = 0 open var getStoreSizesCallsCount: Int { - get { - if Thread.isMainThread { - return getStoreSizesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getStoreSizesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getStoreSizesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getStoreSizesUnderlyingCallsCount = newValue - } - } - } + get { getStoreSizesCallsCountLock.withLock { getStoreSizesUnderlyingCallsCount } } + set { getStoreSizesCallsCountLock.withLock { getStoreSizesUnderlyingCallsCount = newValue } } } open var getStoreSizesCalled: Bool { return getStoreSizesCallsCount > 0 } + private let getStoreSizesReturnValueLock = NSLock() open var getStoreSizesUnderlyingReturnValue: StoreSizes! open var getStoreSizesReturnValue: StoreSizes! { - get { - if Thread.isMainThread { - return getStoreSizesUnderlyingReturnValue - } else { - var returnValue: StoreSizes? = nil - DispatchQueue.main.sync { - returnValue = getStoreSizesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getStoreSizesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getStoreSizesUnderlyingReturnValue = newValue - } - } - } + get { getStoreSizesReturnValueLock.withLock { getStoreSizesUnderlyingReturnValue } } + set { getStoreSizesReturnValueLock.withLock { getStoreSizesUnderlyingReturnValue = newValue } } } open var getStoreSizesClosure: (() async throws -> StoreSizes)? @@ -2414,7 +1427,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getStoreSizesThrowableError { throw error } - getStoreSizesCallsCount += 1 + getStoreSizesCallsCountLock.withLock { getStoreSizesUnderlyingCallsCount += 1 } if let getStoreSizesClosure = getStoreSizesClosure { return try await getStoreSizesClosure() } else { @@ -2425,59 +1438,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - getUrl open var getUrlUrlThrowableError: Error? - open var getUrlUrlUnderlyingCallsCount = 0 + private let getUrlUrlCallsCountLock = NSLock() + private var getUrlUrlUnderlyingCallsCount = 0 open var getUrlUrlCallsCount: Int { - get { - if Thread.isMainThread { - return getUrlUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getUrlUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getUrlUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getUrlUrlUnderlyingCallsCount = newValue - } - } - } + get { getUrlUrlCallsCountLock.withLock { getUrlUrlUnderlyingCallsCount } } + set { getUrlUrlCallsCountLock.withLock { getUrlUrlUnderlyingCallsCount = newValue } } } open var getUrlUrlCalled: Bool { return getUrlUrlCallsCount > 0 } - open var getUrlUrlReceivedUrl: String? - open var getUrlUrlReceivedInvocations: [String] = [] + private let getUrlUrlReceivedUrlLock = NSLock() + private var getUrlUrlUnderlyingReceivedUrl: String? + open var getUrlUrlReceivedUrl: String? { + get { getUrlUrlReceivedUrlLock.withLock { getUrlUrlUnderlyingReceivedUrl } } + set { getUrlUrlReceivedUrlLock.withLock { getUrlUrlUnderlyingReceivedUrl = newValue } } + } + private let getUrlUrlReceivedInvocationsLock = NSLock() + private var getUrlUrlUnderlyingReceivedInvocations: [String] = [] + open var getUrlUrlReceivedInvocations: [String] { + get { getUrlUrlReceivedInvocationsLock.withLock { getUrlUrlUnderlyingReceivedInvocations } } + set { getUrlUrlReceivedInvocationsLock.withLock { getUrlUrlUnderlyingReceivedInvocations = newValue } } + } + private let getUrlUrlReturnValueLock = NSLock() open var getUrlUrlUnderlyingReturnValue: Data! open var getUrlUrlReturnValue: Data! { - get { - if Thread.isMainThread { - return getUrlUrlUnderlyingReturnValue - } else { - var returnValue: Data? = nil - DispatchQueue.main.sync { - returnValue = getUrlUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getUrlUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getUrlUrlUnderlyingReturnValue = newValue - } - } - } + get { getUrlUrlReturnValueLock.withLock { getUrlUrlUnderlyingReturnValue } } + set { getUrlUrlReturnValueLock.withLock { getUrlUrlUnderlyingReturnValue = newValue } } } open var getUrlUrlClosure: ((String) async throws -> Data)? @@ -2485,11 +1472,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getUrlUrlThrowableError { throw error } - getUrlUrlCallsCount += 1 + getUrlUrlCallsCountLock.withLock { getUrlUrlUnderlyingCallsCount += 1 } getUrlUrlReceivedUrl = url - DispatchQueue.main.async { - self.getUrlUrlReceivedInvocations.append(url) - } + getUrlUrlReceivedInvocationsLock.withLock { getUrlUrlUnderlyingReceivedInvocations.append(url) } if let getUrlUrlClosure = getUrlUrlClosure { return try await getUrlUrlClosure(url) } else { @@ -2499,62 +1484,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - homeserver - open var homeserverUnderlyingCallsCount = 0 + private let homeserverCallsCountLock = NSLock() + private var homeserverUnderlyingCallsCount = 0 open var homeserverCallsCount: Int { - get { - if Thread.isMainThread { - return homeserverUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = homeserverUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - homeserverUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - homeserverUnderlyingCallsCount = newValue - } - } - } + get { homeserverCallsCountLock.withLock { homeserverUnderlyingCallsCount } } + set { homeserverCallsCountLock.withLock { homeserverUnderlyingCallsCount = newValue } } } open var homeserverCalled: Bool { return homeserverCallsCount > 0 } + private let homeserverReturnValueLock = NSLock() open var homeserverUnderlyingReturnValue: String! open var homeserverReturnValue: String! { - get { - if Thread.isMainThread { - return homeserverUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = homeserverUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - homeserverUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - homeserverUnderlyingReturnValue = newValue - } - } - } + get { homeserverReturnValueLock.withLock { homeserverUnderlyingReturnValue } } + set { homeserverReturnValueLock.withLock { homeserverUnderlyingReturnValue = newValue } } } open var homeserverClosure: (() -> String)? open override func homeserver() -> String { - homeserverCallsCount += 1 + homeserverCallsCountLock.withLock { homeserverUnderlyingCallsCount += 1 } if let homeserverClosure = homeserverClosure { return homeserverClosure() } else { @@ -2564,62 +1513,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - homeserverCapabilities - open var homeserverCapabilitiesUnderlyingCallsCount = 0 + private let homeserverCapabilitiesCallsCountLock = NSLock() + private var homeserverCapabilitiesUnderlyingCallsCount = 0 open var homeserverCapabilitiesCallsCount: Int { - get { - if Thread.isMainThread { - return homeserverCapabilitiesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = homeserverCapabilitiesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - homeserverCapabilitiesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - homeserverCapabilitiesUnderlyingCallsCount = newValue - } - } - } + get { homeserverCapabilitiesCallsCountLock.withLock { homeserverCapabilitiesUnderlyingCallsCount } } + set { homeserverCapabilitiesCallsCountLock.withLock { homeserverCapabilitiesUnderlyingCallsCount = newValue } } } open var homeserverCapabilitiesCalled: Bool { return homeserverCapabilitiesCallsCount > 0 } + private let homeserverCapabilitiesReturnValueLock = NSLock() open var homeserverCapabilitiesUnderlyingReturnValue: HomeserverCapabilities! open var homeserverCapabilitiesReturnValue: HomeserverCapabilities! { - get { - if Thread.isMainThread { - return homeserverCapabilitiesUnderlyingReturnValue - } else { - var returnValue: HomeserverCapabilities? = nil - DispatchQueue.main.sync { - returnValue = homeserverCapabilitiesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - homeserverCapabilitiesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - homeserverCapabilitiesUnderlyingReturnValue = newValue - } - } - } + get { homeserverCapabilitiesReturnValueLock.withLock { homeserverCapabilitiesUnderlyingReturnValue } } + set { homeserverCapabilitiesReturnValueLock.withLock { homeserverCapabilitiesUnderlyingReturnValue = newValue } } } open var homeserverCapabilitiesClosure: (() -> HomeserverCapabilities)? open override func homeserverCapabilities() -> HomeserverCapabilities { - homeserverCapabilitiesCallsCount += 1 + homeserverCapabilitiesCallsCountLock.withLock { homeserverCapabilitiesUnderlyingCallsCount += 1 } if let homeserverCapabilitiesClosure = homeserverCapabilitiesClosure { return homeserverCapabilitiesClosure() } else { @@ -2629,62 +1542,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - homeserverLoginDetails - open var homeserverLoginDetailsUnderlyingCallsCount = 0 + private let homeserverLoginDetailsCallsCountLock = NSLock() + private var homeserverLoginDetailsUnderlyingCallsCount = 0 open var homeserverLoginDetailsCallsCount: Int { - get { - if Thread.isMainThread { - return homeserverLoginDetailsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = homeserverLoginDetailsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - homeserverLoginDetailsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - homeserverLoginDetailsUnderlyingCallsCount = newValue - } - } - } + get { homeserverLoginDetailsCallsCountLock.withLock { homeserverLoginDetailsUnderlyingCallsCount } } + set { homeserverLoginDetailsCallsCountLock.withLock { homeserverLoginDetailsUnderlyingCallsCount = newValue } } } open var homeserverLoginDetailsCalled: Bool { return homeserverLoginDetailsCallsCount > 0 } + private let homeserverLoginDetailsReturnValueLock = NSLock() open var homeserverLoginDetailsUnderlyingReturnValue: HomeserverLoginDetails! open var homeserverLoginDetailsReturnValue: HomeserverLoginDetails! { - get { - if Thread.isMainThread { - return homeserverLoginDetailsUnderlyingReturnValue - } else { - var returnValue: HomeserverLoginDetails? = nil - DispatchQueue.main.sync { - returnValue = homeserverLoginDetailsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - homeserverLoginDetailsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - homeserverLoginDetailsUnderlyingReturnValue = newValue - } - } - } + get { homeserverLoginDetailsReturnValueLock.withLock { homeserverLoginDetailsUnderlyingReturnValue } } + set { homeserverLoginDetailsReturnValueLock.withLock { homeserverLoginDetailsUnderlyingReturnValue = newValue } } } open var homeserverLoginDetailsClosure: (() async -> HomeserverLoginDetails)? open override func homeserverLoginDetails() async -> HomeserverLoginDetails { - homeserverLoginDetailsCallsCount += 1 + homeserverLoginDetailsCallsCountLock.withLock { homeserverLoginDetailsUnderlyingCallsCount += 1 } if let homeserverLoginDetailsClosure = homeserverLoginDetailsClosure { return await homeserverLoginDetailsClosure() } else { @@ -2695,103 +1572,57 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - ignoreUser open var ignoreUserUserIdThrowableError: Error? - open var ignoreUserUserIdUnderlyingCallsCount = 0 + private let ignoreUserUserIdCallsCountLock = NSLock() + private var ignoreUserUserIdUnderlyingCallsCount = 0 open var ignoreUserUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return ignoreUserUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ignoreUserUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoreUserUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ignoreUserUserIdUnderlyingCallsCount = newValue - } - } - } + get { ignoreUserUserIdCallsCountLock.withLock { ignoreUserUserIdUnderlyingCallsCount } } + set { ignoreUserUserIdCallsCountLock.withLock { ignoreUserUserIdUnderlyingCallsCount = newValue } } } open var ignoreUserUserIdCalled: Bool { return ignoreUserUserIdCallsCount > 0 } - open var ignoreUserUserIdReceivedUserId: String? - open var ignoreUserUserIdReceivedInvocations: [String] = [] + private let ignoreUserUserIdReceivedUserIdLock = NSLock() + private var ignoreUserUserIdUnderlyingReceivedUserId: String? + open var ignoreUserUserIdReceivedUserId: String? { + get { ignoreUserUserIdReceivedUserIdLock.withLock { ignoreUserUserIdUnderlyingReceivedUserId } } + set { ignoreUserUserIdReceivedUserIdLock.withLock { ignoreUserUserIdUnderlyingReceivedUserId = newValue } } + } + private let ignoreUserUserIdReceivedInvocationsLock = NSLock() + private var ignoreUserUserIdUnderlyingReceivedInvocations: [String] = [] + open var ignoreUserUserIdReceivedInvocations: [String] { + get { ignoreUserUserIdReceivedInvocationsLock.withLock { ignoreUserUserIdUnderlyingReceivedInvocations } } + set { ignoreUserUserIdReceivedInvocationsLock.withLock { ignoreUserUserIdUnderlyingReceivedInvocations = newValue } } + } open var ignoreUserUserIdClosure: ((String) async throws -> Void)? open override func ignoreUser(userId: String) async throws { if let error = ignoreUserUserIdThrowableError { throw error } - ignoreUserUserIdCallsCount += 1 + ignoreUserUserIdCallsCountLock.withLock { ignoreUserUserIdUnderlyingCallsCount += 1 } ignoreUserUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.ignoreUserUserIdReceivedInvocations.append(userId) - } + ignoreUserUserIdReceivedInvocationsLock.withLock { ignoreUserUserIdUnderlyingReceivedInvocations.append(userId) } try await ignoreUserUserIdClosure?(userId) } //MARK: - ignoredUsers open var ignoredUsersThrowableError: Error? - open var ignoredUsersUnderlyingCallsCount = 0 + private let ignoredUsersCallsCountLock = NSLock() + private var ignoredUsersUnderlyingCallsCount = 0 open var ignoredUsersCallsCount: Int { - get { - if Thread.isMainThread { - return ignoredUsersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ignoredUsersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoredUsersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ignoredUsersUnderlyingCallsCount = newValue - } - } - } + get { ignoredUsersCallsCountLock.withLock { ignoredUsersUnderlyingCallsCount } } + set { ignoredUsersCallsCountLock.withLock { ignoredUsersUnderlyingCallsCount = newValue } } } open var ignoredUsersCalled: Bool { return ignoredUsersCallsCount > 0 } + private let ignoredUsersReturnValueLock = NSLock() open var ignoredUsersUnderlyingReturnValue: [String]! open var ignoredUsersReturnValue: [String]! { - get { - if Thread.isMainThread { - return ignoredUsersUnderlyingReturnValue - } else { - var returnValue: [String]? = nil - DispatchQueue.main.sync { - returnValue = ignoredUsersUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoredUsersUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - ignoredUsersUnderlyingReturnValue = newValue - } - } - } + get { ignoredUsersReturnValueLock.withLock { ignoredUsersUnderlyingReturnValue } } + set { ignoredUsersReturnValueLock.withLock { ignoredUsersUnderlyingReturnValue = newValue } } } open var ignoredUsersClosure: (() async throws -> [String])? @@ -2799,7 +1630,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = ignoredUsersThrowableError { throw error } - ignoredUsersCallsCount += 1 + ignoredUsersCallsCountLock.withLock { ignoredUsersUnderlyingCallsCount += 1 } if let ignoredUsersClosure = ignoredUsersClosure { return try await ignoredUsersClosure() } else { @@ -2810,57 +1641,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - isLivekitRtcSupported open var isLivekitRtcSupportedThrowableError: Error? - open var isLivekitRtcSupportedUnderlyingCallsCount = 0 + private let isLivekitRtcSupportedCallsCountLock = NSLock() + private var isLivekitRtcSupportedUnderlyingCallsCount = 0 open var isLivekitRtcSupportedCallsCount: Int { - get { - if Thread.isMainThread { - return isLivekitRtcSupportedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isLivekitRtcSupportedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isLivekitRtcSupportedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isLivekitRtcSupportedUnderlyingCallsCount = newValue - } - } - } + get { isLivekitRtcSupportedCallsCountLock.withLock { isLivekitRtcSupportedUnderlyingCallsCount } } + set { isLivekitRtcSupportedCallsCountLock.withLock { isLivekitRtcSupportedUnderlyingCallsCount = newValue } } } open var isLivekitRtcSupportedCalled: Bool { return isLivekitRtcSupportedCallsCount > 0 } + private let isLivekitRtcSupportedReturnValueLock = NSLock() open var isLivekitRtcSupportedUnderlyingReturnValue: Bool! open var isLivekitRtcSupportedReturnValue: Bool! { - get { - if Thread.isMainThread { - return isLivekitRtcSupportedUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isLivekitRtcSupportedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isLivekitRtcSupportedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isLivekitRtcSupportedUnderlyingReturnValue = newValue - } - } - } + get { isLivekitRtcSupportedReturnValueLock.withLock { isLivekitRtcSupportedUnderlyingReturnValue } } + set { isLivekitRtcSupportedReturnValueLock.withLock { isLivekitRtcSupportedUnderlyingReturnValue = newValue } } } open var isLivekitRtcSupportedClosure: (() async throws -> Bool)? @@ -2868,7 +1663,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = isLivekitRtcSupportedThrowableError { throw error } - isLivekitRtcSupportedCallsCount += 1 + isLivekitRtcSupportedCallsCountLock.withLock { isLivekitRtcSupportedUnderlyingCallsCount += 1 } if let isLivekitRtcSupportedClosure = isLivekitRtcSupportedClosure { return try await isLivekitRtcSupportedClosure() } else { @@ -2879,57 +1674,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - isLoginWithQrCodeSupported open var isLoginWithQrCodeSupportedThrowableError: Error? - open var isLoginWithQrCodeSupportedUnderlyingCallsCount = 0 + private let isLoginWithQrCodeSupportedCallsCountLock = NSLock() + private var isLoginWithQrCodeSupportedUnderlyingCallsCount = 0 open var isLoginWithQrCodeSupportedCallsCount: Int { - get { - if Thread.isMainThread { - return isLoginWithQrCodeSupportedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isLoginWithQrCodeSupportedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isLoginWithQrCodeSupportedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isLoginWithQrCodeSupportedUnderlyingCallsCount = newValue - } - } - } + get { isLoginWithQrCodeSupportedCallsCountLock.withLock { isLoginWithQrCodeSupportedUnderlyingCallsCount } } + set { isLoginWithQrCodeSupportedCallsCountLock.withLock { isLoginWithQrCodeSupportedUnderlyingCallsCount = newValue } } } open var isLoginWithQrCodeSupportedCalled: Bool { return isLoginWithQrCodeSupportedCallsCount > 0 } + private let isLoginWithQrCodeSupportedReturnValueLock = NSLock() open var isLoginWithQrCodeSupportedUnderlyingReturnValue: Bool! open var isLoginWithQrCodeSupportedReturnValue: Bool! { - get { - if Thread.isMainThread { - return isLoginWithQrCodeSupportedUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isLoginWithQrCodeSupportedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isLoginWithQrCodeSupportedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isLoginWithQrCodeSupportedUnderlyingReturnValue = newValue - } - } - } + get { isLoginWithQrCodeSupportedReturnValueLock.withLock { isLoginWithQrCodeSupportedUnderlyingReturnValue } } + set { isLoginWithQrCodeSupportedReturnValueLock.withLock { isLoginWithQrCodeSupportedUnderlyingReturnValue = newValue } } } open var isLoginWithQrCodeSupportedClosure: (() async throws -> Bool)? @@ -2937,7 +1696,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = isLoginWithQrCodeSupportedThrowableError { throw error } - isLoginWithQrCodeSupportedCallsCount += 1 + isLoginWithQrCodeSupportedCallsCountLock.withLock { isLoginWithQrCodeSupportedUnderlyingCallsCount += 1 } if let isLoginWithQrCodeSupportedClosure = isLoginWithQrCodeSupportedClosure { return try await isLoginWithQrCodeSupportedClosure() } else { @@ -2948,57 +1707,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - isReportRoomApiSupported open var isReportRoomApiSupportedThrowableError: Error? - open var isReportRoomApiSupportedUnderlyingCallsCount = 0 + private let isReportRoomApiSupportedCallsCountLock = NSLock() + private var isReportRoomApiSupportedUnderlyingCallsCount = 0 open var isReportRoomApiSupportedCallsCount: Int { - get { - if Thread.isMainThread { - return isReportRoomApiSupportedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isReportRoomApiSupportedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isReportRoomApiSupportedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isReportRoomApiSupportedUnderlyingCallsCount = newValue - } - } - } + get { isReportRoomApiSupportedCallsCountLock.withLock { isReportRoomApiSupportedUnderlyingCallsCount } } + set { isReportRoomApiSupportedCallsCountLock.withLock { isReportRoomApiSupportedUnderlyingCallsCount = newValue } } } open var isReportRoomApiSupportedCalled: Bool { return isReportRoomApiSupportedCallsCount > 0 } + private let isReportRoomApiSupportedReturnValueLock = NSLock() open var isReportRoomApiSupportedUnderlyingReturnValue: Bool! open var isReportRoomApiSupportedReturnValue: Bool! { - get { - if Thread.isMainThread { - return isReportRoomApiSupportedUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isReportRoomApiSupportedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isReportRoomApiSupportedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isReportRoomApiSupportedUnderlyingReturnValue = newValue - } - } - } + get { isReportRoomApiSupportedReturnValueLock.withLock { isReportRoomApiSupportedUnderlyingReturnValue } } + set { isReportRoomApiSupportedReturnValueLock.withLock { isReportRoomApiSupportedUnderlyingReturnValue = newValue } } } open var isReportRoomApiSupportedClosure: (() async throws -> Bool)? @@ -3006,7 +1729,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = isReportRoomApiSupportedThrowableError { throw error } - isReportRoomApiSupportedCallsCount += 1 + isReportRoomApiSupportedCallsCountLock.withLock { isReportRoomApiSupportedUnderlyingCallsCount += 1 } if let isReportRoomApiSupportedClosure = isReportRoomApiSupportedClosure { return try await isReportRoomApiSupportedClosure() } else { @@ -3017,59 +1740,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - isRoomAliasAvailable open var isRoomAliasAvailableAliasThrowableError: Error? - open var isRoomAliasAvailableAliasUnderlyingCallsCount = 0 + private let isRoomAliasAvailableAliasCallsCountLock = NSLock() + private var isRoomAliasAvailableAliasUnderlyingCallsCount = 0 open var isRoomAliasAvailableAliasCallsCount: Int { - get { - if Thread.isMainThread { - return isRoomAliasAvailableAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isRoomAliasAvailableAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isRoomAliasAvailableAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isRoomAliasAvailableAliasUnderlyingCallsCount = newValue - } - } - } + get { isRoomAliasAvailableAliasCallsCountLock.withLock { isRoomAliasAvailableAliasUnderlyingCallsCount } } + set { isRoomAliasAvailableAliasCallsCountLock.withLock { isRoomAliasAvailableAliasUnderlyingCallsCount = newValue } } } open var isRoomAliasAvailableAliasCalled: Bool { return isRoomAliasAvailableAliasCallsCount > 0 } - open var isRoomAliasAvailableAliasReceivedAlias: String? - open var isRoomAliasAvailableAliasReceivedInvocations: [String] = [] + private let isRoomAliasAvailableAliasReceivedAliasLock = NSLock() + private var isRoomAliasAvailableAliasUnderlyingReceivedAlias: String? + open var isRoomAliasAvailableAliasReceivedAlias: String? { + get { isRoomAliasAvailableAliasReceivedAliasLock.withLock { isRoomAliasAvailableAliasUnderlyingReceivedAlias } } + set { isRoomAliasAvailableAliasReceivedAliasLock.withLock { isRoomAliasAvailableAliasUnderlyingReceivedAlias = newValue } } + } + private let isRoomAliasAvailableAliasReceivedInvocationsLock = NSLock() + private var isRoomAliasAvailableAliasUnderlyingReceivedInvocations: [String] = [] + open var isRoomAliasAvailableAliasReceivedInvocations: [String] { + get { isRoomAliasAvailableAliasReceivedInvocationsLock.withLock { isRoomAliasAvailableAliasUnderlyingReceivedInvocations } } + set { isRoomAliasAvailableAliasReceivedInvocationsLock.withLock { isRoomAliasAvailableAliasUnderlyingReceivedInvocations = newValue } } + } + private let isRoomAliasAvailableAliasReturnValueLock = NSLock() open var isRoomAliasAvailableAliasUnderlyingReturnValue: Bool! open var isRoomAliasAvailableAliasReturnValue: Bool! { - get { - if Thread.isMainThread { - return isRoomAliasAvailableAliasUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isRoomAliasAvailableAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isRoomAliasAvailableAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isRoomAliasAvailableAliasUnderlyingReturnValue = newValue - } - } - } + get { isRoomAliasAvailableAliasReturnValueLock.withLock { isRoomAliasAvailableAliasUnderlyingReturnValue } } + set { isRoomAliasAvailableAliasReturnValueLock.withLock { isRoomAliasAvailableAliasUnderlyingReturnValue = newValue } } } open var isRoomAliasAvailableAliasClosure: ((String) async throws -> Bool)? @@ -3077,11 +1774,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = isRoomAliasAvailableAliasThrowableError { throw error } - isRoomAliasAvailableAliasCallsCount += 1 + isRoomAliasAvailableAliasCallsCountLock.withLock { isRoomAliasAvailableAliasUnderlyingCallsCount += 1 } isRoomAliasAvailableAliasReceivedAlias = alias - DispatchQueue.main.async { - self.isRoomAliasAvailableAliasReceivedInvocations.append(alias) - } + isRoomAliasAvailableAliasReceivedInvocationsLock.withLock { isRoomAliasAvailableAliasUnderlyingReceivedInvocations.append(alias) } if let isRoomAliasAvailableAliasClosure = isRoomAliasAvailableAliasClosure { return try await isRoomAliasAvailableAliasClosure(alias) } else { @@ -3092,59 +1787,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - joinRoomById open var joinRoomByIdRoomIdThrowableError: Error? - open var joinRoomByIdRoomIdUnderlyingCallsCount = 0 + private let joinRoomByIdRoomIdCallsCountLock = NSLock() + private var joinRoomByIdRoomIdUnderlyingCallsCount = 0 open var joinRoomByIdRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return joinRoomByIdRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinRoomByIdRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinRoomByIdRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinRoomByIdRoomIdUnderlyingCallsCount = newValue - } - } - } + get { joinRoomByIdRoomIdCallsCountLock.withLock { joinRoomByIdRoomIdUnderlyingCallsCount } } + set { joinRoomByIdRoomIdCallsCountLock.withLock { joinRoomByIdRoomIdUnderlyingCallsCount = newValue } } } open var joinRoomByIdRoomIdCalled: Bool { return joinRoomByIdRoomIdCallsCount > 0 } - open var joinRoomByIdRoomIdReceivedRoomId: String? - open var joinRoomByIdRoomIdReceivedInvocations: [String] = [] + private let joinRoomByIdRoomIdReceivedRoomIdLock = NSLock() + private var joinRoomByIdRoomIdUnderlyingReceivedRoomId: String? + open var joinRoomByIdRoomIdReceivedRoomId: String? { + get { joinRoomByIdRoomIdReceivedRoomIdLock.withLock { joinRoomByIdRoomIdUnderlyingReceivedRoomId } } + set { joinRoomByIdRoomIdReceivedRoomIdLock.withLock { joinRoomByIdRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let joinRoomByIdRoomIdReceivedInvocationsLock = NSLock() + private var joinRoomByIdRoomIdUnderlyingReceivedInvocations: [String] = [] + open var joinRoomByIdRoomIdReceivedInvocations: [String] { + get { joinRoomByIdRoomIdReceivedInvocationsLock.withLock { joinRoomByIdRoomIdUnderlyingReceivedInvocations } } + set { joinRoomByIdRoomIdReceivedInvocationsLock.withLock { joinRoomByIdRoomIdUnderlyingReceivedInvocations = newValue } } + } + private let joinRoomByIdRoomIdReturnValueLock = NSLock() open var joinRoomByIdRoomIdUnderlyingReturnValue: Room! open var joinRoomByIdRoomIdReturnValue: Room! { - get { - if Thread.isMainThread { - return joinRoomByIdRoomIdUnderlyingReturnValue - } else { - var returnValue: Room? = nil - DispatchQueue.main.sync { - returnValue = joinRoomByIdRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinRoomByIdRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - joinRoomByIdRoomIdUnderlyingReturnValue = newValue - } - } - } + get { joinRoomByIdRoomIdReturnValueLock.withLock { joinRoomByIdRoomIdUnderlyingReturnValue } } + set { joinRoomByIdRoomIdReturnValueLock.withLock { joinRoomByIdRoomIdUnderlyingReturnValue = newValue } } } open var joinRoomByIdRoomIdClosure: ((String) async throws -> Room)? @@ -3152,11 +1821,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = joinRoomByIdRoomIdThrowableError { throw error } - joinRoomByIdRoomIdCallsCount += 1 + joinRoomByIdRoomIdCallsCountLock.withLock { joinRoomByIdRoomIdUnderlyingCallsCount += 1 } joinRoomByIdRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.joinRoomByIdRoomIdReceivedInvocations.append(roomId) - } + joinRoomByIdRoomIdReceivedInvocationsLock.withLock { joinRoomByIdRoomIdUnderlyingReceivedInvocations.append(roomId) } if let joinRoomByIdRoomIdClosure = joinRoomByIdRoomIdClosure { return try await joinRoomByIdRoomIdClosure(roomId) } else { @@ -3167,59 +1834,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - joinRoomByIdOrAlias open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesThrowableError: Error? - open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount = 0 + private let joinRoomByIdOrAliasRoomIdOrAliasServerNamesCallsCountLock = NSLock() + private var joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount = 0 open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesCallsCount: Int { - get { - if Thread.isMainThread { - return joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount = newValue - } - } - } + get { joinRoomByIdOrAliasRoomIdOrAliasServerNamesCallsCountLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount } } + set { joinRoomByIdOrAliasRoomIdOrAliasServerNamesCallsCountLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount = newValue } } } open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesCalled: Bool { return joinRoomByIdOrAliasRoomIdOrAliasServerNamesCallsCount > 0 } - open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedArguments: (roomIdOrAlias: String, serverNames: [String])? - open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedInvocations: [(roomIdOrAlias: String, serverNames: [String])] = [] + private let joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedArgumentsLock = NSLock() + private var joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReceivedArguments: (roomIdOrAlias: String, serverNames: [String])? + open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedArguments: (roomIdOrAlias: String, serverNames: [String])? { + get { joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedArgumentsLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReceivedArguments } } + set { joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedArgumentsLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReceivedArguments = newValue } } + } + private let joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedInvocationsLock = NSLock() + private var joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReceivedInvocations: [(roomIdOrAlias: String, serverNames: [String])] = [] + open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedInvocations: [(roomIdOrAlias: String, serverNames: [String])] { + get { joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedInvocationsLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReceivedInvocations } } + set { joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedInvocationsLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReceivedInvocations = newValue } } + } + private let joinRoomByIdOrAliasRoomIdOrAliasServerNamesReturnValueLock = NSLock() open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReturnValue: Room! open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesReturnValue: Room! { - get { - if Thread.isMainThread { - return joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReturnValue - } else { - var returnValue: Room? = nil - DispatchQueue.main.sync { - returnValue = joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReturnValue = newValue - } - } - } + get { joinRoomByIdOrAliasRoomIdOrAliasServerNamesReturnValueLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReturnValue } } + set { joinRoomByIdOrAliasRoomIdOrAliasServerNamesReturnValueLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReturnValue = newValue } } } open var joinRoomByIdOrAliasRoomIdOrAliasServerNamesClosure: ((String, [String]) async throws -> Room)? @@ -3227,11 +1868,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = joinRoomByIdOrAliasRoomIdOrAliasServerNamesThrowableError { throw error } - joinRoomByIdOrAliasRoomIdOrAliasServerNamesCallsCount += 1 + joinRoomByIdOrAliasRoomIdOrAliasServerNamesCallsCountLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingCallsCount += 1 } joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedArguments = (roomIdOrAlias: roomIdOrAlias, serverNames: serverNames) - DispatchQueue.main.async { - self.joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedInvocations.append((roomIdOrAlias: roomIdOrAlias, serverNames: serverNames)) - } + joinRoomByIdOrAliasRoomIdOrAliasServerNamesReceivedInvocationsLock.withLock { joinRoomByIdOrAliasRoomIdOrAliasServerNamesUnderlyingReceivedInvocations.append((roomIdOrAlias: roomIdOrAlias, serverNames: serverNames)) } if let joinRoomByIdOrAliasRoomIdOrAliasServerNamesClosure = joinRoomByIdOrAliasRoomIdOrAliasServerNamesClosure { return try await joinRoomByIdOrAliasRoomIdOrAliasServerNamesClosure(roomIdOrAlias, serverNames) } else { @@ -3242,59 +1881,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - knock open var knockRoomIdOrAliasReasonServerNamesThrowableError: Error? - open var knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount = 0 + private let knockRoomIdOrAliasReasonServerNamesCallsCountLock = NSLock() + private var knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount = 0 open var knockRoomIdOrAliasReasonServerNamesCallsCount: Int { - get { - if Thread.isMainThread { - return knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount = newValue - } - } - } + get { knockRoomIdOrAliasReasonServerNamesCallsCountLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount } } + set { knockRoomIdOrAliasReasonServerNamesCallsCountLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount = newValue } } } open var knockRoomIdOrAliasReasonServerNamesCalled: Bool { return knockRoomIdOrAliasReasonServerNamesCallsCount > 0 } - open var knockRoomIdOrAliasReasonServerNamesReceivedArguments: (roomIdOrAlias: String, reason: String?, serverNames: [String])? - open var knockRoomIdOrAliasReasonServerNamesReceivedInvocations: [(roomIdOrAlias: String, reason: String?, serverNames: [String])] = [] + private let knockRoomIdOrAliasReasonServerNamesReceivedArgumentsLock = NSLock() + private var knockRoomIdOrAliasReasonServerNamesUnderlyingReceivedArguments: (roomIdOrAlias: String, reason: String?, serverNames: [String])? + open var knockRoomIdOrAliasReasonServerNamesReceivedArguments: (roomIdOrAlias: String, reason: String?, serverNames: [String])? { + get { knockRoomIdOrAliasReasonServerNamesReceivedArgumentsLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingReceivedArguments } } + set { knockRoomIdOrAliasReasonServerNamesReceivedArgumentsLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingReceivedArguments = newValue } } + } + private let knockRoomIdOrAliasReasonServerNamesReceivedInvocationsLock = NSLock() + private var knockRoomIdOrAliasReasonServerNamesUnderlyingReceivedInvocations: [(roomIdOrAlias: String, reason: String?, serverNames: [String])] = [] + open var knockRoomIdOrAliasReasonServerNamesReceivedInvocations: [(roomIdOrAlias: String, reason: String?, serverNames: [String])] { + get { knockRoomIdOrAliasReasonServerNamesReceivedInvocationsLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingReceivedInvocations } } + set { knockRoomIdOrAliasReasonServerNamesReceivedInvocationsLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingReceivedInvocations = newValue } } + } + private let knockRoomIdOrAliasReasonServerNamesReturnValueLock = NSLock() open var knockRoomIdOrAliasReasonServerNamesUnderlyingReturnValue: Room! open var knockRoomIdOrAliasReasonServerNamesReturnValue: Room! { - get { - if Thread.isMainThread { - return knockRoomIdOrAliasReasonServerNamesUnderlyingReturnValue - } else { - var returnValue: Room? = nil - DispatchQueue.main.sync { - returnValue = knockRoomIdOrAliasReasonServerNamesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - knockRoomIdOrAliasReasonServerNamesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - knockRoomIdOrAliasReasonServerNamesUnderlyingReturnValue = newValue - } - } - } + get { knockRoomIdOrAliasReasonServerNamesReturnValueLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingReturnValue } } + set { knockRoomIdOrAliasReasonServerNamesReturnValueLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingReturnValue = newValue } } } open var knockRoomIdOrAliasReasonServerNamesClosure: ((String, String?, [String]) async throws -> Room)? @@ -3302,11 +1915,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = knockRoomIdOrAliasReasonServerNamesThrowableError { throw error } - knockRoomIdOrAliasReasonServerNamesCallsCount += 1 + knockRoomIdOrAliasReasonServerNamesCallsCountLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingCallsCount += 1 } knockRoomIdOrAliasReasonServerNamesReceivedArguments = (roomIdOrAlias: roomIdOrAlias, reason: reason, serverNames: serverNames) - DispatchQueue.main.async { - self.knockRoomIdOrAliasReasonServerNamesReceivedInvocations.append((roomIdOrAlias: roomIdOrAlias, reason: reason, serverNames: serverNames)) - } + knockRoomIdOrAliasReasonServerNamesReceivedInvocationsLock.withLock { knockRoomIdOrAliasReasonServerNamesUnderlyingReceivedInvocations.append((roomIdOrAlias: roomIdOrAlias, reason: reason, serverNames: serverNames)) } if let knockRoomIdOrAliasReasonServerNamesClosure = knockRoomIdOrAliasReasonServerNamesClosure { return try await knockRoomIdOrAliasReasonServerNamesClosure(roomIdOrAlias, reason, serverNames) } else { @@ -3317,167 +1928,119 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - login open var loginUsernamePasswordInitialDeviceNameDeviceIdThrowableError: Error? - open var loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = 0 + private let loginUsernamePasswordInitialDeviceNameDeviceIdCallsCountLock = NSLock() + private var loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = 0 open var loginUsernamePasswordInitialDeviceNameDeviceIdCallsCount: Int { - get { - if Thread.isMainThread { - return loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue - } - } - } + get { loginUsernamePasswordInitialDeviceNameDeviceIdCallsCountLock.withLock { loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount } } + set { loginUsernamePasswordInitialDeviceNameDeviceIdCallsCountLock.withLock { loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue } } } open var loginUsernamePasswordInitialDeviceNameDeviceIdCalled: Bool { return loginUsernamePasswordInitialDeviceNameDeviceIdCallsCount > 0 } - open var loginUsernamePasswordInitialDeviceNameDeviceIdReceivedArguments: (username: String, password: String, initialDeviceName: String?, deviceId: String?)? - open var loginUsernamePasswordInitialDeviceNameDeviceIdReceivedInvocations: [(username: String, password: String, initialDeviceName: String?, deviceId: String?)] = [] + private let loginUsernamePasswordInitialDeviceNameDeviceIdReceivedArgumentsLock = NSLock() + private var loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingReceivedArguments: (username: String, password: String, initialDeviceName: String?, deviceId: String?)? + open var loginUsernamePasswordInitialDeviceNameDeviceIdReceivedArguments: (username: String, password: String, initialDeviceName: String?, deviceId: String?)? { + get { loginUsernamePasswordInitialDeviceNameDeviceIdReceivedArgumentsLock.withLock { loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingReceivedArguments } } + set { loginUsernamePasswordInitialDeviceNameDeviceIdReceivedArgumentsLock.withLock { loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingReceivedArguments = newValue } } + } + private let loginUsernamePasswordInitialDeviceNameDeviceIdReceivedInvocationsLock = NSLock() + private var loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingReceivedInvocations: [(username: String, password: String, initialDeviceName: String?, deviceId: String?)] = [] + open var loginUsernamePasswordInitialDeviceNameDeviceIdReceivedInvocations: [(username: String, password: String, initialDeviceName: String?, deviceId: String?)] { + get { loginUsernamePasswordInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingReceivedInvocations } } + set { loginUsernamePasswordInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingReceivedInvocations = newValue } } + } open var loginUsernamePasswordInitialDeviceNameDeviceIdClosure: ((String, String, String?, String?) async throws -> Void)? open override func login(username: String, password: String, initialDeviceName: String?, deviceId: String?) async throws { if let error = loginUsernamePasswordInitialDeviceNameDeviceIdThrowableError { throw error } - loginUsernamePasswordInitialDeviceNameDeviceIdCallsCount += 1 + loginUsernamePasswordInitialDeviceNameDeviceIdCallsCountLock.withLock { loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingCallsCount += 1 } loginUsernamePasswordInitialDeviceNameDeviceIdReceivedArguments = (username: username, password: password, initialDeviceName: initialDeviceName, deviceId: deviceId) - DispatchQueue.main.async { - self.loginUsernamePasswordInitialDeviceNameDeviceIdReceivedInvocations.append((username: username, password: password, initialDeviceName: initialDeviceName, deviceId: deviceId)) - } + loginUsernamePasswordInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { loginUsernamePasswordInitialDeviceNameDeviceIdUnderlyingReceivedInvocations.append((username: username, password: password, initialDeviceName: initialDeviceName, deviceId: deviceId)) } try await loginUsernamePasswordInitialDeviceNameDeviceIdClosure?(username, password, initialDeviceName, deviceId) } //MARK: - loginWithEmail open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdThrowableError: Error? - open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = 0 + private let loginWithEmailEmailPasswordInitialDeviceNameDeviceIdCallsCountLock = NSLock() + private var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = 0 open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdCallsCount: Int { - get { - if Thread.isMainThread { - return loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue - } - } - } + get { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdCallsCountLock.withLock { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount } } + set { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdCallsCountLock.withLock { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount = newValue } } } open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdCalled: Bool { return loginWithEmailEmailPasswordInitialDeviceNameDeviceIdCallsCount > 0 } - open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedArguments: (email: String, password: String, initialDeviceName: String?, deviceId: String?)? - open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedInvocations: [(email: String, password: String, initialDeviceName: String?, deviceId: String?)] = [] + private let loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedArgumentsLock = NSLock() + private var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingReceivedArguments: (email: String, password: String, initialDeviceName: String?, deviceId: String?)? + open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedArguments: (email: String, password: String, initialDeviceName: String?, deviceId: String?)? { + get { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedArgumentsLock.withLock { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingReceivedArguments } } + set { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedArgumentsLock.withLock { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingReceivedArguments = newValue } } + } + private let loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedInvocationsLock = NSLock() + private var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingReceivedInvocations: [(email: String, password: String, initialDeviceName: String?, deviceId: String?)] = [] + open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedInvocations: [(email: String, password: String, initialDeviceName: String?, deviceId: String?)] { + get { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingReceivedInvocations } } + set { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingReceivedInvocations = newValue } } + } open var loginWithEmailEmailPasswordInitialDeviceNameDeviceIdClosure: ((String, String, String?, String?) async throws -> Void)? open override func loginWithEmail(email: String, password: String, initialDeviceName: String?, deviceId: String?) async throws { if let error = loginWithEmailEmailPasswordInitialDeviceNameDeviceIdThrowableError { throw error } - loginWithEmailEmailPasswordInitialDeviceNameDeviceIdCallsCount += 1 + loginWithEmailEmailPasswordInitialDeviceNameDeviceIdCallsCountLock.withLock { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingCallsCount += 1 } loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedArguments = (email: email, password: password, initialDeviceName: initialDeviceName, deviceId: deviceId) - DispatchQueue.main.async { - self.loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedInvocations.append((email: email, password: password, initialDeviceName: initialDeviceName, deviceId: deviceId)) - } + loginWithEmailEmailPasswordInitialDeviceNameDeviceIdReceivedInvocationsLock.withLock { loginWithEmailEmailPasswordInitialDeviceNameDeviceIdUnderlyingReceivedInvocations.append((email: email, password: password, initialDeviceName: initialDeviceName, deviceId: deviceId)) } try await loginWithEmailEmailPasswordInitialDeviceNameDeviceIdClosure?(email, password, initialDeviceName, deviceId) } //MARK: - loginWithOauthCallback open var loginWithOauthCallbackCallbackUrlThrowableError: Error? - open var loginWithOauthCallbackCallbackUrlUnderlyingCallsCount = 0 + private let loginWithOauthCallbackCallbackUrlCallsCountLock = NSLock() + private var loginWithOauthCallbackCallbackUrlUnderlyingCallsCount = 0 open var loginWithOauthCallbackCallbackUrlCallsCount: Int { - get { - if Thread.isMainThread { - return loginWithOauthCallbackCallbackUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loginWithOauthCallbackCallbackUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loginWithOauthCallbackCallbackUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loginWithOauthCallbackCallbackUrlUnderlyingCallsCount = newValue - } - } - } + get { loginWithOauthCallbackCallbackUrlCallsCountLock.withLock { loginWithOauthCallbackCallbackUrlUnderlyingCallsCount } } + set { loginWithOauthCallbackCallbackUrlCallsCountLock.withLock { loginWithOauthCallbackCallbackUrlUnderlyingCallsCount = newValue } } } open var loginWithOauthCallbackCallbackUrlCalled: Bool { return loginWithOauthCallbackCallbackUrlCallsCount > 0 } - open var loginWithOauthCallbackCallbackUrlReceivedCallbackUrl: String? - open var loginWithOauthCallbackCallbackUrlReceivedInvocations: [String] = [] + private let loginWithOauthCallbackCallbackUrlReceivedCallbackUrlLock = NSLock() + private var loginWithOauthCallbackCallbackUrlUnderlyingReceivedCallbackUrl: String? + open var loginWithOauthCallbackCallbackUrlReceivedCallbackUrl: String? { + get { loginWithOauthCallbackCallbackUrlReceivedCallbackUrlLock.withLock { loginWithOauthCallbackCallbackUrlUnderlyingReceivedCallbackUrl } } + set { loginWithOauthCallbackCallbackUrlReceivedCallbackUrlLock.withLock { loginWithOauthCallbackCallbackUrlUnderlyingReceivedCallbackUrl = newValue } } + } + private let loginWithOauthCallbackCallbackUrlReceivedInvocationsLock = NSLock() + private var loginWithOauthCallbackCallbackUrlUnderlyingReceivedInvocations: [String] = [] + open var loginWithOauthCallbackCallbackUrlReceivedInvocations: [String] { + get { loginWithOauthCallbackCallbackUrlReceivedInvocationsLock.withLock { loginWithOauthCallbackCallbackUrlUnderlyingReceivedInvocations } } + set { loginWithOauthCallbackCallbackUrlReceivedInvocationsLock.withLock { loginWithOauthCallbackCallbackUrlUnderlyingReceivedInvocations = newValue } } + } open var loginWithOauthCallbackCallbackUrlClosure: ((String) async throws -> Void)? open override func loginWithOauthCallback(callbackUrl: String) async throws { if let error = loginWithOauthCallbackCallbackUrlThrowableError { throw error } - loginWithOauthCallbackCallbackUrlCallsCount += 1 + loginWithOauthCallbackCallbackUrlCallsCountLock.withLock { loginWithOauthCallbackCallbackUrlUnderlyingCallsCount += 1 } loginWithOauthCallbackCallbackUrlReceivedCallbackUrl = callbackUrl - DispatchQueue.main.async { - self.loginWithOauthCallbackCallbackUrlReceivedInvocations.append(callbackUrl) - } + loginWithOauthCallbackCallbackUrlReceivedInvocationsLock.withLock { loginWithOauthCallbackCallbackUrlUnderlyingReceivedInvocations.append(callbackUrl) } try await loginWithOauthCallbackCallbackUrlClosure?(callbackUrl) } //MARK: - logout open var logoutThrowableError: Error? - open var logoutUnderlyingCallsCount = 0 + private let logoutCallsCountLock = NSLock() + private var logoutUnderlyingCallsCount = 0 open var logoutCallsCount: Int { - get { - if Thread.isMainThread { - return logoutUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = logoutUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - logoutUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - logoutUnderlyingCallsCount = newValue - } - } - } + get { logoutCallsCountLock.withLock { logoutUnderlyingCallsCount } } + set { logoutCallsCountLock.withLock { logoutUnderlyingCallsCount = newValue } } } open var logoutCalled: Bool { return logoutCallsCount > 0 @@ -3488,36 +2051,18 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = logoutThrowableError { throw error } - logoutCallsCount += 1 + logoutCallsCountLock.withLock { logoutUnderlyingCallsCount += 1 } try await logoutClosure?() } //MARK: - markAllRoomsAsRead open var markAllRoomsAsReadThrowableError: Error? - open var markAllRoomsAsReadUnderlyingCallsCount = 0 + private let markAllRoomsAsReadCallsCountLock = NSLock() + private var markAllRoomsAsReadUnderlyingCallsCount = 0 open var markAllRoomsAsReadCallsCount: Int { - get { - if Thread.isMainThread { - return markAllRoomsAsReadUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAllRoomsAsReadUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAllRoomsAsReadUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAllRoomsAsReadUnderlyingCallsCount = newValue - } - } - } + get { markAllRoomsAsReadCallsCountLock.withLock { markAllRoomsAsReadUnderlyingCallsCount } } + set { markAllRoomsAsReadCallsCountLock.withLock { markAllRoomsAsReadUnderlyingCallsCount = newValue } } } open var markAllRoomsAsReadCalled: Bool { return markAllRoomsAsReadCallsCount > 0 @@ -3528,68 +2073,32 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = markAllRoomsAsReadThrowableError { throw error } - markAllRoomsAsReadCallsCount += 1 + markAllRoomsAsReadCallsCountLock.withLock { markAllRoomsAsReadUnderlyingCallsCount += 1 } try await markAllRoomsAsReadClosure?() } //MARK: - newGrantLoginWithQrCodeHandler - open var newGrantLoginWithQrCodeHandlerUnderlyingCallsCount = 0 + private let newGrantLoginWithQrCodeHandlerCallsCountLock = NSLock() + private var newGrantLoginWithQrCodeHandlerUnderlyingCallsCount = 0 open var newGrantLoginWithQrCodeHandlerCallsCount: Int { - get { - if Thread.isMainThread { - return newGrantLoginWithQrCodeHandlerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = newGrantLoginWithQrCodeHandlerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - newGrantLoginWithQrCodeHandlerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - newGrantLoginWithQrCodeHandlerUnderlyingCallsCount = newValue - } - } - } + get { newGrantLoginWithQrCodeHandlerCallsCountLock.withLock { newGrantLoginWithQrCodeHandlerUnderlyingCallsCount } } + set { newGrantLoginWithQrCodeHandlerCallsCountLock.withLock { newGrantLoginWithQrCodeHandlerUnderlyingCallsCount = newValue } } } open var newGrantLoginWithQrCodeHandlerCalled: Bool { return newGrantLoginWithQrCodeHandlerCallsCount > 0 } + private let newGrantLoginWithQrCodeHandlerReturnValueLock = NSLock() open var newGrantLoginWithQrCodeHandlerUnderlyingReturnValue: GrantLoginWithQrCodeHandler! open var newGrantLoginWithQrCodeHandlerReturnValue: GrantLoginWithQrCodeHandler! { - get { - if Thread.isMainThread { - return newGrantLoginWithQrCodeHandlerUnderlyingReturnValue - } else { - var returnValue: GrantLoginWithQrCodeHandler? = nil - DispatchQueue.main.sync { - returnValue = newGrantLoginWithQrCodeHandlerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - newGrantLoginWithQrCodeHandlerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - newGrantLoginWithQrCodeHandlerUnderlyingReturnValue = newValue - } - } - } + get { newGrantLoginWithQrCodeHandlerReturnValueLock.withLock { newGrantLoginWithQrCodeHandlerUnderlyingReturnValue } } + set { newGrantLoginWithQrCodeHandlerReturnValueLock.withLock { newGrantLoginWithQrCodeHandlerUnderlyingReturnValue = newValue } } } open var newGrantLoginWithQrCodeHandlerClosure: (() -> GrantLoginWithQrCodeHandler)? open override func newGrantLoginWithQrCodeHandler() -> GrantLoginWithQrCodeHandler { - newGrantLoginWithQrCodeHandlerCallsCount += 1 + newGrantLoginWithQrCodeHandlerCallsCountLock.withLock { newGrantLoginWithQrCodeHandlerUnderlyingCallsCount += 1 } if let newGrantLoginWithQrCodeHandlerClosure = newGrantLoginWithQrCodeHandlerClosure { return newGrantLoginWithQrCodeHandlerClosure() } else { @@ -3599,68 +2108,40 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - newLoginWithQrCodeHandler - open var newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount = 0 + private let newLoginWithQrCodeHandlerOauthConfigurationCallsCountLock = NSLock() + private var newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount = 0 open var newLoginWithQrCodeHandlerOauthConfigurationCallsCount: Int { - get { - if Thread.isMainThread { - return newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount = newValue - } - } - } + get { newLoginWithQrCodeHandlerOauthConfigurationCallsCountLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount } } + set { newLoginWithQrCodeHandlerOauthConfigurationCallsCountLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount = newValue } } } open var newLoginWithQrCodeHandlerOauthConfigurationCalled: Bool { return newLoginWithQrCodeHandlerOauthConfigurationCallsCount > 0 } - open var newLoginWithQrCodeHandlerOauthConfigurationReceivedOauthConfiguration: OAuthConfiguration? - open var newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocations: [OAuthConfiguration] = [] + private let newLoginWithQrCodeHandlerOauthConfigurationReceivedOauthConfigurationLock = NSLock() + private var newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReceivedOauthConfiguration: OAuthConfiguration? + open var newLoginWithQrCodeHandlerOauthConfigurationReceivedOauthConfiguration: OAuthConfiguration? { + get { newLoginWithQrCodeHandlerOauthConfigurationReceivedOauthConfigurationLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReceivedOauthConfiguration } } + set { newLoginWithQrCodeHandlerOauthConfigurationReceivedOauthConfigurationLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReceivedOauthConfiguration = newValue } } + } + private let newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocationsLock = NSLock() + private var newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReceivedInvocations: [OAuthConfiguration] = [] + open var newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocations: [OAuthConfiguration] { + get { newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocationsLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReceivedInvocations } } + set { newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocationsLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReceivedInvocations = newValue } } + } + private let newLoginWithQrCodeHandlerOauthConfigurationReturnValueLock = NSLock() open var newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue: LoginWithQrCodeHandler! open var newLoginWithQrCodeHandlerOauthConfigurationReturnValue: LoginWithQrCodeHandler! { - get { - if Thread.isMainThread { - return newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue - } else { - var returnValue: LoginWithQrCodeHandler? = nil - DispatchQueue.main.sync { - returnValue = newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue = newValue - } - } - } + get { newLoginWithQrCodeHandlerOauthConfigurationReturnValueLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue } } + set { newLoginWithQrCodeHandlerOauthConfigurationReturnValueLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReturnValue = newValue } } } open var newLoginWithQrCodeHandlerOauthConfigurationClosure: ((OAuthConfiguration) -> LoginWithQrCodeHandler)? open override func newLoginWithQrCodeHandler(oauthConfiguration: OAuthConfiguration) -> LoginWithQrCodeHandler { - newLoginWithQrCodeHandlerOauthConfigurationCallsCount += 1 + newLoginWithQrCodeHandlerOauthConfigurationCallsCountLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingCallsCount += 1 } newLoginWithQrCodeHandlerOauthConfigurationReceivedOauthConfiguration = oauthConfiguration - DispatchQueue.main.async { - self.newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocations.append(oauthConfiguration) - } + newLoginWithQrCodeHandlerOauthConfigurationReceivedInvocationsLock.withLock { newLoginWithQrCodeHandlerOauthConfigurationUnderlyingReceivedInvocations.append(oauthConfiguration) } if let newLoginWithQrCodeHandlerOauthConfigurationClosure = newLoginWithQrCodeHandlerOauthConfigurationClosure { return newLoginWithQrCodeHandlerOauthConfigurationClosure(oauthConfiguration) } else { @@ -3671,59 +2152,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - notificationClient open var notificationClientProcessSetupThrowableError: Error? - open var notificationClientProcessSetupUnderlyingCallsCount = 0 + private let notificationClientProcessSetupCallsCountLock = NSLock() + private var notificationClientProcessSetupUnderlyingCallsCount = 0 open var notificationClientProcessSetupCallsCount: Int { - get { - if Thread.isMainThread { - return notificationClientProcessSetupUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = notificationClientProcessSetupUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - notificationClientProcessSetupUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - notificationClientProcessSetupUnderlyingCallsCount = newValue - } - } - } + get { notificationClientProcessSetupCallsCountLock.withLock { notificationClientProcessSetupUnderlyingCallsCount } } + set { notificationClientProcessSetupCallsCountLock.withLock { notificationClientProcessSetupUnderlyingCallsCount = newValue } } } open var notificationClientProcessSetupCalled: Bool { return notificationClientProcessSetupCallsCount > 0 } - open var notificationClientProcessSetupReceivedProcessSetup: NotificationProcessSetup? - open var notificationClientProcessSetupReceivedInvocations: [NotificationProcessSetup] = [] + private let notificationClientProcessSetupReceivedProcessSetupLock = NSLock() + private var notificationClientProcessSetupUnderlyingReceivedProcessSetup: NotificationProcessSetup? + open var notificationClientProcessSetupReceivedProcessSetup: NotificationProcessSetup? { + get { notificationClientProcessSetupReceivedProcessSetupLock.withLock { notificationClientProcessSetupUnderlyingReceivedProcessSetup } } + set { notificationClientProcessSetupReceivedProcessSetupLock.withLock { notificationClientProcessSetupUnderlyingReceivedProcessSetup = newValue } } + } + private let notificationClientProcessSetupReceivedInvocationsLock = NSLock() + private var notificationClientProcessSetupUnderlyingReceivedInvocations: [NotificationProcessSetup] = [] + open var notificationClientProcessSetupReceivedInvocations: [NotificationProcessSetup] { + get { notificationClientProcessSetupReceivedInvocationsLock.withLock { notificationClientProcessSetupUnderlyingReceivedInvocations } } + set { notificationClientProcessSetupReceivedInvocationsLock.withLock { notificationClientProcessSetupUnderlyingReceivedInvocations = newValue } } + } + private let notificationClientProcessSetupReturnValueLock = NSLock() open var notificationClientProcessSetupUnderlyingReturnValue: NotificationClient! open var notificationClientProcessSetupReturnValue: NotificationClient! { - get { - if Thread.isMainThread { - return notificationClientProcessSetupUnderlyingReturnValue - } else { - var returnValue: NotificationClient? = nil - DispatchQueue.main.sync { - returnValue = notificationClientProcessSetupUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - notificationClientProcessSetupUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - notificationClientProcessSetupUnderlyingReturnValue = newValue - } - } - } + get { notificationClientProcessSetupReturnValueLock.withLock { notificationClientProcessSetupUnderlyingReturnValue } } + set { notificationClientProcessSetupReturnValueLock.withLock { notificationClientProcessSetupUnderlyingReturnValue = newValue } } } open var notificationClientProcessSetupClosure: ((NotificationProcessSetup) async throws -> NotificationClient)? @@ -3731,11 +2186,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = notificationClientProcessSetupThrowableError { throw error } - notificationClientProcessSetupCallsCount += 1 + notificationClientProcessSetupCallsCountLock.withLock { notificationClientProcessSetupUnderlyingCallsCount += 1 } notificationClientProcessSetupReceivedProcessSetup = processSetup - DispatchQueue.main.async { - self.notificationClientProcessSetupReceivedInvocations.append(processSetup) - } + notificationClientProcessSetupReceivedInvocationsLock.withLock { notificationClientProcessSetupUnderlyingReceivedInvocations.append(processSetup) } if let notificationClientProcessSetupClosure = notificationClientProcessSetupClosure { return try await notificationClientProcessSetupClosure(processSetup) } else { @@ -3745,68 +2198,40 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - observeAccountDataEvent - open var observeAccountDataEventEventTypeListenerUnderlyingCallsCount = 0 + private let observeAccountDataEventEventTypeListenerCallsCountLock = NSLock() + private var observeAccountDataEventEventTypeListenerUnderlyingCallsCount = 0 open var observeAccountDataEventEventTypeListenerCallsCount: Int { - get { - if Thread.isMainThread { - return observeAccountDataEventEventTypeListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = observeAccountDataEventEventTypeListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - observeAccountDataEventEventTypeListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - observeAccountDataEventEventTypeListenerUnderlyingCallsCount = newValue - } - } - } + get { observeAccountDataEventEventTypeListenerCallsCountLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingCallsCount } } + set { observeAccountDataEventEventTypeListenerCallsCountLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingCallsCount = newValue } } } open var observeAccountDataEventEventTypeListenerCalled: Bool { return observeAccountDataEventEventTypeListenerCallsCount > 0 } - open var observeAccountDataEventEventTypeListenerReceivedArguments: (eventType: AccountDataEventType, listener: AccountDataListener)? - open var observeAccountDataEventEventTypeListenerReceivedInvocations: [(eventType: AccountDataEventType, listener: AccountDataListener)] = [] + private let observeAccountDataEventEventTypeListenerReceivedArgumentsLock = NSLock() + private var observeAccountDataEventEventTypeListenerUnderlyingReceivedArguments: (eventType: AccountDataEventType, listener: AccountDataListener)? + open var observeAccountDataEventEventTypeListenerReceivedArguments: (eventType: AccountDataEventType, listener: AccountDataListener)? { + get { observeAccountDataEventEventTypeListenerReceivedArgumentsLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingReceivedArguments } } + set { observeAccountDataEventEventTypeListenerReceivedArgumentsLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingReceivedArguments = newValue } } + } + private let observeAccountDataEventEventTypeListenerReceivedInvocationsLock = NSLock() + private var observeAccountDataEventEventTypeListenerUnderlyingReceivedInvocations: [(eventType: AccountDataEventType, listener: AccountDataListener)] = [] + open var observeAccountDataEventEventTypeListenerReceivedInvocations: [(eventType: AccountDataEventType, listener: AccountDataListener)] { + get { observeAccountDataEventEventTypeListenerReceivedInvocationsLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingReceivedInvocations } } + set { observeAccountDataEventEventTypeListenerReceivedInvocationsLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingReceivedInvocations = newValue } } + } + private let observeAccountDataEventEventTypeListenerReturnValueLock = NSLock() open var observeAccountDataEventEventTypeListenerUnderlyingReturnValue: TaskHandle! open var observeAccountDataEventEventTypeListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return observeAccountDataEventEventTypeListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = observeAccountDataEventEventTypeListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - observeAccountDataEventEventTypeListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - observeAccountDataEventEventTypeListenerUnderlyingReturnValue = newValue - } - } - } + get { observeAccountDataEventEventTypeListenerReturnValueLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingReturnValue } } + set { observeAccountDataEventEventTypeListenerReturnValueLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingReturnValue = newValue } } } open var observeAccountDataEventEventTypeListenerClosure: ((AccountDataEventType, AccountDataListener) -> TaskHandle)? open override func observeAccountDataEvent(eventType: AccountDataEventType, listener: AccountDataListener) -> TaskHandle { - observeAccountDataEventEventTypeListenerCallsCount += 1 + observeAccountDataEventEventTypeListenerCallsCountLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingCallsCount += 1 } observeAccountDataEventEventTypeListenerReceivedArguments = (eventType: eventType, listener: listener) - DispatchQueue.main.async { - self.observeAccountDataEventEventTypeListenerReceivedInvocations.append((eventType: eventType, listener: listener)) - } + observeAccountDataEventEventTypeListenerReceivedInvocationsLock.withLock { observeAccountDataEventEventTypeListenerUnderlyingReceivedInvocations.append((eventType: eventType, listener: listener)) } if let observeAccountDataEventEventTypeListenerClosure = observeAccountDataEventEventTypeListenerClosure { return observeAccountDataEventEventTypeListenerClosure(eventType, listener) } else { @@ -3817,59 +2242,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - observeRoomAccountDataEvent open var observeRoomAccountDataEventRoomIdEventTypeListenerThrowableError: Error? - open var observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount = 0 + private let observeRoomAccountDataEventRoomIdEventTypeListenerCallsCountLock = NSLock() + private var observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount = 0 open var observeRoomAccountDataEventRoomIdEventTypeListenerCallsCount: Int { - get { - if Thread.isMainThread { - return observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount = newValue - } - } - } + get { observeRoomAccountDataEventRoomIdEventTypeListenerCallsCountLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount } } + set { observeRoomAccountDataEventRoomIdEventTypeListenerCallsCountLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount = newValue } } } open var observeRoomAccountDataEventRoomIdEventTypeListenerCalled: Bool { return observeRoomAccountDataEventRoomIdEventTypeListenerCallsCount > 0 } - open var observeRoomAccountDataEventRoomIdEventTypeListenerReceivedArguments: (roomId: String, eventType: RoomAccountDataEventType, listener: RoomAccountDataListener)? - open var observeRoomAccountDataEventRoomIdEventTypeListenerReceivedInvocations: [(roomId: String, eventType: RoomAccountDataEventType, listener: RoomAccountDataListener)] = [] + private let observeRoomAccountDataEventRoomIdEventTypeListenerReceivedArgumentsLock = NSLock() + private var observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReceivedArguments: (roomId: String, eventType: RoomAccountDataEventType, listener: RoomAccountDataListener)? + open var observeRoomAccountDataEventRoomIdEventTypeListenerReceivedArguments: (roomId: String, eventType: RoomAccountDataEventType, listener: RoomAccountDataListener)? { + get { observeRoomAccountDataEventRoomIdEventTypeListenerReceivedArgumentsLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReceivedArguments } } + set { observeRoomAccountDataEventRoomIdEventTypeListenerReceivedArgumentsLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReceivedArguments = newValue } } + } + private let observeRoomAccountDataEventRoomIdEventTypeListenerReceivedInvocationsLock = NSLock() + private var observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReceivedInvocations: [(roomId: String, eventType: RoomAccountDataEventType, listener: RoomAccountDataListener)] = [] + open var observeRoomAccountDataEventRoomIdEventTypeListenerReceivedInvocations: [(roomId: String, eventType: RoomAccountDataEventType, listener: RoomAccountDataListener)] { + get { observeRoomAccountDataEventRoomIdEventTypeListenerReceivedInvocationsLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReceivedInvocations } } + set { observeRoomAccountDataEventRoomIdEventTypeListenerReceivedInvocationsLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReceivedInvocations = newValue } } + } + private let observeRoomAccountDataEventRoomIdEventTypeListenerReturnValueLock = NSLock() open var observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReturnValue: TaskHandle! open var observeRoomAccountDataEventRoomIdEventTypeListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReturnValue = newValue - } - } - } + get { observeRoomAccountDataEventRoomIdEventTypeListenerReturnValueLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReturnValue } } + set { observeRoomAccountDataEventRoomIdEventTypeListenerReturnValueLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReturnValue = newValue } } } open var observeRoomAccountDataEventRoomIdEventTypeListenerClosure: ((String, RoomAccountDataEventType, RoomAccountDataListener) throws -> TaskHandle)? @@ -3877,11 +2276,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = observeRoomAccountDataEventRoomIdEventTypeListenerThrowableError { throw error } - observeRoomAccountDataEventRoomIdEventTypeListenerCallsCount += 1 + observeRoomAccountDataEventRoomIdEventTypeListenerCallsCountLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingCallsCount += 1 } observeRoomAccountDataEventRoomIdEventTypeListenerReceivedArguments = (roomId: roomId, eventType: eventType, listener: listener) - DispatchQueue.main.async { - self.observeRoomAccountDataEventRoomIdEventTypeListenerReceivedInvocations.append((roomId: roomId, eventType: eventType, listener: listener)) - } + observeRoomAccountDataEventRoomIdEventTypeListenerReceivedInvocationsLock.withLock { observeRoomAccountDataEventRoomIdEventTypeListenerUnderlyingReceivedInvocations.append((roomId: roomId, eventType: eventType, listener: listener)) } if let observeRoomAccountDataEventRoomIdEventTypeListenerClosure = observeRoomAccountDataEventRoomIdEventTypeListenerClosure { return try observeRoomAccountDataEventRoomIdEventTypeListenerClosure(roomId, eventType, listener) } else { @@ -3892,29 +2289,11 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - optimizeStores open var optimizeStoresThrowableError: Error? - open var optimizeStoresUnderlyingCallsCount = 0 + private let optimizeStoresCallsCountLock = NSLock() + private var optimizeStoresUnderlyingCallsCount = 0 open var optimizeStoresCallsCount: Int { - get { - if Thread.isMainThread { - return optimizeStoresUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = optimizeStoresUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - optimizeStoresUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - optimizeStoresUnderlyingCallsCount = newValue - } - } - } + get { optimizeStoresCallsCountLock.withLock { optimizeStoresUnderlyingCallsCount } } + set { optimizeStoresCallsCountLock.withLock { optimizeStoresUnderlyingCallsCount = newValue } } } open var optimizeStoresCalled: Bool { return optimizeStoresCallsCount > 0 @@ -3925,36 +2304,18 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = optimizeStoresThrowableError { throw error } - optimizeStoresCallsCount += 1 + optimizeStoresCallsCountLock.withLock { optimizeStoresUnderlyingCallsCount += 1 } try await optimizeStoresClosure?() } //MARK: - pause open var pauseThrowableError: Error? - open var pauseUnderlyingCallsCount = 0 + private let pauseCallsCountLock = NSLock() + private var pauseUnderlyingCallsCount = 0 open var pauseCallsCount: Int { - get { - if Thread.isMainThread { - return pauseUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pauseUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pauseUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pauseUnderlyingCallsCount = newValue - } - } - } + get { pauseCallsCountLock.withLock { pauseUnderlyingCallsCount } } + set { pauseCallsCountLock.withLock { pauseUnderlyingCallsCount = newValue } } } open var pauseCalled: Bool { return pauseCallsCount > 0 @@ -3965,78 +2326,50 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = pauseThrowableError { throw error } - pauseCallsCount += 1 + pauseCallsCountLock.withLock { pauseUnderlyingCallsCount += 1 } try await pauseClosure?() } //MARK: - registerNotificationHandler - open var registerNotificationHandlerListenerUnderlyingCallsCount = 0 + private let registerNotificationHandlerListenerCallsCountLock = NSLock() + private var registerNotificationHandlerListenerUnderlyingCallsCount = 0 open var registerNotificationHandlerListenerCallsCount: Int { - get { - if Thread.isMainThread { - return registerNotificationHandlerListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = registerNotificationHandlerListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - registerNotificationHandlerListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - registerNotificationHandlerListenerUnderlyingCallsCount = newValue - } - } - } + get { registerNotificationHandlerListenerCallsCountLock.withLock { registerNotificationHandlerListenerUnderlyingCallsCount } } + set { registerNotificationHandlerListenerCallsCountLock.withLock { registerNotificationHandlerListenerUnderlyingCallsCount = newValue } } } open var registerNotificationHandlerListenerCalled: Bool { return registerNotificationHandlerListenerCallsCount > 0 } - open var registerNotificationHandlerListenerReceivedListener: SyncNotificationListener? - open var registerNotificationHandlerListenerReceivedInvocations: [SyncNotificationListener] = [] + private let registerNotificationHandlerListenerReceivedListenerLock = NSLock() + private var registerNotificationHandlerListenerUnderlyingReceivedListener: SyncNotificationListener? + open var registerNotificationHandlerListenerReceivedListener: SyncNotificationListener? { + get { registerNotificationHandlerListenerReceivedListenerLock.withLock { registerNotificationHandlerListenerUnderlyingReceivedListener } } + set { registerNotificationHandlerListenerReceivedListenerLock.withLock { registerNotificationHandlerListenerUnderlyingReceivedListener = newValue } } + } + private let registerNotificationHandlerListenerReceivedInvocationsLock = NSLock() + private var registerNotificationHandlerListenerUnderlyingReceivedInvocations: [SyncNotificationListener] = [] + open var registerNotificationHandlerListenerReceivedInvocations: [SyncNotificationListener] { + get { registerNotificationHandlerListenerReceivedInvocationsLock.withLock { registerNotificationHandlerListenerUnderlyingReceivedInvocations } } + set { registerNotificationHandlerListenerReceivedInvocationsLock.withLock { registerNotificationHandlerListenerUnderlyingReceivedInvocations = newValue } } + } open var registerNotificationHandlerListenerClosure: ((SyncNotificationListener) async -> Void)? open override func registerNotificationHandler(listener: SyncNotificationListener) async { - registerNotificationHandlerListenerCallsCount += 1 + registerNotificationHandlerListenerCallsCountLock.withLock { registerNotificationHandlerListenerUnderlyingCallsCount += 1 } registerNotificationHandlerListenerReceivedListener = listener - DispatchQueue.main.async { - self.registerNotificationHandlerListenerReceivedInvocations.append(listener) - } + registerNotificationHandlerListenerReceivedInvocationsLock.withLock { registerNotificationHandlerListenerUnderlyingReceivedInvocations.append(listener) } await registerNotificationHandlerListenerClosure?(listener) } //MARK: - removeAvatar open var removeAvatarThrowableError: Error? - open var removeAvatarUnderlyingCallsCount = 0 + private let removeAvatarCallsCountLock = NSLock() + private var removeAvatarUnderlyingCallsCount = 0 open var removeAvatarCallsCount: Int { - get { - if Thread.isMainThread { - return removeAvatarUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeAvatarUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeAvatarUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeAvatarUnderlyingCallsCount = newValue - } - } - } + get { removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount } } + set { removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount = newValue } } } open var removeAvatarCalled: Bool { return removeAvatarCallsCount > 0 @@ -4047,64 +2380,28 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = removeAvatarThrowableError { throw error } - removeAvatarCallsCount += 1 + removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount += 1 } try await removeAvatarClosure?() } //MARK: - requestOpenidToken open var requestOpenidTokenThrowableError: Error? - open var requestOpenidTokenUnderlyingCallsCount = 0 + private let requestOpenidTokenCallsCountLock = NSLock() + private var requestOpenidTokenUnderlyingCallsCount = 0 open var requestOpenidTokenCallsCount: Int { - get { - if Thread.isMainThread { - return requestOpenidTokenUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestOpenidTokenUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestOpenidTokenUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestOpenidTokenUnderlyingCallsCount = newValue - } - } - } + get { requestOpenidTokenCallsCountLock.withLock { requestOpenidTokenUnderlyingCallsCount } } + set { requestOpenidTokenCallsCountLock.withLock { requestOpenidTokenUnderlyingCallsCount = newValue } } } open var requestOpenidTokenCalled: Bool { return requestOpenidTokenCallsCount > 0 } + private let requestOpenidTokenReturnValueLock = NSLock() open var requestOpenidTokenUnderlyingReturnValue: OpenIdToken! open var requestOpenidTokenReturnValue: OpenIdToken! { - get { - if Thread.isMainThread { - return requestOpenidTokenUnderlyingReturnValue - } else { - var returnValue: OpenIdToken? = nil - DispatchQueue.main.sync { - returnValue = requestOpenidTokenUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestOpenidTokenUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - requestOpenidTokenUnderlyingReturnValue = newValue - } - } - } + get { requestOpenidTokenReturnValueLock.withLock { requestOpenidTokenUnderlyingReturnValue } } + set { requestOpenidTokenReturnValueLock.withLock { requestOpenidTokenUnderlyingReturnValue = newValue } } } open var requestOpenidTokenClosure: (() async throws -> OpenIdToken)? @@ -4112,7 +2409,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = requestOpenidTokenThrowableError { throw error } - requestOpenidTokenCallsCount += 1 + requestOpenidTokenCallsCountLock.withLock { requestOpenidTokenUnderlyingCallsCount += 1 } if let requestOpenidTokenClosure = requestOpenidTokenClosure { return try await requestOpenidTokenClosure() } else { @@ -4123,29 +2420,11 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - resetSupportedVersions open var resetSupportedVersionsThrowableError: Error? - open var resetSupportedVersionsUnderlyingCallsCount = 0 + private let resetSupportedVersionsCallsCountLock = NSLock() + private var resetSupportedVersionsUnderlyingCallsCount = 0 open var resetSupportedVersionsCallsCount: Int { - get { - if Thread.isMainThread { - return resetSupportedVersionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetSupportedVersionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetSupportedVersionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetSupportedVersionsUnderlyingCallsCount = newValue - } - } - } + get { resetSupportedVersionsCallsCountLock.withLock { resetSupportedVersionsUnderlyingCallsCount } } + set { resetSupportedVersionsCallsCountLock.withLock { resetSupportedVersionsUnderlyingCallsCount = newValue } } } open var resetSupportedVersionsCalled: Bool { return resetSupportedVersionsCallsCount > 0 @@ -4156,36 +2435,18 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = resetSupportedVersionsThrowableError { throw error } - resetSupportedVersionsCallsCount += 1 + resetSupportedVersionsCallsCountLock.withLock { resetSupportedVersionsUnderlyingCallsCount += 1 } try await resetSupportedVersionsClosure?() } //MARK: - resetWellKnown open var resetWellKnownThrowableError: Error? - open var resetWellKnownUnderlyingCallsCount = 0 + private let resetWellKnownCallsCountLock = NSLock() + private var resetWellKnownUnderlyingCallsCount = 0 open var resetWellKnownCallsCount: Int { - get { - if Thread.isMainThread { - return resetWellKnownUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetWellKnownUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetWellKnownUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetWellKnownUnderlyingCallsCount = newValue - } - } - } + get { resetWellKnownCallsCountLock.withLock { resetWellKnownUnderlyingCallsCount } } + set { resetWellKnownCallsCountLock.withLock { resetWellKnownUnderlyingCallsCount = newValue } } } open var resetWellKnownCalled: Bool { return resetWellKnownCallsCount > 0 @@ -4196,66 +2457,40 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = resetWellKnownThrowableError { throw error } - resetWellKnownCallsCount += 1 + resetWellKnownCallsCountLock.withLock { resetWellKnownUnderlyingCallsCount += 1 } try await resetWellKnownClosure?() } //MARK: - resolveRoomAlias open var resolveRoomAliasRoomAliasThrowableError: Error? - open var resolveRoomAliasRoomAliasUnderlyingCallsCount = 0 + private let resolveRoomAliasRoomAliasCallsCountLock = NSLock() + private var resolveRoomAliasRoomAliasUnderlyingCallsCount = 0 open var resolveRoomAliasRoomAliasCallsCount: Int { - get { - if Thread.isMainThread { - return resolveRoomAliasRoomAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resolveRoomAliasRoomAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resolveRoomAliasRoomAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resolveRoomAliasRoomAliasUnderlyingCallsCount = newValue - } - } - } + get { resolveRoomAliasRoomAliasCallsCountLock.withLock { resolveRoomAliasRoomAliasUnderlyingCallsCount } } + set { resolveRoomAliasRoomAliasCallsCountLock.withLock { resolveRoomAliasRoomAliasUnderlyingCallsCount = newValue } } } open var resolveRoomAliasRoomAliasCalled: Bool { return resolveRoomAliasRoomAliasCallsCount > 0 } - open var resolveRoomAliasRoomAliasReceivedRoomAlias: String? - open var resolveRoomAliasRoomAliasReceivedInvocations: [String] = [] + private let resolveRoomAliasRoomAliasReceivedRoomAliasLock = NSLock() + private var resolveRoomAliasRoomAliasUnderlyingReceivedRoomAlias: String? + open var resolveRoomAliasRoomAliasReceivedRoomAlias: String? { + get { resolveRoomAliasRoomAliasReceivedRoomAliasLock.withLock { resolveRoomAliasRoomAliasUnderlyingReceivedRoomAlias } } + set { resolveRoomAliasRoomAliasReceivedRoomAliasLock.withLock { resolveRoomAliasRoomAliasUnderlyingReceivedRoomAlias = newValue } } + } + private let resolveRoomAliasRoomAliasReceivedInvocationsLock = NSLock() + private var resolveRoomAliasRoomAliasUnderlyingReceivedInvocations: [String] = [] + open var resolveRoomAliasRoomAliasReceivedInvocations: [String] { + get { resolveRoomAliasRoomAliasReceivedInvocationsLock.withLock { resolveRoomAliasRoomAliasUnderlyingReceivedInvocations } } + set { resolveRoomAliasRoomAliasReceivedInvocationsLock.withLock { resolveRoomAliasRoomAliasUnderlyingReceivedInvocations = newValue } } + } + private let resolveRoomAliasRoomAliasReturnValueLock = NSLock() open var resolveRoomAliasRoomAliasUnderlyingReturnValue: ResolvedRoomAlias? open var resolveRoomAliasRoomAliasReturnValue: ResolvedRoomAlias? { - get { - if Thread.isMainThread { - return resolveRoomAliasRoomAliasUnderlyingReturnValue - } else { - var returnValue: ResolvedRoomAlias?? = nil - DispatchQueue.main.sync { - returnValue = resolveRoomAliasRoomAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resolveRoomAliasRoomAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - resolveRoomAliasRoomAliasUnderlyingReturnValue = newValue - } - } - } + get { resolveRoomAliasRoomAliasReturnValueLock.withLock { resolveRoomAliasRoomAliasUnderlyingReturnValue } } + set { resolveRoomAliasRoomAliasReturnValueLock.withLock { resolveRoomAliasRoomAliasUnderlyingReturnValue = newValue } } } open var resolveRoomAliasRoomAliasClosure: ((String) async throws -> ResolvedRoomAlias?)? @@ -4263,11 +2498,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = resolveRoomAliasRoomAliasThrowableError { throw error } - resolveRoomAliasRoomAliasCallsCount += 1 + resolveRoomAliasRoomAliasCallsCountLock.withLock { resolveRoomAliasRoomAliasUnderlyingCallsCount += 1 } resolveRoomAliasRoomAliasReceivedRoomAlias = roomAlias - DispatchQueue.main.async { - self.resolveRoomAliasRoomAliasReceivedInvocations.append(roomAlias) - } + resolveRoomAliasRoomAliasReceivedInvocationsLock.withLock { resolveRoomAliasRoomAliasUnderlyingReceivedInvocations.append(roomAlias) } if let resolveRoomAliasRoomAliasClosure = resolveRoomAliasRoomAliasClosure { return try await resolveRoomAliasRoomAliasClosure(roomAlias) } else { @@ -4278,121 +2511,83 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - restoreSession open var restoreSessionSessionThrowableError: Error? - open var restoreSessionSessionUnderlyingCallsCount = 0 + private let restoreSessionSessionCallsCountLock = NSLock() + private var restoreSessionSessionUnderlyingCallsCount = 0 open var restoreSessionSessionCallsCount: Int { - get { - if Thread.isMainThread { - return restoreSessionSessionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = restoreSessionSessionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - restoreSessionSessionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - restoreSessionSessionUnderlyingCallsCount = newValue - } - } - } + get { restoreSessionSessionCallsCountLock.withLock { restoreSessionSessionUnderlyingCallsCount } } + set { restoreSessionSessionCallsCountLock.withLock { restoreSessionSessionUnderlyingCallsCount = newValue } } } open var restoreSessionSessionCalled: Bool { return restoreSessionSessionCallsCount > 0 } - open var restoreSessionSessionReceivedSession: Session? - open var restoreSessionSessionReceivedInvocations: [Session] = [] + private let restoreSessionSessionReceivedSessionLock = NSLock() + private var restoreSessionSessionUnderlyingReceivedSession: Session? + open var restoreSessionSessionReceivedSession: Session? { + get { restoreSessionSessionReceivedSessionLock.withLock { restoreSessionSessionUnderlyingReceivedSession } } + set { restoreSessionSessionReceivedSessionLock.withLock { restoreSessionSessionUnderlyingReceivedSession = newValue } } + } + private let restoreSessionSessionReceivedInvocationsLock = NSLock() + private var restoreSessionSessionUnderlyingReceivedInvocations: [Session] = [] + open var restoreSessionSessionReceivedInvocations: [Session] { + get { restoreSessionSessionReceivedInvocationsLock.withLock { restoreSessionSessionUnderlyingReceivedInvocations } } + set { restoreSessionSessionReceivedInvocationsLock.withLock { restoreSessionSessionUnderlyingReceivedInvocations = newValue } } + } open var restoreSessionSessionClosure: ((Session) async throws -> Void)? open override func restoreSession(session: Session) async throws { if let error = restoreSessionSessionThrowableError { throw error } - restoreSessionSessionCallsCount += 1 + restoreSessionSessionCallsCountLock.withLock { restoreSessionSessionUnderlyingCallsCount += 1 } restoreSessionSessionReceivedSession = session - DispatchQueue.main.async { - self.restoreSessionSessionReceivedInvocations.append(session) - } + restoreSessionSessionReceivedInvocationsLock.withLock { restoreSessionSessionUnderlyingReceivedInvocations.append(session) } try await restoreSessionSessionClosure?(session) } //MARK: - restoreSessionWith open var restoreSessionWithSessionRoomLoadSettingsThrowableError: Error? - open var restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount = 0 + private let restoreSessionWithSessionRoomLoadSettingsCallsCountLock = NSLock() + private var restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount = 0 open var restoreSessionWithSessionRoomLoadSettingsCallsCount: Int { - get { - if Thread.isMainThread { - return restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount = newValue - } - } - } + get { restoreSessionWithSessionRoomLoadSettingsCallsCountLock.withLock { restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount } } + set { restoreSessionWithSessionRoomLoadSettingsCallsCountLock.withLock { restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount = newValue } } } open var restoreSessionWithSessionRoomLoadSettingsCalled: Bool { return restoreSessionWithSessionRoomLoadSettingsCallsCount > 0 } - open var restoreSessionWithSessionRoomLoadSettingsReceivedArguments: (session: Session, roomLoadSettings: RoomLoadSettings)? - open var restoreSessionWithSessionRoomLoadSettingsReceivedInvocations: [(session: Session, roomLoadSettings: RoomLoadSettings)] = [] + private let restoreSessionWithSessionRoomLoadSettingsReceivedArgumentsLock = NSLock() + private var restoreSessionWithSessionRoomLoadSettingsUnderlyingReceivedArguments: (session: Session, roomLoadSettings: RoomLoadSettings)? + open var restoreSessionWithSessionRoomLoadSettingsReceivedArguments: (session: Session, roomLoadSettings: RoomLoadSettings)? { + get { restoreSessionWithSessionRoomLoadSettingsReceivedArgumentsLock.withLock { restoreSessionWithSessionRoomLoadSettingsUnderlyingReceivedArguments } } + set { restoreSessionWithSessionRoomLoadSettingsReceivedArgumentsLock.withLock { restoreSessionWithSessionRoomLoadSettingsUnderlyingReceivedArguments = newValue } } + } + private let restoreSessionWithSessionRoomLoadSettingsReceivedInvocationsLock = NSLock() + private var restoreSessionWithSessionRoomLoadSettingsUnderlyingReceivedInvocations: [(session: Session, roomLoadSettings: RoomLoadSettings)] = [] + open var restoreSessionWithSessionRoomLoadSettingsReceivedInvocations: [(session: Session, roomLoadSettings: RoomLoadSettings)] { + get { restoreSessionWithSessionRoomLoadSettingsReceivedInvocationsLock.withLock { restoreSessionWithSessionRoomLoadSettingsUnderlyingReceivedInvocations } } + set { restoreSessionWithSessionRoomLoadSettingsReceivedInvocationsLock.withLock { restoreSessionWithSessionRoomLoadSettingsUnderlyingReceivedInvocations = newValue } } + } open var restoreSessionWithSessionRoomLoadSettingsClosure: ((Session, RoomLoadSettings) async throws -> Void)? open override func restoreSessionWith(session: Session, roomLoadSettings: RoomLoadSettings) async throws { if let error = restoreSessionWithSessionRoomLoadSettingsThrowableError { throw error } - restoreSessionWithSessionRoomLoadSettingsCallsCount += 1 + restoreSessionWithSessionRoomLoadSettingsCallsCountLock.withLock { restoreSessionWithSessionRoomLoadSettingsUnderlyingCallsCount += 1 } restoreSessionWithSessionRoomLoadSettingsReceivedArguments = (session: session, roomLoadSettings: roomLoadSettings) - DispatchQueue.main.async { - self.restoreSessionWithSessionRoomLoadSettingsReceivedInvocations.append((session: session, roomLoadSettings: roomLoadSettings)) - } + restoreSessionWithSessionRoomLoadSettingsReceivedInvocationsLock.withLock { restoreSessionWithSessionRoomLoadSettingsUnderlyingReceivedInvocations.append((session: session, roomLoadSettings: roomLoadSettings)) } try await restoreSessionWithSessionRoomLoadSettingsClosure?(session, roomLoadSettings) } //MARK: - resume open var resumeThrowableError: Error? - open var resumeUnderlyingCallsCount = 0 + private let resumeCallsCountLock = NSLock() + private var resumeUnderlyingCallsCount = 0 open var resumeCallsCount: Int { - get { - if Thread.isMainThread { - return resumeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resumeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resumeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resumeUnderlyingCallsCount = newValue - } - } - } + get { resumeCallsCountLock.withLock { resumeUnderlyingCallsCount } } + set { resumeCallsCountLock.withLock { resumeUnderlyingCallsCount = newValue } } } open var resumeCalled: Bool { return resumeCallsCount > 0 @@ -4403,66 +2598,40 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = resumeThrowableError { throw error } - resumeCallsCount += 1 + resumeCallsCountLock.withLock { resumeUnderlyingCallsCount += 1 } try await resumeClosure?() } //MARK: - roomAliasExists open var roomAliasExistsRoomAliasThrowableError: Error? - open var roomAliasExistsRoomAliasUnderlyingCallsCount = 0 + private let roomAliasExistsRoomAliasCallsCountLock = NSLock() + private var roomAliasExistsRoomAliasUnderlyingCallsCount = 0 open var roomAliasExistsRoomAliasCallsCount: Int { - get { - if Thread.isMainThread { - return roomAliasExistsRoomAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomAliasExistsRoomAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomAliasExistsRoomAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomAliasExistsRoomAliasUnderlyingCallsCount = newValue - } - } - } + get { roomAliasExistsRoomAliasCallsCountLock.withLock { roomAliasExistsRoomAliasUnderlyingCallsCount } } + set { roomAliasExistsRoomAliasCallsCountLock.withLock { roomAliasExistsRoomAliasUnderlyingCallsCount = newValue } } } open var roomAliasExistsRoomAliasCalled: Bool { return roomAliasExistsRoomAliasCallsCount > 0 } - open var roomAliasExistsRoomAliasReceivedRoomAlias: String? - open var roomAliasExistsRoomAliasReceivedInvocations: [String] = [] + private let roomAliasExistsRoomAliasReceivedRoomAliasLock = NSLock() + private var roomAliasExistsRoomAliasUnderlyingReceivedRoomAlias: String? + open var roomAliasExistsRoomAliasReceivedRoomAlias: String? { + get { roomAliasExistsRoomAliasReceivedRoomAliasLock.withLock { roomAliasExistsRoomAliasUnderlyingReceivedRoomAlias } } + set { roomAliasExistsRoomAliasReceivedRoomAliasLock.withLock { roomAliasExistsRoomAliasUnderlyingReceivedRoomAlias = newValue } } + } + private let roomAliasExistsRoomAliasReceivedInvocationsLock = NSLock() + private var roomAliasExistsRoomAliasUnderlyingReceivedInvocations: [String] = [] + open var roomAliasExistsRoomAliasReceivedInvocations: [String] { + get { roomAliasExistsRoomAliasReceivedInvocationsLock.withLock { roomAliasExistsRoomAliasUnderlyingReceivedInvocations } } + set { roomAliasExistsRoomAliasReceivedInvocationsLock.withLock { roomAliasExistsRoomAliasUnderlyingReceivedInvocations = newValue } } + } + private let roomAliasExistsRoomAliasReturnValueLock = NSLock() open var roomAliasExistsRoomAliasUnderlyingReturnValue: Bool! open var roomAliasExistsRoomAliasReturnValue: Bool! { - get { - if Thread.isMainThread { - return roomAliasExistsRoomAliasUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = roomAliasExistsRoomAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomAliasExistsRoomAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomAliasExistsRoomAliasUnderlyingReturnValue = newValue - } - } - } + get { roomAliasExistsRoomAliasReturnValueLock.withLock { roomAliasExistsRoomAliasUnderlyingReturnValue } } + set { roomAliasExistsRoomAliasReturnValueLock.withLock { roomAliasExistsRoomAliasUnderlyingReturnValue = newValue } } } open var roomAliasExistsRoomAliasClosure: ((String) async throws -> Bool)? @@ -4470,11 +2639,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = roomAliasExistsRoomAliasThrowableError { throw error } - roomAliasExistsRoomAliasCallsCount += 1 + roomAliasExistsRoomAliasCallsCountLock.withLock { roomAliasExistsRoomAliasUnderlyingCallsCount += 1 } roomAliasExistsRoomAliasReceivedRoomAlias = roomAlias - DispatchQueue.main.async { - self.roomAliasExistsRoomAliasReceivedInvocations.append(roomAlias) - } + roomAliasExistsRoomAliasReceivedInvocationsLock.withLock { roomAliasExistsRoomAliasUnderlyingReceivedInvocations.append(roomAlias) } if let roomAliasExistsRoomAliasClosure = roomAliasExistsRoomAliasClosure { return try await roomAliasExistsRoomAliasClosure(roomAlias) } else { @@ -4484,62 +2651,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - roomDirectorySearch - open var roomDirectorySearchUnderlyingCallsCount = 0 + private let roomDirectorySearchCallsCountLock = NSLock() + private var roomDirectorySearchUnderlyingCallsCount = 0 open var roomDirectorySearchCallsCount: Int { - get { - if Thread.isMainThread { - return roomDirectorySearchUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomDirectorySearchUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomDirectorySearchUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomDirectorySearchUnderlyingCallsCount = newValue - } - } - } + get { roomDirectorySearchCallsCountLock.withLock { roomDirectorySearchUnderlyingCallsCount } } + set { roomDirectorySearchCallsCountLock.withLock { roomDirectorySearchUnderlyingCallsCount = newValue } } } open var roomDirectorySearchCalled: Bool { return roomDirectorySearchCallsCount > 0 } + private let roomDirectorySearchReturnValueLock = NSLock() open var roomDirectorySearchUnderlyingReturnValue: RoomDirectorySearch! open var roomDirectorySearchReturnValue: RoomDirectorySearch! { - get { - if Thread.isMainThread { - return roomDirectorySearchUnderlyingReturnValue - } else { - var returnValue: RoomDirectorySearch? = nil - DispatchQueue.main.sync { - returnValue = roomDirectorySearchUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomDirectorySearchUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomDirectorySearchUnderlyingReturnValue = newValue - } - } - } + get { roomDirectorySearchReturnValueLock.withLock { roomDirectorySearchUnderlyingReturnValue } } + set { roomDirectorySearchReturnValueLock.withLock { roomDirectorySearchUnderlyingReturnValue = newValue } } } open var roomDirectorySearchClosure: (() -> RoomDirectorySearch)? open override func roomDirectorySearch() -> RoomDirectorySearch { - roomDirectorySearchCallsCount += 1 + roomDirectorySearchCallsCountLock.withLock { roomDirectorySearchUnderlyingCallsCount += 1 } if let roomDirectorySearchClosure = roomDirectorySearchClosure { return roomDirectorySearchClosure() } else { @@ -4549,62 +2680,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - rooms - open var roomsUnderlyingCallsCount = 0 + private let roomsCallsCountLock = NSLock() + private var roomsUnderlyingCallsCount = 0 open var roomsCallsCount: Int { - get { - if Thread.isMainThread { - return roomsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomsUnderlyingCallsCount = newValue - } - } - } + get { roomsCallsCountLock.withLock { roomsUnderlyingCallsCount } } + set { roomsCallsCountLock.withLock { roomsUnderlyingCallsCount = newValue } } } open var roomsCalled: Bool { return roomsCallsCount > 0 } + private let roomsReturnValueLock = NSLock() open var roomsUnderlyingReturnValue: [Room]! open var roomsReturnValue: [Room]! { - get { - if Thread.isMainThread { - return roomsUnderlyingReturnValue - } else { - var returnValue: [Room]? = nil - DispatchQueue.main.sync { - returnValue = roomsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomsUnderlyingReturnValue = newValue - } - } - } + get { roomsReturnValueLock.withLock { roomsUnderlyingReturnValue } } + set { roomsReturnValueLock.withLock { roomsUnderlyingReturnValue = newValue } } } open var roomsClosure: (() -> [Room])? open override func rooms() -> [Room] { - roomsCallsCount += 1 + roomsCallsCountLock.withLock { roomsUnderlyingCallsCount += 1 } if let roomsClosure = roomsClosure { return roomsClosure() } else { @@ -4615,59 +2710,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - searchUsers open var searchUsersSearchTermLimitThrowableError: Error? - open var searchUsersSearchTermLimitUnderlyingCallsCount = 0 + private let searchUsersSearchTermLimitCallsCountLock = NSLock() + private var searchUsersSearchTermLimitUnderlyingCallsCount = 0 open var searchUsersSearchTermLimitCallsCount: Int { - get { - if Thread.isMainThread { - return searchUsersSearchTermLimitUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = searchUsersSearchTermLimitUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchUsersSearchTermLimitUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - searchUsersSearchTermLimitUnderlyingCallsCount = newValue - } - } - } + get { searchUsersSearchTermLimitCallsCountLock.withLock { searchUsersSearchTermLimitUnderlyingCallsCount } } + set { searchUsersSearchTermLimitCallsCountLock.withLock { searchUsersSearchTermLimitUnderlyingCallsCount = newValue } } } open var searchUsersSearchTermLimitCalled: Bool { return searchUsersSearchTermLimitCallsCount > 0 } - open var searchUsersSearchTermLimitReceivedArguments: (searchTerm: String, limit: UInt64)? - open var searchUsersSearchTermLimitReceivedInvocations: [(searchTerm: String, limit: UInt64)] = [] + private let searchUsersSearchTermLimitReceivedArgumentsLock = NSLock() + private var searchUsersSearchTermLimitUnderlyingReceivedArguments: (searchTerm: String, limit: UInt64)? + open var searchUsersSearchTermLimitReceivedArguments: (searchTerm: String, limit: UInt64)? { + get { searchUsersSearchTermLimitReceivedArgumentsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedArguments } } + set { searchUsersSearchTermLimitReceivedArgumentsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedArguments = newValue } } + } + private let searchUsersSearchTermLimitReceivedInvocationsLock = NSLock() + private var searchUsersSearchTermLimitUnderlyingReceivedInvocations: [(searchTerm: String, limit: UInt64)] = [] + open var searchUsersSearchTermLimitReceivedInvocations: [(searchTerm: String, limit: UInt64)] { + get { searchUsersSearchTermLimitReceivedInvocationsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedInvocations } } + set { searchUsersSearchTermLimitReceivedInvocationsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedInvocations = newValue } } + } + private let searchUsersSearchTermLimitReturnValueLock = NSLock() open var searchUsersSearchTermLimitUnderlyingReturnValue: SearchUsersResults! open var searchUsersSearchTermLimitReturnValue: SearchUsersResults! { - get { - if Thread.isMainThread { - return searchUsersSearchTermLimitUnderlyingReturnValue - } else { - var returnValue: SearchUsersResults? = nil - DispatchQueue.main.sync { - returnValue = searchUsersSearchTermLimitUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchUsersSearchTermLimitUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - searchUsersSearchTermLimitUnderlyingReturnValue = newValue - } - } - } + get { searchUsersSearchTermLimitReturnValueLock.withLock { searchUsersSearchTermLimitUnderlyingReturnValue } } + set { searchUsersSearchTermLimitReturnValueLock.withLock { searchUsersSearchTermLimitUnderlyingReturnValue = newValue } } } open var searchUsersSearchTermLimitClosure: ((String, UInt64) async throws -> SearchUsersResults)? @@ -4675,11 +2744,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = searchUsersSearchTermLimitThrowableError { throw error } - searchUsersSearchTermLimitCallsCount += 1 + searchUsersSearchTermLimitCallsCountLock.withLock { searchUsersSearchTermLimitUnderlyingCallsCount += 1 } searchUsersSearchTermLimitReceivedArguments = (searchTerm: searchTerm, limit: limit) - DispatchQueue.main.async { - self.searchUsersSearchTermLimitReceivedInvocations.append((searchTerm: searchTerm, limit: limit)) - } + searchUsersSearchTermLimitReceivedInvocationsLock.withLock { searchUsersSearchTermLimitUnderlyingReceivedInvocations.append((searchTerm: searchTerm, limit: limit)) } if let searchUsersSearchTermLimitClosure = searchUsersSearchTermLimitClosure { return try await searchUsersSearchTermLimitClosure(searchTerm, limit) } else { @@ -4689,62 +2756,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - server - open var serverUnderlyingCallsCount = 0 + private let serverCallsCountLock = NSLock() + private var serverUnderlyingCallsCount = 0 open var serverCallsCount: Int { - get { - if Thread.isMainThread { - return serverUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = serverUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - serverUnderlyingCallsCount = newValue - } - } - } + get { serverCallsCountLock.withLock { serverUnderlyingCallsCount } } + set { serverCallsCountLock.withLock { serverUnderlyingCallsCount = newValue } } } open var serverCalled: Bool { return serverCallsCount > 0 } + private let serverReturnValueLock = NSLock() open var serverUnderlyingReturnValue: String? open var serverReturnValue: String? { - get { - if Thread.isMainThread { - return serverUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = serverUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - serverUnderlyingReturnValue = newValue - } - } - } + get { serverReturnValueLock.withLock { serverUnderlyingReturnValue } } + set { serverReturnValueLock.withLock { serverUnderlyingReturnValue = newValue } } } open var serverClosure: (() -> String?)? open override func server() -> String? { - serverCallsCount += 1 + serverCallsCountLock.withLock { serverUnderlyingCallsCount += 1 } if let serverClosure = serverClosure { return serverClosure() } else { @@ -4755,57 +2786,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - serverVendorInfo open var serverVendorInfoThrowableError: Error? - open var serverVendorInfoUnderlyingCallsCount = 0 + private let serverVendorInfoCallsCountLock = NSLock() + private var serverVendorInfoUnderlyingCallsCount = 0 open var serverVendorInfoCallsCount: Int { - get { - if Thread.isMainThread { - return serverVendorInfoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = serverVendorInfoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverVendorInfoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - serverVendorInfoUnderlyingCallsCount = newValue - } - } - } + get { serverVendorInfoCallsCountLock.withLock { serverVendorInfoUnderlyingCallsCount } } + set { serverVendorInfoCallsCountLock.withLock { serverVendorInfoUnderlyingCallsCount = newValue } } } open var serverVendorInfoCalled: Bool { return serverVendorInfoCallsCount > 0 } + private let serverVendorInfoReturnValueLock = NSLock() open var serverVendorInfoUnderlyingReturnValue: ServerVendorInfo! open var serverVendorInfoReturnValue: ServerVendorInfo! { - get { - if Thread.isMainThread { - return serverVendorInfoUnderlyingReturnValue - } else { - var returnValue: ServerVendorInfo? = nil - DispatchQueue.main.sync { - returnValue = serverVendorInfoUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverVendorInfoUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - serverVendorInfoUnderlyingReturnValue = newValue - } - } - } + get { serverVendorInfoReturnValueLock.withLock { serverVendorInfoUnderlyingReturnValue } } + set { serverVendorInfoReturnValueLock.withLock { serverVendorInfoUnderlyingReturnValue = newValue } } } open var serverVendorInfoClosure: (() async throws -> ServerVendorInfo)? @@ -4813,7 +2808,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = serverVendorInfoThrowableError { throw error } - serverVendorInfoCallsCount += 1 + serverVendorInfoCallsCountLock.withLock { serverVendorInfoUnderlyingCallsCount += 1 } if let serverVendorInfoClosure = serverVendorInfoClosure { return try await serverVendorInfoClosure() } else { @@ -4824,57 +2819,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - session open var sessionThrowableError: Error? - open var sessionUnderlyingCallsCount = 0 + private let sessionCallsCountLock = NSLock() + private var sessionUnderlyingCallsCount = 0 open var sessionCallsCount: Int { - get { - if Thread.isMainThread { - return sessionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sessionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sessionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sessionUnderlyingCallsCount = newValue - } - } - } + get { sessionCallsCountLock.withLock { sessionUnderlyingCallsCount } } + set { sessionCallsCountLock.withLock { sessionUnderlyingCallsCount = newValue } } } open var sessionCalled: Bool { return sessionCallsCount > 0 } + private let sessionReturnValueLock = NSLock() open var sessionUnderlyingReturnValue: Session! open var sessionReturnValue: Session! { - get { - if Thread.isMainThread { - return sessionUnderlyingReturnValue - } else { - var returnValue: Session? = nil - DispatchQueue.main.sync { - returnValue = sessionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sessionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sessionUnderlyingReturnValue = newValue - } - } - } + get { sessionReturnValueLock.withLock { sessionUnderlyingReturnValue } } + set { sessionReturnValueLock.withLock { sessionUnderlyingReturnValue = newValue } } } open var sessionClosure: (() throws -> Session)? @@ -4882,7 +2841,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = sessionThrowableError { throw error } - sessionCallsCount += 1 + sessionCallsCountLock.withLock { sessionUnderlyingCallsCount += 1 } if let sessionClosure = sessionClosure { return try sessionClosure() } else { @@ -4893,151 +2852,105 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - setAccountData open var setAccountDataEventTypeContentThrowableError: Error? - open var setAccountDataEventTypeContentUnderlyingCallsCount = 0 + private let setAccountDataEventTypeContentCallsCountLock = NSLock() + private var setAccountDataEventTypeContentUnderlyingCallsCount = 0 open var setAccountDataEventTypeContentCallsCount: Int { - get { - if Thread.isMainThread { - return setAccountDataEventTypeContentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setAccountDataEventTypeContentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setAccountDataEventTypeContentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setAccountDataEventTypeContentUnderlyingCallsCount = newValue - } - } - } + get { setAccountDataEventTypeContentCallsCountLock.withLock { setAccountDataEventTypeContentUnderlyingCallsCount } } + set { setAccountDataEventTypeContentCallsCountLock.withLock { setAccountDataEventTypeContentUnderlyingCallsCount = newValue } } } open var setAccountDataEventTypeContentCalled: Bool { return setAccountDataEventTypeContentCallsCount > 0 } - open var setAccountDataEventTypeContentReceivedArguments: (eventType: String, content: String)? - open var setAccountDataEventTypeContentReceivedInvocations: [(eventType: String, content: String)] = [] + private let setAccountDataEventTypeContentReceivedArgumentsLock = NSLock() + private var setAccountDataEventTypeContentUnderlyingReceivedArguments: (eventType: String, content: String)? + open var setAccountDataEventTypeContentReceivedArguments: (eventType: String, content: String)? { + get { setAccountDataEventTypeContentReceivedArgumentsLock.withLock { setAccountDataEventTypeContentUnderlyingReceivedArguments } } + set { setAccountDataEventTypeContentReceivedArgumentsLock.withLock { setAccountDataEventTypeContentUnderlyingReceivedArguments = newValue } } + } + private let setAccountDataEventTypeContentReceivedInvocationsLock = NSLock() + private var setAccountDataEventTypeContentUnderlyingReceivedInvocations: [(eventType: String, content: String)] = [] + open var setAccountDataEventTypeContentReceivedInvocations: [(eventType: String, content: String)] { + get { setAccountDataEventTypeContentReceivedInvocationsLock.withLock { setAccountDataEventTypeContentUnderlyingReceivedInvocations } } + set { setAccountDataEventTypeContentReceivedInvocationsLock.withLock { setAccountDataEventTypeContentUnderlyingReceivedInvocations = newValue } } + } open var setAccountDataEventTypeContentClosure: ((String, String) async throws -> Void)? open override func setAccountData(eventType: String, content: String) async throws { if let error = setAccountDataEventTypeContentThrowableError { throw error } - setAccountDataEventTypeContentCallsCount += 1 + setAccountDataEventTypeContentCallsCountLock.withLock { setAccountDataEventTypeContentUnderlyingCallsCount += 1 } setAccountDataEventTypeContentReceivedArguments = (eventType: eventType, content: content) - DispatchQueue.main.async { - self.setAccountDataEventTypeContentReceivedInvocations.append((eventType: eventType, content: content)) - } + setAccountDataEventTypeContentReceivedInvocationsLock.withLock { setAccountDataEventTypeContentUnderlyingReceivedInvocations.append((eventType: eventType, content: content)) } try await setAccountDataEventTypeContentClosure?(eventType, content) } //MARK: - setAvatarUrl open var setAvatarUrlUrlThrowableError: Error? - open var setAvatarUrlUrlUnderlyingCallsCount = 0 + private let setAvatarUrlUrlCallsCountLock = NSLock() + private var setAvatarUrlUrlUnderlyingCallsCount = 0 open var setAvatarUrlUrlCallsCount: Int { - get { - if Thread.isMainThread { - return setAvatarUrlUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setAvatarUrlUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setAvatarUrlUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setAvatarUrlUrlUnderlyingCallsCount = newValue - } - } - } + get { setAvatarUrlUrlCallsCountLock.withLock { setAvatarUrlUrlUnderlyingCallsCount } } + set { setAvatarUrlUrlCallsCountLock.withLock { setAvatarUrlUrlUnderlyingCallsCount = newValue } } } open var setAvatarUrlUrlCalled: Bool { return setAvatarUrlUrlCallsCount > 0 } - open var setAvatarUrlUrlReceivedUrl: String? - open var setAvatarUrlUrlReceivedInvocations: [String] = [] + private let setAvatarUrlUrlReceivedUrlLock = NSLock() + private var setAvatarUrlUrlUnderlyingReceivedUrl: String? + open var setAvatarUrlUrlReceivedUrl: String? { + get { setAvatarUrlUrlReceivedUrlLock.withLock { setAvatarUrlUrlUnderlyingReceivedUrl } } + set { setAvatarUrlUrlReceivedUrlLock.withLock { setAvatarUrlUrlUnderlyingReceivedUrl = newValue } } + } + private let setAvatarUrlUrlReceivedInvocationsLock = NSLock() + private var setAvatarUrlUrlUnderlyingReceivedInvocations: [String] = [] + open var setAvatarUrlUrlReceivedInvocations: [String] { + get { setAvatarUrlUrlReceivedInvocationsLock.withLock { setAvatarUrlUrlUnderlyingReceivedInvocations } } + set { setAvatarUrlUrlReceivedInvocationsLock.withLock { setAvatarUrlUrlUnderlyingReceivedInvocations = newValue } } + } open var setAvatarUrlUrlClosure: ((String) async throws -> Void)? open override func setAvatarUrl(url: String) async throws { if let error = setAvatarUrlUrlThrowableError { throw error } - setAvatarUrlUrlCallsCount += 1 + setAvatarUrlUrlCallsCountLock.withLock { setAvatarUrlUrlUnderlyingCallsCount += 1 } setAvatarUrlUrlReceivedUrl = url - DispatchQueue.main.async { - self.setAvatarUrlUrlReceivedInvocations.append(url) - } + setAvatarUrlUrlReceivedInvocationsLock.withLock { setAvatarUrlUrlUnderlyingReceivedInvocations.append(url) } try await setAvatarUrlUrlClosure?(url) } //MARK: - setDelegate open var setDelegateDelegateThrowableError: Error? - open var setDelegateDelegateUnderlyingCallsCount = 0 + private let setDelegateDelegateCallsCountLock = NSLock() + private var setDelegateDelegateUnderlyingCallsCount = 0 open var setDelegateDelegateCallsCount: Int { - get { - if Thread.isMainThread { - return setDelegateDelegateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setDelegateDelegateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setDelegateDelegateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setDelegateDelegateUnderlyingCallsCount = newValue - } - } - } + get { setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount } } + set { setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount = newValue } } } open var setDelegateDelegateCalled: Bool { return setDelegateDelegateCallsCount > 0 } - open var setDelegateDelegateReceivedDelegate: ClientDelegate? - open var setDelegateDelegateReceivedInvocations: [ClientDelegate?] = [] + private let setDelegateDelegateReceivedDelegateLock = NSLock() + private var setDelegateDelegateUnderlyingReceivedDelegate: ClientDelegate? + open var setDelegateDelegateReceivedDelegate: ClientDelegate? { + get { setDelegateDelegateReceivedDelegateLock.withLock { setDelegateDelegateUnderlyingReceivedDelegate } } + set { setDelegateDelegateReceivedDelegateLock.withLock { setDelegateDelegateUnderlyingReceivedDelegate = newValue } } + } + private let setDelegateDelegateReceivedInvocationsLock = NSLock() + private var setDelegateDelegateUnderlyingReceivedInvocations: [ClientDelegate?] = [] + open var setDelegateDelegateReceivedInvocations: [ClientDelegate?] { + get { setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations } } + set { setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations = newValue } } + } + private let setDelegateDelegateReturnValueLock = NSLock() open var setDelegateDelegateUnderlyingReturnValue: TaskHandle? open var setDelegateDelegateReturnValue: TaskHandle? { - get { - if Thread.isMainThread { - return setDelegateDelegateUnderlyingReturnValue - } else { - var returnValue: TaskHandle?? = nil - DispatchQueue.main.sync { - returnValue = setDelegateDelegateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setDelegateDelegateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setDelegateDelegateUnderlyingReturnValue = newValue - } - } - } + get { setDelegateDelegateReturnValueLock.withLock { setDelegateDelegateUnderlyingReturnValue } } + set { setDelegateDelegateReturnValueLock.withLock { setDelegateDelegateUnderlyingReturnValue = newValue } } } open var setDelegateDelegateClosure: ((ClientDelegate?) throws -> TaskHandle?)? @@ -5045,11 +2958,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = setDelegateDelegateThrowableError { throw error } - setDelegateDelegateCallsCount += 1 + setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount += 1 } setDelegateDelegateReceivedDelegate = delegate - DispatchQueue.main.async { - self.setDelegateDelegateReceivedInvocations.append(delegate) - } + setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations.append(delegate) } if let setDelegateDelegateClosure = setDelegateDelegateClosure { return try setDelegateDelegateClosure(delegate) } else { @@ -5060,337 +2971,241 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - setDisplayName open var setDisplayNameNameThrowableError: Error? - open var setDisplayNameNameUnderlyingCallsCount = 0 + private let setDisplayNameNameCallsCountLock = NSLock() + private var setDisplayNameNameUnderlyingCallsCount = 0 open var setDisplayNameNameCallsCount: Int { - get { - if Thread.isMainThread { - return setDisplayNameNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setDisplayNameNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setDisplayNameNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setDisplayNameNameUnderlyingCallsCount = newValue - } - } - } + get { setDisplayNameNameCallsCountLock.withLock { setDisplayNameNameUnderlyingCallsCount } } + set { setDisplayNameNameCallsCountLock.withLock { setDisplayNameNameUnderlyingCallsCount = newValue } } } open var setDisplayNameNameCalled: Bool { return setDisplayNameNameCallsCount > 0 } - open var setDisplayNameNameReceivedName: String? - open var setDisplayNameNameReceivedInvocations: [String] = [] + private let setDisplayNameNameReceivedNameLock = NSLock() + private var setDisplayNameNameUnderlyingReceivedName: String? + open var setDisplayNameNameReceivedName: String? { + get { setDisplayNameNameReceivedNameLock.withLock { setDisplayNameNameUnderlyingReceivedName } } + set { setDisplayNameNameReceivedNameLock.withLock { setDisplayNameNameUnderlyingReceivedName = newValue } } + } + private let setDisplayNameNameReceivedInvocationsLock = NSLock() + private var setDisplayNameNameUnderlyingReceivedInvocations: [String] = [] + open var setDisplayNameNameReceivedInvocations: [String] { + get { setDisplayNameNameReceivedInvocationsLock.withLock { setDisplayNameNameUnderlyingReceivedInvocations } } + set { setDisplayNameNameReceivedInvocationsLock.withLock { setDisplayNameNameUnderlyingReceivedInvocations = newValue } } + } open var setDisplayNameNameClosure: ((String) async throws -> Void)? open override func setDisplayName(name: String) async throws { if let error = setDisplayNameNameThrowableError { throw error } - setDisplayNameNameCallsCount += 1 + setDisplayNameNameCallsCountLock.withLock { setDisplayNameNameUnderlyingCallsCount += 1 } setDisplayNameNameReceivedName = name - DispatchQueue.main.async { - self.setDisplayNameNameReceivedInvocations.append(name) - } + setDisplayNameNameReceivedInvocationsLock.withLock { setDisplayNameNameUnderlyingReceivedInvocations.append(name) } try await setDisplayNameNameClosure?(name) } //MARK: - setInviteAvatarsDisplayPolicy open var setInviteAvatarsDisplayPolicyPolicyThrowableError: Error? - open var setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount = 0 + private let setInviteAvatarsDisplayPolicyPolicyCallsCountLock = NSLock() + private var setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount = 0 open var setInviteAvatarsDisplayPolicyPolicyCallsCount: Int { - get { - if Thread.isMainThread { - return setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount = newValue - } - } - } + get { setInviteAvatarsDisplayPolicyPolicyCallsCountLock.withLock { setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount } } + set { setInviteAvatarsDisplayPolicyPolicyCallsCountLock.withLock { setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount = newValue } } } open var setInviteAvatarsDisplayPolicyPolicyCalled: Bool { return setInviteAvatarsDisplayPolicyPolicyCallsCount > 0 } - open var setInviteAvatarsDisplayPolicyPolicyReceivedPolicy: InviteAvatars? - open var setInviteAvatarsDisplayPolicyPolicyReceivedInvocations: [InviteAvatars] = [] + private let setInviteAvatarsDisplayPolicyPolicyReceivedPolicyLock = NSLock() + private var setInviteAvatarsDisplayPolicyPolicyUnderlyingReceivedPolicy: InviteAvatars? + open var setInviteAvatarsDisplayPolicyPolicyReceivedPolicy: InviteAvatars? { + get { setInviteAvatarsDisplayPolicyPolicyReceivedPolicyLock.withLock { setInviteAvatarsDisplayPolicyPolicyUnderlyingReceivedPolicy } } + set { setInviteAvatarsDisplayPolicyPolicyReceivedPolicyLock.withLock { setInviteAvatarsDisplayPolicyPolicyUnderlyingReceivedPolicy = newValue } } + } + private let setInviteAvatarsDisplayPolicyPolicyReceivedInvocationsLock = NSLock() + private var setInviteAvatarsDisplayPolicyPolicyUnderlyingReceivedInvocations: [InviteAvatars] = [] + open var setInviteAvatarsDisplayPolicyPolicyReceivedInvocations: [InviteAvatars] { + get { setInviteAvatarsDisplayPolicyPolicyReceivedInvocationsLock.withLock { setInviteAvatarsDisplayPolicyPolicyUnderlyingReceivedInvocations } } + set { setInviteAvatarsDisplayPolicyPolicyReceivedInvocationsLock.withLock { setInviteAvatarsDisplayPolicyPolicyUnderlyingReceivedInvocations = newValue } } + } open var setInviteAvatarsDisplayPolicyPolicyClosure: ((InviteAvatars) async throws -> Void)? open override func setInviteAvatarsDisplayPolicy(policy: InviteAvatars) async throws { if let error = setInviteAvatarsDisplayPolicyPolicyThrowableError { throw error } - setInviteAvatarsDisplayPolicyPolicyCallsCount += 1 + setInviteAvatarsDisplayPolicyPolicyCallsCountLock.withLock { setInviteAvatarsDisplayPolicyPolicyUnderlyingCallsCount += 1 } setInviteAvatarsDisplayPolicyPolicyReceivedPolicy = policy - DispatchQueue.main.async { - self.setInviteAvatarsDisplayPolicyPolicyReceivedInvocations.append(policy) - } + setInviteAvatarsDisplayPolicyPolicyReceivedInvocationsLock.withLock { setInviteAvatarsDisplayPolicyPolicyUnderlyingReceivedInvocations.append(policy) } try await setInviteAvatarsDisplayPolicyPolicyClosure?(policy) } //MARK: - setMediaPreviewDisplayPolicy open var setMediaPreviewDisplayPolicyPolicyThrowableError: Error? - open var setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount = 0 + private let setMediaPreviewDisplayPolicyPolicyCallsCountLock = NSLock() + private var setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount = 0 open var setMediaPreviewDisplayPolicyPolicyCallsCount: Int { - get { - if Thread.isMainThread { - return setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount = newValue - } - } - } + get { setMediaPreviewDisplayPolicyPolicyCallsCountLock.withLock { setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount } } + set { setMediaPreviewDisplayPolicyPolicyCallsCountLock.withLock { setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount = newValue } } } open var setMediaPreviewDisplayPolicyPolicyCalled: Bool { return setMediaPreviewDisplayPolicyPolicyCallsCount > 0 } - open var setMediaPreviewDisplayPolicyPolicyReceivedPolicy: MediaPreviews? - open var setMediaPreviewDisplayPolicyPolicyReceivedInvocations: [MediaPreviews] = [] + private let setMediaPreviewDisplayPolicyPolicyReceivedPolicyLock = NSLock() + private var setMediaPreviewDisplayPolicyPolicyUnderlyingReceivedPolicy: MediaPreviews? + open var setMediaPreviewDisplayPolicyPolicyReceivedPolicy: MediaPreviews? { + get { setMediaPreviewDisplayPolicyPolicyReceivedPolicyLock.withLock { setMediaPreviewDisplayPolicyPolicyUnderlyingReceivedPolicy } } + set { setMediaPreviewDisplayPolicyPolicyReceivedPolicyLock.withLock { setMediaPreviewDisplayPolicyPolicyUnderlyingReceivedPolicy = newValue } } + } + private let setMediaPreviewDisplayPolicyPolicyReceivedInvocationsLock = NSLock() + private var setMediaPreviewDisplayPolicyPolicyUnderlyingReceivedInvocations: [MediaPreviews] = [] + open var setMediaPreviewDisplayPolicyPolicyReceivedInvocations: [MediaPreviews] { + get { setMediaPreviewDisplayPolicyPolicyReceivedInvocationsLock.withLock { setMediaPreviewDisplayPolicyPolicyUnderlyingReceivedInvocations } } + set { setMediaPreviewDisplayPolicyPolicyReceivedInvocationsLock.withLock { setMediaPreviewDisplayPolicyPolicyUnderlyingReceivedInvocations = newValue } } + } open var setMediaPreviewDisplayPolicyPolicyClosure: ((MediaPreviews) async throws -> Void)? open override func setMediaPreviewDisplayPolicy(policy: MediaPreviews) async throws { if let error = setMediaPreviewDisplayPolicyPolicyThrowableError { throw error } - setMediaPreviewDisplayPolicyPolicyCallsCount += 1 + setMediaPreviewDisplayPolicyPolicyCallsCountLock.withLock { setMediaPreviewDisplayPolicyPolicyUnderlyingCallsCount += 1 } setMediaPreviewDisplayPolicyPolicyReceivedPolicy = policy - DispatchQueue.main.async { - self.setMediaPreviewDisplayPolicyPolicyReceivedInvocations.append(policy) - } + setMediaPreviewDisplayPolicyPolicyReceivedInvocationsLock.withLock { setMediaPreviewDisplayPolicyPolicyUnderlyingReceivedInvocations.append(policy) } try await setMediaPreviewDisplayPolicyPolicyClosure?(policy) } //MARK: - setMediaRetentionPolicy open var setMediaRetentionPolicyPolicyThrowableError: Error? - open var setMediaRetentionPolicyPolicyUnderlyingCallsCount = 0 + private let setMediaRetentionPolicyPolicyCallsCountLock = NSLock() + private var setMediaRetentionPolicyPolicyUnderlyingCallsCount = 0 open var setMediaRetentionPolicyPolicyCallsCount: Int { - get { - if Thread.isMainThread { - return setMediaRetentionPolicyPolicyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setMediaRetentionPolicyPolicyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setMediaRetentionPolicyPolicyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setMediaRetentionPolicyPolicyUnderlyingCallsCount = newValue - } - } - } + get { setMediaRetentionPolicyPolicyCallsCountLock.withLock { setMediaRetentionPolicyPolicyUnderlyingCallsCount } } + set { setMediaRetentionPolicyPolicyCallsCountLock.withLock { setMediaRetentionPolicyPolicyUnderlyingCallsCount = newValue } } } open var setMediaRetentionPolicyPolicyCalled: Bool { return setMediaRetentionPolicyPolicyCallsCount > 0 } - open var setMediaRetentionPolicyPolicyReceivedPolicy: MediaRetentionPolicy? - open var setMediaRetentionPolicyPolicyReceivedInvocations: [MediaRetentionPolicy] = [] + private let setMediaRetentionPolicyPolicyReceivedPolicyLock = NSLock() + private var setMediaRetentionPolicyPolicyUnderlyingReceivedPolicy: MediaRetentionPolicy? + open var setMediaRetentionPolicyPolicyReceivedPolicy: MediaRetentionPolicy? { + get { setMediaRetentionPolicyPolicyReceivedPolicyLock.withLock { setMediaRetentionPolicyPolicyUnderlyingReceivedPolicy } } + set { setMediaRetentionPolicyPolicyReceivedPolicyLock.withLock { setMediaRetentionPolicyPolicyUnderlyingReceivedPolicy = newValue } } + } + private let setMediaRetentionPolicyPolicyReceivedInvocationsLock = NSLock() + private var setMediaRetentionPolicyPolicyUnderlyingReceivedInvocations: [MediaRetentionPolicy] = [] + open var setMediaRetentionPolicyPolicyReceivedInvocations: [MediaRetentionPolicy] { + get { setMediaRetentionPolicyPolicyReceivedInvocationsLock.withLock { setMediaRetentionPolicyPolicyUnderlyingReceivedInvocations } } + set { setMediaRetentionPolicyPolicyReceivedInvocationsLock.withLock { setMediaRetentionPolicyPolicyUnderlyingReceivedInvocations = newValue } } + } open var setMediaRetentionPolicyPolicyClosure: ((MediaRetentionPolicy) async throws -> Void)? open override func setMediaRetentionPolicy(policy: MediaRetentionPolicy) async throws { if let error = setMediaRetentionPolicyPolicyThrowableError { throw error } - setMediaRetentionPolicyPolicyCallsCount += 1 + setMediaRetentionPolicyPolicyCallsCountLock.withLock { setMediaRetentionPolicyPolicyUnderlyingCallsCount += 1 } setMediaRetentionPolicyPolicyReceivedPolicy = policy - DispatchQueue.main.async { - self.setMediaRetentionPolicyPolicyReceivedInvocations.append(policy) - } + setMediaRetentionPolicyPolicyReceivedInvocationsLock.withLock { setMediaRetentionPolicyPolicyUnderlyingReceivedInvocations.append(policy) } try await setMediaRetentionPolicyPolicyClosure?(policy) } //MARK: - setPusher open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendThrowableError: Error? - open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount = 0 + private let setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendCallsCountLock = NSLock() + private var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount = 0 open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendCallsCount: Int { - get { - if Thread.isMainThread { - return setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount = newValue - } - } - } + get { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendCallsCountLock.withLock { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount } } + set { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendCallsCountLock.withLock { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount = newValue } } } open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendCalled: Bool { return setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendCallsCount > 0 } - open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedArguments: (identifiers: PusherIdentifiers, kind: PusherKind, appDisplayName: String, deviceDisplayName: String, profileTag: String?, lang: String, append: Bool)? - open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedInvocations: [(identifiers: PusherIdentifiers, kind: PusherKind, appDisplayName: String, deviceDisplayName: String, profileTag: String?, lang: String, append: Bool)] = [] + private let setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedArgumentsLock = NSLock() + private var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingReceivedArguments: (identifiers: PusherIdentifiers, kind: PusherKind, appDisplayName: String, deviceDisplayName: String, profileTag: String?, lang: String, append: Bool)? + open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedArguments: (identifiers: PusherIdentifiers, kind: PusherKind, appDisplayName: String, deviceDisplayName: String, profileTag: String?, lang: String, append: Bool)? { + get { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedArgumentsLock.withLock { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingReceivedArguments } } + set { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedArgumentsLock.withLock { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingReceivedArguments = newValue } } + } + private let setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedInvocationsLock = NSLock() + private var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingReceivedInvocations: [(identifiers: PusherIdentifiers, kind: PusherKind, appDisplayName: String, deviceDisplayName: String, profileTag: String?, lang: String, append: Bool)] = [] + open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedInvocations: [(identifiers: PusherIdentifiers, kind: PusherKind, appDisplayName: String, deviceDisplayName: String, profileTag: String?, lang: String, append: Bool)] { + get { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedInvocationsLock.withLock { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingReceivedInvocations } } + set { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedInvocationsLock.withLock { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingReceivedInvocations = newValue } } + } open var setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendClosure: ((PusherIdentifiers, PusherKind, String, String, String?, String, Bool) async throws -> Void)? open override func setPusher(identifiers: PusherIdentifiers, kind: PusherKind, appDisplayName: String, deviceDisplayName: String, profileTag: String?, lang: String, append: Bool) async throws { if let error = setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendThrowableError { throw error } - setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendCallsCount += 1 + setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendCallsCountLock.withLock { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingCallsCount += 1 } setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedArguments = (identifiers: identifiers, kind: kind, appDisplayName: appDisplayName, deviceDisplayName: deviceDisplayName, profileTag: profileTag, lang: lang, append: append) - DispatchQueue.main.async { - self.setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedInvocations.append((identifiers: identifiers, kind: kind, appDisplayName: appDisplayName, deviceDisplayName: deviceDisplayName, profileTag: profileTag, lang: lang, append: append)) - } + setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendReceivedInvocationsLock.withLock { setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendUnderlyingReceivedInvocations.append((identifiers: identifiers, kind: kind, appDisplayName: appDisplayName, deviceDisplayName: deviceDisplayName, profileTag: profileTag, lang: lang, append: append)) } try await setPusherIdentifiersKindAppDisplayNameDeviceDisplayNameProfileTagLangAppendClosure?(identifiers, kind, appDisplayName, deviceDisplayName, profileTag, lang, append) } //MARK: - setUtdDelegate open var setUtdDelegateUtdDelegateThrowableError: Error? - open var setUtdDelegateUtdDelegateUnderlyingCallsCount = 0 + private let setUtdDelegateUtdDelegateCallsCountLock = NSLock() + private var setUtdDelegateUtdDelegateUnderlyingCallsCount = 0 open var setUtdDelegateUtdDelegateCallsCount: Int { - get { - if Thread.isMainThread { - return setUtdDelegateUtdDelegateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setUtdDelegateUtdDelegateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setUtdDelegateUtdDelegateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setUtdDelegateUtdDelegateUnderlyingCallsCount = newValue - } - } - } + get { setUtdDelegateUtdDelegateCallsCountLock.withLock { setUtdDelegateUtdDelegateUnderlyingCallsCount } } + set { setUtdDelegateUtdDelegateCallsCountLock.withLock { setUtdDelegateUtdDelegateUnderlyingCallsCount = newValue } } } open var setUtdDelegateUtdDelegateCalled: Bool { return setUtdDelegateUtdDelegateCallsCount > 0 } - open var setUtdDelegateUtdDelegateReceivedUtdDelegate: UnableToDecryptDelegate? - open var setUtdDelegateUtdDelegateReceivedInvocations: [UnableToDecryptDelegate] = [] + private let setUtdDelegateUtdDelegateReceivedUtdDelegateLock = NSLock() + private var setUtdDelegateUtdDelegateUnderlyingReceivedUtdDelegate: UnableToDecryptDelegate? + open var setUtdDelegateUtdDelegateReceivedUtdDelegate: UnableToDecryptDelegate? { + get { setUtdDelegateUtdDelegateReceivedUtdDelegateLock.withLock { setUtdDelegateUtdDelegateUnderlyingReceivedUtdDelegate } } + set { setUtdDelegateUtdDelegateReceivedUtdDelegateLock.withLock { setUtdDelegateUtdDelegateUnderlyingReceivedUtdDelegate = newValue } } + } + private let setUtdDelegateUtdDelegateReceivedInvocationsLock = NSLock() + private var setUtdDelegateUtdDelegateUnderlyingReceivedInvocations: [UnableToDecryptDelegate] = [] + open var setUtdDelegateUtdDelegateReceivedInvocations: [UnableToDecryptDelegate] { + get { setUtdDelegateUtdDelegateReceivedInvocationsLock.withLock { setUtdDelegateUtdDelegateUnderlyingReceivedInvocations } } + set { setUtdDelegateUtdDelegateReceivedInvocationsLock.withLock { setUtdDelegateUtdDelegateUnderlyingReceivedInvocations = newValue } } + } open var setUtdDelegateUtdDelegateClosure: ((UnableToDecryptDelegate) async throws -> Void)? open override func setUtdDelegate(utdDelegate: UnableToDecryptDelegate) async throws { if let error = setUtdDelegateUtdDelegateThrowableError { throw error } - setUtdDelegateUtdDelegateCallsCount += 1 + setUtdDelegateUtdDelegateCallsCountLock.withLock { setUtdDelegateUtdDelegateUnderlyingCallsCount += 1 } setUtdDelegateUtdDelegateReceivedUtdDelegate = utdDelegate - DispatchQueue.main.async { - self.setUtdDelegateUtdDelegateReceivedInvocations.append(utdDelegate) - } + setUtdDelegateUtdDelegateReceivedInvocationsLock.withLock { setUtdDelegateUtdDelegateUnderlyingReceivedInvocations.append(utdDelegate) } try await setUtdDelegateUtdDelegateClosure?(utdDelegate) } //MARK: - slidingSyncVersion - open var slidingSyncVersionUnderlyingCallsCount = 0 + private let slidingSyncVersionCallsCountLock = NSLock() + private var slidingSyncVersionUnderlyingCallsCount = 0 open var slidingSyncVersionCallsCount: Int { - get { - if Thread.isMainThread { - return slidingSyncVersionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = slidingSyncVersionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - slidingSyncVersionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - slidingSyncVersionUnderlyingCallsCount = newValue - } - } - } + get { slidingSyncVersionCallsCountLock.withLock { slidingSyncVersionUnderlyingCallsCount } } + set { slidingSyncVersionCallsCountLock.withLock { slidingSyncVersionUnderlyingCallsCount = newValue } } } open var slidingSyncVersionCalled: Bool { return slidingSyncVersionCallsCount > 0 } + private let slidingSyncVersionReturnValueLock = NSLock() open var slidingSyncVersionUnderlyingReturnValue: SlidingSyncVersion! open var slidingSyncVersionReturnValue: SlidingSyncVersion! { - get { - if Thread.isMainThread { - return slidingSyncVersionUnderlyingReturnValue - } else { - var returnValue: SlidingSyncVersion? = nil - DispatchQueue.main.sync { - returnValue = slidingSyncVersionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - slidingSyncVersionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - slidingSyncVersionUnderlyingReturnValue = newValue - } - } - } + get { slidingSyncVersionReturnValueLock.withLock { slidingSyncVersionUnderlyingReturnValue } } + set { slidingSyncVersionReturnValueLock.withLock { slidingSyncVersionUnderlyingReturnValue = newValue } } } open var slidingSyncVersionClosure: (() -> SlidingSyncVersion)? open override func slidingSyncVersion() -> SlidingSyncVersion { - slidingSyncVersionCallsCount += 1 + slidingSyncVersionCallsCountLock.withLock { slidingSyncVersionUnderlyingCallsCount += 1 } if let slidingSyncVersionClosure = slidingSyncVersionClosure { return slidingSyncVersionClosure() } else { @@ -5400,62 +3215,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - spaceService - open var spaceServiceUnderlyingCallsCount = 0 + private let spaceServiceCallsCountLock = NSLock() + private var spaceServiceUnderlyingCallsCount = 0 open var spaceServiceCallsCount: Int { - get { - if Thread.isMainThread { - return spaceServiceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = spaceServiceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceServiceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - spaceServiceUnderlyingCallsCount = newValue - } - } - } + get { spaceServiceCallsCountLock.withLock { spaceServiceUnderlyingCallsCount } } + set { spaceServiceCallsCountLock.withLock { spaceServiceUnderlyingCallsCount = newValue } } } open var spaceServiceCalled: Bool { return spaceServiceCallsCount > 0 } + private let spaceServiceReturnValueLock = NSLock() open var spaceServiceUnderlyingReturnValue: SpaceService! open var spaceServiceReturnValue: SpaceService! { - get { - if Thread.isMainThread { - return spaceServiceUnderlyingReturnValue - } else { - var returnValue: SpaceService? = nil - DispatchQueue.main.sync { - returnValue = spaceServiceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceServiceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - spaceServiceUnderlyingReturnValue = newValue - } - } - } + get { spaceServiceReturnValueLock.withLock { spaceServiceUnderlyingReturnValue } } + set { spaceServiceReturnValueLock.withLock { spaceServiceUnderlyingReturnValue = newValue } } } open var spaceServiceClosure: (() async -> SpaceService)? open override func spaceService() async -> SpaceService { - spaceServiceCallsCount += 1 + spaceServiceCallsCountLock.withLock { spaceServiceUnderlyingCallsCount += 1 } if let spaceServiceClosure = spaceServiceClosure { return await spaceServiceClosure() } else { @@ -5466,59 +3245,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - startSsoLogin open var startSsoLoginRedirectUrlIdpIdThrowableError: Error? - open var startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount = 0 + private let startSsoLoginRedirectUrlIdpIdCallsCountLock = NSLock() + private var startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount = 0 open var startSsoLoginRedirectUrlIdpIdCallsCount: Int { - get { - if Thread.isMainThread { - return startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount = newValue - } - } - } + get { startSsoLoginRedirectUrlIdpIdCallsCountLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount } } + set { startSsoLoginRedirectUrlIdpIdCallsCountLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount = newValue } } } open var startSsoLoginRedirectUrlIdpIdCalled: Bool { return startSsoLoginRedirectUrlIdpIdCallsCount > 0 } - open var startSsoLoginRedirectUrlIdpIdReceivedArguments: (redirectUrl: String, idpId: String?)? - open var startSsoLoginRedirectUrlIdpIdReceivedInvocations: [(redirectUrl: String, idpId: String?)] = [] + private let startSsoLoginRedirectUrlIdpIdReceivedArgumentsLock = NSLock() + private var startSsoLoginRedirectUrlIdpIdUnderlyingReceivedArguments: (redirectUrl: String, idpId: String?)? + open var startSsoLoginRedirectUrlIdpIdReceivedArguments: (redirectUrl: String, idpId: String?)? { + get { startSsoLoginRedirectUrlIdpIdReceivedArgumentsLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingReceivedArguments } } + set { startSsoLoginRedirectUrlIdpIdReceivedArgumentsLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingReceivedArguments = newValue } } + } + private let startSsoLoginRedirectUrlIdpIdReceivedInvocationsLock = NSLock() + private var startSsoLoginRedirectUrlIdpIdUnderlyingReceivedInvocations: [(redirectUrl: String, idpId: String?)] = [] + open var startSsoLoginRedirectUrlIdpIdReceivedInvocations: [(redirectUrl: String, idpId: String?)] { + get { startSsoLoginRedirectUrlIdpIdReceivedInvocationsLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingReceivedInvocations } } + set { startSsoLoginRedirectUrlIdpIdReceivedInvocationsLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingReceivedInvocations = newValue } } + } + private let startSsoLoginRedirectUrlIdpIdReturnValueLock = NSLock() open var startSsoLoginRedirectUrlIdpIdUnderlyingReturnValue: SsoHandler! open var startSsoLoginRedirectUrlIdpIdReturnValue: SsoHandler! { - get { - if Thread.isMainThread { - return startSsoLoginRedirectUrlIdpIdUnderlyingReturnValue - } else { - var returnValue: SsoHandler? = nil - DispatchQueue.main.sync { - returnValue = startSsoLoginRedirectUrlIdpIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startSsoLoginRedirectUrlIdpIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - startSsoLoginRedirectUrlIdpIdUnderlyingReturnValue = newValue - } - } - } + get { startSsoLoginRedirectUrlIdpIdReturnValueLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingReturnValue } } + set { startSsoLoginRedirectUrlIdpIdReturnValueLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingReturnValue = newValue } } } open var startSsoLoginRedirectUrlIdpIdClosure: ((String, String?) async throws -> SsoHandler)? @@ -5526,11 +3279,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = startSsoLoginRedirectUrlIdpIdThrowableError { throw error } - startSsoLoginRedirectUrlIdpIdCallsCount += 1 + startSsoLoginRedirectUrlIdpIdCallsCountLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingCallsCount += 1 } startSsoLoginRedirectUrlIdpIdReceivedArguments = (redirectUrl: redirectUrl, idpId: idpId) - DispatchQueue.main.async { - self.startSsoLoginRedirectUrlIdpIdReceivedInvocations.append((redirectUrl: redirectUrl, idpId: idpId)) - } + startSsoLoginRedirectUrlIdpIdReceivedInvocationsLock.withLock { startSsoLoginRedirectUrlIdpIdUnderlyingReceivedInvocations.append((redirectUrl: redirectUrl, idpId: idpId)) } if let startSsoLoginRedirectUrlIdpIdClosure = startSsoLoginRedirectUrlIdpIdClosure { return try await startSsoLoginRedirectUrlIdpIdClosure(redirectUrl, idpId) } else { @@ -5540,68 +3291,40 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - subscribeToDuplicateKeyUploadErrors - open var subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount = 0 + private let subscribeToDuplicateKeyUploadErrorsListenerCallsCountLock = NSLock() + private var subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount = 0 open var subscribeToDuplicateKeyUploadErrorsListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToDuplicateKeyUploadErrorsListenerCallsCountLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount } } + set { subscribeToDuplicateKeyUploadErrorsListenerCallsCountLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount = newValue } } } open var subscribeToDuplicateKeyUploadErrorsListenerCalled: Bool { return subscribeToDuplicateKeyUploadErrorsListenerCallsCount > 0 } - open var subscribeToDuplicateKeyUploadErrorsListenerReceivedListener: DuplicateKeyUploadErrorListener? - open var subscribeToDuplicateKeyUploadErrorsListenerReceivedInvocations: [DuplicateKeyUploadErrorListener] = [] + private let subscribeToDuplicateKeyUploadErrorsListenerReceivedListenerLock = NSLock() + private var subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReceivedListener: DuplicateKeyUploadErrorListener? + open var subscribeToDuplicateKeyUploadErrorsListenerReceivedListener: DuplicateKeyUploadErrorListener? { + get { subscribeToDuplicateKeyUploadErrorsListenerReceivedListenerLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReceivedListener } } + set { subscribeToDuplicateKeyUploadErrorsListenerReceivedListenerLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToDuplicateKeyUploadErrorsListenerReceivedInvocationsLock = NSLock() + private var subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReceivedInvocations: [DuplicateKeyUploadErrorListener] = [] + open var subscribeToDuplicateKeyUploadErrorsListenerReceivedInvocations: [DuplicateKeyUploadErrorListener] { + get { subscribeToDuplicateKeyUploadErrorsListenerReceivedInvocationsLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReceivedInvocations } } + set { subscribeToDuplicateKeyUploadErrorsListenerReceivedInvocationsLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToDuplicateKeyUploadErrorsListenerReturnValueLock = NSLock() open var subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReturnValue: TaskHandle! open var subscribeToDuplicateKeyUploadErrorsListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToDuplicateKeyUploadErrorsListenerReturnValueLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReturnValue } } + set { subscribeToDuplicateKeyUploadErrorsListenerReturnValueLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReturnValue = newValue } } } open var subscribeToDuplicateKeyUploadErrorsListenerClosure: ((DuplicateKeyUploadErrorListener) -> TaskHandle)? open override func subscribeToDuplicateKeyUploadErrors(listener: DuplicateKeyUploadErrorListener) -> TaskHandle { - subscribeToDuplicateKeyUploadErrorsListenerCallsCount += 1 + subscribeToDuplicateKeyUploadErrorsListenerCallsCountLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingCallsCount += 1 } subscribeToDuplicateKeyUploadErrorsListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToDuplicateKeyUploadErrorsListenerReceivedInvocations.append(listener) - } + subscribeToDuplicateKeyUploadErrorsListenerReceivedInvocationsLock.withLock { subscribeToDuplicateKeyUploadErrorsListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToDuplicateKeyUploadErrorsListenerClosure = subscribeToDuplicateKeyUploadErrorsListenerClosure { return subscribeToDuplicateKeyUploadErrorsListenerClosure(listener) } else { @@ -5611,68 +3334,40 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - subscribeToIgnoredUsers - open var subscribeToIgnoredUsersListenerUnderlyingCallsCount = 0 + private let subscribeToIgnoredUsersListenerCallsCountLock = NSLock() + private var subscribeToIgnoredUsersListenerUnderlyingCallsCount = 0 open var subscribeToIgnoredUsersListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToIgnoredUsersListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToIgnoredUsersListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToIgnoredUsersListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToIgnoredUsersListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToIgnoredUsersListenerCallsCountLock.withLock { subscribeToIgnoredUsersListenerUnderlyingCallsCount } } + set { subscribeToIgnoredUsersListenerCallsCountLock.withLock { subscribeToIgnoredUsersListenerUnderlyingCallsCount = newValue } } } open var subscribeToIgnoredUsersListenerCalled: Bool { return subscribeToIgnoredUsersListenerCallsCount > 0 } - open var subscribeToIgnoredUsersListenerReceivedListener: IgnoredUsersListener? - open var subscribeToIgnoredUsersListenerReceivedInvocations: [IgnoredUsersListener] = [] + private let subscribeToIgnoredUsersListenerReceivedListenerLock = NSLock() + private var subscribeToIgnoredUsersListenerUnderlyingReceivedListener: IgnoredUsersListener? + open var subscribeToIgnoredUsersListenerReceivedListener: IgnoredUsersListener? { + get { subscribeToIgnoredUsersListenerReceivedListenerLock.withLock { subscribeToIgnoredUsersListenerUnderlyingReceivedListener } } + set { subscribeToIgnoredUsersListenerReceivedListenerLock.withLock { subscribeToIgnoredUsersListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToIgnoredUsersListenerReceivedInvocationsLock = NSLock() + private var subscribeToIgnoredUsersListenerUnderlyingReceivedInvocations: [IgnoredUsersListener] = [] + open var subscribeToIgnoredUsersListenerReceivedInvocations: [IgnoredUsersListener] { + get { subscribeToIgnoredUsersListenerReceivedInvocationsLock.withLock { subscribeToIgnoredUsersListenerUnderlyingReceivedInvocations } } + set { subscribeToIgnoredUsersListenerReceivedInvocationsLock.withLock { subscribeToIgnoredUsersListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToIgnoredUsersListenerReturnValueLock = NSLock() open var subscribeToIgnoredUsersListenerUnderlyingReturnValue: TaskHandle! open var subscribeToIgnoredUsersListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToIgnoredUsersListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToIgnoredUsersListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToIgnoredUsersListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToIgnoredUsersListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToIgnoredUsersListenerReturnValueLock.withLock { subscribeToIgnoredUsersListenerUnderlyingReturnValue } } + set { subscribeToIgnoredUsersListenerReturnValueLock.withLock { subscribeToIgnoredUsersListenerUnderlyingReturnValue = newValue } } } open var subscribeToIgnoredUsersListenerClosure: ((IgnoredUsersListener) -> TaskHandle)? open override func subscribeToIgnoredUsers(listener: IgnoredUsersListener) -> TaskHandle { - subscribeToIgnoredUsersListenerCallsCount += 1 + subscribeToIgnoredUsersListenerCallsCountLock.withLock { subscribeToIgnoredUsersListenerUnderlyingCallsCount += 1 } subscribeToIgnoredUsersListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToIgnoredUsersListenerReceivedInvocations.append(listener) - } + subscribeToIgnoredUsersListenerReceivedInvocationsLock.withLock { subscribeToIgnoredUsersListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToIgnoredUsersListenerClosure = subscribeToIgnoredUsersListenerClosure { return subscribeToIgnoredUsersListenerClosure(listener) } else { @@ -5683,59 +3378,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - subscribeToMediaPreviewConfig open var subscribeToMediaPreviewConfigListenerThrowableError: Error? - open var subscribeToMediaPreviewConfigListenerUnderlyingCallsCount = 0 + private let subscribeToMediaPreviewConfigListenerCallsCountLock = NSLock() + private var subscribeToMediaPreviewConfigListenerUnderlyingCallsCount = 0 open var subscribeToMediaPreviewConfigListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToMediaPreviewConfigListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToMediaPreviewConfigListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToMediaPreviewConfigListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToMediaPreviewConfigListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToMediaPreviewConfigListenerCallsCountLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingCallsCount } } + set { subscribeToMediaPreviewConfigListenerCallsCountLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingCallsCount = newValue } } } open var subscribeToMediaPreviewConfigListenerCalled: Bool { return subscribeToMediaPreviewConfigListenerCallsCount > 0 } - open var subscribeToMediaPreviewConfigListenerReceivedListener: MediaPreviewConfigListener? - open var subscribeToMediaPreviewConfigListenerReceivedInvocations: [MediaPreviewConfigListener] = [] + private let subscribeToMediaPreviewConfigListenerReceivedListenerLock = NSLock() + private var subscribeToMediaPreviewConfigListenerUnderlyingReceivedListener: MediaPreviewConfigListener? + open var subscribeToMediaPreviewConfigListenerReceivedListener: MediaPreviewConfigListener? { + get { subscribeToMediaPreviewConfigListenerReceivedListenerLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingReceivedListener } } + set { subscribeToMediaPreviewConfigListenerReceivedListenerLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToMediaPreviewConfigListenerReceivedInvocationsLock = NSLock() + private var subscribeToMediaPreviewConfigListenerUnderlyingReceivedInvocations: [MediaPreviewConfigListener] = [] + open var subscribeToMediaPreviewConfigListenerReceivedInvocations: [MediaPreviewConfigListener] { + get { subscribeToMediaPreviewConfigListenerReceivedInvocationsLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingReceivedInvocations } } + set { subscribeToMediaPreviewConfigListenerReceivedInvocationsLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToMediaPreviewConfigListenerReturnValueLock = NSLock() open var subscribeToMediaPreviewConfigListenerUnderlyingReturnValue: TaskHandle! open var subscribeToMediaPreviewConfigListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToMediaPreviewConfigListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToMediaPreviewConfigListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToMediaPreviewConfigListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToMediaPreviewConfigListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToMediaPreviewConfigListenerReturnValueLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingReturnValue } } + set { subscribeToMediaPreviewConfigListenerReturnValueLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingReturnValue = newValue } } } open var subscribeToMediaPreviewConfigListenerClosure: ((MediaPreviewConfigListener) async throws -> TaskHandle)? @@ -5743,11 +3412,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = subscribeToMediaPreviewConfigListenerThrowableError { throw error } - subscribeToMediaPreviewConfigListenerCallsCount += 1 + subscribeToMediaPreviewConfigListenerCallsCountLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingCallsCount += 1 } subscribeToMediaPreviewConfigListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToMediaPreviewConfigListenerReceivedInvocations.append(listener) - } + subscribeToMediaPreviewConfigListenerReceivedInvocationsLock.withLock { subscribeToMediaPreviewConfigListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToMediaPreviewConfigListenerClosure = subscribeToMediaPreviewConfigListenerClosure { return try await subscribeToMediaPreviewConfigListenerClosure(listener) } else { @@ -5758,59 +3425,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - subscribeToOwnBeaconInfoUpdates open var subscribeToOwnBeaconInfoUpdatesListenerThrowableError: Error? - open var subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount = 0 + private let subscribeToOwnBeaconInfoUpdatesListenerCallsCountLock = NSLock() + private var subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount = 0 open var subscribeToOwnBeaconInfoUpdatesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToOwnBeaconInfoUpdatesListenerCallsCountLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount } } + set { subscribeToOwnBeaconInfoUpdatesListenerCallsCountLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount = newValue } } } open var subscribeToOwnBeaconInfoUpdatesListenerCalled: Bool { return subscribeToOwnBeaconInfoUpdatesListenerCallsCount > 0 } - open var subscribeToOwnBeaconInfoUpdatesListenerReceivedListener: BeaconInfoListener? - open var subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocations: [BeaconInfoListener] = [] + private let subscribeToOwnBeaconInfoUpdatesListenerReceivedListenerLock = NSLock() + private var subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReceivedListener: BeaconInfoListener? + open var subscribeToOwnBeaconInfoUpdatesListenerReceivedListener: BeaconInfoListener? { + get { subscribeToOwnBeaconInfoUpdatesListenerReceivedListenerLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReceivedListener } } + set { subscribeToOwnBeaconInfoUpdatesListenerReceivedListenerLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocationsLock = NSLock() + private var subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReceivedInvocations: [BeaconInfoListener] = [] + open var subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocations: [BeaconInfoListener] { + get { subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocationsLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReceivedInvocations } } + set { subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocationsLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToOwnBeaconInfoUpdatesListenerReturnValueLock = NSLock() open var subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToOwnBeaconInfoUpdatesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToOwnBeaconInfoUpdatesListenerReturnValueLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue } } + set { subscribeToOwnBeaconInfoUpdatesListenerReturnValueLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReturnValue = newValue } } } open var subscribeToOwnBeaconInfoUpdatesListenerClosure: ((BeaconInfoListener) throws -> TaskHandle)? @@ -5818,11 +3459,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = subscribeToOwnBeaconInfoUpdatesListenerThrowableError { throw error } - subscribeToOwnBeaconInfoUpdatesListenerCallsCount += 1 + subscribeToOwnBeaconInfoUpdatesListenerCallsCountLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingCallsCount += 1 } subscribeToOwnBeaconInfoUpdatesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocations.append(listener) - } + subscribeToOwnBeaconInfoUpdatesListenerReceivedInvocationsLock.withLock { subscribeToOwnBeaconInfoUpdatesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToOwnBeaconInfoUpdatesListenerClosure = subscribeToOwnBeaconInfoUpdatesListenerClosure { return try subscribeToOwnBeaconInfoUpdatesListenerClosure(listener) } else { @@ -5833,59 +3472,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - subscribeToRoomInfo open var subscribeToRoomInfoRoomIdListenerThrowableError: Error? - open var subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount = 0 + private let subscribeToRoomInfoRoomIdListenerCallsCountLock = NSLock() + private var subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount = 0 open var subscribeToRoomInfoRoomIdListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToRoomInfoRoomIdListenerCallsCountLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount } } + set { subscribeToRoomInfoRoomIdListenerCallsCountLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount = newValue } } } open var subscribeToRoomInfoRoomIdListenerCalled: Bool { return subscribeToRoomInfoRoomIdListenerCallsCount > 0 } - open var subscribeToRoomInfoRoomIdListenerReceivedArguments: (roomId: String, listener: RoomInfoListener)? - open var subscribeToRoomInfoRoomIdListenerReceivedInvocations: [(roomId: String, listener: RoomInfoListener)] = [] + private let subscribeToRoomInfoRoomIdListenerReceivedArgumentsLock = NSLock() + private var subscribeToRoomInfoRoomIdListenerUnderlyingReceivedArguments: (roomId: String, listener: RoomInfoListener)? + open var subscribeToRoomInfoRoomIdListenerReceivedArguments: (roomId: String, listener: RoomInfoListener)? { + get { subscribeToRoomInfoRoomIdListenerReceivedArgumentsLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingReceivedArguments } } + set { subscribeToRoomInfoRoomIdListenerReceivedArgumentsLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingReceivedArguments = newValue } } + } + private let subscribeToRoomInfoRoomIdListenerReceivedInvocationsLock = NSLock() + private var subscribeToRoomInfoRoomIdListenerUnderlyingReceivedInvocations: [(roomId: String, listener: RoomInfoListener)] = [] + open var subscribeToRoomInfoRoomIdListenerReceivedInvocations: [(roomId: String, listener: RoomInfoListener)] { + get { subscribeToRoomInfoRoomIdListenerReceivedInvocationsLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingReceivedInvocations } } + set { subscribeToRoomInfoRoomIdListenerReceivedInvocationsLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToRoomInfoRoomIdListenerReturnValueLock = NSLock() open var subscribeToRoomInfoRoomIdListenerUnderlyingReturnValue: TaskHandle! open var subscribeToRoomInfoRoomIdListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToRoomInfoRoomIdListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToRoomInfoRoomIdListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToRoomInfoRoomIdListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToRoomInfoRoomIdListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToRoomInfoRoomIdListenerReturnValueLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingReturnValue } } + set { subscribeToRoomInfoRoomIdListenerReturnValueLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingReturnValue = newValue } } } open var subscribeToRoomInfoRoomIdListenerClosure: ((String, RoomInfoListener) async throws -> TaskHandle)? @@ -5893,11 +3506,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = subscribeToRoomInfoRoomIdListenerThrowableError { throw error } - subscribeToRoomInfoRoomIdListenerCallsCount += 1 + subscribeToRoomInfoRoomIdListenerCallsCountLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingCallsCount += 1 } subscribeToRoomInfoRoomIdListenerReceivedArguments = (roomId: roomId, listener: listener) - DispatchQueue.main.async { - self.subscribeToRoomInfoRoomIdListenerReceivedInvocations.append((roomId: roomId, listener: listener)) - } + subscribeToRoomInfoRoomIdListenerReceivedInvocationsLock.withLock { subscribeToRoomInfoRoomIdListenerUnderlyingReceivedInvocations.append((roomId: roomId, listener: listener)) } if let subscribeToRoomInfoRoomIdListenerClosure = subscribeToRoomInfoRoomIdListenerClosure { return try await subscribeToRoomInfoRoomIdListenerClosure(roomId, listener) } else { @@ -5907,68 +3518,40 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - subscribeToSendQueueStatus - open var subscribeToSendQueueStatusListenerUnderlyingCallsCount = 0 + private let subscribeToSendQueueStatusListenerCallsCountLock = NSLock() + private var subscribeToSendQueueStatusListenerUnderlyingCallsCount = 0 open var subscribeToSendQueueStatusListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToSendQueueStatusListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSendQueueStatusListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSendQueueStatusListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToSendQueueStatusListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToSendQueueStatusListenerCallsCountLock.withLock { subscribeToSendQueueStatusListenerUnderlyingCallsCount } } + set { subscribeToSendQueueStatusListenerCallsCountLock.withLock { subscribeToSendQueueStatusListenerUnderlyingCallsCount = newValue } } } open var subscribeToSendQueueStatusListenerCalled: Bool { return subscribeToSendQueueStatusListenerCallsCount > 0 } - open var subscribeToSendQueueStatusListenerReceivedListener: SendQueueRoomErrorListener? - open var subscribeToSendQueueStatusListenerReceivedInvocations: [SendQueueRoomErrorListener] = [] + private let subscribeToSendQueueStatusListenerReceivedListenerLock = NSLock() + private var subscribeToSendQueueStatusListenerUnderlyingReceivedListener: SendQueueRoomErrorListener? + open var subscribeToSendQueueStatusListenerReceivedListener: SendQueueRoomErrorListener? { + get { subscribeToSendQueueStatusListenerReceivedListenerLock.withLock { subscribeToSendQueueStatusListenerUnderlyingReceivedListener } } + set { subscribeToSendQueueStatusListenerReceivedListenerLock.withLock { subscribeToSendQueueStatusListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToSendQueueStatusListenerReceivedInvocationsLock = NSLock() + private var subscribeToSendQueueStatusListenerUnderlyingReceivedInvocations: [SendQueueRoomErrorListener] = [] + open var subscribeToSendQueueStatusListenerReceivedInvocations: [SendQueueRoomErrorListener] { + get { subscribeToSendQueueStatusListenerReceivedInvocationsLock.withLock { subscribeToSendQueueStatusListenerUnderlyingReceivedInvocations } } + set { subscribeToSendQueueStatusListenerReceivedInvocationsLock.withLock { subscribeToSendQueueStatusListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToSendQueueStatusListenerReturnValueLock = NSLock() open var subscribeToSendQueueStatusListenerUnderlyingReturnValue: TaskHandle! open var subscribeToSendQueueStatusListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToSendQueueStatusListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSendQueueStatusListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSendQueueStatusListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToSendQueueStatusListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToSendQueueStatusListenerReturnValueLock.withLock { subscribeToSendQueueStatusListenerUnderlyingReturnValue } } + set { subscribeToSendQueueStatusListenerReturnValueLock.withLock { subscribeToSendQueueStatusListenerUnderlyingReturnValue = newValue } } } open var subscribeToSendQueueStatusListenerClosure: ((SendQueueRoomErrorListener) -> TaskHandle)? open override func subscribeToSendQueueStatus(listener: SendQueueRoomErrorListener) -> TaskHandle { - subscribeToSendQueueStatusListenerCallsCount += 1 + subscribeToSendQueueStatusListenerCallsCountLock.withLock { subscribeToSendQueueStatusListenerUnderlyingCallsCount += 1 } subscribeToSendQueueStatusListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToSendQueueStatusListenerReceivedInvocations.append(listener) - } + subscribeToSendQueueStatusListenerReceivedInvocationsLock.withLock { subscribeToSendQueueStatusListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToSendQueueStatusListenerClosure = subscribeToSendQueueStatusListenerClosure { return subscribeToSendQueueStatusListenerClosure(listener) } else { @@ -5979,59 +3562,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - subscribeToSendQueueUpdates open var subscribeToSendQueueUpdatesListenerThrowableError: Error? - open var subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = 0 + private let subscribeToSendQueueUpdatesListenerCallsCountLock = NSLock() + private var subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = 0 open var subscribeToSendQueueUpdatesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToSendQueueUpdatesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSendQueueUpdatesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToSendQueueUpdatesListenerCallsCountLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingCallsCount } } + set { subscribeToSendQueueUpdatesListenerCallsCountLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = newValue } } } open var subscribeToSendQueueUpdatesListenerCalled: Bool { return subscribeToSendQueueUpdatesListenerCallsCount > 0 } - open var subscribeToSendQueueUpdatesListenerReceivedListener: SendQueueRoomUpdateListener? - open var subscribeToSendQueueUpdatesListenerReceivedInvocations: [SendQueueRoomUpdateListener] = [] + private let subscribeToSendQueueUpdatesListenerReceivedListenerLock = NSLock() + private var subscribeToSendQueueUpdatesListenerUnderlyingReceivedListener: SendQueueRoomUpdateListener? + open var subscribeToSendQueueUpdatesListenerReceivedListener: SendQueueRoomUpdateListener? { + get { subscribeToSendQueueUpdatesListenerReceivedListenerLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedListener } } + set { subscribeToSendQueueUpdatesListenerReceivedListenerLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToSendQueueUpdatesListenerReceivedInvocationsLock = NSLock() + private var subscribeToSendQueueUpdatesListenerUnderlyingReceivedInvocations: [SendQueueRoomUpdateListener] = [] + open var subscribeToSendQueueUpdatesListenerReceivedInvocations: [SendQueueRoomUpdateListener] { + get { subscribeToSendQueueUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedInvocations } } + set { subscribeToSendQueueUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToSendQueueUpdatesListenerReturnValueLock = NSLock() open var subscribeToSendQueueUpdatesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToSendQueueUpdatesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToSendQueueUpdatesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSendQueueUpdatesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSendQueueUpdatesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToSendQueueUpdatesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToSendQueueUpdatesListenerReturnValueLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReturnValue } } + set { subscribeToSendQueueUpdatesListenerReturnValueLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReturnValue = newValue } } } open var subscribeToSendQueueUpdatesListenerClosure: ((SendQueueRoomUpdateListener) async throws -> TaskHandle)? @@ -6039,11 +3596,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = subscribeToSendQueueUpdatesListenerThrowableError { throw error } - subscribeToSendQueueUpdatesListenerCallsCount += 1 + subscribeToSendQueueUpdatesListenerCallsCountLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingCallsCount += 1 } subscribeToSendQueueUpdatesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToSendQueueUpdatesListenerReceivedInvocations.append(listener) - } + subscribeToSendQueueUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToSendQueueUpdatesListenerClosure = subscribeToSendQueueUpdatesListenerClosure { return try await subscribeToSendQueueUpdatesListenerClosure(listener) } else { @@ -6054,59 +3609,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - syncOnceV2 open var syncOnceV2SettingsThrowableError: Error? - open var syncOnceV2SettingsUnderlyingCallsCount = 0 + private let syncOnceV2SettingsCallsCountLock = NSLock() + private var syncOnceV2SettingsUnderlyingCallsCount = 0 open var syncOnceV2SettingsCallsCount: Int { - get { - if Thread.isMainThread { - return syncOnceV2SettingsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = syncOnceV2SettingsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - syncOnceV2SettingsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - syncOnceV2SettingsUnderlyingCallsCount = newValue - } - } - } + get { syncOnceV2SettingsCallsCountLock.withLock { syncOnceV2SettingsUnderlyingCallsCount } } + set { syncOnceV2SettingsCallsCountLock.withLock { syncOnceV2SettingsUnderlyingCallsCount = newValue } } } open var syncOnceV2SettingsCalled: Bool { return syncOnceV2SettingsCallsCount > 0 } - open var syncOnceV2SettingsReceivedSettings: SyncSettingsV2? - open var syncOnceV2SettingsReceivedInvocations: [SyncSettingsV2] = [] + private let syncOnceV2SettingsReceivedSettingsLock = NSLock() + private var syncOnceV2SettingsUnderlyingReceivedSettings: SyncSettingsV2? + open var syncOnceV2SettingsReceivedSettings: SyncSettingsV2? { + get { syncOnceV2SettingsReceivedSettingsLock.withLock { syncOnceV2SettingsUnderlyingReceivedSettings } } + set { syncOnceV2SettingsReceivedSettingsLock.withLock { syncOnceV2SettingsUnderlyingReceivedSettings = newValue } } + } + private let syncOnceV2SettingsReceivedInvocationsLock = NSLock() + private var syncOnceV2SettingsUnderlyingReceivedInvocations: [SyncSettingsV2] = [] + open var syncOnceV2SettingsReceivedInvocations: [SyncSettingsV2] { + get { syncOnceV2SettingsReceivedInvocationsLock.withLock { syncOnceV2SettingsUnderlyingReceivedInvocations } } + set { syncOnceV2SettingsReceivedInvocationsLock.withLock { syncOnceV2SettingsUnderlyingReceivedInvocations = newValue } } + } + private let syncOnceV2SettingsReturnValueLock = NSLock() open var syncOnceV2SettingsUnderlyingReturnValue: SyncResponseV2! open var syncOnceV2SettingsReturnValue: SyncResponseV2! { - get { - if Thread.isMainThread { - return syncOnceV2SettingsUnderlyingReturnValue - } else { - var returnValue: SyncResponseV2? = nil - DispatchQueue.main.sync { - returnValue = syncOnceV2SettingsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - syncOnceV2SettingsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - syncOnceV2SettingsUnderlyingReturnValue = newValue - } - } - } + get { syncOnceV2SettingsReturnValueLock.withLock { syncOnceV2SettingsUnderlyingReturnValue } } + set { syncOnceV2SettingsReturnValueLock.withLock { syncOnceV2SettingsUnderlyingReturnValue = newValue } } } open var syncOnceV2SettingsClosure: ((SyncSettingsV2) async throws -> SyncResponseV2)? @@ -6114,11 +3643,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = syncOnceV2SettingsThrowableError { throw error } - syncOnceV2SettingsCallsCount += 1 + syncOnceV2SettingsCallsCountLock.withLock { syncOnceV2SettingsUnderlyingCallsCount += 1 } syncOnceV2SettingsReceivedSettings = settings - DispatchQueue.main.async { - self.syncOnceV2SettingsReceivedInvocations.append(settings) - } + syncOnceV2SettingsReceivedInvocationsLock.withLock { syncOnceV2SettingsUnderlyingReceivedInvocations.append(settings) } if let syncOnceV2SettingsClosure = syncOnceV2SettingsClosure { return try await syncOnceV2SettingsClosure(settings) } else { @@ -6128,62 +3655,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - syncService - open var syncServiceUnderlyingCallsCount = 0 + private let syncServiceCallsCountLock = NSLock() + private var syncServiceUnderlyingCallsCount = 0 open var syncServiceCallsCount: Int { - get { - if Thread.isMainThread { - return syncServiceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = syncServiceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - syncServiceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - syncServiceUnderlyingCallsCount = newValue - } - } - } + get { syncServiceCallsCountLock.withLock { syncServiceUnderlyingCallsCount } } + set { syncServiceCallsCountLock.withLock { syncServiceUnderlyingCallsCount = newValue } } } open var syncServiceCalled: Bool { return syncServiceCallsCount > 0 } + private let syncServiceReturnValueLock = NSLock() open var syncServiceUnderlyingReturnValue: SyncServiceBuilder! open var syncServiceReturnValue: SyncServiceBuilder! { - get { - if Thread.isMainThread { - return syncServiceUnderlyingReturnValue - } else { - var returnValue: SyncServiceBuilder? = nil - DispatchQueue.main.sync { - returnValue = syncServiceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - syncServiceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - syncServiceUnderlyingReturnValue = newValue - } - } - } + get { syncServiceReturnValueLock.withLock { syncServiceUnderlyingReturnValue } } + set { syncServiceReturnValueLock.withLock { syncServiceUnderlyingReturnValue = newValue } } } open var syncServiceClosure: (() -> SyncServiceBuilder)? open override func syncService() -> SyncServiceBuilder { - syncServiceCallsCount += 1 + syncServiceCallsCountLock.withLock { syncServiceUnderlyingCallsCount += 1 } if let syncServiceClosure = syncServiceClosure { return syncServiceClosure() } else { @@ -6193,68 +3684,40 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - syncV2 - open var syncV2SettingsListenerUnderlyingCallsCount = 0 + private let syncV2SettingsListenerCallsCountLock = NSLock() + private var syncV2SettingsListenerUnderlyingCallsCount = 0 open var syncV2SettingsListenerCallsCount: Int { - get { - if Thread.isMainThread { - return syncV2SettingsListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = syncV2SettingsListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - syncV2SettingsListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - syncV2SettingsListenerUnderlyingCallsCount = newValue - } - } - } + get { syncV2SettingsListenerCallsCountLock.withLock { syncV2SettingsListenerUnderlyingCallsCount } } + set { syncV2SettingsListenerCallsCountLock.withLock { syncV2SettingsListenerUnderlyingCallsCount = newValue } } } open var syncV2SettingsListenerCalled: Bool { return syncV2SettingsListenerCallsCount > 0 } - open var syncV2SettingsListenerReceivedArguments: (settings: SyncSettingsV2, listener: SyncListenerV2)? - open var syncV2SettingsListenerReceivedInvocations: [(settings: SyncSettingsV2, listener: SyncListenerV2)] = [] + private let syncV2SettingsListenerReceivedArgumentsLock = NSLock() + private var syncV2SettingsListenerUnderlyingReceivedArguments: (settings: SyncSettingsV2, listener: SyncListenerV2)? + open var syncV2SettingsListenerReceivedArguments: (settings: SyncSettingsV2, listener: SyncListenerV2)? { + get { syncV2SettingsListenerReceivedArgumentsLock.withLock { syncV2SettingsListenerUnderlyingReceivedArguments } } + set { syncV2SettingsListenerReceivedArgumentsLock.withLock { syncV2SettingsListenerUnderlyingReceivedArguments = newValue } } + } + private let syncV2SettingsListenerReceivedInvocationsLock = NSLock() + private var syncV2SettingsListenerUnderlyingReceivedInvocations: [(settings: SyncSettingsV2, listener: SyncListenerV2)] = [] + open var syncV2SettingsListenerReceivedInvocations: [(settings: SyncSettingsV2, listener: SyncListenerV2)] { + get { syncV2SettingsListenerReceivedInvocationsLock.withLock { syncV2SettingsListenerUnderlyingReceivedInvocations } } + set { syncV2SettingsListenerReceivedInvocationsLock.withLock { syncV2SettingsListenerUnderlyingReceivedInvocations = newValue } } + } + private let syncV2SettingsListenerReturnValueLock = NSLock() open var syncV2SettingsListenerUnderlyingReturnValue: TaskHandle! open var syncV2SettingsListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return syncV2SettingsListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = syncV2SettingsListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - syncV2SettingsListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - syncV2SettingsListenerUnderlyingReturnValue = newValue - } - } - } + get { syncV2SettingsListenerReturnValueLock.withLock { syncV2SettingsListenerUnderlyingReturnValue } } + set { syncV2SettingsListenerReturnValueLock.withLock { syncV2SettingsListenerUnderlyingReturnValue = newValue } } } open var syncV2SettingsListenerClosure: ((SyncSettingsV2, SyncListenerV2) -> TaskHandle)? open override func syncV2(settings: SyncSettingsV2, listener: SyncListenerV2) -> TaskHandle { - syncV2SettingsListenerCallsCount += 1 + syncV2SettingsListenerCallsCountLock.withLock { syncV2SettingsListenerUnderlyingCallsCount += 1 } syncV2SettingsListenerReceivedArguments = (settings: settings, listener: listener) - DispatchQueue.main.async { - self.syncV2SettingsListenerReceivedInvocations.append((settings: settings, listener: listener)) - } + syncV2SettingsListenerReceivedInvocationsLock.withLock { syncV2SettingsListenerUnderlyingReceivedInvocations.append((settings: settings, listener: listener)) } if let syncV2SettingsListenerClosure = syncV2SettingsListenerClosure { return syncV2SettingsListenerClosure(settings, listener) } else { @@ -6264,62 +3727,26 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - tileServer - open var tileServerUnderlyingCallsCount = 0 + private let tileServerCallsCountLock = NSLock() + private var tileServerUnderlyingCallsCount = 0 open var tileServerCallsCount: Int { - get { - if Thread.isMainThread { - return tileServerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = tileServerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - tileServerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - tileServerUnderlyingCallsCount = newValue - } - } - } + get { tileServerCallsCountLock.withLock { tileServerUnderlyingCallsCount } } + set { tileServerCallsCountLock.withLock { tileServerUnderlyingCallsCount = newValue } } } open var tileServerCalled: Bool { return tileServerCallsCount > 0 } + private let tileServerReturnValueLock = NSLock() open var tileServerUnderlyingReturnValue: TileServerInfo? open var tileServerReturnValue: TileServerInfo? { - get { - if Thread.isMainThread { - return tileServerUnderlyingReturnValue - } else { - var returnValue: TileServerInfo?? = nil - DispatchQueue.main.sync { - returnValue = tileServerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - tileServerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - tileServerUnderlyingReturnValue = newValue - } - } - } + get { tileServerReturnValueLock.withLock { tileServerUnderlyingReturnValue } } + set { tileServerReturnValueLock.withLock { tileServerUnderlyingReturnValue = newValue } } } open var tileServerClosure: (() async -> TileServerInfo?)? open override func tileServer() async -> TileServerInfo? { - tileServerCallsCount += 1 + tileServerCallsCountLock.withLock { tileServerUnderlyingCallsCount += 1 } if let tileServerClosure = tileServerClosure { return await tileServerClosure() } else { @@ -6330,197 +3757,141 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - trackRecentlyVisitedRoom open var trackRecentlyVisitedRoomRoomThrowableError: Error? - open var trackRecentlyVisitedRoomRoomUnderlyingCallsCount = 0 + private let trackRecentlyVisitedRoomRoomCallsCountLock = NSLock() + private var trackRecentlyVisitedRoomRoomUnderlyingCallsCount = 0 open var trackRecentlyVisitedRoomRoomCallsCount: Int { - get { - if Thread.isMainThread { - return trackRecentlyVisitedRoomRoomUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = trackRecentlyVisitedRoomRoomUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - trackRecentlyVisitedRoomRoomUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - trackRecentlyVisitedRoomRoomUnderlyingCallsCount = newValue - } - } - } + get { trackRecentlyVisitedRoomRoomCallsCountLock.withLock { trackRecentlyVisitedRoomRoomUnderlyingCallsCount } } + set { trackRecentlyVisitedRoomRoomCallsCountLock.withLock { trackRecentlyVisitedRoomRoomUnderlyingCallsCount = newValue } } } open var trackRecentlyVisitedRoomRoomCalled: Bool { return trackRecentlyVisitedRoomRoomCallsCount > 0 } - open var trackRecentlyVisitedRoomRoomReceivedRoom: String? - open var trackRecentlyVisitedRoomRoomReceivedInvocations: [String] = [] + private let trackRecentlyVisitedRoomRoomReceivedRoomLock = NSLock() + private var trackRecentlyVisitedRoomRoomUnderlyingReceivedRoom: String? + open var trackRecentlyVisitedRoomRoomReceivedRoom: String? { + get { trackRecentlyVisitedRoomRoomReceivedRoomLock.withLock { trackRecentlyVisitedRoomRoomUnderlyingReceivedRoom } } + set { trackRecentlyVisitedRoomRoomReceivedRoomLock.withLock { trackRecentlyVisitedRoomRoomUnderlyingReceivedRoom = newValue } } + } + private let trackRecentlyVisitedRoomRoomReceivedInvocationsLock = NSLock() + private var trackRecentlyVisitedRoomRoomUnderlyingReceivedInvocations: [String] = [] + open var trackRecentlyVisitedRoomRoomReceivedInvocations: [String] { + get { trackRecentlyVisitedRoomRoomReceivedInvocationsLock.withLock { trackRecentlyVisitedRoomRoomUnderlyingReceivedInvocations } } + set { trackRecentlyVisitedRoomRoomReceivedInvocationsLock.withLock { trackRecentlyVisitedRoomRoomUnderlyingReceivedInvocations = newValue } } + } open var trackRecentlyVisitedRoomRoomClosure: ((String) async throws -> Void)? open override func trackRecentlyVisitedRoom(room: String) async throws { if let error = trackRecentlyVisitedRoomRoomThrowableError { throw error } - trackRecentlyVisitedRoomRoomCallsCount += 1 + trackRecentlyVisitedRoomRoomCallsCountLock.withLock { trackRecentlyVisitedRoomRoomUnderlyingCallsCount += 1 } trackRecentlyVisitedRoomRoomReceivedRoom = room - DispatchQueue.main.async { - self.trackRecentlyVisitedRoomRoomReceivedInvocations.append(room) - } + trackRecentlyVisitedRoomRoomReceivedInvocationsLock.withLock { trackRecentlyVisitedRoomRoomUnderlyingReceivedInvocations.append(room) } try await trackRecentlyVisitedRoomRoomClosure?(room) } //MARK: - unignoreUser open var unignoreUserUserIdThrowableError: Error? - open var unignoreUserUserIdUnderlyingCallsCount = 0 + private let unignoreUserUserIdCallsCountLock = NSLock() + private var unignoreUserUserIdUnderlyingCallsCount = 0 open var unignoreUserUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return unignoreUserUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unignoreUserUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unignoreUserUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unignoreUserUserIdUnderlyingCallsCount = newValue - } - } - } + get { unignoreUserUserIdCallsCountLock.withLock { unignoreUserUserIdUnderlyingCallsCount } } + set { unignoreUserUserIdCallsCountLock.withLock { unignoreUserUserIdUnderlyingCallsCount = newValue } } } open var unignoreUserUserIdCalled: Bool { return unignoreUserUserIdCallsCount > 0 } - open var unignoreUserUserIdReceivedUserId: String? - open var unignoreUserUserIdReceivedInvocations: [String] = [] + private let unignoreUserUserIdReceivedUserIdLock = NSLock() + private var unignoreUserUserIdUnderlyingReceivedUserId: String? + open var unignoreUserUserIdReceivedUserId: String? { + get { unignoreUserUserIdReceivedUserIdLock.withLock { unignoreUserUserIdUnderlyingReceivedUserId } } + set { unignoreUserUserIdReceivedUserIdLock.withLock { unignoreUserUserIdUnderlyingReceivedUserId = newValue } } + } + private let unignoreUserUserIdReceivedInvocationsLock = NSLock() + private var unignoreUserUserIdUnderlyingReceivedInvocations: [String] = [] + open var unignoreUserUserIdReceivedInvocations: [String] { + get { unignoreUserUserIdReceivedInvocationsLock.withLock { unignoreUserUserIdUnderlyingReceivedInvocations } } + set { unignoreUserUserIdReceivedInvocationsLock.withLock { unignoreUserUserIdUnderlyingReceivedInvocations = newValue } } + } open var unignoreUserUserIdClosure: ((String) async throws -> Void)? open override func unignoreUser(userId: String) async throws { if let error = unignoreUserUserIdThrowableError { throw error } - unignoreUserUserIdCallsCount += 1 + unignoreUserUserIdCallsCountLock.withLock { unignoreUserUserIdUnderlyingCallsCount += 1 } unignoreUserUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.unignoreUserUserIdReceivedInvocations.append(userId) - } + unignoreUserUserIdReceivedInvocationsLock.withLock { unignoreUserUserIdUnderlyingReceivedInvocations.append(userId) } try await unignoreUserUserIdClosure?(userId) } //MARK: - uploadAvatar open var uploadAvatarMimeTypeDataThrowableError: Error? - open var uploadAvatarMimeTypeDataUnderlyingCallsCount = 0 + private let uploadAvatarMimeTypeDataCallsCountLock = NSLock() + private var uploadAvatarMimeTypeDataUnderlyingCallsCount = 0 open var uploadAvatarMimeTypeDataCallsCount: Int { - get { - if Thread.isMainThread { - return uploadAvatarMimeTypeDataUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = uploadAvatarMimeTypeDataUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uploadAvatarMimeTypeDataUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - uploadAvatarMimeTypeDataUnderlyingCallsCount = newValue - } - } - } + get { uploadAvatarMimeTypeDataCallsCountLock.withLock { uploadAvatarMimeTypeDataUnderlyingCallsCount } } + set { uploadAvatarMimeTypeDataCallsCountLock.withLock { uploadAvatarMimeTypeDataUnderlyingCallsCount = newValue } } } open var uploadAvatarMimeTypeDataCalled: Bool { return uploadAvatarMimeTypeDataCallsCount > 0 } - open var uploadAvatarMimeTypeDataReceivedArguments: (mimeType: String, data: Data)? - open var uploadAvatarMimeTypeDataReceivedInvocations: [(mimeType: String, data: Data)] = [] + private let uploadAvatarMimeTypeDataReceivedArgumentsLock = NSLock() + private var uploadAvatarMimeTypeDataUnderlyingReceivedArguments: (mimeType: String, data: Data)? + open var uploadAvatarMimeTypeDataReceivedArguments: (mimeType: String, data: Data)? { + get { uploadAvatarMimeTypeDataReceivedArgumentsLock.withLock { uploadAvatarMimeTypeDataUnderlyingReceivedArguments } } + set { uploadAvatarMimeTypeDataReceivedArgumentsLock.withLock { uploadAvatarMimeTypeDataUnderlyingReceivedArguments = newValue } } + } + private let uploadAvatarMimeTypeDataReceivedInvocationsLock = NSLock() + private var uploadAvatarMimeTypeDataUnderlyingReceivedInvocations: [(mimeType: String, data: Data)] = [] + open var uploadAvatarMimeTypeDataReceivedInvocations: [(mimeType: String, data: Data)] { + get { uploadAvatarMimeTypeDataReceivedInvocationsLock.withLock { uploadAvatarMimeTypeDataUnderlyingReceivedInvocations } } + set { uploadAvatarMimeTypeDataReceivedInvocationsLock.withLock { uploadAvatarMimeTypeDataUnderlyingReceivedInvocations = newValue } } + } open var uploadAvatarMimeTypeDataClosure: ((String, Data) async throws -> Void)? open override func uploadAvatar(mimeType: String, data: Data) async throws { if let error = uploadAvatarMimeTypeDataThrowableError { throw error } - uploadAvatarMimeTypeDataCallsCount += 1 + uploadAvatarMimeTypeDataCallsCountLock.withLock { uploadAvatarMimeTypeDataUnderlyingCallsCount += 1 } uploadAvatarMimeTypeDataReceivedArguments = (mimeType: mimeType, data: data) - DispatchQueue.main.async { - self.uploadAvatarMimeTypeDataReceivedInvocations.append((mimeType: mimeType, data: data)) - } + uploadAvatarMimeTypeDataReceivedInvocationsLock.withLock { uploadAvatarMimeTypeDataUnderlyingReceivedInvocations.append((mimeType: mimeType, data: data)) } try await uploadAvatarMimeTypeDataClosure?(mimeType, data) } //MARK: - uploadMedia open var uploadMediaMimeTypeDataProgressWatcherThrowableError: Error? - open var uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount = 0 + private let uploadMediaMimeTypeDataProgressWatcherCallsCountLock = NSLock() + private var uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount = 0 open var uploadMediaMimeTypeDataProgressWatcherCallsCount: Int { - get { - if Thread.isMainThread { - return uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount = newValue - } - } - } + get { uploadMediaMimeTypeDataProgressWatcherCallsCountLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount } } + set { uploadMediaMimeTypeDataProgressWatcherCallsCountLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount = newValue } } } open var uploadMediaMimeTypeDataProgressWatcherCalled: Bool { return uploadMediaMimeTypeDataProgressWatcherCallsCount > 0 } - open var uploadMediaMimeTypeDataProgressWatcherReceivedArguments: (mimeType: String, data: Data, progressWatcher: ProgressWatcher?)? - open var uploadMediaMimeTypeDataProgressWatcherReceivedInvocations: [(mimeType: String, data: Data, progressWatcher: ProgressWatcher?)] = [] + private let uploadMediaMimeTypeDataProgressWatcherReceivedArgumentsLock = NSLock() + private var uploadMediaMimeTypeDataProgressWatcherUnderlyingReceivedArguments: (mimeType: String, data: Data, progressWatcher: ProgressWatcher?)? + open var uploadMediaMimeTypeDataProgressWatcherReceivedArguments: (mimeType: String, data: Data, progressWatcher: ProgressWatcher?)? { + get { uploadMediaMimeTypeDataProgressWatcherReceivedArgumentsLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingReceivedArguments } } + set { uploadMediaMimeTypeDataProgressWatcherReceivedArgumentsLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingReceivedArguments = newValue } } + } + private let uploadMediaMimeTypeDataProgressWatcherReceivedInvocationsLock = NSLock() + private var uploadMediaMimeTypeDataProgressWatcherUnderlyingReceivedInvocations: [(mimeType: String, data: Data, progressWatcher: ProgressWatcher?)] = [] + open var uploadMediaMimeTypeDataProgressWatcherReceivedInvocations: [(mimeType: String, data: Data, progressWatcher: ProgressWatcher?)] { + get { uploadMediaMimeTypeDataProgressWatcherReceivedInvocationsLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingReceivedInvocations } } + set { uploadMediaMimeTypeDataProgressWatcherReceivedInvocationsLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingReceivedInvocations = newValue } } + } + private let uploadMediaMimeTypeDataProgressWatcherReturnValueLock = NSLock() open var uploadMediaMimeTypeDataProgressWatcherUnderlyingReturnValue: String! open var uploadMediaMimeTypeDataProgressWatcherReturnValue: String! { - get { - if Thread.isMainThread { - return uploadMediaMimeTypeDataProgressWatcherUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = uploadMediaMimeTypeDataProgressWatcherUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uploadMediaMimeTypeDataProgressWatcherUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - uploadMediaMimeTypeDataProgressWatcherUnderlyingReturnValue = newValue - } - } - } + get { uploadMediaMimeTypeDataProgressWatcherReturnValueLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingReturnValue } } + set { uploadMediaMimeTypeDataProgressWatcherReturnValueLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingReturnValue = newValue } } } open var uploadMediaMimeTypeDataProgressWatcherClosure: ((String, Data, ProgressWatcher?) async throws -> String)? @@ -6528,11 +3899,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = uploadMediaMimeTypeDataProgressWatcherThrowableError { throw error } - uploadMediaMimeTypeDataProgressWatcherCallsCount += 1 + uploadMediaMimeTypeDataProgressWatcherCallsCountLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingCallsCount += 1 } uploadMediaMimeTypeDataProgressWatcherReceivedArguments = (mimeType: mimeType, data: data, progressWatcher: progressWatcher) - DispatchQueue.main.async { - self.uploadMediaMimeTypeDataProgressWatcherReceivedInvocations.append((mimeType: mimeType, data: data, progressWatcher: progressWatcher)) - } + uploadMediaMimeTypeDataProgressWatcherReceivedInvocationsLock.withLock { uploadMediaMimeTypeDataProgressWatcherUnderlyingReceivedInvocations.append((mimeType: mimeType, data: data, progressWatcher: progressWatcher)) } if let uploadMediaMimeTypeDataProgressWatcherClosure = uploadMediaMimeTypeDataProgressWatcherClosure { return try await uploadMediaMimeTypeDataProgressWatcherClosure(mimeType, data, progressWatcher) } else { @@ -6543,59 +3912,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - urlForOauth open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesThrowableError: Error? - open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = 0 + private let urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCountLock = NSLock() + private var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = 0 open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount: Int { - get { - if Thread.isMainThread { - return urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = newValue - } - } - } + get { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCountLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount } } + set { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCountLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount = newValue } } } open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCalled: Bool { return urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount > 0 } - open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments: (oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)? - open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocations: [(oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)] = [] + private let urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArgumentsLock = NSLock() + private var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReceivedArguments: (oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)? + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments: (oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)? { + get { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArgumentsLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReceivedArguments } } + set { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArgumentsLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReceivedArguments = newValue } } + } + private let urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocationsLock = NSLock() + private var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReceivedInvocations: [(oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)] = [] + open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocations: [(oauthConfiguration: OAuthConfiguration, prompt: OAuthPrompt?, loginHint: String?, deviceId: String?, additionalScopes: [String]?)] { + get { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocationsLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReceivedInvocations } } + set { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocationsLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReceivedInvocations = newValue } } + } + private let urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValueLock = NSLock() open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue: OAuthAuthorizationData! open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValue: OAuthAuthorizationData! { - get { - if Thread.isMainThread { - return urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue - } else { - var returnValue: OAuthAuthorizationData? = nil - DispatchQueue.main.sync { - returnValue = urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue = newValue - } - } - } + get { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValueLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue } } + set { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReturnValueLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReturnValue = newValue } } } open var urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure: ((OAuthConfiguration, OAuthPrompt?, String?, String?, [String]?) async throws -> OAuthAuthorizationData)? @@ -6603,11 +3946,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesThrowableError { throw error } - urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCount += 1 + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesCallsCountLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingCallsCount += 1 } urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedArguments = (oauthConfiguration: oauthConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId, additionalScopes: additionalScopes) - DispatchQueue.main.async { - self.urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocations.append((oauthConfiguration: oauthConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId, additionalScopes: additionalScopes)) - } + urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesReceivedInvocationsLock.withLock { urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesUnderlyingReceivedInvocations.append((oauthConfiguration: oauthConfiguration, prompt: prompt, loginHint: loginHint, deviceId: deviceId, additionalScopes: additionalScopes)) } if let urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure = urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure { return try await urlForOauthOauthConfigurationPromptLoginHintDeviceIdAdditionalScopesClosure(oauthConfiguration, prompt, loginHint, deviceId, additionalScopes) } else { @@ -6618,57 +3959,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - userId open var userIdThrowableError: Error? - open var userIdUnderlyingCallsCount = 0 + private let userIdCallsCountLock = NSLock() + private var userIdUnderlyingCallsCount = 0 open var userIdCallsCount: Int { - get { - if Thread.isMainThread { - return userIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = userIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - userIdUnderlyingCallsCount = newValue - } - } - } + get { userIdCallsCountLock.withLock { userIdUnderlyingCallsCount } } + set { userIdCallsCountLock.withLock { userIdUnderlyingCallsCount = newValue } } } open var userIdCalled: Bool { return userIdCallsCount > 0 } + private let userIdReturnValueLock = NSLock() open var userIdUnderlyingReturnValue: String! open var userIdReturnValue: String! { - get { - if Thread.isMainThread { - return userIdUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = userIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - userIdUnderlyingReturnValue = newValue - } - } - } + get { userIdReturnValueLock.withLock { userIdUnderlyingReturnValue } } + set { userIdReturnValueLock.withLock { userIdUnderlyingReturnValue = newValue } } } open var userIdClosure: (() throws -> String)? @@ -6676,7 +3981,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = userIdThrowableError { throw error } - userIdCallsCount += 1 + userIdCallsCountLock.withLock { userIdUnderlyingCallsCount += 1 } if let userIdClosure = userIdClosure { return try userIdClosure() } else { @@ -6687,57 +3992,21 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - userIdServerName open var userIdServerNameThrowableError: Error? - open var userIdServerNameUnderlyingCallsCount = 0 + private let userIdServerNameCallsCountLock = NSLock() + private var userIdServerNameUnderlyingCallsCount = 0 open var userIdServerNameCallsCount: Int { - get { - if Thread.isMainThread { - return userIdServerNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = userIdServerNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userIdServerNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - userIdServerNameUnderlyingCallsCount = newValue - } - } - } + get { userIdServerNameCallsCountLock.withLock { userIdServerNameUnderlyingCallsCount } } + set { userIdServerNameCallsCountLock.withLock { userIdServerNameUnderlyingCallsCount = newValue } } } open var userIdServerNameCalled: Bool { return userIdServerNameCallsCount > 0 } + private let userIdServerNameReturnValueLock = NSLock() open var userIdServerNameUnderlyingReturnValue: String! open var userIdServerNameReturnValue: String! { - get { - if Thread.isMainThread { - return userIdServerNameUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = userIdServerNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userIdServerNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - userIdServerNameUnderlyingReturnValue = newValue - } - } - } + get { userIdServerNameReturnValueLock.withLock { userIdServerNameUnderlyingReturnValue } } + set { userIdServerNameReturnValueLock.withLock { userIdServerNameUnderlyingReturnValue = newValue } } } open var userIdServerNameClosure: (() throws -> String)? @@ -6745,7 +4014,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = userIdServerNameThrowableError { throw error } - userIdServerNameCallsCount += 1 + userIdServerNameCallsCountLock.withLock { userIdServerNameUnderlyingCallsCount += 1 } if let userIdServerNameClosure = userIdServerNameClosure { return try userIdServerNameClosure() } else { @@ -6756,103 +4025,57 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - addRecentEmoji open var addRecentEmojiEmojiThrowableError: Error? - open var addRecentEmojiEmojiUnderlyingCallsCount = 0 + private let addRecentEmojiEmojiCallsCountLock = NSLock() + private var addRecentEmojiEmojiUnderlyingCallsCount = 0 open var addRecentEmojiEmojiCallsCount: Int { - get { - if Thread.isMainThread { - return addRecentEmojiEmojiUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addRecentEmojiEmojiUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addRecentEmojiEmojiUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addRecentEmojiEmojiUnderlyingCallsCount = newValue - } - } - } + get { addRecentEmojiEmojiCallsCountLock.withLock { addRecentEmojiEmojiUnderlyingCallsCount } } + set { addRecentEmojiEmojiCallsCountLock.withLock { addRecentEmojiEmojiUnderlyingCallsCount = newValue } } } open var addRecentEmojiEmojiCalled: Bool { return addRecentEmojiEmojiCallsCount > 0 } - open var addRecentEmojiEmojiReceivedEmoji: String? - open var addRecentEmojiEmojiReceivedInvocations: [String] = [] + private let addRecentEmojiEmojiReceivedEmojiLock = NSLock() + private var addRecentEmojiEmojiUnderlyingReceivedEmoji: String? + open var addRecentEmojiEmojiReceivedEmoji: String? { + get { addRecentEmojiEmojiReceivedEmojiLock.withLock { addRecentEmojiEmojiUnderlyingReceivedEmoji } } + set { addRecentEmojiEmojiReceivedEmojiLock.withLock { addRecentEmojiEmojiUnderlyingReceivedEmoji = newValue } } + } + private let addRecentEmojiEmojiReceivedInvocationsLock = NSLock() + private var addRecentEmojiEmojiUnderlyingReceivedInvocations: [String] = [] + open var addRecentEmojiEmojiReceivedInvocations: [String] { + get { addRecentEmojiEmojiReceivedInvocationsLock.withLock { addRecentEmojiEmojiUnderlyingReceivedInvocations } } + set { addRecentEmojiEmojiReceivedInvocationsLock.withLock { addRecentEmojiEmojiUnderlyingReceivedInvocations = newValue } } + } open var addRecentEmojiEmojiClosure: ((String) async throws -> Void)? open override func addRecentEmoji(emoji: String) async throws { if let error = addRecentEmojiEmojiThrowableError { throw error } - addRecentEmojiEmojiCallsCount += 1 + addRecentEmojiEmojiCallsCountLock.withLock { addRecentEmojiEmojiUnderlyingCallsCount += 1 } addRecentEmojiEmojiReceivedEmoji = emoji - DispatchQueue.main.async { - self.addRecentEmojiEmojiReceivedInvocations.append(emoji) - } + addRecentEmojiEmojiReceivedInvocationsLock.withLock { addRecentEmojiEmojiUnderlyingReceivedInvocations.append(emoji) } try await addRecentEmojiEmojiClosure?(emoji) } //MARK: - getRecentEmojis open var getRecentEmojisThrowableError: Error? - open var getRecentEmojisUnderlyingCallsCount = 0 + private let getRecentEmojisCallsCountLock = NSLock() + private var getRecentEmojisUnderlyingCallsCount = 0 open var getRecentEmojisCallsCount: Int { - get { - if Thread.isMainThread { - return getRecentEmojisUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRecentEmojisUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRecentEmojisUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRecentEmojisUnderlyingCallsCount = newValue - } - } - } + get { getRecentEmojisCallsCountLock.withLock { getRecentEmojisUnderlyingCallsCount } } + set { getRecentEmojisCallsCountLock.withLock { getRecentEmojisUnderlyingCallsCount = newValue } } } open var getRecentEmojisCalled: Bool { return getRecentEmojisCallsCount > 0 } + private let getRecentEmojisReturnValueLock = NSLock() open var getRecentEmojisUnderlyingReturnValue: [RecentEmoji]! open var getRecentEmojisReturnValue: [RecentEmoji]! { - get { - if Thread.isMainThread { - return getRecentEmojisUnderlyingReturnValue - } else { - var returnValue: [RecentEmoji]? = nil - DispatchQueue.main.sync { - returnValue = getRecentEmojisUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRecentEmojisUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRecentEmojisUnderlyingReturnValue = newValue - } - } - } + get { getRecentEmojisReturnValueLock.withLock { getRecentEmojisUnderlyingReturnValue } } + set { getRecentEmojisReturnValueLock.withLock { getRecentEmojisUnderlyingReturnValue = newValue } } } open var getRecentEmojisClosure: (() async throws -> [RecentEmoji])? @@ -6860,7 +4083,7 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = getRecentEmojisThrowableError { throw error } - getRecentEmojisCallsCount += 1 + getRecentEmojisCallsCountLock.withLock { getRecentEmojisUnderlyingCallsCount += 1 } if let getRecentEmojisClosure = getRecentEmojisClosure { return try await getRecentEmojisClosure() } else { @@ -6871,59 +4094,33 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { //MARK: - searchMessages open var searchMessagesQueryFilterNumResultsPerBatchThrowableError: Error? - open var searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount = 0 + private let searchMessagesQueryFilterNumResultsPerBatchCallsCountLock = NSLock() + private var searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount = 0 open var searchMessagesQueryFilterNumResultsPerBatchCallsCount: Int { - get { - if Thread.isMainThread { - return searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount = newValue - } - } - } + get { searchMessagesQueryFilterNumResultsPerBatchCallsCountLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount } } + set { searchMessagesQueryFilterNumResultsPerBatchCallsCountLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount = newValue } } } open var searchMessagesQueryFilterNumResultsPerBatchCalled: Bool { return searchMessagesQueryFilterNumResultsPerBatchCallsCount > 0 } - open var searchMessagesQueryFilterNumResultsPerBatchReceivedArguments: (query: String, filter: SearchRoomFilter, numResultsPerBatch: UInt32)? - open var searchMessagesQueryFilterNumResultsPerBatchReceivedInvocations: [(query: String, filter: SearchRoomFilter, numResultsPerBatch: UInt32)] = [] + private let searchMessagesQueryFilterNumResultsPerBatchReceivedArgumentsLock = NSLock() + private var searchMessagesQueryFilterNumResultsPerBatchUnderlyingReceivedArguments: (query: String, filter: SearchRoomFilter, numResultsPerBatch: UInt32)? + open var searchMessagesQueryFilterNumResultsPerBatchReceivedArguments: (query: String, filter: SearchRoomFilter, numResultsPerBatch: UInt32)? { + get { searchMessagesQueryFilterNumResultsPerBatchReceivedArgumentsLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingReceivedArguments } } + set { searchMessagesQueryFilterNumResultsPerBatchReceivedArgumentsLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingReceivedArguments = newValue } } + } + private let searchMessagesQueryFilterNumResultsPerBatchReceivedInvocationsLock = NSLock() + private var searchMessagesQueryFilterNumResultsPerBatchUnderlyingReceivedInvocations: [(query: String, filter: SearchRoomFilter, numResultsPerBatch: UInt32)] = [] + open var searchMessagesQueryFilterNumResultsPerBatchReceivedInvocations: [(query: String, filter: SearchRoomFilter, numResultsPerBatch: UInt32)] { + get { searchMessagesQueryFilterNumResultsPerBatchReceivedInvocationsLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingReceivedInvocations } } + set { searchMessagesQueryFilterNumResultsPerBatchReceivedInvocationsLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingReceivedInvocations = newValue } } + } + private let searchMessagesQueryFilterNumResultsPerBatchReturnValueLock = NSLock() open var searchMessagesQueryFilterNumResultsPerBatchUnderlyingReturnValue: GlobalSearchIterator! open var searchMessagesQueryFilterNumResultsPerBatchReturnValue: GlobalSearchIterator! { - get { - if Thread.isMainThread { - return searchMessagesQueryFilterNumResultsPerBatchUnderlyingReturnValue - } else { - var returnValue: GlobalSearchIterator? = nil - DispatchQueue.main.sync { - returnValue = searchMessagesQueryFilterNumResultsPerBatchUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchMessagesQueryFilterNumResultsPerBatchUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - searchMessagesQueryFilterNumResultsPerBatchUnderlyingReturnValue = newValue - } - } - } + get { searchMessagesQueryFilterNumResultsPerBatchReturnValueLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingReturnValue } } + set { searchMessagesQueryFilterNumResultsPerBatchReturnValueLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingReturnValue = newValue } } } open var searchMessagesQueryFilterNumResultsPerBatchClosure: ((String, SearchRoomFilter, UInt32) async throws -> GlobalSearchIterator)? @@ -6931,11 +4128,9 @@ open class ClientSDKMock: MatrixRustSDK.Client, @unchecked Sendable { if let error = searchMessagesQueryFilterNumResultsPerBatchThrowableError { throw error } - searchMessagesQueryFilterNumResultsPerBatchCallsCount += 1 + searchMessagesQueryFilterNumResultsPerBatchCallsCountLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingCallsCount += 1 } searchMessagesQueryFilterNumResultsPerBatchReceivedArguments = (query: query, filter: filter, numResultsPerBatch: numResultsPerBatch) - DispatchQueue.main.async { - self.searchMessagesQueryFilterNumResultsPerBatchReceivedInvocations.append((query: query, filter: filter, numResultsPerBatch: numResultsPerBatch)) - } + searchMessagesQueryFilterNumResultsPerBatchReceivedInvocationsLock.withLock { searchMessagesQueryFilterNumResultsPerBatchUnderlyingReceivedInvocations.append((query: query, filter: filter, numResultsPerBatch: numResultsPerBatch)) } if let searchMessagesQueryFilterNumResultsPerBatchClosure = searchMessagesQueryFilterNumResultsPerBatchClosure { return try await searchMessagesQueryFilterNumResultsPerBatchClosure(query, filter, numResultsPerBatch) } else { @@ -6960,68 +4155,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - addRootCertificates - open var addRootCertificatesCertificatesUnderlyingCallsCount = 0 + private let addRootCertificatesCertificatesCallsCountLock = NSLock() + private var addRootCertificatesCertificatesUnderlyingCallsCount = 0 open var addRootCertificatesCertificatesCallsCount: Int { - get { - if Thread.isMainThread { - return addRootCertificatesCertificatesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addRootCertificatesCertificatesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addRootCertificatesCertificatesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addRootCertificatesCertificatesUnderlyingCallsCount = newValue - } - } - } + get { addRootCertificatesCertificatesCallsCountLock.withLock { addRootCertificatesCertificatesUnderlyingCallsCount } } + set { addRootCertificatesCertificatesCallsCountLock.withLock { addRootCertificatesCertificatesUnderlyingCallsCount = newValue } } } open var addRootCertificatesCertificatesCalled: Bool { return addRootCertificatesCertificatesCallsCount > 0 } - open var addRootCertificatesCertificatesReceivedCertificates: [Data]? - open var addRootCertificatesCertificatesReceivedInvocations: [[Data]] = [] + private let addRootCertificatesCertificatesReceivedCertificatesLock = NSLock() + private var addRootCertificatesCertificatesUnderlyingReceivedCertificates: [Data]? + open var addRootCertificatesCertificatesReceivedCertificates: [Data]? { + get { addRootCertificatesCertificatesReceivedCertificatesLock.withLock { addRootCertificatesCertificatesUnderlyingReceivedCertificates } } + set { addRootCertificatesCertificatesReceivedCertificatesLock.withLock { addRootCertificatesCertificatesUnderlyingReceivedCertificates = newValue } } + } + private let addRootCertificatesCertificatesReceivedInvocationsLock = NSLock() + private var addRootCertificatesCertificatesUnderlyingReceivedInvocations: [[Data]] = [] + open var addRootCertificatesCertificatesReceivedInvocations: [[Data]] { + get { addRootCertificatesCertificatesReceivedInvocationsLock.withLock { addRootCertificatesCertificatesUnderlyingReceivedInvocations } } + set { addRootCertificatesCertificatesReceivedInvocationsLock.withLock { addRootCertificatesCertificatesUnderlyingReceivedInvocations = newValue } } + } + private let addRootCertificatesCertificatesReturnValueLock = NSLock() open var addRootCertificatesCertificatesUnderlyingReturnValue: ClientBuilder! open var addRootCertificatesCertificatesReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return addRootCertificatesCertificatesUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = addRootCertificatesCertificatesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addRootCertificatesCertificatesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - addRootCertificatesCertificatesUnderlyingReturnValue = newValue - } - } - } + get { addRootCertificatesCertificatesReturnValueLock.withLock { addRootCertificatesCertificatesUnderlyingReturnValue } } + set { addRootCertificatesCertificatesReturnValueLock.withLock { addRootCertificatesCertificatesUnderlyingReturnValue = newValue } } } open var addRootCertificatesCertificatesClosure: (([Data]) -> ClientBuilder)? open override func addRootCertificates(certificates: [Data]) -> ClientBuilder { - addRootCertificatesCertificatesCallsCount += 1 + addRootCertificatesCertificatesCallsCountLock.withLock { addRootCertificatesCertificatesUnderlyingCallsCount += 1 } addRootCertificatesCertificatesReceivedCertificates = certificates - DispatchQueue.main.async { - self.addRootCertificatesCertificatesReceivedInvocations.append(certificates) - } + addRootCertificatesCertificatesReceivedInvocationsLock.withLock { addRootCertificatesCertificatesUnderlyingReceivedInvocations.append(certificates) } if let addRootCertificatesCertificatesClosure = addRootCertificatesCertificatesClosure { return addRootCertificatesCertificatesClosure(certificates) } else { @@ -7031,68 +4198,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - autoEnableBackups - open var autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount = 0 + private let autoEnableBackupsAutoEnableBackupsCallsCountLock = NSLock() + private var autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount = 0 open var autoEnableBackupsAutoEnableBackupsCallsCount: Int { - get { - if Thread.isMainThread { - return autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount = newValue - } - } - } + get { autoEnableBackupsAutoEnableBackupsCallsCountLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount } } + set { autoEnableBackupsAutoEnableBackupsCallsCountLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount = newValue } } } open var autoEnableBackupsAutoEnableBackupsCalled: Bool { return autoEnableBackupsAutoEnableBackupsCallsCount > 0 } - open var autoEnableBackupsAutoEnableBackupsReceivedAutoEnableBackups: Bool? - open var autoEnableBackupsAutoEnableBackupsReceivedInvocations: [Bool] = [] + private let autoEnableBackupsAutoEnableBackupsReceivedAutoEnableBackupsLock = NSLock() + private var autoEnableBackupsAutoEnableBackupsUnderlyingReceivedAutoEnableBackups: Bool? + open var autoEnableBackupsAutoEnableBackupsReceivedAutoEnableBackups: Bool? { + get { autoEnableBackupsAutoEnableBackupsReceivedAutoEnableBackupsLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingReceivedAutoEnableBackups } } + set { autoEnableBackupsAutoEnableBackupsReceivedAutoEnableBackupsLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingReceivedAutoEnableBackups = newValue } } + } + private let autoEnableBackupsAutoEnableBackupsReceivedInvocationsLock = NSLock() + private var autoEnableBackupsAutoEnableBackupsUnderlyingReceivedInvocations: [Bool] = [] + open var autoEnableBackupsAutoEnableBackupsReceivedInvocations: [Bool] { + get { autoEnableBackupsAutoEnableBackupsReceivedInvocationsLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingReceivedInvocations } } + set { autoEnableBackupsAutoEnableBackupsReceivedInvocationsLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingReceivedInvocations = newValue } } + } + private let autoEnableBackupsAutoEnableBackupsReturnValueLock = NSLock() open var autoEnableBackupsAutoEnableBackupsUnderlyingReturnValue: ClientBuilder! open var autoEnableBackupsAutoEnableBackupsReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return autoEnableBackupsAutoEnableBackupsUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = autoEnableBackupsAutoEnableBackupsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - autoEnableBackupsAutoEnableBackupsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - autoEnableBackupsAutoEnableBackupsUnderlyingReturnValue = newValue - } - } - } + get { autoEnableBackupsAutoEnableBackupsReturnValueLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingReturnValue } } + set { autoEnableBackupsAutoEnableBackupsReturnValueLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingReturnValue = newValue } } } open var autoEnableBackupsAutoEnableBackupsClosure: ((Bool) -> ClientBuilder)? open override func autoEnableBackups(autoEnableBackups: Bool) -> ClientBuilder { - autoEnableBackupsAutoEnableBackupsCallsCount += 1 + autoEnableBackupsAutoEnableBackupsCallsCountLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingCallsCount += 1 } autoEnableBackupsAutoEnableBackupsReceivedAutoEnableBackups = autoEnableBackups - DispatchQueue.main.async { - self.autoEnableBackupsAutoEnableBackupsReceivedInvocations.append(autoEnableBackups) - } + autoEnableBackupsAutoEnableBackupsReceivedInvocationsLock.withLock { autoEnableBackupsAutoEnableBackupsUnderlyingReceivedInvocations.append(autoEnableBackups) } if let autoEnableBackupsAutoEnableBackupsClosure = autoEnableBackupsAutoEnableBackupsClosure { return autoEnableBackupsAutoEnableBackupsClosure(autoEnableBackups) } else { @@ -7102,68 +4241,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - autoEnableCrossSigning - open var autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount = 0 + private let autoEnableCrossSigningAutoEnableCrossSigningCallsCountLock = NSLock() + private var autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount = 0 open var autoEnableCrossSigningAutoEnableCrossSigningCallsCount: Int { - get { - if Thread.isMainThread { - return autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount = newValue - } - } - } + get { autoEnableCrossSigningAutoEnableCrossSigningCallsCountLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount } } + set { autoEnableCrossSigningAutoEnableCrossSigningCallsCountLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount = newValue } } } open var autoEnableCrossSigningAutoEnableCrossSigningCalled: Bool { return autoEnableCrossSigningAutoEnableCrossSigningCallsCount > 0 } - open var autoEnableCrossSigningAutoEnableCrossSigningReceivedAutoEnableCrossSigning: Bool? - open var autoEnableCrossSigningAutoEnableCrossSigningReceivedInvocations: [Bool] = [] + private let autoEnableCrossSigningAutoEnableCrossSigningReceivedAutoEnableCrossSigningLock = NSLock() + private var autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReceivedAutoEnableCrossSigning: Bool? + open var autoEnableCrossSigningAutoEnableCrossSigningReceivedAutoEnableCrossSigning: Bool? { + get { autoEnableCrossSigningAutoEnableCrossSigningReceivedAutoEnableCrossSigningLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReceivedAutoEnableCrossSigning } } + set { autoEnableCrossSigningAutoEnableCrossSigningReceivedAutoEnableCrossSigningLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReceivedAutoEnableCrossSigning = newValue } } + } + private let autoEnableCrossSigningAutoEnableCrossSigningReceivedInvocationsLock = NSLock() + private var autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReceivedInvocations: [Bool] = [] + open var autoEnableCrossSigningAutoEnableCrossSigningReceivedInvocations: [Bool] { + get { autoEnableCrossSigningAutoEnableCrossSigningReceivedInvocationsLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReceivedInvocations } } + set { autoEnableCrossSigningAutoEnableCrossSigningReceivedInvocationsLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReceivedInvocations = newValue } } + } + private let autoEnableCrossSigningAutoEnableCrossSigningReturnValueLock = NSLock() open var autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReturnValue: ClientBuilder! open var autoEnableCrossSigningAutoEnableCrossSigningReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReturnValue = newValue - } - } - } + get { autoEnableCrossSigningAutoEnableCrossSigningReturnValueLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReturnValue } } + set { autoEnableCrossSigningAutoEnableCrossSigningReturnValueLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReturnValue = newValue } } } open var autoEnableCrossSigningAutoEnableCrossSigningClosure: ((Bool) -> ClientBuilder)? open override func autoEnableCrossSigning(autoEnableCrossSigning: Bool) -> ClientBuilder { - autoEnableCrossSigningAutoEnableCrossSigningCallsCount += 1 + autoEnableCrossSigningAutoEnableCrossSigningCallsCountLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingCallsCount += 1 } autoEnableCrossSigningAutoEnableCrossSigningReceivedAutoEnableCrossSigning = autoEnableCrossSigning - DispatchQueue.main.async { - self.autoEnableCrossSigningAutoEnableCrossSigningReceivedInvocations.append(autoEnableCrossSigning) - } + autoEnableCrossSigningAutoEnableCrossSigningReceivedInvocationsLock.withLock { autoEnableCrossSigningAutoEnableCrossSigningUnderlyingReceivedInvocations.append(autoEnableCrossSigning) } if let autoEnableCrossSigningAutoEnableCrossSigningClosure = autoEnableCrossSigningAutoEnableCrossSigningClosure { return autoEnableCrossSigningAutoEnableCrossSigningClosure(autoEnableCrossSigning) } else { @@ -7173,68 +4284,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - backupDownloadStrategy - open var backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount = 0 + private let backupDownloadStrategyBackupDownloadStrategyCallsCountLock = NSLock() + private var backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount = 0 open var backupDownloadStrategyBackupDownloadStrategyCallsCount: Int { - get { - if Thread.isMainThread { - return backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount = newValue - } - } - } + get { backupDownloadStrategyBackupDownloadStrategyCallsCountLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount } } + set { backupDownloadStrategyBackupDownloadStrategyCallsCountLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount = newValue } } } open var backupDownloadStrategyBackupDownloadStrategyCalled: Bool { return backupDownloadStrategyBackupDownloadStrategyCallsCount > 0 } - open var backupDownloadStrategyBackupDownloadStrategyReceivedBackupDownloadStrategy: BackupDownloadStrategy? - open var backupDownloadStrategyBackupDownloadStrategyReceivedInvocations: [BackupDownloadStrategy] = [] + private let backupDownloadStrategyBackupDownloadStrategyReceivedBackupDownloadStrategyLock = NSLock() + private var backupDownloadStrategyBackupDownloadStrategyUnderlyingReceivedBackupDownloadStrategy: BackupDownloadStrategy? + open var backupDownloadStrategyBackupDownloadStrategyReceivedBackupDownloadStrategy: BackupDownloadStrategy? { + get { backupDownloadStrategyBackupDownloadStrategyReceivedBackupDownloadStrategyLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingReceivedBackupDownloadStrategy } } + set { backupDownloadStrategyBackupDownloadStrategyReceivedBackupDownloadStrategyLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingReceivedBackupDownloadStrategy = newValue } } + } + private let backupDownloadStrategyBackupDownloadStrategyReceivedInvocationsLock = NSLock() + private var backupDownloadStrategyBackupDownloadStrategyUnderlyingReceivedInvocations: [BackupDownloadStrategy] = [] + open var backupDownloadStrategyBackupDownloadStrategyReceivedInvocations: [BackupDownloadStrategy] { + get { backupDownloadStrategyBackupDownloadStrategyReceivedInvocationsLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingReceivedInvocations } } + set { backupDownloadStrategyBackupDownloadStrategyReceivedInvocationsLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingReceivedInvocations = newValue } } + } + private let backupDownloadStrategyBackupDownloadStrategyReturnValueLock = NSLock() open var backupDownloadStrategyBackupDownloadStrategyUnderlyingReturnValue: ClientBuilder! open var backupDownloadStrategyBackupDownloadStrategyReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return backupDownloadStrategyBackupDownloadStrategyUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = backupDownloadStrategyBackupDownloadStrategyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - backupDownloadStrategyBackupDownloadStrategyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - backupDownloadStrategyBackupDownloadStrategyUnderlyingReturnValue = newValue - } - } - } + get { backupDownloadStrategyBackupDownloadStrategyReturnValueLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingReturnValue } } + set { backupDownloadStrategyBackupDownloadStrategyReturnValueLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingReturnValue = newValue } } } open var backupDownloadStrategyBackupDownloadStrategyClosure: ((BackupDownloadStrategy) -> ClientBuilder)? open override func backupDownloadStrategy(backupDownloadStrategy: BackupDownloadStrategy) -> ClientBuilder { - backupDownloadStrategyBackupDownloadStrategyCallsCount += 1 + backupDownloadStrategyBackupDownloadStrategyCallsCountLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingCallsCount += 1 } backupDownloadStrategyBackupDownloadStrategyReceivedBackupDownloadStrategy = backupDownloadStrategy - DispatchQueue.main.async { - self.backupDownloadStrategyBackupDownloadStrategyReceivedInvocations.append(backupDownloadStrategy) - } + backupDownloadStrategyBackupDownloadStrategyReceivedInvocationsLock.withLock { backupDownloadStrategyBackupDownloadStrategyUnderlyingReceivedInvocations.append(backupDownloadStrategy) } if let backupDownloadStrategyBackupDownloadStrategyClosure = backupDownloadStrategyBackupDownloadStrategyClosure { return backupDownloadStrategyBackupDownloadStrategyClosure(backupDownloadStrategy) } else { @@ -7245,57 +4328,21 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - build open var buildThrowableError: Error? - open var buildUnderlyingCallsCount = 0 + private let buildCallsCountLock = NSLock() + private var buildUnderlyingCallsCount = 0 open var buildCallsCount: Int { - get { - if Thread.isMainThread { - return buildUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = buildUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - buildUnderlyingCallsCount = newValue - } - } - } + get { buildCallsCountLock.withLock { buildUnderlyingCallsCount } } + set { buildCallsCountLock.withLock { buildUnderlyingCallsCount = newValue } } } open var buildCalled: Bool { return buildCallsCount > 0 } + private let buildReturnValueLock = NSLock() open var buildUnderlyingReturnValue: Client! open var buildReturnValue: Client! { - get { - if Thread.isMainThread { - return buildUnderlyingReturnValue - } else { - var returnValue: Client? = nil - DispatchQueue.main.sync { - returnValue = buildUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - buildUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - buildUnderlyingReturnValue = newValue - } - } - } + get { buildReturnValueLock.withLock { buildUnderlyingReturnValue } } + set { buildReturnValueLock.withLock { buildUnderlyingReturnValue = newValue } } } open var buildClosure: (() async throws -> Client)? @@ -7303,7 +4350,7 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl if let error = buildThrowableError { throw error } - buildCallsCount += 1 + buildCallsCountLock.withLock { buildUnderlyingCallsCount += 1 } if let buildClosure = buildClosure { return try await buildClosure() } else { @@ -7313,68 +4360,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - crossProcessLockConfig - open var crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount = 0 + private let crossProcessLockConfigCrossProcessLockConfigCallsCountLock = NSLock() + private var crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount = 0 open var crossProcessLockConfigCrossProcessLockConfigCallsCount: Int { - get { - if Thread.isMainThread { - return crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount = newValue - } - } - } + get { crossProcessLockConfigCrossProcessLockConfigCallsCountLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount } } + set { crossProcessLockConfigCrossProcessLockConfigCallsCountLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount = newValue } } } open var crossProcessLockConfigCrossProcessLockConfigCalled: Bool { return crossProcessLockConfigCrossProcessLockConfigCallsCount > 0 } - open var crossProcessLockConfigCrossProcessLockConfigReceivedCrossProcessLockConfig: CrossProcessLockConfig? - open var crossProcessLockConfigCrossProcessLockConfigReceivedInvocations: [CrossProcessLockConfig] = [] + private let crossProcessLockConfigCrossProcessLockConfigReceivedCrossProcessLockConfigLock = NSLock() + private var crossProcessLockConfigCrossProcessLockConfigUnderlyingReceivedCrossProcessLockConfig: CrossProcessLockConfig? + open var crossProcessLockConfigCrossProcessLockConfigReceivedCrossProcessLockConfig: CrossProcessLockConfig? { + get { crossProcessLockConfigCrossProcessLockConfigReceivedCrossProcessLockConfigLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingReceivedCrossProcessLockConfig } } + set { crossProcessLockConfigCrossProcessLockConfigReceivedCrossProcessLockConfigLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingReceivedCrossProcessLockConfig = newValue } } + } + private let crossProcessLockConfigCrossProcessLockConfigReceivedInvocationsLock = NSLock() + private var crossProcessLockConfigCrossProcessLockConfigUnderlyingReceivedInvocations: [CrossProcessLockConfig] = [] + open var crossProcessLockConfigCrossProcessLockConfigReceivedInvocations: [CrossProcessLockConfig] { + get { crossProcessLockConfigCrossProcessLockConfigReceivedInvocationsLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingReceivedInvocations } } + set { crossProcessLockConfigCrossProcessLockConfigReceivedInvocationsLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingReceivedInvocations = newValue } } + } + private let crossProcessLockConfigCrossProcessLockConfigReturnValueLock = NSLock() open var crossProcessLockConfigCrossProcessLockConfigUnderlyingReturnValue: ClientBuilder! open var crossProcessLockConfigCrossProcessLockConfigReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return crossProcessLockConfigCrossProcessLockConfigUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = crossProcessLockConfigCrossProcessLockConfigUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - crossProcessLockConfigCrossProcessLockConfigUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - crossProcessLockConfigCrossProcessLockConfigUnderlyingReturnValue = newValue - } - } - } + get { crossProcessLockConfigCrossProcessLockConfigReturnValueLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingReturnValue } } + set { crossProcessLockConfigCrossProcessLockConfigReturnValueLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingReturnValue = newValue } } } open var crossProcessLockConfigCrossProcessLockConfigClosure: ((CrossProcessLockConfig) -> ClientBuilder)? open override func crossProcessLockConfig(crossProcessLockConfig: CrossProcessLockConfig) -> ClientBuilder { - crossProcessLockConfigCrossProcessLockConfigCallsCount += 1 + crossProcessLockConfigCrossProcessLockConfigCallsCountLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingCallsCount += 1 } crossProcessLockConfigCrossProcessLockConfigReceivedCrossProcessLockConfig = crossProcessLockConfig - DispatchQueue.main.async { - self.crossProcessLockConfigCrossProcessLockConfigReceivedInvocations.append(crossProcessLockConfig) - } + crossProcessLockConfigCrossProcessLockConfigReceivedInvocationsLock.withLock { crossProcessLockConfigCrossProcessLockConfigUnderlyingReceivedInvocations.append(crossProcessLockConfig) } if let crossProcessLockConfigCrossProcessLockConfigClosure = crossProcessLockConfigCrossProcessLockConfigClosure { return crossProcessLockConfigCrossProcessLockConfigClosure(crossProcessLockConfig) } else { @@ -7384,68 +4403,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - decryptionSettings - open var decryptionSettingsDecryptionSettingsUnderlyingCallsCount = 0 + private let decryptionSettingsDecryptionSettingsCallsCountLock = NSLock() + private var decryptionSettingsDecryptionSettingsUnderlyingCallsCount = 0 open var decryptionSettingsDecryptionSettingsCallsCount: Int { - get { - if Thread.isMainThread { - return decryptionSettingsDecryptionSettingsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = decryptionSettingsDecryptionSettingsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - decryptionSettingsDecryptionSettingsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - decryptionSettingsDecryptionSettingsUnderlyingCallsCount = newValue - } - } - } + get { decryptionSettingsDecryptionSettingsCallsCountLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingCallsCount } } + set { decryptionSettingsDecryptionSettingsCallsCountLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingCallsCount = newValue } } } open var decryptionSettingsDecryptionSettingsCalled: Bool { return decryptionSettingsDecryptionSettingsCallsCount > 0 } - open var decryptionSettingsDecryptionSettingsReceivedDecryptionSettings: DecryptionSettings? - open var decryptionSettingsDecryptionSettingsReceivedInvocations: [DecryptionSettings] = [] + private let decryptionSettingsDecryptionSettingsReceivedDecryptionSettingsLock = NSLock() + private var decryptionSettingsDecryptionSettingsUnderlyingReceivedDecryptionSettings: DecryptionSettings? + open var decryptionSettingsDecryptionSettingsReceivedDecryptionSettings: DecryptionSettings? { + get { decryptionSettingsDecryptionSettingsReceivedDecryptionSettingsLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingReceivedDecryptionSettings } } + set { decryptionSettingsDecryptionSettingsReceivedDecryptionSettingsLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingReceivedDecryptionSettings = newValue } } + } + private let decryptionSettingsDecryptionSettingsReceivedInvocationsLock = NSLock() + private var decryptionSettingsDecryptionSettingsUnderlyingReceivedInvocations: [DecryptionSettings] = [] + open var decryptionSettingsDecryptionSettingsReceivedInvocations: [DecryptionSettings] { + get { decryptionSettingsDecryptionSettingsReceivedInvocationsLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingReceivedInvocations } } + set { decryptionSettingsDecryptionSettingsReceivedInvocationsLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingReceivedInvocations = newValue } } + } + private let decryptionSettingsDecryptionSettingsReturnValueLock = NSLock() open var decryptionSettingsDecryptionSettingsUnderlyingReturnValue: ClientBuilder! open var decryptionSettingsDecryptionSettingsReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return decryptionSettingsDecryptionSettingsUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = decryptionSettingsDecryptionSettingsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - decryptionSettingsDecryptionSettingsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - decryptionSettingsDecryptionSettingsUnderlyingReturnValue = newValue - } - } - } + get { decryptionSettingsDecryptionSettingsReturnValueLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingReturnValue } } + set { decryptionSettingsDecryptionSettingsReturnValueLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingReturnValue = newValue } } } open var decryptionSettingsDecryptionSettingsClosure: ((DecryptionSettings) -> ClientBuilder)? open override func decryptionSettings(decryptionSettings: DecryptionSettings) -> ClientBuilder { - decryptionSettingsDecryptionSettingsCallsCount += 1 + decryptionSettingsDecryptionSettingsCallsCountLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingCallsCount += 1 } decryptionSettingsDecryptionSettingsReceivedDecryptionSettings = decryptionSettings - DispatchQueue.main.async { - self.decryptionSettingsDecryptionSettingsReceivedInvocations.append(decryptionSettings) - } + decryptionSettingsDecryptionSettingsReceivedInvocationsLock.withLock { decryptionSettingsDecryptionSettingsUnderlyingReceivedInvocations.append(decryptionSettings) } if let decryptionSettingsDecryptionSettingsClosure = decryptionSettingsDecryptionSettingsClosure { return decryptionSettingsDecryptionSettingsClosure(decryptionSettings) } else { @@ -7455,62 +4446,26 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - disableAutomaticTokenRefresh - open var disableAutomaticTokenRefreshUnderlyingCallsCount = 0 + private let disableAutomaticTokenRefreshCallsCountLock = NSLock() + private var disableAutomaticTokenRefreshUnderlyingCallsCount = 0 open var disableAutomaticTokenRefreshCallsCount: Int { - get { - if Thread.isMainThread { - return disableAutomaticTokenRefreshUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = disableAutomaticTokenRefreshUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableAutomaticTokenRefreshUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - disableAutomaticTokenRefreshUnderlyingCallsCount = newValue - } - } - } + get { disableAutomaticTokenRefreshCallsCountLock.withLock { disableAutomaticTokenRefreshUnderlyingCallsCount } } + set { disableAutomaticTokenRefreshCallsCountLock.withLock { disableAutomaticTokenRefreshUnderlyingCallsCount = newValue } } } open var disableAutomaticTokenRefreshCalled: Bool { return disableAutomaticTokenRefreshCallsCount > 0 } + private let disableAutomaticTokenRefreshReturnValueLock = NSLock() open var disableAutomaticTokenRefreshUnderlyingReturnValue: ClientBuilder! open var disableAutomaticTokenRefreshReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return disableAutomaticTokenRefreshUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = disableAutomaticTokenRefreshUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableAutomaticTokenRefreshUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - disableAutomaticTokenRefreshUnderlyingReturnValue = newValue - } - } - } + get { disableAutomaticTokenRefreshReturnValueLock.withLock { disableAutomaticTokenRefreshUnderlyingReturnValue } } + set { disableAutomaticTokenRefreshReturnValueLock.withLock { disableAutomaticTokenRefreshUnderlyingReturnValue = newValue } } } open var disableAutomaticTokenRefreshClosure: (() -> ClientBuilder)? open override func disableAutomaticTokenRefresh() -> ClientBuilder { - disableAutomaticTokenRefreshCallsCount += 1 + disableAutomaticTokenRefreshCallsCountLock.withLock { disableAutomaticTokenRefreshUnderlyingCallsCount += 1 } if let disableAutomaticTokenRefreshClosure = disableAutomaticTokenRefreshClosure { return disableAutomaticTokenRefreshClosure() } else { @@ -7520,62 +4475,26 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - disableBuiltInRootCertificates - open var disableBuiltInRootCertificatesUnderlyingCallsCount = 0 + private let disableBuiltInRootCertificatesCallsCountLock = NSLock() + private var disableBuiltInRootCertificatesUnderlyingCallsCount = 0 open var disableBuiltInRootCertificatesCallsCount: Int { - get { - if Thread.isMainThread { - return disableBuiltInRootCertificatesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = disableBuiltInRootCertificatesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableBuiltInRootCertificatesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - disableBuiltInRootCertificatesUnderlyingCallsCount = newValue - } - } - } + get { disableBuiltInRootCertificatesCallsCountLock.withLock { disableBuiltInRootCertificatesUnderlyingCallsCount } } + set { disableBuiltInRootCertificatesCallsCountLock.withLock { disableBuiltInRootCertificatesUnderlyingCallsCount = newValue } } } open var disableBuiltInRootCertificatesCalled: Bool { return disableBuiltInRootCertificatesCallsCount > 0 } + private let disableBuiltInRootCertificatesReturnValueLock = NSLock() open var disableBuiltInRootCertificatesUnderlyingReturnValue: ClientBuilder! open var disableBuiltInRootCertificatesReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return disableBuiltInRootCertificatesUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = disableBuiltInRootCertificatesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableBuiltInRootCertificatesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - disableBuiltInRootCertificatesUnderlyingReturnValue = newValue - } - } - } + get { disableBuiltInRootCertificatesReturnValueLock.withLock { disableBuiltInRootCertificatesUnderlyingReturnValue } } + set { disableBuiltInRootCertificatesReturnValueLock.withLock { disableBuiltInRootCertificatesUnderlyingReturnValue = newValue } } } open var disableBuiltInRootCertificatesClosure: (() -> ClientBuilder)? open override func disableBuiltInRootCertificates() -> ClientBuilder { - disableBuiltInRootCertificatesCallsCount += 1 + disableBuiltInRootCertificatesCallsCountLock.withLock { disableBuiltInRootCertificatesUnderlyingCallsCount += 1 } if let disableBuiltInRootCertificatesClosure = disableBuiltInRootCertificatesClosure { return disableBuiltInRootCertificatesClosure() } else { @@ -7585,62 +4504,26 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - disableSslVerification - open var disableSslVerificationUnderlyingCallsCount = 0 + private let disableSslVerificationCallsCountLock = NSLock() + private var disableSslVerificationUnderlyingCallsCount = 0 open var disableSslVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return disableSslVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = disableSslVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableSslVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - disableSslVerificationUnderlyingCallsCount = newValue - } - } - } + get { disableSslVerificationCallsCountLock.withLock { disableSslVerificationUnderlyingCallsCount } } + set { disableSslVerificationCallsCountLock.withLock { disableSslVerificationUnderlyingCallsCount = newValue } } } open var disableSslVerificationCalled: Bool { return disableSslVerificationCallsCount > 0 } + private let disableSslVerificationReturnValueLock = NSLock() open var disableSslVerificationUnderlyingReturnValue: ClientBuilder! open var disableSslVerificationReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return disableSslVerificationUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = disableSslVerificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableSslVerificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - disableSslVerificationUnderlyingReturnValue = newValue - } - } - } + get { disableSslVerificationReturnValueLock.withLock { disableSslVerificationUnderlyingReturnValue } } + set { disableSslVerificationReturnValueLock.withLock { disableSslVerificationUnderlyingReturnValue = newValue } } } open var disableSslVerificationClosure: (() -> ClientBuilder)? open override func disableSslVerification() -> ClientBuilder { - disableSslVerificationCallsCount += 1 + disableSslVerificationCallsCountLock.withLock { disableSslVerificationUnderlyingCallsCount += 1 } if let disableSslVerificationClosure = disableSslVerificationClosure { return disableSslVerificationClosure() } else { @@ -7650,68 +4533,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - dmRoomDefinition - open var dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount = 0 + private let dmRoomDefinitionDmRoomDefinitionCallsCountLock = NSLock() + private var dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount = 0 open var dmRoomDefinitionDmRoomDefinitionCallsCount: Int { - get { - if Thread.isMainThread { - return dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount = newValue - } - } - } + get { dmRoomDefinitionDmRoomDefinitionCallsCountLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount } } + set { dmRoomDefinitionDmRoomDefinitionCallsCountLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount = newValue } } } open var dmRoomDefinitionDmRoomDefinitionCalled: Bool { return dmRoomDefinitionDmRoomDefinitionCallsCount > 0 } - open var dmRoomDefinitionDmRoomDefinitionReceivedDmRoomDefinition: DmRoomDefinition? - open var dmRoomDefinitionDmRoomDefinitionReceivedInvocations: [DmRoomDefinition] = [] + private let dmRoomDefinitionDmRoomDefinitionReceivedDmRoomDefinitionLock = NSLock() + private var dmRoomDefinitionDmRoomDefinitionUnderlyingReceivedDmRoomDefinition: DmRoomDefinition? + open var dmRoomDefinitionDmRoomDefinitionReceivedDmRoomDefinition: DmRoomDefinition? { + get { dmRoomDefinitionDmRoomDefinitionReceivedDmRoomDefinitionLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingReceivedDmRoomDefinition } } + set { dmRoomDefinitionDmRoomDefinitionReceivedDmRoomDefinitionLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingReceivedDmRoomDefinition = newValue } } + } + private let dmRoomDefinitionDmRoomDefinitionReceivedInvocationsLock = NSLock() + private var dmRoomDefinitionDmRoomDefinitionUnderlyingReceivedInvocations: [DmRoomDefinition] = [] + open var dmRoomDefinitionDmRoomDefinitionReceivedInvocations: [DmRoomDefinition] { + get { dmRoomDefinitionDmRoomDefinitionReceivedInvocationsLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingReceivedInvocations } } + set { dmRoomDefinitionDmRoomDefinitionReceivedInvocationsLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingReceivedInvocations = newValue } } + } + private let dmRoomDefinitionDmRoomDefinitionReturnValueLock = NSLock() open var dmRoomDefinitionDmRoomDefinitionUnderlyingReturnValue: ClientBuilder! open var dmRoomDefinitionDmRoomDefinitionReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return dmRoomDefinitionDmRoomDefinitionUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = dmRoomDefinitionDmRoomDefinitionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - dmRoomDefinitionDmRoomDefinitionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - dmRoomDefinitionDmRoomDefinitionUnderlyingReturnValue = newValue - } - } - } + get { dmRoomDefinitionDmRoomDefinitionReturnValueLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingReturnValue } } + set { dmRoomDefinitionDmRoomDefinitionReturnValueLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingReturnValue = newValue } } } open var dmRoomDefinitionDmRoomDefinitionClosure: ((DmRoomDefinition) -> ClientBuilder)? open override func dmRoomDefinition(dmRoomDefinition: DmRoomDefinition) -> ClientBuilder { - dmRoomDefinitionDmRoomDefinitionCallsCount += 1 + dmRoomDefinitionDmRoomDefinitionCallsCountLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingCallsCount += 1 } dmRoomDefinitionDmRoomDefinitionReceivedDmRoomDefinition = dmRoomDefinition - DispatchQueue.main.async { - self.dmRoomDefinitionDmRoomDefinitionReceivedInvocations.append(dmRoomDefinition) - } + dmRoomDefinitionDmRoomDefinitionReceivedInvocationsLock.withLock { dmRoomDefinitionDmRoomDefinitionUnderlyingReceivedInvocations.append(dmRoomDefinition) } if let dmRoomDefinitionDmRoomDefinitionClosure = dmRoomDefinitionDmRoomDefinitionClosure { return dmRoomDefinitionDmRoomDefinitionClosure(dmRoomDefinition) } else { @@ -7721,68 +4576,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - enableShareHistoryOnInvite - open var enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount = 0 + private let enableShareHistoryOnInviteEnableShareHistoryOnInviteCallsCountLock = NSLock() + private var enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount = 0 open var enableShareHistoryOnInviteEnableShareHistoryOnInviteCallsCount: Int { - get { - if Thread.isMainThread { - return enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount = newValue - } - } - } + get { enableShareHistoryOnInviteEnableShareHistoryOnInviteCallsCountLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount } } + set { enableShareHistoryOnInviteEnableShareHistoryOnInviteCallsCountLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount = newValue } } } open var enableShareHistoryOnInviteEnableShareHistoryOnInviteCalled: Bool { return enableShareHistoryOnInviteEnableShareHistoryOnInviteCallsCount > 0 } - open var enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedEnableShareHistoryOnInvite: Bool? - open var enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedInvocations: [Bool] = [] + private let enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedEnableShareHistoryOnInviteLock = NSLock() + private var enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReceivedEnableShareHistoryOnInvite: Bool? + open var enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedEnableShareHistoryOnInvite: Bool? { + get { enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedEnableShareHistoryOnInviteLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReceivedEnableShareHistoryOnInvite } } + set { enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedEnableShareHistoryOnInviteLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReceivedEnableShareHistoryOnInvite = newValue } } + } + private let enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedInvocationsLock = NSLock() + private var enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReceivedInvocations: [Bool] = [] + open var enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedInvocations: [Bool] { + get { enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedInvocationsLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReceivedInvocations } } + set { enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedInvocationsLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReceivedInvocations = newValue } } + } + private let enableShareHistoryOnInviteEnableShareHistoryOnInviteReturnValueLock = NSLock() open var enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReturnValue: ClientBuilder! open var enableShareHistoryOnInviteEnableShareHistoryOnInviteReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReturnValue = newValue - } - } - } + get { enableShareHistoryOnInviteEnableShareHistoryOnInviteReturnValueLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReturnValue } } + set { enableShareHistoryOnInviteEnableShareHistoryOnInviteReturnValueLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReturnValue = newValue } } } open var enableShareHistoryOnInviteEnableShareHistoryOnInviteClosure: ((Bool) -> ClientBuilder)? open override func enableShareHistoryOnInvite(enableShareHistoryOnInvite: Bool) -> ClientBuilder { - enableShareHistoryOnInviteEnableShareHistoryOnInviteCallsCount += 1 + enableShareHistoryOnInviteEnableShareHistoryOnInviteCallsCountLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingCallsCount += 1 } enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedEnableShareHistoryOnInvite = enableShareHistoryOnInvite - DispatchQueue.main.async { - self.enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedInvocations.append(enableShareHistoryOnInvite) - } + enableShareHistoryOnInviteEnableShareHistoryOnInviteReceivedInvocationsLock.withLock { enableShareHistoryOnInviteEnableShareHistoryOnInviteUnderlyingReceivedInvocations.append(enableShareHistoryOnInvite) } if let enableShareHistoryOnInviteEnableShareHistoryOnInviteClosure = enableShareHistoryOnInviteEnableShareHistoryOnInviteClosure { return enableShareHistoryOnInviteEnableShareHistoryOnInviteClosure(enableShareHistoryOnInvite) } else { @@ -7792,68 +4619,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - homeserverUrl - open var homeserverUrlUrlUnderlyingCallsCount = 0 + private let homeserverUrlUrlCallsCountLock = NSLock() + private var homeserverUrlUrlUnderlyingCallsCount = 0 open var homeserverUrlUrlCallsCount: Int { - get { - if Thread.isMainThread { - return homeserverUrlUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = homeserverUrlUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - homeserverUrlUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - homeserverUrlUrlUnderlyingCallsCount = newValue - } - } - } + get { homeserverUrlUrlCallsCountLock.withLock { homeserverUrlUrlUnderlyingCallsCount } } + set { homeserverUrlUrlCallsCountLock.withLock { homeserverUrlUrlUnderlyingCallsCount = newValue } } } open var homeserverUrlUrlCalled: Bool { return homeserverUrlUrlCallsCount > 0 } - open var homeserverUrlUrlReceivedUrl: String? - open var homeserverUrlUrlReceivedInvocations: [String] = [] + private let homeserverUrlUrlReceivedUrlLock = NSLock() + private var homeserverUrlUrlUnderlyingReceivedUrl: String? + open var homeserverUrlUrlReceivedUrl: String? { + get { homeserverUrlUrlReceivedUrlLock.withLock { homeserverUrlUrlUnderlyingReceivedUrl } } + set { homeserverUrlUrlReceivedUrlLock.withLock { homeserverUrlUrlUnderlyingReceivedUrl = newValue } } + } + private let homeserverUrlUrlReceivedInvocationsLock = NSLock() + private var homeserverUrlUrlUnderlyingReceivedInvocations: [String] = [] + open var homeserverUrlUrlReceivedInvocations: [String] { + get { homeserverUrlUrlReceivedInvocationsLock.withLock { homeserverUrlUrlUnderlyingReceivedInvocations } } + set { homeserverUrlUrlReceivedInvocationsLock.withLock { homeserverUrlUrlUnderlyingReceivedInvocations = newValue } } + } + private let homeserverUrlUrlReturnValueLock = NSLock() open var homeserverUrlUrlUnderlyingReturnValue: ClientBuilder! open var homeserverUrlUrlReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return homeserverUrlUrlUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = homeserverUrlUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - homeserverUrlUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - homeserverUrlUrlUnderlyingReturnValue = newValue - } - } - } + get { homeserverUrlUrlReturnValueLock.withLock { homeserverUrlUrlUnderlyingReturnValue } } + set { homeserverUrlUrlReturnValueLock.withLock { homeserverUrlUrlUnderlyingReturnValue = newValue } } } open var homeserverUrlUrlClosure: ((String) -> ClientBuilder)? open override func homeserverUrl(url: String) -> ClientBuilder { - homeserverUrlUrlCallsCount += 1 + homeserverUrlUrlCallsCountLock.withLock { homeserverUrlUrlUnderlyingCallsCount += 1 } homeserverUrlUrlReceivedUrl = url - DispatchQueue.main.async { - self.homeserverUrlUrlReceivedInvocations.append(url) - } + homeserverUrlUrlReceivedInvocationsLock.withLock { homeserverUrlUrlUnderlyingReceivedInvocations.append(url) } if let homeserverUrlUrlClosure = homeserverUrlUrlClosure { return homeserverUrlUrlClosure(url) } else { @@ -7863,62 +4662,26 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - inMemoryStore - open var inMemoryStoreUnderlyingCallsCount = 0 + private let inMemoryStoreCallsCountLock = NSLock() + private var inMemoryStoreUnderlyingCallsCount = 0 open var inMemoryStoreCallsCount: Int { - get { - if Thread.isMainThread { - return inMemoryStoreUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = inMemoryStoreUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inMemoryStoreUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - inMemoryStoreUnderlyingCallsCount = newValue - } - } - } + get { inMemoryStoreCallsCountLock.withLock { inMemoryStoreUnderlyingCallsCount } } + set { inMemoryStoreCallsCountLock.withLock { inMemoryStoreUnderlyingCallsCount = newValue } } } open var inMemoryStoreCalled: Bool { return inMemoryStoreCallsCount > 0 } + private let inMemoryStoreReturnValueLock = NSLock() open var inMemoryStoreUnderlyingReturnValue: ClientBuilder! open var inMemoryStoreReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return inMemoryStoreUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = inMemoryStoreUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inMemoryStoreUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - inMemoryStoreUnderlyingReturnValue = newValue - } - } - } + get { inMemoryStoreReturnValueLock.withLock { inMemoryStoreUnderlyingReturnValue } } + set { inMemoryStoreReturnValueLock.withLock { inMemoryStoreUnderlyingReturnValue = newValue } } } open var inMemoryStoreClosure: (() -> ClientBuilder)? open override func inMemoryStore() -> ClientBuilder { - inMemoryStoreCallsCount += 1 + inMemoryStoreCallsCountLock.withLock { inMemoryStoreUnderlyingCallsCount += 1 } if let inMemoryStoreClosure = inMemoryStoreClosure { return inMemoryStoreClosure() } else { @@ -7928,68 +4691,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - proxy - open var proxyUrlUnderlyingCallsCount = 0 + private let proxyUrlCallsCountLock = NSLock() + private var proxyUrlUnderlyingCallsCount = 0 open var proxyUrlCallsCount: Int { - get { - if Thread.isMainThread { - return proxyUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = proxyUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - proxyUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - proxyUrlUnderlyingCallsCount = newValue - } - } - } + get { proxyUrlCallsCountLock.withLock { proxyUrlUnderlyingCallsCount } } + set { proxyUrlCallsCountLock.withLock { proxyUrlUnderlyingCallsCount = newValue } } } open var proxyUrlCalled: Bool { return proxyUrlCallsCount > 0 } - open var proxyUrlReceivedUrl: String? - open var proxyUrlReceivedInvocations: [String] = [] + private let proxyUrlReceivedUrlLock = NSLock() + private var proxyUrlUnderlyingReceivedUrl: String? + open var proxyUrlReceivedUrl: String? { + get { proxyUrlReceivedUrlLock.withLock { proxyUrlUnderlyingReceivedUrl } } + set { proxyUrlReceivedUrlLock.withLock { proxyUrlUnderlyingReceivedUrl = newValue } } + } + private let proxyUrlReceivedInvocationsLock = NSLock() + private var proxyUrlUnderlyingReceivedInvocations: [String] = [] + open var proxyUrlReceivedInvocations: [String] { + get { proxyUrlReceivedInvocationsLock.withLock { proxyUrlUnderlyingReceivedInvocations } } + set { proxyUrlReceivedInvocationsLock.withLock { proxyUrlUnderlyingReceivedInvocations = newValue } } + } + private let proxyUrlReturnValueLock = NSLock() open var proxyUrlUnderlyingReturnValue: ClientBuilder! open var proxyUrlReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return proxyUrlUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = proxyUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - proxyUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - proxyUrlUnderlyingReturnValue = newValue - } - } - } + get { proxyUrlReturnValueLock.withLock { proxyUrlUnderlyingReturnValue } } + set { proxyUrlReturnValueLock.withLock { proxyUrlUnderlyingReturnValue = newValue } } } open var proxyUrlClosure: ((String) -> ClientBuilder)? open override func proxy(url: String) -> ClientBuilder { - proxyUrlCallsCount += 1 + proxyUrlCallsCountLock.withLock { proxyUrlUnderlyingCallsCount += 1 } proxyUrlReceivedUrl = url - DispatchQueue.main.async { - self.proxyUrlReceivedInvocations.append(url) - } + proxyUrlReceivedInvocationsLock.withLock { proxyUrlUnderlyingReceivedInvocations.append(url) } if let proxyUrlClosure = proxyUrlClosure { return proxyUrlClosure(url) } else { @@ -7999,68 +4734,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - requestConfig - open var requestConfigConfigUnderlyingCallsCount = 0 + private let requestConfigConfigCallsCountLock = NSLock() + private var requestConfigConfigUnderlyingCallsCount = 0 open var requestConfigConfigCallsCount: Int { - get { - if Thread.isMainThread { - return requestConfigConfigUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestConfigConfigUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestConfigConfigUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestConfigConfigUnderlyingCallsCount = newValue - } - } - } + get { requestConfigConfigCallsCountLock.withLock { requestConfigConfigUnderlyingCallsCount } } + set { requestConfigConfigCallsCountLock.withLock { requestConfigConfigUnderlyingCallsCount = newValue } } } open var requestConfigConfigCalled: Bool { return requestConfigConfigCallsCount > 0 } - open var requestConfigConfigReceivedConfig: RequestConfig? - open var requestConfigConfigReceivedInvocations: [RequestConfig] = [] + private let requestConfigConfigReceivedConfigLock = NSLock() + private var requestConfigConfigUnderlyingReceivedConfig: RequestConfig? + open var requestConfigConfigReceivedConfig: RequestConfig? { + get { requestConfigConfigReceivedConfigLock.withLock { requestConfigConfigUnderlyingReceivedConfig } } + set { requestConfigConfigReceivedConfigLock.withLock { requestConfigConfigUnderlyingReceivedConfig = newValue } } + } + private let requestConfigConfigReceivedInvocationsLock = NSLock() + private var requestConfigConfigUnderlyingReceivedInvocations: [RequestConfig] = [] + open var requestConfigConfigReceivedInvocations: [RequestConfig] { + get { requestConfigConfigReceivedInvocationsLock.withLock { requestConfigConfigUnderlyingReceivedInvocations } } + set { requestConfigConfigReceivedInvocationsLock.withLock { requestConfigConfigUnderlyingReceivedInvocations = newValue } } + } + private let requestConfigConfigReturnValueLock = NSLock() open var requestConfigConfigUnderlyingReturnValue: ClientBuilder! open var requestConfigConfigReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return requestConfigConfigUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = requestConfigConfigUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestConfigConfigUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - requestConfigConfigUnderlyingReturnValue = newValue - } - } - } + get { requestConfigConfigReturnValueLock.withLock { requestConfigConfigUnderlyingReturnValue } } + set { requestConfigConfigReturnValueLock.withLock { requestConfigConfigUnderlyingReturnValue = newValue } } } open var requestConfigConfigClosure: ((RequestConfig) -> ClientBuilder)? open override func requestConfig(config: RequestConfig) -> ClientBuilder { - requestConfigConfigCallsCount += 1 + requestConfigConfigCallsCountLock.withLock { requestConfigConfigUnderlyingCallsCount += 1 } requestConfigConfigReceivedConfig = config - DispatchQueue.main.async { - self.requestConfigConfigReceivedInvocations.append(config) - } + requestConfigConfigReceivedInvocationsLock.withLock { requestConfigConfigUnderlyingReceivedInvocations.append(config) } if let requestConfigConfigClosure = requestConfigConfigClosure { return requestConfigConfigClosure(config) } else { @@ -8070,68 +4777,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - roomKeyRecipientStrategy - open var roomKeyRecipientStrategyStrategyUnderlyingCallsCount = 0 + private let roomKeyRecipientStrategyStrategyCallsCountLock = NSLock() + private var roomKeyRecipientStrategyStrategyUnderlyingCallsCount = 0 open var roomKeyRecipientStrategyStrategyCallsCount: Int { - get { - if Thread.isMainThread { - return roomKeyRecipientStrategyStrategyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomKeyRecipientStrategyStrategyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomKeyRecipientStrategyStrategyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomKeyRecipientStrategyStrategyUnderlyingCallsCount = newValue - } - } - } + get { roomKeyRecipientStrategyStrategyCallsCountLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingCallsCount } } + set { roomKeyRecipientStrategyStrategyCallsCountLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingCallsCount = newValue } } } open var roomKeyRecipientStrategyStrategyCalled: Bool { return roomKeyRecipientStrategyStrategyCallsCount > 0 } - open var roomKeyRecipientStrategyStrategyReceivedStrategy: CollectStrategy? - open var roomKeyRecipientStrategyStrategyReceivedInvocations: [CollectStrategy] = [] + private let roomKeyRecipientStrategyStrategyReceivedStrategyLock = NSLock() + private var roomKeyRecipientStrategyStrategyUnderlyingReceivedStrategy: CollectStrategy? + open var roomKeyRecipientStrategyStrategyReceivedStrategy: CollectStrategy? { + get { roomKeyRecipientStrategyStrategyReceivedStrategyLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingReceivedStrategy } } + set { roomKeyRecipientStrategyStrategyReceivedStrategyLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingReceivedStrategy = newValue } } + } + private let roomKeyRecipientStrategyStrategyReceivedInvocationsLock = NSLock() + private var roomKeyRecipientStrategyStrategyUnderlyingReceivedInvocations: [CollectStrategy] = [] + open var roomKeyRecipientStrategyStrategyReceivedInvocations: [CollectStrategy] { + get { roomKeyRecipientStrategyStrategyReceivedInvocationsLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingReceivedInvocations } } + set { roomKeyRecipientStrategyStrategyReceivedInvocationsLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingReceivedInvocations = newValue } } + } + private let roomKeyRecipientStrategyStrategyReturnValueLock = NSLock() open var roomKeyRecipientStrategyStrategyUnderlyingReturnValue: ClientBuilder! open var roomKeyRecipientStrategyStrategyReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return roomKeyRecipientStrategyStrategyUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = roomKeyRecipientStrategyStrategyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomKeyRecipientStrategyStrategyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomKeyRecipientStrategyStrategyUnderlyingReturnValue = newValue - } - } - } + get { roomKeyRecipientStrategyStrategyReturnValueLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingReturnValue } } + set { roomKeyRecipientStrategyStrategyReturnValueLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingReturnValue = newValue } } } open var roomKeyRecipientStrategyStrategyClosure: ((CollectStrategy) -> ClientBuilder)? open override func roomKeyRecipientStrategy(strategy: CollectStrategy) -> ClientBuilder { - roomKeyRecipientStrategyStrategyCallsCount += 1 + roomKeyRecipientStrategyStrategyCallsCountLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingCallsCount += 1 } roomKeyRecipientStrategyStrategyReceivedStrategy = strategy - DispatchQueue.main.async { - self.roomKeyRecipientStrategyStrategyReceivedInvocations.append(strategy) - } + roomKeyRecipientStrategyStrategyReceivedInvocationsLock.withLock { roomKeyRecipientStrategyStrategyUnderlyingReceivedInvocations.append(strategy) } if let roomKeyRecipientStrategyStrategyClosure = roomKeyRecipientStrategyStrategyClosure { return roomKeyRecipientStrategyStrategyClosure(strategy) } else { @@ -8141,68 +4820,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - serverName - open var serverNameServerNameUnderlyingCallsCount = 0 + private let serverNameServerNameCallsCountLock = NSLock() + private var serverNameServerNameUnderlyingCallsCount = 0 open var serverNameServerNameCallsCount: Int { - get { - if Thread.isMainThread { - return serverNameServerNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = serverNameServerNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverNameServerNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - serverNameServerNameUnderlyingCallsCount = newValue - } - } - } + get { serverNameServerNameCallsCountLock.withLock { serverNameServerNameUnderlyingCallsCount } } + set { serverNameServerNameCallsCountLock.withLock { serverNameServerNameUnderlyingCallsCount = newValue } } } open var serverNameServerNameCalled: Bool { return serverNameServerNameCallsCount > 0 } - open var serverNameServerNameReceivedServerName: String? - open var serverNameServerNameReceivedInvocations: [String] = [] + private let serverNameServerNameReceivedServerNameLock = NSLock() + private var serverNameServerNameUnderlyingReceivedServerName: String? + open var serverNameServerNameReceivedServerName: String? { + get { serverNameServerNameReceivedServerNameLock.withLock { serverNameServerNameUnderlyingReceivedServerName } } + set { serverNameServerNameReceivedServerNameLock.withLock { serverNameServerNameUnderlyingReceivedServerName = newValue } } + } + private let serverNameServerNameReceivedInvocationsLock = NSLock() + private var serverNameServerNameUnderlyingReceivedInvocations: [String] = [] + open var serverNameServerNameReceivedInvocations: [String] { + get { serverNameServerNameReceivedInvocationsLock.withLock { serverNameServerNameUnderlyingReceivedInvocations } } + set { serverNameServerNameReceivedInvocationsLock.withLock { serverNameServerNameUnderlyingReceivedInvocations = newValue } } + } + private let serverNameServerNameReturnValueLock = NSLock() open var serverNameServerNameUnderlyingReturnValue: ClientBuilder! open var serverNameServerNameReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return serverNameServerNameUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = serverNameServerNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverNameServerNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - serverNameServerNameUnderlyingReturnValue = newValue - } - } - } + get { serverNameServerNameReturnValueLock.withLock { serverNameServerNameUnderlyingReturnValue } } + set { serverNameServerNameReturnValueLock.withLock { serverNameServerNameUnderlyingReturnValue = newValue } } } open var serverNameServerNameClosure: ((String) -> ClientBuilder)? open override func serverName(serverName: String) -> ClientBuilder { - serverNameServerNameCallsCount += 1 + serverNameServerNameCallsCountLock.withLock { serverNameServerNameUnderlyingCallsCount += 1 } serverNameServerNameReceivedServerName = serverName - DispatchQueue.main.async { - self.serverNameServerNameReceivedInvocations.append(serverName) - } + serverNameServerNameReceivedInvocationsLock.withLock { serverNameServerNameUnderlyingReceivedInvocations.append(serverName) } if let serverNameServerNameClosure = serverNameServerNameClosure { return serverNameServerNameClosure(serverName) } else { @@ -8212,68 +4863,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - serverNameOrHomeserverUrl - open var serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount = 0 + private let serverNameOrHomeserverUrlServerNameOrUrlCallsCountLock = NSLock() + private var serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount = 0 open var serverNameOrHomeserverUrlServerNameOrUrlCallsCount: Int { - get { - if Thread.isMainThread { - return serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount = newValue - } - } - } + get { serverNameOrHomeserverUrlServerNameOrUrlCallsCountLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount } } + set { serverNameOrHomeserverUrlServerNameOrUrlCallsCountLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount = newValue } } } open var serverNameOrHomeserverUrlServerNameOrUrlCalled: Bool { return serverNameOrHomeserverUrlServerNameOrUrlCallsCount > 0 } - open var serverNameOrHomeserverUrlServerNameOrUrlReceivedServerNameOrUrl: String? - open var serverNameOrHomeserverUrlServerNameOrUrlReceivedInvocations: [String] = [] + private let serverNameOrHomeserverUrlServerNameOrUrlReceivedServerNameOrUrlLock = NSLock() + private var serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReceivedServerNameOrUrl: String? + open var serverNameOrHomeserverUrlServerNameOrUrlReceivedServerNameOrUrl: String? { + get { serverNameOrHomeserverUrlServerNameOrUrlReceivedServerNameOrUrlLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReceivedServerNameOrUrl } } + set { serverNameOrHomeserverUrlServerNameOrUrlReceivedServerNameOrUrlLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReceivedServerNameOrUrl = newValue } } + } + private let serverNameOrHomeserverUrlServerNameOrUrlReceivedInvocationsLock = NSLock() + private var serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReceivedInvocations: [String] = [] + open var serverNameOrHomeserverUrlServerNameOrUrlReceivedInvocations: [String] { + get { serverNameOrHomeserverUrlServerNameOrUrlReceivedInvocationsLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReceivedInvocations } } + set { serverNameOrHomeserverUrlServerNameOrUrlReceivedInvocationsLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReceivedInvocations = newValue } } + } + private let serverNameOrHomeserverUrlServerNameOrUrlReturnValueLock = NSLock() open var serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReturnValue: ClientBuilder! open var serverNameOrHomeserverUrlServerNameOrUrlReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReturnValue = newValue - } - } - } + get { serverNameOrHomeserverUrlServerNameOrUrlReturnValueLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReturnValue } } + set { serverNameOrHomeserverUrlServerNameOrUrlReturnValueLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReturnValue = newValue } } } open var serverNameOrHomeserverUrlServerNameOrUrlClosure: ((String) -> ClientBuilder)? open override func serverNameOrHomeserverUrl(serverNameOrUrl: String) -> ClientBuilder { - serverNameOrHomeserverUrlServerNameOrUrlCallsCount += 1 + serverNameOrHomeserverUrlServerNameOrUrlCallsCountLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingCallsCount += 1 } serverNameOrHomeserverUrlServerNameOrUrlReceivedServerNameOrUrl = serverNameOrUrl - DispatchQueue.main.async { - self.serverNameOrHomeserverUrlServerNameOrUrlReceivedInvocations.append(serverNameOrUrl) - } + serverNameOrHomeserverUrlServerNameOrUrlReceivedInvocationsLock.withLock { serverNameOrHomeserverUrlServerNameOrUrlUnderlyingReceivedInvocations.append(serverNameOrUrl) } if let serverNameOrHomeserverUrlServerNameOrUrlClosure = serverNameOrHomeserverUrlServerNameOrUrlClosure { return serverNameOrHomeserverUrlServerNameOrUrlClosure(serverNameOrUrl) } else { @@ -8283,68 +4906,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - sessionPaths - open var sessionPathsDataPathCachePathUnderlyingCallsCount = 0 + private let sessionPathsDataPathCachePathCallsCountLock = NSLock() + private var sessionPathsDataPathCachePathUnderlyingCallsCount = 0 open var sessionPathsDataPathCachePathCallsCount: Int { - get { - if Thread.isMainThread { - return sessionPathsDataPathCachePathUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sessionPathsDataPathCachePathUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sessionPathsDataPathCachePathUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sessionPathsDataPathCachePathUnderlyingCallsCount = newValue - } - } - } + get { sessionPathsDataPathCachePathCallsCountLock.withLock { sessionPathsDataPathCachePathUnderlyingCallsCount } } + set { sessionPathsDataPathCachePathCallsCountLock.withLock { sessionPathsDataPathCachePathUnderlyingCallsCount = newValue } } } open var sessionPathsDataPathCachePathCalled: Bool { return sessionPathsDataPathCachePathCallsCount > 0 } - open var sessionPathsDataPathCachePathReceivedArguments: (dataPath: String, cachePath: String)? - open var sessionPathsDataPathCachePathReceivedInvocations: [(dataPath: String, cachePath: String)] = [] + private let sessionPathsDataPathCachePathReceivedArgumentsLock = NSLock() + private var sessionPathsDataPathCachePathUnderlyingReceivedArguments: (dataPath: String, cachePath: String)? + open var sessionPathsDataPathCachePathReceivedArguments: (dataPath: String, cachePath: String)? { + get { sessionPathsDataPathCachePathReceivedArgumentsLock.withLock { sessionPathsDataPathCachePathUnderlyingReceivedArguments } } + set { sessionPathsDataPathCachePathReceivedArgumentsLock.withLock { sessionPathsDataPathCachePathUnderlyingReceivedArguments = newValue } } + } + private let sessionPathsDataPathCachePathReceivedInvocationsLock = NSLock() + private var sessionPathsDataPathCachePathUnderlyingReceivedInvocations: [(dataPath: String, cachePath: String)] = [] + open var sessionPathsDataPathCachePathReceivedInvocations: [(dataPath: String, cachePath: String)] { + get { sessionPathsDataPathCachePathReceivedInvocationsLock.withLock { sessionPathsDataPathCachePathUnderlyingReceivedInvocations } } + set { sessionPathsDataPathCachePathReceivedInvocationsLock.withLock { sessionPathsDataPathCachePathUnderlyingReceivedInvocations = newValue } } + } + private let sessionPathsDataPathCachePathReturnValueLock = NSLock() open var sessionPathsDataPathCachePathUnderlyingReturnValue: ClientBuilder! open var sessionPathsDataPathCachePathReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return sessionPathsDataPathCachePathUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = sessionPathsDataPathCachePathUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sessionPathsDataPathCachePathUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sessionPathsDataPathCachePathUnderlyingReturnValue = newValue - } - } - } + get { sessionPathsDataPathCachePathReturnValueLock.withLock { sessionPathsDataPathCachePathUnderlyingReturnValue } } + set { sessionPathsDataPathCachePathReturnValueLock.withLock { sessionPathsDataPathCachePathUnderlyingReturnValue = newValue } } } open var sessionPathsDataPathCachePathClosure: ((String, String) -> ClientBuilder)? open override func sessionPaths(dataPath: String, cachePath: String) -> ClientBuilder { - sessionPathsDataPathCachePathCallsCount += 1 + sessionPathsDataPathCachePathCallsCountLock.withLock { sessionPathsDataPathCachePathUnderlyingCallsCount += 1 } sessionPathsDataPathCachePathReceivedArguments = (dataPath: dataPath, cachePath: cachePath) - DispatchQueue.main.async { - self.sessionPathsDataPathCachePathReceivedInvocations.append((dataPath: dataPath, cachePath: cachePath)) - } + sessionPathsDataPathCachePathReceivedInvocationsLock.withLock { sessionPathsDataPathCachePathUnderlyingReceivedInvocations.append((dataPath: dataPath, cachePath: cachePath)) } if let sessionPathsDataPathCachePathClosure = sessionPathsDataPathCachePathClosure { return sessionPathsDataPathCachePathClosure(dataPath, cachePath) } else { @@ -8354,68 +4949,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - setSessionDelegate - open var setSessionDelegateSessionDelegateUnderlyingCallsCount = 0 + private let setSessionDelegateSessionDelegateCallsCountLock = NSLock() + private var setSessionDelegateSessionDelegateUnderlyingCallsCount = 0 open var setSessionDelegateSessionDelegateCallsCount: Int { - get { - if Thread.isMainThread { - return setSessionDelegateSessionDelegateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setSessionDelegateSessionDelegateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setSessionDelegateSessionDelegateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setSessionDelegateSessionDelegateUnderlyingCallsCount = newValue - } - } - } + get { setSessionDelegateSessionDelegateCallsCountLock.withLock { setSessionDelegateSessionDelegateUnderlyingCallsCount } } + set { setSessionDelegateSessionDelegateCallsCountLock.withLock { setSessionDelegateSessionDelegateUnderlyingCallsCount = newValue } } } open var setSessionDelegateSessionDelegateCalled: Bool { return setSessionDelegateSessionDelegateCallsCount > 0 } - open var setSessionDelegateSessionDelegateReceivedSessionDelegate: ClientSessionDelegate? - open var setSessionDelegateSessionDelegateReceivedInvocations: [ClientSessionDelegate] = [] + private let setSessionDelegateSessionDelegateReceivedSessionDelegateLock = NSLock() + private var setSessionDelegateSessionDelegateUnderlyingReceivedSessionDelegate: ClientSessionDelegate? + open var setSessionDelegateSessionDelegateReceivedSessionDelegate: ClientSessionDelegate? { + get { setSessionDelegateSessionDelegateReceivedSessionDelegateLock.withLock { setSessionDelegateSessionDelegateUnderlyingReceivedSessionDelegate } } + set { setSessionDelegateSessionDelegateReceivedSessionDelegateLock.withLock { setSessionDelegateSessionDelegateUnderlyingReceivedSessionDelegate = newValue } } + } + private let setSessionDelegateSessionDelegateReceivedInvocationsLock = NSLock() + private var setSessionDelegateSessionDelegateUnderlyingReceivedInvocations: [ClientSessionDelegate] = [] + open var setSessionDelegateSessionDelegateReceivedInvocations: [ClientSessionDelegate] { + get { setSessionDelegateSessionDelegateReceivedInvocationsLock.withLock { setSessionDelegateSessionDelegateUnderlyingReceivedInvocations } } + set { setSessionDelegateSessionDelegateReceivedInvocationsLock.withLock { setSessionDelegateSessionDelegateUnderlyingReceivedInvocations = newValue } } + } + private let setSessionDelegateSessionDelegateReturnValueLock = NSLock() open var setSessionDelegateSessionDelegateUnderlyingReturnValue: ClientBuilder! open var setSessionDelegateSessionDelegateReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return setSessionDelegateSessionDelegateUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = setSessionDelegateSessionDelegateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setSessionDelegateSessionDelegateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setSessionDelegateSessionDelegateUnderlyingReturnValue = newValue - } - } - } + get { setSessionDelegateSessionDelegateReturnValueLock.withLock { setSessionDelegateSessionDelegateUnderlyingReturnValue } } + set { setSessionDelegateSessionDelegateReturnValueLock.withLock { setSessionDelegateSessionDelegateUnderlyingReturnValue = newValue } } } open var setSessionDelegateSessionDelegateClosure: ((ClientSessionDelegate) -> ClientBuilder)? open override func setSessionDelegate(sessionDelegate: ClientSessionDelegate) -> ClientBuilder { - setSessionDelegateSessionDelegateCallsCount += 1 + setSessionDelegateSessionDelegateCallsCountLock.withLock { setSessionDelegateSessionDelegateUnderlyingCallsCount += 1 } setSessionDelegateSessionDelegateReceivedSessionDelegate = sessionDelegate - DispatchQueue.main.async { - self.setSessionDelegateSessionDelegateReceivedInvocations.append(sessionDelegate) - } + setSessionDelegateSessionDelegateReceivedInvocationsLock.withLock { setSessionDelegateSessionDelegateUnderlyingReceivedInvocations.append(sessionDelegate) } if let setSessionDelegateSessionDelegateClosure = setSessionDelegateSessionDelegateClosure { return setSessionDelegateSessionDelegateClosure(sessionDelegate) } else { @@ -8425,68 +4992,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - slidingSyncVersionBuilder - open var slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount = 0 + private let slidingSyncVersionBuilderVersionBuilderCallsCountLock = NSLock() + private var slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount = 0 open var slidingSyncVersionBuilderVersionBuilderCallsCount: Int { - get { - if Thread.isMainThread { - return slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount = newValue - } - } - } + get { slidingSyncVersionBuilderVersionBuilderCallsCountLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount } } + set { slidingSyncVersionBuilderVersionBuilderCallsCountLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount = newValue } } } open var slidingSyncVersionBuilderVersionBuilderCalled: Bool { return slidingSyncVersionBuilderVersionBuilderCallsCount > 0 } - open var slidingSyncVersionBuilderVersionBuilderReceivedVersionBuilder: SlidingSyncVersionBuilder? - open var slidingSyncVersionBuilderVersionBuilderReceivedInvocations: [SlidingSyncVersionBuilder] = [] + private let slidingSyncVersionBuilderVersionBuilderReceivedVersionBuilderLock = NSLock() + private var slidingSyncVersionBuilderVersionBuilderUnderlyingReceivedVersionBuilder: SlidingSyncVersionBuilder? + open var slidingSyncVersionBuilderVersionBuilderReceivedVersionBuilder: SlidingSyncVersionBuilder? { + get { slidingSyncVersionBuilderVersionBuilderReceivedVersionBuilderLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingReceivedVersionBuilder } } + set { slidingSyncVersionBuilderVersionBuilderReceivedVersionBuilderLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingReceivedVersionBuilder = newValue } } + } + private let slidingSyncVersionBuilderVersionBuilderReceivedInvocationsLock = NSLock() + private var slidingSyncVersionBuilderVersionBuilderUnderlyingReceivedInvocations: [SlidingSyncVersionBuilder] = [] + open var slidingSyncVersionBuilderVersionBuilderReceivedInvocations: [SlidingSyncVersionBuilder] { + get { slidingSyncVersionBuilderVersionBuilderReceivedInvocationsLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingReceivedInvocations } } + set { slidingSyncVersionBuilderVersionBuilderReceivedInvocationsLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingReceivedInvocations = newValue } } + } + private let slidingSyncVersionBuilderVersionBuilderReturnValueLock = NSLock() open var slidingSyncVersionBuilderVersionBuilderUnderlyingReturnValue: ClientBuilder! open var slidingSyncVersionBuilderVersionBuilderReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return slidingSyncVersionBuilderVersionBuilderUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = slidingSyncVersionBuilderVersionBuilderUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - slidingSyncVersionBuilderVersionBuilderUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - slidingSyncVersionBuilderVersionBuilderUnderlyingReturnValue = newValue - } - } - } + get { slidingSyncVersionBuilderVersionBuilderReturnValueLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingReturnValue } } + set { slidingSyncVersionBuilderVersionBuilderReturnValueLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingReturnValue = newValue } } } open var slidingSyncVersionBuilderVersionBuilderClosure: ((SlidingSyncVersionBuilder) -> ClientBuilder)? open override func slidingSyncVersionBuilder(versionBuilder: SlidingSyncVersionBuilder) -> ClientBuilder { - slidingSyncVersionBuilderVersionBuilderCallsCount += 1 + slidingSyncVersionBuilderVersionBuilderCallsCountLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingCallsCount += 1 } slidingSyncVersionBuilderVersionBuilderReceivedVersionBuilder = versionBuilder - DispatchQueue.main.async { - self.slidingSyncVersionBuilderVersionBuilderReceivedInvocations.append(versionBuilder) - } + slidingSyncVersionBuilderVersionBuilderReceivedInvocationsLock.withLock { slidingSyncVersionBuilderVersionBuilderUnderlyingReceivedInvocations.append(versionBuilder) } if let slidingSyncVersionBuilderVersionBuilderClosure = slidingSyncVersionBuilderVersionBuilderClosure { return slidingSyncVersionBuilderVersionBuilderClosure(versionBuilder) } else { @@ -8496,68 +5035,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - sqliteStore - open var sqliteStoreConfigUnderlyingCallsCount = 0 + private let sqliteStoreConfigCallsCountLock = NSLock() + private var sqliteStoreConfigUnderlyingCallsCount = 0 open var sqliteStoreConfigCallsCount: Int { - get { - if Thread.isMainThread { - return sqliteStoreConfigUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sqliteStoreConfigUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sqliteStoreConfigUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sqliteStoreConfigUnderlyingCallsCount = newValue - } - } - } + get { sqliteStoreConfigCallsCountLock.withLock { sqliteStoreConfigUnderlyingCallsCount } } + set { sqliteStoreConfigCallsCountLock.withLock { sqliteStoreConfigUnderlyingCallsCount = newValue } } } open var sqliteStoreConfigCalled: Bool { return sqliteStoreConfigCallsCount > 0 } - open var sqliteStoreConfigReceivedConfig: SqliteStoreBuilder? - open var sqliteStoreConfigReceivedInvocations: [SqliteStoreBuilder] = [] + private let sqliteStoreConfigReceivedConfigLock = NSLock() + private var sqliteStoreConfigUnderlyingReceivedConfig: SqliteStoreBuilder? + open var sqliteStoreConfigReceivedConfig: SqliteStoreBuilder? { + get { sqliteStoreConfigReceivedConfigLock.withLock { sqliteStoreConfigUnderlyingReceivedConfig } } + set { sqliteStoreConfigReceivedConfigLock.withLock { sqliteStoreConfigUnderlyingReceivedConfig = newValue } } + } + private let sqliteStoreConfigReceivedInvocationsLock = NSLock() + private var sqliteStoreConfigUnderlyingReceivedInvocations: [SqliteStoreBuilder] = [] + open var sqliteStoreConfigReceivedInvocations: [SqliteStoreBuilder] { + get { sqliteStoreConfigReceivedInvocationsLock.withLock { sqliteStoreConfigUnderlyingReceivedInvocations } } + set { sqliteStoreConfigReceivedInvocationsLock.withLock { sqliteStoreConfigUnderlyingReceivedInvocations = newValue } } + } + private let sqliteStoreConfigReturnValueLock = NSLock() open var sqliteStoreConfigUnderlyingReturnValue: ClientBuilder! open var sqliteStoreConfigReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return sqliteStoreConfigUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = sqliteStoreConfigUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sqliteStoreConfigUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sqliteStoreConfigUnderlyingReturnValue = newValue - } - } - } + get { sqliteStoreConfigReturnValueLock.withLock { sqliteStoreConfigUnderlyingReturnValue } } + set { sqliteStoreConfigReturnValueLock.withLock { sqliteStoreConfigUnderlyingReturnValue = newValue } } } open var sqliteStoreConfigClosure: ((SqliteStoreBuilder) -> ClientBuilder)? open override func sqliteStore(config: SqliteStoreBuilder) -> ClientBuilder { - sqliteStoreConfigCallsCount += 1 + sqliteStoreConfigCallsCountLock.withLock { sqliteStoreConfigUnderlyingCallsCount += 1 } sqliteStoreConfigReceivedConfig = config - DispatchQueue.main.async { - self.sqliteStoreConfigReceivedInvocations.append(config) - } + sqliteStoreConfigReceivedInvocationsLock.withLock { sqliteStoreConfigUnderlyingReceivedInvocations.append(config) } if let sqliteStoreConfigClosure = sqliteStoreConfigClosure { return sqliteStoreConfigClosure(config) } else { @@ -8567,62 +5078,26 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - systemIsMemoryConstrained - open var systemIsMemoryConstrainedUnderlyingCallsCount = 0 + private let systemIsMemoryConstrainedCallsCountLock = NSLock() + private var systemIsMemoryConstrainedUnderlyingCallsCount = 0 open var systemIsMemoryConstrainedCallsCount: Int { - get { - if Thread.isMainThread { - return systemIsMemoryConstrainedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = systemIsMemoryConstrainedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - systemIsMemoryConstrainedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - systemIsMemoryConstrainedUnderlyingCallsCount = newValue - } - } - } + get { systemIsMemoryConstrainedCallsCountLock.withLock { systemIsMemoryConstrainedUnderlyingCallsCount } } + set { systemIsMemoryConstrainedCallsCountLock.withLock { systemIsMemoryConstrainedUnderlyingCallsCount = newValue } } } open var systemIsMemoryConstrainedCalled: Bool { return systemIsMemoryConstrainedCallsCount > 0 } + private let systemIsMemoryConstrainedReturnValueLock = NSLock() open var systemIsMemoryConstrainedUnderlyingReturnValue: ClientBuilder! open var systemIsMemoryConstrainedReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return systemIsMemoryConstrainedUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = systemIsMemoryConstrainedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - systemIsMemoryConstrainedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - systemIsMemoryConstrainedUnderlyingReturnValue = newValue - } - } - } + get { systemIsMemoryConstrainedReturnValueLock.withLock { systemIsMemoryConstrainedUnderlyingReturnValue } } + set { systemIsMemoryConstrainedReturnValueLock.withLock { systemIsMemoryConstrainedUnderlyingReturnValue = newValue } } } open var systemIsMemoryConstrainedClosure: (() -> ClientBuilder)? open override func systemIsMemoryConstrained() -> ClientBuilder { - systemIsMemoryConstrainedCallsCount += 1 + systemIsMemoryConstrainedCallsCountLock.withLock { systemIsMemoryConstrainedUnderlyingCallsCount += 1 } if let systemIsMemoryConstrainedClosure = systemIsMemoryConstrainedClosure { return systemIsMemoryConstrainedClosure() } else { @@ -8632,68 +5107,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - threadsEnabled - open var threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount = 0 + private let threadsEnabledEnabledThreadSubscriptionsCallsCountLock = NSLock() + private var threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount = 0 open var threadsEnabledEnabledThreadSubscriptionsCallsCount: Int { - get { - if Thread.isMainThread { - return threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount = newValue - } - } - } + get { threadsEnabledEnabledThreadSubscriptionsCallsCountLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount } } + set { threadsEnabledEnabledThreadSubscriptionsCallsCountLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount = newValue } } } open var threadsEnabledEnabledThreadSubscriptionsCalled: Bool { return threadsEnabledEnabledThreadSubscriptionsCallsCount > 0 } - open var threadsEnabledEnabledThreadSubscriptionsReceivedArguments: (enabled: Bool, threadSubscriptions: Bool)? - open var threadsEnabledEnabledThreadSubscriptionsReceivedInvocations: [(enabled: Bool, threadSubscriptions: Bool)] = [] + private let threadsEnabledEnabledThreadSubscriptionsReceivedArgumentsLock = NSLock() + private var threadsEnabledEnabledThreadSubscriptionsUnderlyingReceivedArguments: (enabled: Bool, threadSubscriptions: Bool)? + open var threadsEnabledEnabledThreadSubscriptionsReceivedArguments: (enabled: Bool, threadSubscriptions: Bool)? { + get { threadsEnabledEnabledThreadSubscriptionsReceivedArgumentsLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingReceivedArguments } } + set { threadsEnabledEnabledThreadSubscriptionsReceivedArgumentsLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingReceivedArguments = newValue } } + } + private let threadsEnabledEnabledThreadSubscriptionsReceivedInvocationsLock = NSLock() + private var threadsEnabledEnabledThreadSubscriptionsUnderlyingReceivedInvocations: [(enabled: Bool, threadSubscriptions: Bool)] = [] + open var threadsEnabledEnabledThreadSubscriptionsReceivedInvocations: [(enabled: Bool, threadSubscriptions: Bool)] { + get { threadsEnabledEnabledThreadSubscriptionsReceivedInvocationsLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingReceivedInvocations } } + set { threadsEnabledEnabledThreadSubscriptionsReceivedInvocationsLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingReceivedInvocations = newValue } } + } + private let threadsEnabledEnabledThreadSubscriptionsReturnValueLock = NSLock() open var threadsEnabledEnabledThreadSubscriptionsUnderlyingReturnValue: ClientBuilder! open var threadsEnabledEnabledThreadSubscriptionsReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return threadsEnabledEnabledThreadSubscriptionsUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = threadsEnabledEnabledThreadSubscriptionsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadsEnabledEnabledThreadSubscriptionsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - threadsEnabledEnabledThreadSubscriptionsUnderlyingReturnValue = newValue - } - } - } + get { threadsEnabledEnabledThreadSubscriptionsReturnValueLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingReturnValue } } + set { threadsEnabledEnabledThreadSubscriptionsReturnValueLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingReturnValue = newValue } } } open var threadsEnabledEnabledThreadSubscriptionsClosure: ((Bool, Bool) -> ClientBuilder)? open override func threadsEnabled(enabled: Bool, threadSubscriptions: Bool) -> ClientBuilder { - threadsEnabledEnabledThreadSubscriptionsCallsCount += 1 + threadsEnabledEnabledThreadSubscriptionsCallsCountLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingCallsCount += 1 } threadsEnabledEnabledThreadSubscriptionsReceivedArguments = (enabled: enabled, threadSubscriptions: threadSubscriptions) - DispatchQueue.main.async { - self.threadsEnabledEnabledThreadSubscriptionsReceivedInvocations.append((enabled: enabled, threadSubscriptions: threadSubscriptions)) - } + threadsEnabledEnabledThreadSubscriptionsReceivedInvocationsLock.withLock { threadsEnabledEnabledThreadSubscriptionsUnderlyingReceivedInvocations.append((enabled: enabled, threadSubscriptions: threadSubscriptions)) } if let threadsEnabledEnabledThreadSubscriptionsClosure = threadsEnabledEnabledThreadSubscriptionsClosure { return threadsEnabledEnabledThreadSubscriptionsClosure(enabled, threadSubscriptions) } else { @@ -8703,68 +5150,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - userAgent - open var userAgentUserAgentUnderlyingCallsCount = 0 + private let userAgentUserAgentCallsCountLock = NSLock() + private var userAgentUserAgentUnderlyingCallsCount = 0 open var userAgentUserAgentCallsCount: Int { - get { - if Thread.isMainThread { - return userAgentUserAgentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = userAgentUserAgentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userAgentUserAgentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - userAgentUserAgentUnderlyingCallsCount = newValue - } - } - } + get { userAgentUserAgentCallsCountLock.withLock { userAgentUserAgentUnderlyingCallsCount } } + set { userAgentUserAgentCallsCountLock.withLock { userAgentUserAgentUnderlyingCallsCount = newValue } } } open var userAgentUserAgentCalled: Bool { return userAgentUserAgentCallsCount > 0 } - open var userAgentUserAgentReceivedUserAgent: String? - open var userAgentUserAgentReceivedInvocations: [String] = [] + private let userAgentUserAgentReceivedUserAgentLock = NSLock() + private var userAgentUserAgentUnderlyingReceivedUserAgent: String? + open var userAgentUserAgentReceivedUserAgent: String? { + get { userAgentUserAgentReceivedUserAgentLock.withLock { userAgentUserAgentUnderlyingReceivedUserAgent } } + set { userAgentUserAgentReceivedUserAgentLock.withLock { userAgentUserAgentUnderlyingReceivedUserAgent = newValue } } + } + private let userAgentUserAgentReceivedInvocationsLock = NSLock() + private var userAgentUserAgentUnderlyingReceivedInvocations: [String] = [] + open var userAgentUserAgentReceivedInvocations: [String] { + get { userAgentUserAgentReceivedInvocationsLock.withLock { userAgentUserAgentUnderlyingReceivedInvocations } } + set { userAgentUserAgentReceivedInvocationsLock.withLock { userAgentUserAgentUnderlyingReceivedInvocations = newValue } } + } + private let userAgentUserAgentReturnValueLock = NSLock() open var userAgentUserAgentUnderlyingReturnValue: ClientBuilder! open var userAgentUserAgentReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return userAgentUserAgentUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = userAgentUserAgentUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userAgentUserAgentUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - userAgentUserAgentUnderlyingReturnValue = newValue - } - } - } + get { userAgentUserAgentReturnValueLock.withLock { userAgentUserAgentUnderlyingReturnValue } } + set { userAgentUserAgentReturnValueLock.withLock { userAgentUserAgentUnderlyingReturnValue = newValue } } } open var userAgentUserAgentClosure: ((String) -> ClientBuilder)? open override func userAgent(userAgent: String) -> ClientBuilder { - userAgentUserAgentCallsCount += 1 + userAgentUserAgentCallsCountLock.withLock { userAgentUserAgentUnderlyingCallsCount += 1 } userAgentUserAgentReceivedUserAgent = userAgent - DispatchQueue.main.async { - self.userAgentUserAgentReceivedInvocations.append(userAgent) - } + userAgentUserAgentReceivedInvocationsLock.withLock { userAgentUserAgentUnderlyingReceivedInvocations.append(userAgent) } if let userAgentUserAgentClosure = userAgentUserAgentClosure { return userAgentUserAgentClosure(userAgent) } else { @@ -8774,68 +5193,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - username - open var usernameUsernameUnderlyingCallsCount = 0 + private let usernameUsernameCallsCountLock = NSLock() + private var usernameUsernameUnderlyingCallsCount = 0 open var usernameUsernameCallsCount: Int { - get { - if Thread.isMainThread { - return usernameUsernameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = usernameUsernameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - usernameUsernameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - usernameUsernameUnderlyingCallsCount = newValue - } - } - } + get { usernameUsernameCallsCountLock.withLock { usernameUsernameUnderlyingCallsCount } } + set { usernameUsernameCallsCountLock.withLock { usernameUsernameUnderlyingCallsCount = newValue } } } open var usernameUsernameCalled: Bool { return usernameUsernameCallsCount > 0 } - open var usernameUsernameReceivedUsername: String? - open var usernameUsernameReceivedInvocations: [String] = [] + private let usernameUsernameReceivedUsernameLock = NSLock() + private var usernameUsernameUnderlyingReceivedUsername: String? + open var usernameUsernameReceivedUsername: String? { + get { usernameUsernameReceivedUsernameLock.withLock { usernameUsernameUnderlyingReceivedUsername } } + set { usernameUsernameReceivedUsernameLock.withLock { usernameUsernameUnderlyingReceivedUsername = newValue } } + } + private let usernameUsernameReceivedInvocationsLock = NSLock() + private var usernameUsernameUnderlyingReceivedInvocations: [String] = [] + open var usernameUsernameReceivedInvocations: [String] { + get { usernameUsernameReceivedInvocationsLock.withLock { usernameUsernameUnderlyingReceivedInvocations } } + set { usernameUsernameReceivedInvocationsLock.withLock { usernameUsernameUnderlyingReceivedInvocations = newValue } } + } + private let usernameUsernameReturnValueLock = NSLock() open var usernameUsernameUnderlyingReturnValue: ClientBuilder! open var usernameUsernameReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return usernameUsernameUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = usernameUsernameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - usernameUsernameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - usernameUsernameUnderlyingReturnValue = newValue - } - } - } + get { usernameUsernameReturnValueLock.withLock { usernameUsernameUnderlyingReturnValue } } + set { usernameUsernameReturnValueLock.withLock { usernameUsernameUnderlyingReturnValue = newValue } } } open var usernameUsernameClosure: ((String) -> ClientBuilder)? open override func username(username: String) -> ClientBuilder { - usernameUsernameCallsCount += 1 + usernameUsernameCallsCountLock.withLock { usernameUsernameUnderlyingCallsCount += 1 } usernameUsernameReceivedUsername = username - DispatchQueue.main.async { - self.usernameUsernameReceivedInvocations.append(username) - } + usernameUsernameReceivedInvocationsLock.withLock { usernameUsernameUnderlyingReceivedInvocations.append(username) } if let usernameUsernameClosure = usernameUsernameClosure { return usernameUsernameClosure(username) } else { @@ -8845,68 +5236,40 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl //MARK: - withSearchIndexStore - open var withSearchIndexStorePathPasswordUnderlyingCallsCount = 0 + private let withSearchIndexStorePathPasswordCallsCountLock = NSLock() + private var withSearchIndexStorePathPasswordUnderlyingCallsCount = 0 open var withSearchIndexStorePathPasswordCallsCount: Int { - get { - if Thread.isMainThread { - return withSearchIndexStorePathPasswordUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withSearchIndexStorePathPasswordUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withSearchIndexStorePathPasswordUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withSearchIndexStorePathPasswordUnderlyingCallsCount = newValue - } - } - } + get { withSearchIndexStorePathPasswordCallsCountLock.withLock { withSearchIndexStorePathPasswordUnderlyingCallsCount } } + set { withSearchIndexStorePathPasswordCallsCountLock.withLock { withSearchIndexStorePathPasswordUnderlyingCallsCount = newValue } } } open var withSearchIndexStorePathPasswordCalled: Bool { return withSearchIndexStorePathPasswordCallsCount > 0 } - open var withSearchIndexStorePathPasswordReceivedArguments: (path: String, password: String?)? - open var withSearchIndexStorePathPasswordReceivedInvocations: [(path: String, password: String?)] = [] + private let withSearchIndexStorePathPasswordReceivedArgumentsLock = NSLock() + private var withSearchIndexStorePathPasswordUnderlyingReceivedArguments: (path: String, password: String?)? + open var withSearchIndexStorePathPasswordReceivedArguments: (path: String, password: String?)? { + get { withSearchIndexStorePathPasswordReceivedArgumentsLock.withLock { withSearchIndexStorePathPasswordUnderlyingReceivedArguments } } + set { withSearchIndexStorePathPasswordReceivedArgumentsLock.withLock { withSearchIndexStorePathPasswordUnderlyingReceivedArguments = newValue } } + } + private let withSearchIndexStorePathPasswordReceivedInvocationsLock = NSLock() + private var withSearchIndexStorePathPasswordUnderlyingReceivedInvocations: [(path: String, password: String?)] = [] + open var withSearchIndexStorePathPasswordReceivedInvocations: [(path: String, password: String?)] { + get { withSearchIndexStorePathPasswordReceivedInvocationsLock.withLock { withSearchIndexStorePathPasswordUnderlyingReceivedInvocations } } + set { withSearchIndexStorePathPasswordReceivedInvocationsLock.withLock { withSearchIndexStorePathPasswordUnderlyingReceivedInvocations = newValue } } + } + private let withSearchIndexStorePathPasswordReturnValueLock = NSLock() open var withSearchIndexStorePathPasswordUnderlyingReturnValue: ClientBuilder! open var withSearchIndexStorePathPasswordReturnValue: ClientBuilder! { - get { - if Thread.isMainThread { - return withSearchIndexStorePathPasswordUnderlyingReturnValue - } else { - var returnValue: ClientBuilder? = nil - DispatchQueue.main.sync { - returnValue = withSearchIndexStorePathPasswordUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withSearchIndexStorePathPasswordUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - withSearchIndexStorePathPasswordUnderlyingReturnValue = newValue - } - } - } + get { withSearchIndexStorePathPasswordReturnValueLock.withLock { withSearchIndexStorePathPasswordUnderlyingReturnValue } } + set { withSearchIndexStorePathPasswordReturnValueLock.withLock { withSearchIndexStorePathPasswordUnderlyingReturnValue = newValue } } } open var withSearchIndexStorePathPasswordClosure: ((String, String?) -> ClientBuilder)? open override func withSearchIndexStore(path: String, password: String?) -> ClientBuilder { - withSearchIndexStorePathPasswordCallsCount += 1 + withSearchIndexStorePathPasswordCallsCountLock.withLock { withSearchIndexStorePathPasswordUnderlyingCallsCount += 1 } withSearchIndexStorePathPasswordReceivedArguments = (path: path, password: password) - DispatchQueue.main.async { - self.withSearchIndexStorePathPasswordReceivedInvocations.append((path: path, password: password)) - } + withSearchIndexStorePathPasswordReceivedInvocationsLock.withLock { withSearchIndexStorePathPasswordUnderlyingReceivedInvocations.append((path: path, password: password)) } if let withSearchIndexStorePathPasswordClosure = withSearchIndexStorePathPasswordClosure { return withSearchIndexStorePathPasswordClosure(path, password) } else { @@ -8914,6 +5277,21 @@ open class ClientBuilderSDKMock: MatrixRustSDK.ClientBuilder, @unchecked Sendabl } } } +open class CrossSigningSecretsSDKMock: MatrixRustSDK.CrossSigningSecrets, @unchecked Sendable { + public init() { + super.init(noHandle: .init()) + } + + public required init(unsafeFromHandle handle: UInt64) { + fatalError("init(unsafeFromHandle:) has not been implemented") + } + + fileprivate var handle: UInt64 { + get { return underlyingHandle } + set(value) { underlyingHandle = value } + } + fileprivate var underlyingHandle: UInt64! +} open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { public init() { super.init(noHandle: .init()) @@ -8932,57 +5310,21 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - backupExistsOnServer open var backupExistsOnServerThrowableError: Error? - open var backupExistsOnServerUnderlyingCallsCount = 0 + private let backupExistsOnServerCallsCountLock = NSLock() + private var backupExistsOnServerUnderlyingCallsCount = 0 open var backupExistsOnServerCallsCount: Int { - get { - if Thread.isMainThread { - return backupExistsOnServerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = backupExistsOnServerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - backupExistsOnServerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - backupExistsOnServerUnderlyingCallsCount = newValue - } - } - } + get { backupExistsOnServerCallsCountLock.withLock { backupExistsOnServerUnderlyingCallsCount } } + set { backupExistsOnServerCallsCountLock.withLock { backupExistsOnServerUnderlyingCallsCount = newValue } } } open var backupExistsOnServerCalled: Bool { return backupExistsOnServerCallsCount > 0 } + private let backupExistsOnServerReturnValueLock = NSLock() open var backupExistsOnServerUnderlyingReturnValue: Bool! open var backupExistsOnServerReturnValue: Bool! { - get { - if Thread.isMainThread { - return backupExistsOnServerUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = backupExistsOnServerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - backupExistsOnServerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - backupExistsOnServerUnderlyingReturnValue = newValue - } - } - } + get { backupExistsOnServerReturnValueLock.withLock { backupExistsOnServerUnderlyingReturnValue } } + set { backupExistsOnServerReturnValueLock.withLock { backupExistsOnServerUnderlyingReturnValue = newValue } } } open var backupExistsOnServerClosure: (() async throws -> Bool)? @@ -8990,7 +5332,7 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = backupExistsOnServerThrowableError { throw error } - backupExistsOnServerCallsCount += 1 + backupExistsOnServerCallsCountLock.withLock { backupExistsOnServerUnderlyingCallsCount += 1 } if let backupExistsOnServerClosure = backupExistsOnServerClosure { return try await backupExistsOnServerClosure() } else { @@ -9000,62 +5342,26 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - backupState - open var backupStateUnderlyingCallsCount = 0 + private let backupStateCallsCountLock = NSLock() + private var backupStateUnderlyingCallsCount = 0 open var backupStateCallsCount: Int { - get { - if Thread.isMainThread { - return backupStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = backupStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - backupStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - backupStateUnderlyingCallsCount = newValue - } - } - } + get { backupStateCallsCountLock.withLock { backupStateUnderlyingCallsCount } } + set { backupStateCallsCountLock.withLock { backupStateUnderlyingCallsCount = newValue } } } open var backupStateCalled: Bool { return backupStateCallsCount > 0 } + private let backupStateReturnValueLock = NSLock() open var backupStateUnderlyingReturnValue: BackupState! open var backupStateReturnValue: BackupState! { - get { - if Thread.isMainThread { - return backupStateUnderlyingReturnValue - } else { - var returnValue: BackupState? = nil - DispatchQueue.main.sync { - returnValue = backupStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - backupStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - backupStateUnderlyingReturnValue = newValue - } - } - } + get { backupStateReturnValueLock.withLock { backupStateUnderlyingReturnValue } } + set { backupStateReturnValueLock.withLock { backupStateUnderlyingReturnValue = newValue } } } open var backupStateClosure: (() -> BackupState)? open override func backupState() -> BackupState { - backupStateCallsCount += 1 + backupStateCallsCountLock.withLock { backupStateUnderlyingCallsCount += 1 } if let backupStateClosure = backupStateClosure { return backupStateClosure() } else { @@ -9065,68 +5371,40 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - backupStateListener - open var backupStateListenerListenerUnderlyingCallsCount = 0 + private let backupStateListenerListenerCallsCountLock = NSLock() + private var backupStateListenerListenerUnderlyingCallsCount = 0 open var backupStateListenerListenerCallsCount: Int { - get { - if Thread.isMainThread { - return backupStateListenerListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = backupStateListenerListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - backupStateListenerListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - backupStateListenerListenerUnderlyingCallsCount = newValue - } - } - } + get { backupStateListenerListenerCallsCountLock.withLock { backupStateListenerListenerUnderlyingCallsCount } } + set { backupStateListenerListenerCallsCountLock.withLock { backupStateListenerListenerUnderlyingCallsCount = newValue } } } open var backupStateListenerListenerCalled: Bool { return backupStateListenerListenerCallsCount > 0 } - open var backupStateListenerListenerReceivedListener: BackupStateListener? - open var backupStateListenerListenerReceivedInvocations: [BackupStateListener] = [] + private let backupStateListenerListenerReceivedListenerLock = NSLock() + private var backupStateListenerListenerUnderlyingReceivedListener: BackupStateListener? + open var backupStateListenerListenerReceivedListener: BackupStateListener? { + get { backupStateListenerListenerReceivedListenerLock.withLock { backupStateListenerListenerUnderlyingReceivedListener } } + set { backupStateListenerListenerReceivedListenerLock.withLock { backupStateListenerListenerUnderlyingReceivedListener = newValue } } + } + private let backupStateListenerListenerReceivedInvocationsLock = NSLock() + private var backupStateListenerListenerUnderlyingReceivedInvocations: [BackupStateListener] = [] + open var backupStateListenerListenerReceivedInvocations: [BackupStateListener] { + get { backupStateListenerListenerReceivedInvocationsLock.withLock { backupStateListenerListenerUnderlyingReceivedInvocations } } + set { backupStateListenerListenerReceivedInvocationsLock.withLock { backupStateListenerListenerUnderlyingReceivedInvocations = newValue } } + } + private let backupStateListenerListenerReturnValueLock = NSLock() open var backupStateListenerListenerUnderlyingReturnValue: TaskHandle! open var backupStateListenerListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return backupStateListenerListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = backupStateListenerListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - backupStateListenerListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - backupStateListenerListenerUnderlyingReturnValue = newValue - } - } - } + get { backupStateListenerListenerReturnValueLock.withLock { backupStateListenerListenerUnderlyingReturnValue } } + set { backupStateListenerListenerReturnValueLock.withLock { backupStateListenerListenerUnderlyingReturnValue = newValue } } } open var backupStateListenerListenerClosure: ((BackupStateListener) -> TaskHandle)? open override func backupStateListener(listener: BackupStateListener) -> TaskHandle { - backupStateListenerListenerCallsCount += 1 + backupStateListenerListenerCallsCountLock.withLock { backupStateListenerListenerUnderlyingCallsCount += 1 } backupStateListenerListenerReceivedListener = listener - DispatchQueue.main.async { - self.backupStateListenerListenerReceivedInvocations.append(listener) - } + backupStateListenerListenerReceivedInvocationsLock.withLock { backupStateListenerListenerUnderlyingReceivedInvocations.append(listener) } if let backupStateListenerListenerClosure = backupStateListenerListenerClosure { return backupStateListenerListenerClosure(listener) } else { @@ -9136,62 +5414,26 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - curve25519Key - open var curve25519KeyUnderlyingCallsCount = 0 + private let curve25519KeyCallsCountLock = NSLock() + private var curve25519KeyUnderlyingCallsCount = 0 open var curve25519KeyCallsCount: Int { - get { - if Thread.isMainThread { - return curve25519KeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = curve25519KeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - curve25519KeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - curve25519KeyUnderlyingCallsCount = newValue - } - } - } + get { curve25519KeyCallsCountLock.withLock { curve25519KeyUnderlyingCallsCount } } + set { curve25519KeyCallsCountLock.withLock { curve25519KeyUnderlyingCallsCount = newValue } } } open var curve25519KeyCalled: Bool { return curve25519KeyCallsCount > 0 } + private let curve25519KeyReturnValueLock = NSLock() open var curve25519KeyUnderlyingReturnValue: String? open var curve25519KeyReturnValue: String? { - get { - if Thread.isMainThread { - return curve25519KeyUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = curve25519KeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - curve25519KeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - curve25519KeyUnderlyingReturnValue = newValue - } - } - } + get { curve25519KeyReturnValueLock.withLock { curve25519KeyUnderlyingReturnValue } } + set { curve25519KeyReturnValueLock.withLock { curve25519KeyUnderlyingReturnValue = newValue } } } open var curve25519KeyClosure: (() async -> String?)? open override func curve25519Key() async -> String? { - curve25519KeyCallsCount += 1 + curve25519KeyCallsCountLock.withLock { curve25519KeyUnderlyingCallsCount += 1 } if let curve25519KeyClosure = curve25519KeyClosure { return await curve25519KeyClosure() } else { @@ -9202,29 +5444,11 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - disableRecovery open var disableRecoveryThrowableError: Error? - open var disableRecoveryUnderlyingCallsCount = 0 + private let disableRecoveryCallsCountLock = NSLock() + private var disableRecoveryUnderlyingCallsCount = 0 open var disableRecoveryCallsCount: Int { - get { - if Thread.isMainThread { - return disableRecoveryUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = disableRecoveryUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - disableRecoveryUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - disableRecoveryUnderlyingCallsCount = newValue - } - } - } + get { disableRecoveryCallsCountLock.withLock { disableRecoveryUnderlyingCallsCount } } + set { disableRecoveryCallsCountLock.withLock { disableRecoveryUnderlyingCallsCount = newValue } } } open var disableRecoveryCalled: Bool { return disableRecoveryCallsCount > 0 @@ -9235,68 +5459,32 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = disableRecoveryThrowableError { throw error } - disableRecoveryCallsCount += 1 + disableRecoveryCallsCountLock.withLock { disableRecoveryUnderlyingCallsCount += 1 } try await disableRecoveryClosure?() } //MARK: - ed25519Key - open var ed25519KeyUnderlyingCallsCount = 0 + private let ed25519KeyCallsCountLock = NSLock() + private var ed25519KeyUnderlyingCallsCount = 0 open var ed25519KeyCallsCount: Int { - get { - if Thread.isMainThread { - return ed25519KeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ed25519KeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ed25519KeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ed25519KeyUnderlyingCallsCount = newValue - } - } - } + get { ed25519KeyCallsCountLock.withLock { ed25519KeyUnderlyingCallsCount } } + set { ed25519KeyCallsCountLock.withLock { ed25519KeyUnderlyingCallsCount = newValue } } } open var ed25519KeyCalled: Bool { return ed25519KeyCallsCount > 0 } + private let ed25519KeyReturnValueLock = NSLock() open var ed25519KeyUnderlyingReturnValue: String? open var ed25519KeyReturnValue: String? { - get { - if Thread.isMainThread { - return ed25519KeyUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = ed25519KeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ed25519KeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - ed25519KeyUnderlyingReturnValue = newValue - } - } - } + get { ed25519KeyReturnValueLock.withLock { ed25519KeyUnderlyingReturnValue } } + set { ed25519KeyReturnValueLock.withLock { ed25519KeyUnderlyingReturnValue = newValue } } } open var ed25519KeyClosure: (() async -> String?)? open override func ed25519Key() async -> String? { - ed25519KeyCallsCount += 1 + ed25519KeyCallsCountLock.withLock { ed25519KeyUnderlyingCallsCount += 1 } if let ed25519KeyClosure = ed25519KeyClosure { return await ed25519KeyClosure() } else { @@ -9307,29 +5495,11 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - enableBackups open var enableBackupsThrowableError: Error? - open var enableBackupsUnderlyingCallsCount = 0 + private let enableBackupsCallsCountLock = NSLock() + private var enableBackupsUnderlyingCallsCount = 0 open var enableBackupsCallsCount: Int { - get { - if Thread.isMainThread { - return enableBackupsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableBackupsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableBackupsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableBackupsUnderlyingCallsCount = newValue - } - } - } + get { enableBackupsCallsCountLock.withLock { enableBackupsUnderlyingCallsCount } } + set { enableBackupsCallsCountLock.withLock { enableBackupsUnderlyingCallsCount = newValue } } } open var enableBackupsCalled: Bool { return enableBackupsCallsCount > 0 @@ -9340,66 +5510,40 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = enableBackupsThrowableError { throw error } - enableBackupsCallsCount += 1 + enableBackupsCallsCountLock.withLock { enableBackupsUnderlyingCallsCount += 1 } try await enableBackupsClosure?() } //MARK: - enableRecovery open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerThrowableError: Error? - open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount = 0 + private let enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerCallsCountLock = NSLock() + private var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount = 0 open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerCallsCount: Int { - get { - if Thread.isMainThread { - return enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount = newValue - } - } - } + get { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerCallsCountLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount } } + set { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerCallsCountLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount = newValue } } } open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerCalled: Bool { return enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerCallsCount > 0 } - open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedArguments: (waitForBackupsToUpload: Bool, passphrase: String?, progressListener: EnableRecoveryProgressListener)? - open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedInvocations: [(waitForBackupsToUpload: Bool, passphrase: String?, progressListener: EnableRecoveryProgressListener)] = [] + private let enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedArgumentsLock = NSLock() + private var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReceivedArguments: (waitForBackupsToUpload: Bool, passphrase: String?, progressListener: EnableRecoveryProgressListener)? + open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedArguments: (waitForBackupsToUpload: Bool, passphrase: String?, progressListener: EnableRecoveryProgressListener)? { + get { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedArgumentsLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReceivedArguments } } + set { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedArgumentsLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReceivedArguments = newValue } } + } + private let enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedInvocationsLock = NSLock() + private var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReceivedInvocations: [(waitForBackupsToUpload: Bool, passphrase: String?, progressListener: EnableRecoveryProgressListener)] = [] + open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedInvocations: [(waitForBackupsToUpload: Bool, passphrase: String?, progressListener: EnableRecoveryProgressListener)] { + get { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedInvocationsLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReceivedInvocations } } + set { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedInvocationsLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReceivedInvocations = newValue } } + } + private let enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReturnValueLock = NSLock() open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReturnValue: String! open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReturnValue: String! { - get { - if Thread.isMainThread { - return enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReturnValue = newValue - } - } - } + get { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReturnValueLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReturnValue } } + set { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReturnValueLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReturnValue = newValue } } } open var enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerClosure: ((Bool, String?, EnableRecoveryProgressListener) async throws -> String)? @@ -9407,11 +5551,9 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerThrowableError { throw error } - enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerCallsCount += 1 + enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerCallsCountLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingCallsCount += 1 } enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedArguments = (waitForBackupsToUpload: waitForBackupsToUpload, passphrase: passphrase, progressListener: progressListener) - DispatchQueue.main.async { - self.enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedInvocations.append((waitForBackupsToUpload: waitForBackupsToUpload, passphrase: passphrase, progressListener: progressListener)) - } + enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerReceivedInvocationsLock.withLock { enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerUnderlyingReceivedInvocations.append((waitForBackupsToUpload: waitForBackupsToUpload, passphrase: passphrase, progressListener: progressListener)) } if let enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerClosure = enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerClosure { return try await enableRecoveryWaitForBackupsToUploadPassphraseProgressListenerClosure(waitForBackupsToUpload, passphrase, progressListener) } else { @@ -9422,57 +5564,21 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - hasDevicesToVerifyAgainst open var hasDevicesToVerifyAgainstThrowableError: Error? - open var hasDevicesToVerifyAgainstUnderlyingCallsCount = 0 + private let hasDevicesToVerifyAgainstCallsCountLock = NSLock() + private var hasDevicesToVerifyAgainstUnderlyingCallsCount = 0 open var hasDevicesToVerifyAgainstCallsCount: Int { - get { - if Thread.isMainThread { - return hasDevicesToVerifyAgainstUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = hasDevicesToVerifyAgainstUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasDevicesToVerifyAgainstUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - hasDevicesToVerifyAgainstUnderlyingCallsCount = newValue - } - } - } + get { hasDevicesToVerifyAgainstCallsCountLock.withLock { hasDevicesToVerifyAgainstUnderlyingCallsCount } } + set { hasDevicesToVerifyAgainstCallsCountLock.withLock { hasDevicesToVerifyAgainstUnderlyingCallsCount = newValue } } } open var hasDevicesToVerifyAgainstCalled: Bool { return hasDevicesToVerifyAgainstCallsCount > 0 } + private let hasDevicesToVerifyAgainstReturnValueLock = NSLock() open var hasDevicesToVerifyAgainstUnderlyingReturnValue: Bool! open var hasDevicesToVerifyAgainstReturnValue: Bool! { - get { - if Thread.isMainThread { - return hasDevicesToVerifyAgainstUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = hasDevicesToVerifyAgainstUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasDevicesToVerifyAgainstUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - hasDevicesToVerifyAgainstUnderlyingReturnValue = newValue - } - } - } + get { hasDevicesToVerifyAgainstReturnValueLock.withLock { hasDevicesToVerifyAgainstUnderlyingReturnValue } } + set { hasDevicesToVerifyAgainstReturnValueLock.withLock { hasDevicesToVerifyAgainstUnderlyingReturnValue = newValue } } } open var hasDevicesToVerifyAgainstClosure: (() async throws -> Bool)? @@ -9480,7 +5586,7 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = hasDevicesToVerifyAgainstThrowableError { throw error } - hasDevicesToVerifyAgainstCallsCount += 1 + hasDevicesToVerifyAgainstCallsCountLock.withLock { hasDevicesToVerifyAgainstUnderlyingCallsCount += 1 } if let hasDevicesToVerifyAgainstClosure = hasDevicesToVerifyAgainstClosure { return try await hasDevicesToVerifyAgainstClosure() } else { @@ -9491,103 +5597,57 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - importSecretsBundle open var importSecretsBundleSecretsBundleThrowableError: Error? - open var importSecretsBundleSecretsBundleUnderlyingCallsCount = 0 + private let importSecretsBundleSecretsBundleCallsCountLock = NSLock() + private var importSecretsBundleSecretsBundleUnderlyingCallsCount = 0 open var importSecretsBundleSecretsBundleCallsCount: Int { - get { - if Thread.isMainThread { - return importSecretsBundleSecretsBundleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = importSecretsBundleSecretsBundleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - importSecretsBundleSecretsBundleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - importSecretsBundleSecretsBundleUnderlyingCallsCount = newValue - } - } - } + get { importSecretsBundleSecretsBundleCallsCountLock.withLock { importSecretsBundleSecretsBundleUnderlyingCallsCount } } + set { importSecretsBundleSecretsBundleCallsCountLock.withLock { importSecretsBundleSecretsBundleUnderlyingCallsCount = newValue } } } open var importSecretsBundleSecretsBundleCalled: Bool { return importSecretsBundleSecretsBundleCallsCount > 0 } - open var importSecretsBundleSecretsBundleReceivedSecretsBundle: SecretsBundleWithUserId? - open var importSecretsBundleSecretsBundleReceivedInvocations: [SecretsBundleWithUserId] = [] + private let importSecretsBundleSecretsBundleReceivedSecretsBundleLock = NSLock() + private var importSecretsBundleSecretsBundleUnderlyingReceivedSecretsBundle: SecretsBundleWithUserId? + open var importSecretsBundleSecretsBundleReceivedSecretsBundle: SecretsBundleWithUserId? { + get { importSecretsBundleSecretsBundleReceivedSecretsBundleLock.withLock { importSecretsBundleSecretsBundleUnderlyingReceivedSecretsBundle } } + set { importSecretsBundleSecretsBundleReceivedSecretsBundleLock.withLock { importSecretsBundleSecretsBundleUnderlyingReceivedSecretsBundle = newValue } } + } + private let importSecretsBundleSecretsBundleReceivedInvocationsLock = NSLock() + private var importSecretsBundleSecretsBundleUnderlyingReceivedInvocations: [SecretsBundleWithUserId] = [] + open var importSecretsBundleSecretsBundleReceivedInvocations: [SecretsBundleWithUserId] { + get { importSecretsBundleSecretsBundleReceivedInvocationsLock.withLock { importSecretsBundleSecretsBundleUnderlyingReceivedInvocations } } + set { importSecretsBundleSecretsBundleReceivedInvocationsLock.withLock { importSecretsBundleSecretsBundleUnderlyingReceivedInvocations = newValue } } + } open var importSecretsBundleSecretsBundleClosure: ((SecretsBundleWithUserId) async throws -> Void)? open override func importSecretsBundle(secretsBundle: SecretsBundleWithUserId) async throws { if let error = importSecretsBundleSecretsBundleThrowableError { throw error } - importSecretsBundleSecretsBundleCallsCount += 1 + importSecretsBundleSecretsBundleCallsCountLock.withLock { importSecretsBundleSecretsBundleUnderlyingCallsCount += 1 } importSecretsBundleSecretsBundleReceivedSecretsBundle = secretsBundle - DispatchQueue.main.async { - self.importSecretsBundleSecretsBundleReceivedInvocations.append(secretsBundle) - } + importSecretsBundleSecretsBundleReceivedInvocationsLock.withLock { importSecretsBundleSecretsBundleUnderlyingReceivedInvocations.append(secretsBundle) } try await importSecretsBundleSecretsBundleClosure?(secretsBundle) } //MARK: - isLastDevice open var isLastDeviceThrowableError: Error? - open var isLastDeviceUnderlyingCallsCount = 0 + private let isLastDeviceCallsCountLock = NSLock() + private var isLastDeviceUnderlyingCallsCount = 0 open var isLastDeviceCallsCount: Int { - get { - if Thread.isMainThread { - return isLastDeviceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isLastDeviceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isLastDeviceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isLastDeviceUnderlyingCallsCount = newValue - } - } - } + get { isLastDeviceCallsCountLock.withLock { isLastDeviceUnderlyingCallsCount } } + set { isLastDeviceCallsCountLock.withLock { isLastDeviceUnderlyingCallsCount = newValue } } } open var isLastDeviceCalled: Bool { return isLastDeviceCallsCount > 0 } + private let isLastDeviceReturnValueLock = NSLock() open var isLastDeviceUnderlyingReturnValue: Bool! open var isLastDeviceReturnValue: Bool! { - get { - if Thread.isMainThread { - return isLastDeviceUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isLastDeviceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isLastDeviceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isLastDeviceUnderlyingReturnValue = newValue - } - } - } + get { isLastDeviceReturnValueLock.withLock { isLastDeviceUnderlyingReturnValue } } + set { isLastDeviceReturnValueLock.withLock { isLastDeviceUnderlyingReturnValue = newValue } } } open var isLastDeviceClosure: (() async throws -> Bool)? @@ -9595,7 +5655,7 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = isLastDeviceThrowableError { throw error } - isLastDeviceCallsCount += 1 + isLastDeviceCallsCountLock.withLock { isLastDeviceUnderlyingCallsCount += 1 } if let isLastDeviceClosure = isLastDeviceClosure { return try await isLastDeviceClosure() } else { @@ -9606,151 +5666,105 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - recover open var recoverRecoveryKeyThrowableError: Error? - open var recoverRecoveryKeyUnderlyingCallsCount = 0 + private let recoverRecoveryKeyCallsCountLock = NSLock() + private var recoverRecoveryKeyUnderlyingCallsCount = 0 open var recoverRecoveryKeyCallsCount: Int { - get { - if Thread.isMainThread { - return recoverRecoveryKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recoverRecoveryKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recoverRecoveryKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recoverRecoveryKeyUnderlyingCallsCount = newValue - } - } - } + get { recoverRecoveryKeyCallsCountLock.withLock { recoverRecoveryKeyUnderlyingCallsCount } } + set { recoverRecoveryKeyCallsCountLock.withLock { recoverRecoveryKeyUnderlyingCallsCount = newValue } } } open var recoverRecoveryKeyCalled: Bool { return recoverRecoveryKeyCallsCount > 0 } - open var recoverRecoveryKeyReceivedRecoveryKey: String? - open var recoverRecoveryKeyReceivedInvocations: [String] = [] + private let recoverRecoveryKeyReceivedRecoveryKeyLock = NSLock() + private var recoverRecoveryKeyUnderlyingReceivedRecoveryKey: String? + open var recoverRecoveryKeyReceivedRecoveryKey: String? { + get { recoverRecoveryKeyReceivedRecoveryKeyLock.withLock { recoverRecoveryKeyUnderlyingReceivedRecoveryKey } } + set { recoverRecoveryKeyReceivedRecoveryKeyLock.withLock { recoverRecoveryKeyUnderlyingReceivedRecoveryKey = newValue } } + } + private let recoverRecoveryKeyReceivedInvocationsLock = NSLock() + private var recoverRecoveryKeyUnderlyingReceivedInvocations: [String] = [] + open var recoverRecoveryKeyReceivedInvocations: [String] { + get { recoverRecoveryKeyReceivedInvocationsLock.withLock { recoverRecoveryKeyUnderlyingReceivedInvocations } } + set { recoverRecoveryKeyReceivedInvocationsLock.withLock { recoverRecoveryKeyUnderlyingReceivedInvocations = newValue } } + } open var recoverRecoveryKeyClosure: ((String) async throws -> Void)? open override func recover(recoveryKey: String) async throws { if let error = recoverRecoveryKeyThrowableError { throw error } - recoverRecoveryKeyCallsCount += 1 + recoverRecoveryKeyCallsCountLock.withLock { recoverRecoveryKeyUnderlyingCallsCount += 1 } recoverRecoveryKeyReceivedRecoveryKey = recoveryKey - DispatchQueue.main.async { - self.recoverRecoveryKeyReceivedInvocations.append(recoveryKey) - } + recoverRecoveryKeyReceivedInvocationsLock.withLock { recoverRecoveryKeyUnderlyingReceivedInvocations.append(recoveryKey) } try await recoverRecoveryKeyClosure?(recoveryKey) } //MARK: - recoverAndFixBackup open var recoverAndFixBackupRecoveryKeyThrowableError: Error? - open var recoverAndFixBackupRecoveryKeyUnderlyingCallsCount = 0 + private let recoverAndFixBackupRecoveryKeyCallsCountLock = NSLock() + private var recoverAndFixBackupRecoveryKeyUnderlyingCallsCount = 0 open var recoverAndFixBackupRecoveryKeyCallsCount: Int { - get { - if Thread.isMainThread { - return recoverAndFixBackupRecoveryKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recoverAndFixBackupRecoveryKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recoverAndFixBackupRecoveryKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recoverAndFixBackupRecoveryKeyUnderlyingCallsCount = newValue - } - } - } + get { recoverAndFixBackupRecoveryKeyCallsCountLock.withLock { recoverAndFixBackupRecoveryKeyUnderlyingCallsCount } } + set { recoverAndFixBackupRecoveryKeyCallsCountLock.withLock { recoverAndFixBackupRecoveryKeyUnderlyingCallsCount = newValue } } } open var recoverAndFixBackupRecoveryKeyCalled: Bool { return recoverAndFixBackupRecoveryKeyCallsCount > 0 } - open var recoverAndFixBackupRecoveryKeyReceivedRecoveryKey: String? - open var recoverAndFixBackupRecoveryKeyReceivedInvocations: [String] = [] + private let recoverAndFixBackupRecoveryKeyReceivedRecoveryKeyLock = NSLock() + private var recoverAndFixBackupRecoveryKeyUnderlyingReceivedRecoveryKey: String? + open var recoverAndFixBackupRecoveryKeyReceivedRecoveryKey: String? { + get { recoverAndFixBackupRecoveryKeyReceivedRecoveryKeyLock.withLock { recoverAndFixBackupRecoveryKeyUnderlyingReceivedRecoveryKey } } + set { recoverAndFixBackupRecoveryKeyReceivedRecoveryKeyLock.withLock { recoverAndFixBackupRecoveryKeyUnderlyingReceivedRecoveryKey = newValue } } + } + private let recoverAndFixBackupRecoveryKeyReceivedInvocationsLock = NSLock() + private var recoverAndFixBackupRecoveryKeyUnderlyingReceivedInvocations: [String] = [] + open var recoverAndFixBackupRecoveryKeyReceivedInvocations: [String] { + get { recoverAndFixBackupRecoveryKeyReceivedInvocationsLock.withLock { recoverAndFixBackupRecoveryKeyUnderlyingReceivedInvocations } } + set { recoverAndFixBackupRecoveryKeyReceivedInvocationsLock.withLock { recoverAndFixBackupRecoveryKeyUnderlyingReceivedInvocations = newValue } } + } open var recoverAndFixBackupRecoveryKeyClosure: ((String) async throws -> Void)? open override func recoverAndFixBackup(recoveryKey: String) async throws { if let error = recoverAndFixBackupRecoveryKeyThrowableError { throw error } - recoverAndFixBackupRecoveryKeyCallsCount += 1 + recoverAndFixBackupRecoveryKeyCallsCountLock.withLock { recoverAndFixBackupRecoveryKeyUnderlyingCallsCount += 1 } recoverAndFixBackupRecoveryKeyReceivedRecoveryKey = recoveryKey - DispatchQueue.main.async { - self.recoverAndFixBackupRecoveryKeyReceivedInvocations.append(recoveryKey) - } + recoverAndFixBackupRecoveryKeyReceivedInvocationsLock.withLock { recoverAndFixBackupRecoveryKeyUnderlyingReceivedInvocations.append(recoveryKey) } try await recoverAndFixBackupRecoveryKeyClosure?(recoveryKey) } //MARK: - recoverAndReset open var recoverAndResetOldRecoveryKeyThrowableError: Error? - open var recoverAndResetOldRecoveryKeyUnderlyingCallsCount = 0 + private let recoverAndResetOldRecoveryKeyCallsCountLock = NSLock() + private var recoverAndResetOldRecoveryKeyUnderlyingCallsCount = 0 open var recoverAndResetOldRecoveryKeyCallsCount: Int { - get { - if Thread.isMainThread { - return recoverAndResetOldRecoveryKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recoverAndResetOldRecoveryKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recoverAndResetOldRecoveryKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recoverAndResetOldRecoveryKeyUnderlyingCallsCount = newValue - } - } - } + get { recoverAndResetOldRecoveryKeyCallsCountLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingCallsCount } } + set { recoverAndResetOldRecoveryKeyCallsCountLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingCallsCount = newValue } } } open var recoverAndResetOldRecoveryKeyCalled: Bool { return recoverAndResetOldRecoveryKeyCallsCount > 0 } - open var recoverAndResetOldRecoveryKeyReceivedOldRecoveryKey: String? - open var recoverAndResetOldRecoveryKeyReceivedInvocations: [String] = [] + private let recoverAndResetOldRecoveryKeyReceivedOldRecoveryKeyLock = NSLock() + private var recoverAndResetOldRecoveryKeyUnderlyingReceivedOldRecoveryKey: String? + open var recoverAndResetOldRecoveryKeyReceivedOldRecoveryKey: String? { + get { recoverAndResetOldRecoveryKeyReceivedOldRecoveryKeyLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingReceivedOldRecoveryKey } } + set { recoverAndResetOldRecoveryKeyReceivedOldRecoveryKeyLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingReceivedOldRecoveryKey = newValue } } + } + private let recoverAndResetOldRecoveryKeyReceivedInvocationsLock = NSLock() + private var recoverAndResetOldRecoveryKeyUnderlyingReceivedInvocations: [String] = [] + open var recoverAndResetOldRecoveryKeyReceivedInvocations: [String] { + get { recoverAndResetOldRecoveryKeyReceivedInvocationsLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingReceivedInvocations } } + set { recoverAndResetOldRecoveryKeyReceivedInvocationsLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingReceivedInvocations = newValue } } + } + private let recoverAndResetOldRecoveryKeyReturnValueLock = NSLock() open var recoverAndResetOldRecoveryKeyUnderlyingReturnValue: String! open var recoverAndResetOldRecoveryKeyReturnValue: String! { - get { - if Thread.isMainThread { - return recoverAndResetOldRecoveryKeyUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = recoverAndResetOldRecoveryKeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recoverAndResetOldRecoveryKeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - recoverAndResetOldRecoveryKeyUnderlyingReturnValue = newValue - } - } - } + get { recoverAndResetOldRecoveryKeyReturnValueLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingReturnValue } } + set { recoverAndResetOldRecoveryKeyReturnValueLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingReturnValue = newValue } } } open var recoverAndResetOldRecoveryKeyClosure: ((String) async throws -> String)? @@ -9758,11 +5772,9 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = recoverAndResetOldRecoveryKeyThrowableError { throw error } - recoverAndResetOldRecoveryKeyCallsCount += 1 + recoverAndResetOldRecoveryKeyCallsCountLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingCallsCount += 1 } recoverAndResetOldRecoveryKeyReceivedOldRecoveryKey = oldRecoveryKey - DispatchQueue.main.async { - self.recoverAndResetOldRecoveryKeyReceivedInvocations.append(oldRecoveryKey) - } + recoverAndResetOldRecoveryKeyReceivedInvocationsLock.withLock { recoverAndResetOldRecoveryKeyUnderlyingReceivedInvocations.append(oldRecoveryKey) } if let recoverAndResetOldRecoveryKeyClosure = recoverAndResetOldRecoveryKeyClosure { return try await recoverAndResetOldRecoveryKeyClosure(oldRecoveryKey) } else { @@ -9772,62 +5784,26 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - recoveryState - open var recoveryStateUnderlyingCallsCount = 0 + private let recoveryStateCallsCountLock = NSLock() + private var recoveryStateUnderlyingCallsCount = 0 open var recoveryStateCallsCount: Int { - get { - if Thread.isMainThread { - return recoveryStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recoveryStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recoveryStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recoveryStateUnderlyingCallsCount = newValue - } - } - } + get { recoveryStateCallsCountLock.withLock { recoveryStateUnderlyingCallsCount } } + set { recoveryStateCallsCountLock.withLock { recoveryStateUnderlyingCallsCount = newValue } } } open var recoveryStateCalled: Bool { return recoveryStateCallsCount > 0 } + private let recoveryStateReturnValueLock = NSLock() open var recoveryStateUnderlyingReturnValue: RecoveryState! open var recoveryStateReturnValue: RecoveryState! { - get { - if Thread.isMainThread { - return recoveryStateUnderlyingReturnValue - } else { - var returnValue: RecoveryState? = nil - DispatchQueue.main.sync { - returnValue = recoveryStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recoveryStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - recoveryStateUnderlyingReturnValue = newValue - } - } - } + get { recoveryStateReturnValueLock.withLock { recoveryStateUnderlyingReturnValue } } + set { recoveryStateReturnValueLock.withLock { recoveryStateUnderlyingReturnValue = newValue } } } open var recoveryStateClosure: (() -> RecoveryState)? open override func recoveryState() -> RecoveryState { - recoveryStateCallsCount += 1 + recoveryStateCallsCountLock.withLock { recoveryStateUnderlyingCallsCount += 1 } if let recoveryStateClosure = recoveryStateClosure { return recoveryStateClosure() } else { @@ -9837,68 +5813,40 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - recoveryStateListener - open var recoveryStateListenerListenerUnderlyingCallsCount = 0 + private let recoveryStateListenerListenerCallsCountLock = NSLock() + private var recoveryStateListenerListenerUnderlyingCallsCount = 0 open var recoveryStateListenerListenerCallsCount: Int { - get { - if Thread.isMainThread { - return recoveryStateListenerListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recoveryStateListenerListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recoveryStateListenerListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recoveryStateListenerListenerUnderlyingCallsCount = newValue - } - } - } + get { recoveryStateListenerListenerCallsCountLock.withLock { recoveryStateListenerListenerUnderlyingCallsCount } } + set { recoveryStateListenerListenerCallsCountLock.withLock { recoveryStateListenerListenerUnderlyingCallsCount = newValue } } } open var recoveryStateListenerListenerCalled: Bool { return recoveryStateListenerListenerCallsCount > 0 } - open var recoveryStateListenerListenerReceivedListener: RecoveryStateListener? - open var recoveryStateListenerListenerReceivedInvocations: [RecoveryStateListener] = [] + private let recoveryStateListenerListenerReceivedListenerLock = NSLock() + private var recoveryStateListenerListenerUnderlyingReceivedListener: RecoveryStateListener? + open var recoveryStateListenerListenerReceivedListener: RecoveryStateListener? { + get { recoveryStateListenerListenerReceivedListenerLock.withLock { recoveryStateListenerListenerUnderlyingReceivedListener } } + set { recoveryStateListenerListenerReceivedListenerLock.withLock { recoveryStateListenerListenerUnderlyingReceivedListener = newValue } } + } + private let recoveryStateListenerListenerReceivedInvocationsLock = NSLock() + private var recoveryStateListenerListenerUnderlyingReceivedInvocations: [RecoveryStateListener] = [] + open var recoveryStateListenerListenerReceivedInvocations: [RecoveryStateListener] { + get { recoveryStateListenerListenerReceivedInvocationsLock.withLock { recoveryStateListenerListenerUnderlyingReceivedInvocations } } + set { recoveryStateListenerListenerReceivedInvocationsLock.withLock { recoveryStateListenerListenerUnderlyingReceivedInvocations = newValue } } + } + private let recoveryStateListenerListenerReturnValueLock = NSLock() open var recoveryStateListenerListenerUnderlyingReturnValue: TaskHandle! open var recoveryStateListenerListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return recoveryStateListenerListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = recoveryStateListenerListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recoveryStateListenerListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - recoveryStateListenerListenerUnderlyingReturnValue = newValue - } - } - } + get { recoveryStateListenerListenerReturnValueLock.withLock { recoveryStateListenerListenerUnderlyingReturnValue } } + set { recoveryStateListenerListenerReturnValueLock.withLock { recoveryStateListenerListenerUnderlyingReturnValue = newValue } } } open var recoveryStateListenerListenerClosure: ((RecoveryStateListener) -> TaskHandle)? open override func recoveryStateListener(listener: RecoveryStateListener) -> TaskHandle { - recoveryStateListenerListenerCallsCount += 1 + recoveryStateListenerListenerCallsCountLock.withLock { recoveryStateListenerListenerUnderlyingCallsCount += 1 } recoveryStateListenerListenerReceivedListener = listener - DispatchQueue.main.async { - self.recoveryStateListenerListenerReceivedInvocations.append(listener) - } + recoveryStateListenerListenerReceivedInvocationsLock.withLock { recoveryStateListenerListenerUnderlyingReceivedInvocations.append(listener) } if let recoveryStateListenerListenerClosure = recoveryStateListenerListenerClosure { return recoveryStateListenerListenerClosure(listener) } else { @@ -9909,57 +5857,21 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - resetIdentity open var resetIdentityThrowableError: Error? - open var resetIdentityUnderlyingCallsCount = 0 + private let resetIdentityCallsCountLock = NSLock() + private var resetIdentityUnderlyingCallsCount = 0 open var resetIdentityCallsCount: Int { - get { - if Thread.isMainThread { - return resetIdentityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetIdentityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetIdentityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetIdentityUnderlyingCallsCount = newValue - } - } - } + get { resetIdentityCallsCountLock.withLock { resetIdentityUnderlyingCallsCount } } + set { resetIdentityCallsCountLock.withLock { resetIdentityUnderlyingCallsCount = newValue } } } open var resetIdentityCalled: Bool { return resetIdentityCallsCount > 0 } + private let resetIdentityReturnValueLock = NSLock() open var resetIdentityUnderlyingReturnValue: IdentityResetHandle? open var resetIdentityReturnValue: IdentityResetHandle? { - get { - if Thread.isMainThread { - return resetIdentityUnderlyingReturnValue - } else { - var returnValue: IdentityResetHandle?? = nil - DispatchQueue.main.sync { - returnValue = resetIdentityUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetIdentityUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - resetIdentityUnderlyingReturnValue = newValue - } - } - } + get { resetIdentityReturnValueLock.withLock { resetIdentityUnderlyingReturnValue } } + set { resetIdentityReturnValueLock.withLock { resetIdentityUnderlyingReturnValue = newValue } } } open var resetIdentityClosure: (() async throws -> IdentityResetHandle?)? @@ -9967,7 +5879,7 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = resetIdentityThrowableError { throw error } - resetIdentityCallsCount += 1 + resetIdentityCallsCountLock.withLock { resetIdentityUnderlyingCallsCount += 1 } if let resetIdentityClosure = resetIdentityClosure { return try await resetIdentityClosure() } else { @@ -9978,57 +5890,21 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - resetRecoveryKey open var resetRecoveryKeyThrowableError: Error? - open var resetRecoveryKeyUnderlyingCallsCount = 0 + private let resetRecoveryKeyCallsCountLock = NSLock() + private var resetRecoveryKeyUnderlyingCallsCount = 0 open var resetRecoveryKeyCallsCount: Int { - get { - if Thread.isMainThread { - return resetRecoveryKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetRecoveryKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetRecoveryKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetRecoveryKeyUnderlyingCallsCount = newValue - } - } - } + get { resetRecoveryKeyCallsCountLock.withLock { resetRecoveryKeyUnderlyingCallsCount } } + set { resetRecoveryKeyCallsCountLock.withLock { resetRecoveryKeyUnderlyingCallsCount = newValue } } } open var resetRecoveryKeyCalled: Bool { return resetRecoveryKeyCallsCount > 0 } + private let resetRecoveryKeyReturnValueLock = NSLock() open var resetRecoveryKeyUnderlyingReturnValue: String! open var resetRecoveryKeyReturnValue: String! { - get { - if Thread.isMainThread { - return resetRecoveryKeyUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = resetRecoveryKeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetRecoveryKeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - resetRecoveryKeyUnderlyingReturnValue = newValue - } - } - } + get { resetRecoveryKeyReturnValueLock.withLock { resetRecoveryKeyUnderlyingReturnValue } } + set { resetRecoveryKeyReturnValueLock.withLock { resetRecoveryKeyUnderlyingReturnValue = newValue } } } open var resetRecoveryKeyClosure: (() async throws -> String)? @@ -10036,7 +5912,7 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = resetRecoveryKeyThrowableError { throw error } - resetRecoveryKeyCallsCount += 1 + resetRecoveryKeyCallsCountLock.withLock { resetRecoveryKeyUnderlyingCallsCount += 1 } if let resetRecoveryKeyClosure = resetRecoveryKeyClosure { return try await resetRecoveryKeyClosure() } else { @@ -10047,59 +5923,33 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - userIdentity open var userIdentityUserIdFallbackToServerThrowableError: Error? - open var userIdentityUserIdFallbackToServerUnderlyingCallsCount = 0 + private let userIdentityUserIdFallbackToServerCallsCountLock = NSLock() + private var userIdentityUserIdFallbackToServerUnderlyingCallsCount = 0 open var userIdentityUserIdFallbackToServerCallsCount: Int { - get { - if Thread.isMainThread { - return userIdentityUserIdFallbackToServerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = userIdentityUserIdFallbackToServerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userIdentityUserIdFallbackToServerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - userIdentityUserIdFallbackToServerUnderlyingCallsCount = newValue - } - } - } + get { userIdentityUserIdFallbackToServerCallsCountLock.withLock { userIdentityUserIdFallbackToServerUnderlyingCallsCount } } + set { userIdentityUserIdFallbackToServerCallsCountLock.withLock { userIdentityUserIdFallbackToServerUnderlyingCallsCount = newValue } } } open var userIdentityUserIdFallbackToServerCalled: Bool { return userIdentityUserIdFallbackToServerCallsCount > 0 } - open var userIdentityUserIdFallbackToServerReceivedArguments: (userId: String, fallbackToServer: Bool)? - open var userIdentityUserIdFallbackToServerReceivedInvocations: [(userId: String, fallbackToServer: Bool)] = [] + private let userIdentityUserIdFallbackToServerReceivedArgumentsLock = NSLock() + private var userIdentityUserIdFallbackToServerUnderlyingReceivedArguments: (userId: String, fallbackToServer: Bool)? + open var userIdentityUserIdFallbackToServerReceivedArguments: (userId: String, fallbackToServer: Bool)? { + get { userIdentityUserIdFallbackToServerReceivedArgumentsLock.withLock { userIdentityUserIdFallbackToServerUnderlyingReceivedArguments } } + set { userIdentityUserIdFallbackToServerReceivedArgumentsLock.withLock { userIdentityUserIdFallbackToServerUnderlyingReceivedArguments = newValue } } + } + private let userIdentityUserIdFallbackToServerReceivedInvocationsLock = NSLock() + private var userIdentityUserIdFallbackToServerUnderlyingReceivedInvocations: [(userId: String, fallbackToServer: Bool)] = [] + open var userIdentityUserIdFallbackToServerReceivedInvocations: [(userId: String, fallbackToServer: Bool)] { + get { userIdentityUserIdFallbackToServerReceivedInvocationsLock.withLock { userIdentityUserIdFallbackToServerUnderlyingReceivedInvocations } } + set { userIdentityUserIdFallbackToServerReceivedInvocationsLock.withLock { userIdentityUserIdFallbackToServerUnderlyingReceivedInvocations = newValue } } + } + private let userIdentityUserIdFallbackToServerReturnValueLock = NSLock() open var userIdentityUserIdFallbackToServerUnderlyingReturnValue: UserIdentity? open var userIdentityUserIdFallbackToServerReturnValue: UserIdentity? { - get { - if Thread.isMainThread { - return userIdentityUserIdFallbackToServerUnderlyingReturnValue - } else { - var returnValue: UserIdentity?? = nil - DispatchQueue.main.sync { - returnValue = userIdentityUserIdFallbackToServerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userIdentityUserIdFallbackToServerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - userIdentityUserIdFallbackToServerUnderlyingReturnValue = newValue - } - } - } + get { userIdentityUserIdFallbackToServerReturnValueLock.withLock { userIdentityUserIdFallbackToServerUnderlyingReturnValue } } + set { userIdentityUserIdFallbackToServerReturnValueLock.withLock { userIdentityUserIdFallbackToServerUnderlyingReturnValue = newValue } } } open var userIdentityUserIdFallbackToServerClosure: ((String, Bool) async throws -> UserIdentity?)? @@ -10107,11 +5957,9 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { if let error = userIdentityUserIdFallbackToServerThrowableError { throw error } - userIdentityUserIdFallbackToServerCallsCount += 1 + userIdentityUserIdFallbackToServerCallsCountLock.withLock { userIdentityUserIdFallbackToServerUnderlyingCallsCount += 1 } userIdentityUserIdFallbackToServerReceivedArguments = (userId: userId, fallbackToServer: fallbackToServer) - DispatchQueue.main.async { - self.userIdentityUserIdFallbackToServerReceivedInvocations.append((userId: userId, fallbackToServer: fallbackToServer)) - } + userIdentityUserIdFallbackToServerReceivedInvocationsLock.withLock { userIdentityUserIdFallbackToServerUnderlyingReceivedInvocations.append((userId: userId, fallbackToServer: fallbackToServer)) } if let userIdentityUserIdFallbackToServerClosure = userIdentityUserIdFallbackToServerClosure { return try await userIdentityUserIdFallbackToServerClosure(userId, fallbackToServer) } else { @@ -10121,62 +5969,26 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - verificationState - open var verificationStateUnderlyingCallsCount = 0 + private let verificationStateCallsCountLock = NSLock() + private var verificationStateUnderlyingCallsCount = 0 open var verificationStateCallsCount: Int { - get { - if Thread.isMainThread { - return verificationStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = verificationStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - verificationStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - verificationStateUnderlyingCallsCount = newValue - } - } - } + get { verificationStateCallsCountLock.withLock { verificationStateUnderlyingCallsCount } } + set { verificationStateCallsCountLock.withLock { verificationStateUnderlyingCallsCount = newValue } } } open var verificationStateCalled: Bool { return verificationStateCallsCount > 0 } + private let verificationStateReturnValueLock = NSLock() open var verificationStateUnderlyingReturnValue: VerificationState! open var verificationStateReturnValue: VerificationState! { - get { - if Thread.isMainThread { - return verificationStateUnderlyingReturnValue - } else { - var returnValue: VerificationState? = nil - DispatchQueue.main.sync { - returnValue = verificationStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - verificationStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - verificationStateUnderlyingReturnValue = newValue - } - } - } + get { verificationStateReturnValueLock.withLock { verificationStateUnderlyingReturnValue } } + set { verificationStateReturnValueLock.withLock { verificationStateUnderlyingReturnValue = newValue } } } open var verificationStateClosure: (() -> VerificationState)? open override func verificationState() -> VerificationState { - verificationStateCallsCount += 1 + verificationStateCallsCountLock.withLock { verificationStateUnderlyingCallsCount += 1 } if let verificationStateClosure = verificationStateClosure { return verificationStateClosure() } else { @@ -10186,68 +5998,40 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - verificationStateListener - open var verificationStateListenerListenerUnderlyingCallsCount = 0 + private let verificationStateListenerListenerCallsCountLock = NSLock() + private var verificationStateListenerListenerUnderlyingCallsCount = 0 open var verificationStateListenerListenerCallsCount: Int { - get { - if Thread.isMainThread { - return verificationStateListenerListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = verificationStateListenerListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - verificationStateListenerListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - verificationStateListenerListenerUnderlyingCallsCount = newValue - } - } - } + get { verificationStateListenerListenerCallsCountLock.withLock { verificationStateListenerListenerUnderlyingCallsCount } } + set { verificationStateListenerListenerCallsCountLock.withLock { verificationStateListenerListenerUnderlyingCallsCount = newValue } } } open var verificationStateListenerListenerCalled: Bool { return verificationStateListenerListenerCallsCount > 0 } - open var verificationStateListenerListenerReceivedListener: VerificationStateListener? - open var verificationStateListenerListenerReceivedInvocations: [VerificationStateListener] = [] + private let verificationStateListenerListenerReceivedListenerLock = NSLock() + private var verificationStateListenerListenerUnderlyingReceivedListener: VerificationStateListener? + open var verificationStateListenerListenerReceivedListener: VerificationStateListener? { + get { verificationStateListenerListenerReceivedListenerLock.withLock { verificationStateListenerListenerUnderlyingReceivedListener } } + set { verificationStateListenerListenerReceivedListenerLock.withLock { verificationStateListenerListenerUnderlyingReceivedListener = newValue } } + } + private let verificationStateListenerListenerReceivedInvocationsLock = NSLock() + private var verificationStateListenerListenerUnderlyingReceivedInvocations: [VerificationStateListener] = [] + open var verificationStateListenerListenerReceivedInvocations: [VerificationStateListener] { + get { verificationStateListenerListenerReceivedInvocationsLock.withLock { verificationStateListenerListenerUnderlyingReceivedInvocations } } + set { verificationStateListenerListenerReceivedInvocationsLock.withLock { verificationStateListenerListenerUnderlyingReceivedInvocations = newValue } } + } + private let verificationStateListenerListenerReturnValueLock = NSLock() open var verificationStateListenerListenerUnderlyingReturnValue: TaskHandle! open var verificationStateListenerListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return verificationStateListenerListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = verificationStateListenerListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - verificationStateListenerListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - verificationStateListenerListenerUnderlyingReturnValue = newValue - } - } - } + get { verificationStateListenerListenerReturnValueLock.withLock { verificationStateListenerListenerUnderlyingReturnValue } } + set { verificationStateListenerListenerReturnValueLock.withLock { verificationStateListenerListenerUnderlyingReturnValue = newValue } } } open var verificationStateListenerListenerClosure: ((VerificationStateListener) -> TaskHandle)? open override func verificationStateListener(listener: VerificationStateListener) -> TaskHandle { - verificationStateListenerListenerCallsCount += 1 + verificationStateListenerListenerCallsCountLock.withLock { verificationStateListenerListenerUnderlyingCallsCount += 1 } verificationStateListenerListenerReceivedListener = listener - DispatchQueue.main.async { - self.verificationStateListenerListenerReceivedInvocations.append(listener) - } + verificationStateListenerListenerReceivedInvocationsLock.withLock { verificationStateListenerListenerUnderlyingReceivedInvocations.append(listener) } if let verificationStateListenerListenerClosure = verificationStateListenerListenerClosure { return verificationStateListenerListenerClosure(listener) } else { @@ -10258,74 +6042,46 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { //MARK: - waitForBackupUploadSteadyState open var waitForBackupUploadSteadyStateProgressListenerThrowableError: Error? - open var waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount = 0 + private let waitForBackupUploadSteadyStateProgressListenerCallsCountLock = NSLock() + private var waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount = 0 open var waitForBackupUploadSteadyStateProgressListenerCallsCount: Int { - get { - if Thread.isMainThread { - return waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount = newValue - } - } - } + get { waitForBackupUploadSteadyStateProgressListenerCallsCountLock.withLock { waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount } } + set { waitForBackupUploadSteadyStateProgressListenerCallsCountLock.withLock { waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount = newValue } } } open var waitForBackupUploadSteadyStateProgressListenerCalled: Bool { return waitForBackupUploadSteadyStateProgressListenerCallsCount > 0 } - open var waitForBackupUploadSteadyStateProgressListenerReceivedProgressListener: BackupSteadyStateListener? - open var waitForBackupUploadSteadyStateProgressListenerReceivedInvocations: [BackupSteadyStateListener?] = [] + private let waitForBackupUploadSteadyStateProgressListenerReceivedProgressListenerLock = NSLock() + private var waitForBackupUploadSteadyStateProgressListenerUnderlyingReceivedProgressListener: BackupSteadyStateListener? + open var waitForBackupUploadSteadyStateProgressListenerReceivedProgressListener: BackupSteadyStateListener? { + get { waitForBackupUploadSteadyStateProgressListenerReceivedProgressListenerLock.withLock { waitForBackupUploadSteadyStateProgressListenerUnderlyingReceivedProgressListener } } + set { waitForBackupUploadSteadyStateProgressListenerReceivedProgressListenerLock.withLock { waitForBackupUploadSteadyStateProgressListenerUnderlyingReceivedProgressListener = newValue } } + } + private let waitForBackupUploadSteadyStateProgressListenerReceivedInvocationsLock = NSLock() + private var waitForBackupUploadSteadyStateProgressListenerUnderlyingReceivedInvocations: [BackupSteadyStateListener?] = [] + open var waitForBackupUploadSteadyStateProgressListenerReceivedInvocations: [BackupSteadyStateListener?] { + get { waitForBackupUploadSteadyStateProgressListenerReceivedInvocationsLock.withLock { waitForBackupUploadSteadyStateProgressListenerUnderlyingReceivedInvocations } } + set { waitForBackupUploadSteadyStateProgressListenerReceivedInvocationsLock.withLock { waitForBackupUploadSteadyStateProgressListenerUnderlyingReceivedInvocations = newValue } } + } open var waitForBackupUploadSteadyStateProgressListenerClosure: ((BackupSteadyStateListener?) async throws -> Void)? open override func waitForBackupUploadSteadyState(progressListener: BackupSteadyStateListener?) async throws { if let error = waitForBackupUploadSteadyStateProgressListenerThrowableError { throw error } - waitForBackupUploadSteadyStateProgressListenerCallsCount += 1 + waitForBackupUploadSteadyStateProgressListenerCallsCountLock.withLock { waitForBackupUploadSteadyStateProgressListenerUnderlyingCallsCount += 1 } waitForBackupUploadSteadyStateProgressListenerReceivedProgressListener = progressListener - DispatchQueue.main.async { - self.waitForBackupUploadSteadyStateProgressListenerReceivedInvocations.append(progressListener) - } + waitForBackupUploadSteadyStateProgressListenerReceivedInvocationsLock.withLock { waitForBackupUploadSteadyStateProgressListenerUnderlyingReceivedInvocations.append(progressListener) } try await waitForBackupUploadSteadyStateProgressListenerClosure?(progressListener) } //MARK: - waitForE2eeInitializationTasks - open var waitForE2eeInitializationTasksUnderlyingCallsCount = 0 + private let waitForE2eeInitializationTasksCallsCountLock = NSLock() + private var waitForE2eeInitializationTasksUnderlyingCallsCount = 0 open var waitForE2eeInitializationTasksCallsCount: Int { - get { - if Thread.isMainThread { - return waitForE2eeInitializationTasksUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = waitForE2eeInitializationTasksUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - waitForE2eeInitializationTasksUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - waitForE2eeInitializationTasksUnderlyingCallsCount = newValue - } - } - } + get { waitForE2eeInitializationTasksCallsCountLock.withLock { waitForE2eeInitializationTasksUnderlyingCallsCount } } + set { waitForE2eeInitializationTasksCallsCountLock.withLock { waitForE2eeInitializationTasksUnderlyingCallsCount = newValue } } } open var waitForE2eeInitializationTasksCalled: Bool { return waitForE2eeInitializationTasksCallsCount > 0 @@ -10333,7 +6089,7 @@ open class EncryptionSDKMock: MatrixRustSDK.Encryption, @unchecked Sendable { open var waitForE2eeInitializationTasksClosure: (() async -> Void)? open override func waitForE2eeInitializationTasks() async { - waitForE2eeInitializationTasksCallsCount += 1 + waitForE2eeInitializationTasksCallsCountLock.withLock { waitForE2eeInitializationTasksUnderlyingCallsCount += 1 } await waitForE2eeInitializationTasksClosure?() } } @@ -10355,57 +6111,21 @@ open class GlobalSearchIteratorSDKMock: MatrixRustSDK.GlobalSearchIterator, @unc //MARK: - nextEvents open var nextEventsThrowableError: Error? - open var nextEventsUnderlyingCallsCount = 0 + private let nextEventsCallsCountLock = NSLock() + private var nextEventsUnderlyingCallsCount = 0 open var nextEventsCallsCount: Int { - get { - if Thread.isMainThread { - return nextEventsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = nextEventsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextEventsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - nextEventsUnderlyingCallsCount = newValue - } - } - } + get { nextEventsCallsCountLock.withLock { nextEventsUnderlyingCallsCount } } + set { nextEventsCallsCountLock.withLock { nextEventsUnderlyingCallsCount = newValue } } } open var nextEventsCalled: Bool { return nextEventsCallsCount > 0 } + private let nextEventsReturnValueLock = NSLock() open var nextEventsUnderlyingReturnValue: [GlobalSearchResult]? open var nextEventsReturnValue: [GlobalSearchResult]? { - get { - if Thread.isMainThread { - return nextEventsUnderlyingReturnValue - } else { - var returnValue: [GlobalSearchResult]?? = nil - DispatchQueue.main.sync { - returnValue = nextEventsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextEventsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - nextEventsUnderlyingReturnValue = newValue - } - } - } + get { nextEventsReturnValueLock.withLock { nextEventsUnderlyingReturnValue } } + set { nextEventsReturnValueLock.withLock { nextEventsUnderlyingReturnValue = newValue } } } open var nextEventsClosure: (() async throws -> [GlobalSearchResult]?)? @@ -10413,7 +6133,7 @@ open class GlobalSearchIteratorSDKMock: MatrixRustSDK.GlobalSearchIterator, @unc if let error = nextEventsThrowableError { throw error } - nextEventsCallsCount += 1 + nextEventsCallsCountLock.withLock { nextEventsUnderlyingCallsCount += 1 } if let nextEventsClosure = nextEventsClosure { return try await nextEventsClosure() } else { @@ -10439,92 +6159,72 @@ open class GrantLoginWithQrCodeHandlerSDKMock: MatrixRustSDK.GrantLoginWithQrCod //MARK: - generate open var generateProgressListenerThrowableError: Error? - open var generateProgressListenerUnderlyingCallsCount = 0 + private let generateProgressListenerCallsCountLock = NSLock() + private var generateProgressListenerUnderlyingCallsCount = 0 open var generateProgressListenerCallsCount: Int { - get { - if Thread.isMainThread { - return generateProgressListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = generateProgressListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - generateProgressListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - generateProgressListenerUnderlyingCallsCount = newValue - } - } - } + get { generateProgressListenerCallsCountLock.withLock { generateProgressListenerUnderlyingCallsCount } } + set { generateProgressListenerCallsCountLock.withLock { generateProgressListenerUnderlyingCallsCount = newValue } } } open var generateProgressListenerCalled: Bool { return generateProgressListenerCallsCount > 0 } - open var generateProgressListenerReceivedProgressListener: GrantGeneratedQrLoginProgressListener? - open var generateProgressListenerReceivedInvocations: [GrantGeneratedQrLoginProgressListener] = [] + private let generateProgressListenerReceivedProgressListenerLock = NSLock() + private var generateProgressListenerUnderlyingReceivedProgressListener: GrantGeneratedQrLoginProgressListener? + open var generateProgressListenerReceivedProgressListener: GrantGeneratedQrLoginProgressListener? { + get { generateProgressListenerReceivedProgressListenerLock.withLock { generateProgressListenerUnderlyingReceivedProgressListener } } + set { generateProgressListenerReceivedProgressListenerLock.withLock { generateProgressListenerUnderlyingReceivedProgressListener = newValue } } + } + private let generateProgressListenerReceivedInvocationsLock = NSLock() + private var generateProgressListenerUnderlyingReceivedInvocations: [GrantGeneratedQrLoginProgressListener] = [] + open var generateProgressListenerReceivedInvocations: [GrantGeneratedQrLoginProgressListener] { + get { generateProgressListenerReceivedInvocationsLock.withLock { generateProgressListenerUnderlyingReceivedInvocations } } + set { generateProgressListenerReceivedInvocationsLock.withLock { generateProgressListenerUnderlyingReceivedInvocations = newValue } } + } open var generateProgressListenerClosure: ((GrantGeneratedQrLoginProgressListener) async throws -> Void)? open override func generate(progressListener: GrantGeneratedQrLoginProgressListener) async throws { if let error = generateProgressListenerThrowableError { throw error } - generateProgressListenerCallsCount += 1 + generateProgressListenerCallsCountLock.withLock { generateProgressListenerUnderlyingCallsCount += 1 } generateProgressListenerReceivedProgressListener = progressListener - DispatchQueue.main.async { - self.generateProgressListenerReceivedInvocations.append(progressListener) - } + generateProgressListenerReceivedInvocationsLock.withLock { generateProgressListenerUnderlyingReceivedInvocations.append(progressListener) } try await generateProgressListenerClosure?(progressListener) } //MARK: - scan open var scanQrCodeDataProgressListenerThrowableError: Error? - open var scanQrCodeDataProgressListenerUnderlyingCallsCount = 0 + private let scanQrCodeDataProgressListenerCallsCountLock = NSLock() + private var scanQrCodeDataProgressListenerUnderlyingCallsCount = 0 open var scanQrCodeDataProgressListenerCallsCount: Int { - get { - if Thread.isMainThread { - return scanQrCodeDataProgressListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = scanQrCodeDataProgressListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - scanQrCodeDataProgressListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - scanQrCodeDataProgressListenerUnderlyingCallsCount = newValue - } - } - } + get { scanQrCodeDataProgressListenerCallsCountLock.withLock { scanQrCodeDataProgressListenerUnderlyingCallsCount } } + set { scanQrCodeDataProgressListenerCallsCountLock.withLock { scanQrCodeDataProgressListenerUnderlyingCallsCount = newValue } } } open var scanQrCodeDataProgressListenerCalled: Bool { return scanQrCodeDataProgressListenerCallsCount > 0 } - open var scanQrCodeDataProgressListenerReceivedArguments: (qrCodeData: QrCodeData, progressListener: GrantQrLoginProgressListener)? - open var scanQrCodeDataProgressListenerReceivedInvocations: [(qrCodeData: QrCodeData, progressListener: GrantQrLoginProgressListener)] = [] + private let scanQrCodeDataProgressListenerReceivedArgumentsLock = NSLock() + private var scanQrCodeDataProgressListenerUnderlyingReceivedArguments: (qrCodeData: QrCodeData, progressListener: GrantQrLoginProgressListener)? + open var scanQrCodeDataProgressListenerReceivedArguments: (qrCodeData: QrCodeData, progressListener: GrantQrLoginProgressListener)? { + get { scanQrCodeDataProgressListenerReceivedArgumentsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedArguments } } + set { scanQrCodeDataProgressListenerReceivedArgumentsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedArguments = newValue } } + } + private let scanQrCodeDataProgressListenerReceivedInvocationsLock = NSLock() + private var scanQrCodeDataProgressListenerUnderlyingReceivedInvocations: [(qrCodeData: QrCodeData, progressListener: GrantQrLoginProgressListener)] = [] + open var scanQrCodeDataProgressListenerReceivedInvocations: [(qrCodeData: QrCodeData, progressListener: GrantQrLoginProgressListener)] { + get { scanQrCodeDataProgressListenerReceivedInvocationsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedInvocations } } + set { scanQrCodeDataProgressListenerReceivedInvocationsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedInvocations = newValue } } + } open var scanQrCodeDataProgressListenerClosure: ((QrCodeData, GrantQrLoginProgressListener) async throws -> Void)? open override func scan(qrCodeData: QrCodeData, progressListener: GrantQrLoginProgressListener) async throws { if let error = scanQrCodeDataProgressListenerThrowableError { throw error } - scanQrCodeDataProgressListenerCallsCount += 1 + scanQrCodeDataProgressListenerCallsCountLock.withLock { scanQrCodeDataProgressListenerUnderlyingCallsCount += 1 } scanQrCodeDataProgressListenerReceivedArguments = (qrCodeData: qrCodeData, progressListener: progressListener) - DispatchQueue.main.async { - self.scanQrCodeDataProgressListenerReceivedInvocations.append((qrCodeData: qrCodeData, progressListener: progressListener)) - } + scanQrCodeDataProgressListenerReceivedInvocationsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedInvocations.append((qrCodeData: qrCodeData, progressListener: progressListener)) } try await scanQrCodeDataProgressListenerClosure?(qrCodeData, progressListener) } } @@ -10546,57 +6246,21 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, //MARK: - canChangeAvatar open var canChangeAvatarThrowableError: Error? - open var canChangeAvatarUnderlyingCallsCount = 0 + private let canChangeAvatarCallsCountLock = NSLock() + private var canChangeAvatarUnderlyingCallsCount = 0 open var canChangeAvatarCallsCount: Int { - get { - if Thread.isMainThread { - return canChangeAvatarUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canChangeAvatarUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeAvatarUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canChangeAvatarUnderlyingCallsCount = newValue - } - } - } + get { canChangeAvatarCallsCountLock.withLock { canChangeAvatarUnderlyingCallsCount } } + set { canChangeAvatarCallsCountLock.withLock { canChangeAvatarUnderlyingCallsCount = newValue } } } open var canChangeAvatarCalled: Bool { return canChangeAvatarCallsCount > 0 } + private let canChangeAvatarReturnValueLock = NSLock() open var canChangeAvatarUnderlyingReturnValue: Bool! open var canChangeAvatarReturnValue: Bool! { - get { - if Thread.isMainThread { - return canChangeAvatarUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canChangeAvatarUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeAvatarUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canChangeAvatarUnderlyingReturnValue = newValue - } - } - } + get { canChangeAvatarReturnValueLock.withLock { canChangeAvatarUnderlyingReturnValue } } + set { canChangeAvatarReturnValueLock.withLock { canChangeAvatarUnderlyingReturnValue = newValue } } } open var canChangeAvatarClosure: (() async throws -> Bool)? @@ -10604,7 +6268,7 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, if let error = canChangeAvatarThrowableError { throw error } - canChangeAvatarCallsCount += 1 + canChangeAvatarCallsCountLock.withLock { canChangeAvatarUnderlyingCallsCount += 1 } if let canChangeAvatarClosure = canChangeAvatarClosure { return try await canChangeAvatarClosure() } else { @@ -10615,57 +6279,21 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, //MARK: - canChangeDisplayname open var canChangeDisplaynameThrowableError: Error? - open var canChangeDisplaynameUnderlyingCallsCount = 0 + private let canChangeDisplaynameCallsCountLock = NSLock() + private var canChangeDisplaynameUnderlyingCallsCount = 0 open var canChangeDisplaynameCallsCount: Int { - get { - if Thread.isMainThread { - return canChangeDisplaynameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canChangeDisplaynameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeDisplaynameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canChangeDisplaynameUnderlyingCallsCount = newValue - } - } - } + get { canChangeDisplaynameCallsCountLock.withLock { canChangeDisplaynameUnderlyingCallsCount } } + set { canChangeDisplaynameCallsCountLock.withLock { canChangeDisplaynameUnderlyingCallsCount = newValue } } } open var canChangeDisplaynameCalled: Bool { return canChangeDisplaynameCallsCount > 0 } + private let canChangeDisplaynameReturnValueLock = NSLock() open var canChangeDisplaynameUnderlyingReturnValue: Bool! open var canChangeDisplaynameReturnValue: Bool! { - get { - if Thread.isMainThread { - return canChangeDisplaynameUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canChangeDisplaynameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeDisplaynameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canChangeDisplaynameUnderlyingReturnValue = newValue - } - } - } + get { canChangeDisplaynameReturnValueLock.withLock { canChangeDisplaynameUnderlyingReturnValue } } + set { canChangeDisplaynameReturnValueLock.withLock { canChangeDisplaynameUnderlyingReturnValue = newValue } } } open var canChangeDisplaynameClosure: (() async throws -> Bool)? @@ -10673,7 +6301,7 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, if let error = canChangeDisplaynameThrowableError { throw error } - canChangeDisplaynameCallsCount += 1 + canChangeDisplaynameCallsCountLock.withLock { canChangeDisplaynameUnderlyingCallsCount += 1 } if let canChangeDisplaynameClosure = canChangeDisplaynameClosure { return try await canChangeDisplaynameClosure() } else { @@ -10684,57 +6312,21 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, //MARK: - canChangePassword open var canChangePasswordThrowableError: Error? - open var canChangePasswordUnderlyingCallsCount = 0 + private let canChangePasswordCallsCountLock = NSLock() + private var canChangePasswordUnderlyingCallsCount = 0 open var canChangePasswordCallsCount: Int { - get { - if Thread.isMainThread { - return canChangePasswordUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canChangePasswordUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangePasswordUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canChangePasswordUnderlyingCallsCount = newValue - } - } - } + get { canChangePasswordCallsCountLock.withLock { canChangePasswordUnderlyingCallsCount } } + set { canChangePasswordCallsCountLock.withLock { canChangePasswordUnderlyingCallsCount = newValue } } } open var canChangePasswordCalled: Bool { return canChangePasswordCallsCount > 0 } + private let canChangePasswordReturnValueLock = NSLock() open var canChangePasswordUnderlyingReturnValue: Bool! open var canChangePasswordReturnValue: Bool! { - get { - if Thread.isMainThread { - return canChangePasswordUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canChangePasswordUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangePasswordUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canChangePasswordUnderlyingReturnValue = newValue - } - } - } + get { canChangePasswordReturnValueLock.withLock { canChangePasswordUnderlyingReturnValue } } + set { canChangePasswordReturnValueLock.withLock { canChangePasswordUnderlyingReturnValue = newValue } } } open var canChangePasswordClosure: (() async throws -> Bool)? @@ -10742,7 +6334,7 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, if let error = canChangePasswordThrowableError { throw error } - canChangePasswordCallsCount += 1 + canChangePasswordCallsCountLock.withLock { canChangePasswordUnderlyingCallsCount += 1 } if let canChangePasswordClosure = canChangePasswordClosure { return try await canChangePasswordClosure() } else { @@ -10753,57 +6345,21 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, //MARK: - canChangeThirdpartyIds open var canChangeThirdpartyIdsThrowableError: Error? - open var canChangeThirdpartyIdsUnderlyingCallsCount = 0 + private let canChangeThirdpartyIdsCallsCountLock = NSLock() + private var canChangeThirdpartyIdsUnderlyingCallsCount = 0 open var canChangeThirdpartyIdsCallsCount: Int { - get { - if Thread.isMainThread { - return canChangeThirdpartyIdsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canChangeThirdpartyIdsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeThirdpartyIdsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canChangeThirdpartyIdsUnderlyingCallsCount = newValue - } - } - } + get { canChangeThirdpartyIdsCallsCountLock.withLock { canChangeThirdpartyIdsUnderlyingCallsCount } } + set { canChangeThirdpartyIdsCallsCountLock.withLock { canChangeThirdpartyIdsUnderlyingCallsCount = newValue } } } open var canChangeThirdpartyIdsCalled: Bool { return canChangeThirdpartyIdsCallsCount > 0 } + private let canChangeThirdpartyIdsReturnValueLock = NSLock() open var canChangeThirdpartyIdsUnderlyingReturnValue: Bool! open var canChangeThirdpartyIdsReturnValue: Bool! { - get { - if Thread.isMainThread { - return canChangeThirdpartyIdsUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canChangeThirdpartyIdsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canChangeThirdpartyIdsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canChangeThirdpartyIdsUnderlyingReturnValue = newValue - } - } - } + get { canChangeThirdpartyIdsReturnValueLock.withLock { canChangeThirdpartyIdsUnderlyingReturnValue } } + set { canChangeThirdpartyIdsReturnValueLock.withLock { canChangeThirdpartyIdsUnderlyingReturnValue = newValue } } } open var canChangeThirdpartyIdsClosure: (() async throws -> Bool)? @@ -10811,7 +6367,7 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, if let error = canChangeThirdpartyIdsThrowableError { throw error } - canChangeThirdpartyIdsCallsCount += 1 + canChangeThirdpartyIdsCallsCountLock.withLock { canChangeThirdpartyIdsUnderlyingCallsCount += 1 } if let canChangeThirdpartyIdsClosure = canChangeThirdpartyIdsClosure { return try await canChangeThirdpartyIdsClosure() } else { @@ -10822,57 +6378,21 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, //MARK: - canGetLoginToken open var canGetLoginTokenThrowableError: Error? - open var canGetLoginTokenUnderlyingCallsCount = 0 + private let canGetLoginTokenCallsCountLock = NSLock() + private var canGetLoginTokenUnderlyingCallsCount = 0 open var canGetLoginTokenCallsCount: Int { - get { - if Thread.isMainThread { - return canGetLoginTokenUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canGetLoginTokenUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canGetLoginTokenUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canGetLoginTokenUnderlyingCallsCount = newValue - } - } - } + get { canGetLoginTokenCallsCountLock.withLock { canGetLoginTokenUnderlyingCallsCount } } + set { canGetLoginTokenCallsCountLock.withLock { canGetLoginTokenUnderlyingCallsCount = newValue } } } open var canGetLoginTokenCalled: Bool { return canGetLoginTokenCallsCount > 0 } + private let canGetLoginTokenReturnValueLock = NSLock() open var canGetLoginTokenUnderlyingReturnValue: Bool! open var canGetLoginTokenReturnValue: Bool! { - get { - if Thread.isMainThread { - return canGetLoginTokenUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canGetLoginTokenUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canGetLoginTokenUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canGetLoginTokenUnderlyingReturnValue = newValue - } - } - } + get { canGetLoginTokenReturnValueLock.withLock { canGetLoginTokenUnderlyingReturnValue } } + set { canGetLoginTokenReturnValueLock.withLock { canGetLoginTokenUnderlyingReturnValue = newValue } } } open var canGetLoginTokenClosure: (() async throws -> Bool)? @@ -10880,7 +6400,7 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, if let error = canGetLoginTokenThrowableError { throw error } - canGetLoginTokenCallsCount += 1 + canGetLoginTokenCallsCountLock.withLock { canGetLoginTokenUnderlyingCallsCount += 1 } if let canGetLoginTokenClosure = canGetLoginTokenClosure { return try await canGetLoginTokenClosure() } else { @@ -10891,57 +6411,21 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, //MARK: - extendedProfileFields open var extendedProfileFieldsThrowableError: Error? - open var extendedProfileFieldsUnderlyingCallsCount = 0 + private let extendedProfileFieldsCallsCountLock = NSLock() + private var extendedProfileFieldsUnderlyingCallsCount = 0 open var extendedProfileFieldsCallsCount: Int { - get { - if Thread.isMainThread { - return extendedProfileFieldsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = extendedProfileFieldsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - extendedProfileFieldsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - extendedProfileFieldsUnderlyingCallsCount = newValue - } - } - } + get { extendedProfileFieldsCallsCountLock.withLock { extendedProfileFieldsUnderlyingCallsCount } } + set { extendedProfileFieldsCallsCountLock.withLock { extendedProfileFieldsUnderlyingCallsCount = newValue } } } open var extendedProfileFieldsCalled: Bool { return extendedProfileFieldsCallsCount > 0 } + private let extendedProfileFieldsReturnValueLock = NSLock() open var extendedProfileFieldsUnderlyingReturnValue: ExtendedProfileFields! open var extendedProfileFieldsReturnValue: ExtendedProfileFields! { - get { - if Thread.isMainThread { - return extendedProfileFieldsUnderlyingReturnValue - } else { - var returnValue: ExtendedProfileFields? = nil - DispatchQueue.main.sync { - returnValue = extendedProfileFieldsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - extendedProfileFieldsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - extendedProfileFieldsUnderlyingReturnValue = newValue - } - } - } + get { extendedProfileFieldsReturnValueLock.withLock { extendedProfileFieldsUnderlyingReturnValue } } + set { extendedProfileFieldsReturnValueLock.withLock { extendedProfileFieldsUnderlyingReturnValue = newValue } } } open var extendedProfileFieldsClosure: (() async throws -> ExtendedProfileFields)? @@ -10949,7 +6433,7 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, if let error = extendedProfileFieldsThrowableError { throw error } - extendedProfileFieldsCallsCount += 1 + extendedProfileFieldsCallsCountLock.withLock { extendedProfileFieldsUnderlyingCallsCount += 1 } if let extendedProfileFieldsClosure = extendedProfileFieldsClosure { return try await extendedProfileFieldsClosure() } else { @@ -10960,57 +6444,21 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, //MARK: - forgetsRoomWhenLeaving open var forgetsRoomWhenLeavingThrowableError: Error? - open var forgetsRoomWhenLeavingUnderlyingCallsCount = 0 + private let forgetsRoomWhenLeavingCallsCountLock = NSLock() + private var forgetsRoomWhenLeavingUnderlyingCallsCount = 0 open var forgetsRoomWhenLeavingCallsCount: Int { - get { - if Thread.isMainThread { - return forgetsRoomWhenLeavingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = forgetsRoomWhenLeavingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - forgetsRoomWhenLeavingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - forgetsRoomWhenLeavingUnderlyingCallsCount = newValue - } - } - } + get { forgetsRoomWhenLeavingCallsCountLock.withLock { forgetsRoomWhenLeavingUnderlyingCallsCount } } + set { forgetsRoomWhenLeavingCallsCountLock.withLock { forgetsRoomWhenLeavingUnderlyingCallsCount = newValue } } } open var forgetsRoomWhenLeavingCalled: Bool { return forgetsRoomWhenLeavingCallsCount > 0 } + private let forgetsRoomWhenLeavingReturnValueLock = NSLock() open var forgetsRoomWhenLeavingUnderlyingReturnValue: Bool! open var forgetsRoomWhenLeavingReturnValue: Bool! { - get { - if Thread.isMainThread { - return forgetsRoomWhenLeavingUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = forgetsRoomWhenLeavingUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - forgetsRoomWhenLeavingUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - forgetsRoomWhenLeavingUnderlyingReturnValue = newValue - } - } - } + get { forgetsRoomWhenLeavingReturnValueLock.withLock { forgetsRoomWhenLeavingUnderlyingReturnValue } } + set { forgetsRoomWhenLeavingReturnValueLock.withLock { forgetsRoomWhenLeavingUnderlyingReturnValue = newValue } } } open var forgetsRoomWhenLeavingClosure: (() async throws -> Bool)? @@ -11018,7 +6466,7 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, if let error = forgetsRoomWhenLeavingThrowableError { throw error } - forgetsRoomWhenLeavingCallsCount += 1 + forgetsRoomWhenLeavingCallsCountLock.withLock { forgetsRoomWhenLeavingUnderlyingCallsCount += 1 } if let forgetsRoomWhenLeavingClosure = forgetsRoomWhenLeavingClosure { return try await forgetsRoomWhenLeavingClosure() } else { @@ -11029,29 +6477,11 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, //MARK: - refresh open var refreshThrowableError: Error? - open var refreshUnderlyingCallsCount = 0 + private let refreshCallsCountLock = NSLock() + private var refreshUnderlyingCallsCount = 0 open var refreshCallsCount: Int { - get { - if Thread.isMainThread { - return refreshUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = refreshUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - refreshUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - refreshUnderlyingCallsCount = newValue - } - } - } + get { refreshCallsCountLock.withLock { refreshUnderlyingCallsCount } } + set { refreshCallsCountLock.withLock { refreshUnderlyingCallsCount = newValue } } } open var refreshCalled: Bool { return refreshCallsCount > 0 @@ -11062,7 +6492,7 @@ open class HomeserverCapabilitiesSDKMock: MatrixRustSDK.HomeserverCapabilities, if let error = refreshThrowableError { throw error } - refreshCallsCount += 1 + refreshCallsCountLock.withLock { refreshUnderlyingCallsCount += 1 } try await refreshClosure?() } } @@ -11083,62 +6513,26 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, //MARK: - slidingSyncVersion - open var slidingSyncVersionUnderlyingCallsCount = 0 + private let slidingSyncVersionCallsCountLock = NSLock() + private var slidingSyncVersionUnderlyingCallsCount = 0 open var slidingSyncVersionCallsCount: Int { - get { - if Thread.isMainThread { - return slidingSyncVersionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = slidingSyncVersionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - slidingSyncVersionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - slidingSyncVersionUnderlyingCallsCount = newValue - } - } - } + get { slidingSyncVersionCallsCountLock.withLock { slidingSyncVersionUnderlyingCallsCount } } + set { slidingSyncVersionCallsCountLock.withLock { slidingSyncVersionUnderlyingCallsCount = newValue } } } open var slidingSyncVersionCalled: Bool { return slidingSyncVersionCallsCount > 0 } + private let slidingSyncVersionReturnValueLock = NSLock() open var slidingSyncVersionUnderlyingReturnValue: SlidingSyncVersion! open var slidingSyncVersionReturnValue: SlidingSyncVersion! { - get { - if Thread.isMainThread { - return slidingSyncVersionUnderlyingReturnValue - } else { - var returnValue: SlidingSyncVersion? = nil - DispatchQueue.main.sync { - returnValue = slidingSyncVersionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - slidingSyncVersionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - slidingSyncVersionUnderlyingReturnValue = newValue - } - } - } + get { slidingSyncVersionReturnValueLock.withLock { slidingSyncVersionUnderlyingReturnValue } } + set { slidingSyncVersionReturnValueLock.withLock { slidingSyncVersionUnderlyingReturnValue = newValue } } } open var slidingSyncVersionClosure: (() -> SlidingSyncVersion)? open override func slidingSyncVersion() -> SlidingSyncVersion { - slidingSyncVersionCallsCount += 1 + slidingSyncVersionCallsCountLock.withLock { slidingSyncVersionUnderlyingCallsCount += 1 } if let slidingSyncVersionClosure = slidingSyncVersionClosure { return slidingSyncVersionClosure() } else { @@ -11148,62 +6542,26 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, //MARK: - supportedOauthPrompts - open var supportedOauthPromptsUnderlyingCallsCount = 0 + private let supportedOauthPromptsCallsCountLock = NSLock() + private var supportedOauthPromptsUnderlyingCallsCount = 0 open var supportedOauthPromptsCallsCount: Int { - get { - if Thread.isMainThread { - return supportedOauthPromptsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = supportedOauthPromptsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - supportedOauthPromptsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - supportedOauthPromptsUnderlyingCallsCount = newValue - } - } - } + get { supportedOauthPromptsCallsCountLock.withLock { supportedOauthPromptsUnderlyingCallsCount } } + set { supportedOauthPromptsCallsCountLock.withLock { supportedOauthPromptsUnderlyingCallsCount = newValue } } } open var supportedOauthPromptsCalled: Bool { return supportedOauthPromptsCallsCount > 0 } + private let supportedOauthPromptsReturnValueLock = NSLock() open var supportedOauthPromptsUnderlyingReturnValue: [OAuthPrompt]! open var supportedOauthPromptsReturnValue: [OAuthPrompt]! { - get { - if Thread.isMainThread { - return supportedOauthPromptsUnderlyingReturnValue - } else { - var returnValue: [OAuthPrompt]? = nil - DispatchQueue.main.sync { - returnValue = supportedOauthPromptsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - supportedOauthPromptsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - supportedOauthPromptsUnderlyingReturnValue = newValue - } - } - } + get { supportedOauthPromptsReturnValueLock.withLock { supportedOauthPromptsUnderlyingReturnValue } } + set { supportedOauthPromptsReturnValueLock.withLock { supportedOauthPromptsUnderlyingReturnValue = newValue } } } open var supportedOauthPromptsClosure: (() -> [OAuthPrompt])? open override func supportedOauthPrompts() -> [OAuthPrompt] { - supportedOauthPromptsCallsCount += 1 + supportedOauthPromptsCallsCountLock.withLock { supportedOauthPromptsUnderlyingCallsCount += 1 } if let supportedOauthPromptsClosure = supportedOauthPromptsClosure { return supportedOauthPromptsClosure() } else { @@ -11213,62 +6571,26 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, //MARK: - supportsOauthLogin - open var supportsOauthLoginUnderlyingCallsCount = 0 + private let supportsOauthLoginCallsCountLock = NSLock() + private var supportsOauthLoginUnderlyingCallsCount = 0 open var supportsOauthLoginCallsCount: Int { - get { - if Thread.isMainThread { - return supportsOauthLoginUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = supportsOauthLoginUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - supportsOauthLoginUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - supportsOauthLoginUnderlyingCallsCount = newValue - } - } - } + get { supportsOauthLoginCallsCountLock.withLock { supportsOauthLoginUnderlyingCallsCount } } + set { supportsOauthLoginCallsCountLock.withLock { supportsOauthLoginUnderlyingCallsCount = newValue } } } open var supportsOauthLoginCalled: Bool { return supportsOauthLoginCallsCount > 0 } + private let supportsOauthLoginReturnValueLock = NSLock() open var supportsOauthLoginUnderlyingReturnValue: Bool! open var supportsOauthLoginReturnValue: Bool! { - get { - if Thread.isMainThread { - return supportsOauthLoginUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = supportsOauthLoginUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - supportsOauthLoginUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - supportsOauthLoginUnderlyingReturnValue = newValue - } - } - } + get { supportsOauthLoginReturnValueLock.withLock { supportsOauthLoginUnderlyingReturnValue } } + set { supportsOauthLoginReturnValueLock.withLock { supportsOauthLoginUnderlyingReturnValue = newValue } } } open var supportsOauthLoginClosure: (() -> Bool)? open override func supportsOauthLogin() -> Bool { - supportsOauthLoginCallsCount += 1 + supportsOauthLoginCallsCountLock.withLock { supportsOauthLoginUnderlyingCallsCount += 1 } if let supportsOauthLoginClosure = supportsOauthLoginClosure { return supportsOauthLoginClosure() } else { @@ -11278,62 +6600,26 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, //MARK: - supportsPasswordLogin - open var supportsPasswordLoginUnderlyingCallsCount = 0 + private let supportsPasswordLoginCallsCountLock = NSLock() + private var supportsPasswordLoginUnderlyingCallsCount = 0 open var supportsPasswordLoginCallsCount: Int { - get { - if Thread.isMainThread { - return supportsPasswordLoginUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = supportsPasswordLoginUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - supportsPasswordLoginUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - supportsPasswordLoginUnderlyingCallsCount = newValue - } - } - } + get { supportsPasswordLoginCallsCountLock.withLock { supportsPasswordLoginUnderlyingCallsCount } } + set { supportsPasswordLoginCallsCountLock.withLock { supportsPasswordLoginUnderlyingCallsCount = newValue } } } open var supportsPasswordLoginCalled: Bool { return supportsPasswordLoginCallsCount > 0 } + private let supportsPasswordLoginReturnValueLock = NSLock() open var supportsPasswordLoginUnderlyingReturnValue: Bool! open var supportsPasswordLoginReturnValue: Bool! { - get { - if Thread.isMainThread { - return supportsPasswordLoginUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = supportsPasswordLoginUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - supportsPasswordLoginUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - supportsPasswordLoginUnderlyingReturnValue = newValue - } - } - } + get { supportsPasswordLoginReturnValueLock.withLock { supportsPasswordLoginUnderlyingReturnValue } } + set { supportsPasswordLoginReturnValueLock.withLock { supportsPasswordLoginUnderlyingReturnValue = newValue } } } open var supportsPasswordLoginClosure: (() -> Bool)? open override func supportsPasswordLogin() -> Bool { - supportsPasswordLoginCallsCount += 1 + supportsPasswordLoginCallsCountLock.withLock { supportsPasswordLoginUnderlyingCallsCount += 1 } if let supportsPasswordLoginClosure = supportsPasswordLoginClosure { return supportsPasswordLoginClosure() } else { @@ -11343,62 +6629,26 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, //MARK: - supportsSsoLogin - open var supportsSsoLoginUnderlyingCallsCount = 0 + private let supportsSsoLoginCallsCountLock = NSLock() + private var supportsSsoLoginUnderlyingCallsCount = 0 open var supportsSsoLoginCallsCount: Int { - get { - if Thread.isMainThread { - return supportsSsoLoginUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = supportsSsoLoginUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - supportsSsoLoginUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - supportsSsoLoginUnderlyingCallsCount = newValue - } - } - } + get { supportsSsoLoginCallsCountLock.withLock { supportsSsoLoginUnderlyingCallsCount } } + set { supportsSsoLoginCallsCountLock.withLock { supportsSsoLoginUnderlyingCallsCount = newValue } } } open var supportsSsoLoginCalled: Bool { return supportsSsoLoginCallsCount > 0 } + private let supportsSsoLoginReturnValueLock = NSLock() open var supportsSsoLoginUnderlyingReturnValue: Bool! open var supportsSsoLoginReturnValue: Bool! { - get { - if Thread.isMainThread { - return supportsSsoLoginUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = supportsSsoLoginUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - supportsSsoLoginUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - supportsSsoLoginUnderlyingReturnValue = newValue - } - } - } + get { supportsSsoLoginReturnValueLock.withLock { supportsSsoLoginUnderlyingReturnValue } } + set { supportsSsoLoginReturnValueLock.withLock { supportsSsoLoginUnderlyingReturnValue = newValue } } } open var supportsSsoLoginClosure: (() -> Bool)? open override func supportsSsoLogin() -> Bool { - supportsSsoLoginCallsCount += 1 + supportsSsoLoginCallsCountLock.withLock { supportsSsoLoginUnderlyingCallsCount += 1 } if let supportsSsoLoginClosure = supportsSsoLoginClosure { return supportsSsoLoginClosure() } else { @@ -11408,62 +6658,26 @@ open class HomeserverLoginDetailsSDKMock: MatrixRustSDK.HomeserverLoginDetails, //MARK: - url - open var urlUnderlyingCallsCount = 0 + private let urlCallsCountLock = NSLock() + private var urlUnderlyingCallsCount = 0 open var urlCallsCount: Int { - get { - if Thread.isMainThread { - return urlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = urlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - urlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - urlUnderlyingCallsCount = newValue - } - } - } + get { urlCallsCountLock.withLock { urlUnderlyingCallsCount } } + set { urlCallsCountLock.withLock { urlUnderlyingCallsCount = newValue } } } open var urlCalled: Bool { return urlCallsCount > 0 } + private let urlReturnValueLock = NSLock() open var urlUnderlyingReturnValue: String! open var urlReturnValue: String! { - get { - if Thread.isMainThread { - return urlUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = urlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - urlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - urlUnderlyingReturnValue = newValue - } - } - } + get { urlReturnValueLock.withLock { urlUnderlyingReturnValue } } + set { urlReturnValueLock.withLock { urlUnderlyingReturnValue = newValue } } } open var urlClosure: (() -> String)? open override func url() -> String { - urlCallsCount += 1 + urlCallsCountLock.withLock { urlUnderlyingCallsCount += 1 } if let urlClosure = urlClosure { return urlClosure() } else { @@ -11488,62 +6702,26 @@ open class IdentityResetHandleSDKMock: MatrixRustSDK.IdentityResetHandle, @unche //MARK: - authType - open var authTypeUnderlyingCallsCount = 0 + private let authTypeCallsCountLock = NSLock() + private var authTypeUnderlyingCallsCount = 0 open var authTypeCallsCount: Int { - get { - if Thread.isMainThread { - return authTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = authTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - authTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - authTypeUnderlyingCallsCount = newValue - } - } - } + get { authTypeCallsCountLock.withLock { authTypeUnderlyingCallsCount } } + set { authTypeCallsCountLock.withLock { authTypeUnderlyingCallsCount = newValue } } } open var authTypeCalled: Bool { return authTypeCallsCount > 0 } + private let authTypeReturnValueLock = NSLock() open var authTypeUnderlyingReturnValue: CrossSigningResetAuthType! open var authTypeReturnValue: CrossSigningResetAuthType! { - get { - if Thread.isMainThread { - return authTypeUnderlyingReturnValue - } else { - var returnValue: CrossSigningResetAuthType? = nil - DispatchQueue.main.sync { - returnValue = authTypeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - authTypeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - authTypeUnderlyingReturnValue = newValue - } - } - } + get { authTypeReturnValueLock.withLock { authTypeUnderlyingReturnValue } } + set { authTypeReturnValueLock.withLock { authTypeUnderlyingReturnValue = newValue } } } open var authTypeClosure: (() -> CrossSigningResetAuthType)? open override func authType() -> CrossSigningResetAuthType { - authTypeCallsCount += 1 + authTypeCallsCountLock.withLock { authTypeUnderlyingCallsCount += 1 } if let authTypeClosure = authTypeClosure { return authTypeClosure() } else { @@ -11553,29 +6731,11 @@ open class IdentityResetHandleSDKMock: MatrixRustSDK.IdentityResetHandle, @unche //MARK: - cancel - open var cancelUnderlyingCallsCount = 0 + private let cancelCallsCountLock = NSLock() + private var cancelUnderlyingCallsCount = 0 open var cancelCallsCount: Int { - get { - if Thread.isMainThread { - return cancelUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cancelUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cancelUnderlyingCallsCount = newValue - } - } - } + get { cancelCallsCountLock.withLock { cancelUnderlyingCallsCount } } + set { cancelCallsCountLock.withLock { cancelUnderlyingCallsCount = newValue } } } open var cancelCalled: Bool { return cancelCallsCount > 0 @@ -11583,53 +6743,43 @@ open class IdentityResetHandleSDKMock: MatrixRustSDK.IdentityResetHandle, @unche open var cancelClosure: (() async -> Void)? open override func cancel() async { - cancelCallsCount += 1 + cancelCallsCountLock.withLock { cancelUnderlyingCallsCount += 1 } await cancelClosure?() } //MARK: - reset open var resetAuthThrowableError: Error? - open var resetAuthUnderlyingCallsCount = 0 + private let resetAuthCallsCountLock = NSLock() + private var resetAuthUnderlyingCallsCount = 0 open var resetAuthCallsCount: Int { - get { - if Thread.isMainThread { - return resetAuthUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetAuthUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetAuthUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetAuthUnderlyingCallsCount = newValue - } - } - } + get { resetAuthCallsCountLock.withLock { resetAuthUnderlyingCallsCount } } + set { resetAuthCallsCountLock.withLock { resetAuthUnderlyingCallsCount = newValue } } } open var resetAuthCalled: Bool { return resetAuthCallsCount > 0 } - open var resetAuthReceivedAuth: AuthData? - open var resetAuthReceivedInvocations: [AuthData?] = [] + private let resetAuthReceivedAuthLock = NSLock() + private var resetAuthUnderlyingReceivedAuth: AuthData? + open var resetAuthReceivedAuth: AuthData? { + get { resetAuthReceivedAuthLock.withLock { resetAuthUnderlyingReceivedAuth } } + set { resetAuthReceivedAuthLock.withLock { resetAuthUnderlyingReceivedAuth = newValue } } + } + private let resetAuthReceivedInvocationsLock = NSLock() + private var resetAuthUnderlyingReceivedInvocations: [AuthData?] = [] + open var resetAuthReceivedInvocations: [AuthData?] { + get { resetAuthReceivedInvocationsLock.withLock { resetAuthUnderlyingReceivedInvocations } } + set { resetAuthReceivedInvocationsLock.withLock { resetAuthUnderlyingReceivedInvocations = newValue } } + } open var resetAuthClosure: ((AuthData?) async throws -> Void)? open override func reset(auth: AuthData?) async throws { if let error = resetAuthThrowableError { throw error } - resetAuthCallsCount += 1 + resetAuthCallsCountLock.withLock { resetAuthUnderlyingCallsCount += 1 } resetAuthReceivedAuth = auth - DispatchQueue.main.async { - self.resetAuthReceivedInvocations.append(auth) - } + resetAuthReceivedInvocationsLock.withLock { resetAuthUnderlyingReceivedInvocations.append(auth) } try await resetAuthClosure?(auth) } } @@ -11650,62 +6800,26 @@ open class InReplyToDetailsSDKMock: MatrixRustSDK.InReplyToDetails, @unchecked S //MARK: - event - open var eventUnderlyingCallsCount = 0 + private let eventCallsCountLock = NSLock() + private var eventUnderlyingCallsCount = 0 open var eventCallsCount: Int { - get { - if Thread.isMainThread { - return eventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = eventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - eventUnderlyingCallsCount = newValue - } - } - } + get { eventCallsCountLock.withLock { eventUnderlyingCallsCount } } + set { eventCallsCountLock.withLock { eventUnderlyingCallsCount = newValue } } } open var eventCalled: Bool { return eventCallsCount > 0 } + private let eventReturnValueLock = NSLock() open var eventUnderlyingReturnValue: EmbeddedEventDetails! open var eventReturnValue: EmbeddedEventDetails! { - get { - if Thread.isMainThread { - return eventUnderlyingReturnValue - } else { - var returnValue: EmbeddedEventDetails? = nil - DispatchQueue.main.sync { - returnValue = eventUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - eventUnderlyingReturnValue = newValue - } - } - } + get { eventReturnValueLock.withLock { eventUnderlyingReturnValue } } + set { eventReturnValueLock.withLock { eventUnderlyingReturnValue = newValue } } } open var eventClosure: (() -> EmbeddedEventDetails)? open override func event() -> EmbeddedEventDetails { - eventCallsCount += 1 + eventCallsCountLock.withLock { eventUnderlyingCallsCount += 1 } if let eventClosure = eventClosure { return eventClosure() } else { @@ -11715,62 +6829,26 @@ open class InReplyToDetailsSDKMock: MatrixRustSDK.InReplyToDetails, @unchecked S //MARK: - eventId - open var eventIdUnderlyingCallsCount = 0 + private let eventIdCallsCountLock = NSLock() + private var eventIdUnderlyingCallsCount = 0 open var eventIdCallsCount: Int { - get { - if Thread.isMainThread { - return eventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = eventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - eventIdUnderlyingCallsCount = newValue - } - } - } + get { eventIdCallsCountLock.withLock { eventIdUnderlyingCallsCount } } + set { eventIdCallsCountLock.withLock { eventIdUnderlyingCallsCount = newValue } } } open var eventIdCalled: Bool { return eventIdCallsCount > 0 } + private let eventIdReturnValueLock = NSLock() open var eventIdUnderlyingReturnValue: String! open var eventIdReturnValue: String! { - get { - if Thread.isMainThread { - return eventIdUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = eventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - eventIdUnderlyingReturnValue = newValue - } - } - } + get { eventIdReturnValueLock.withLock { eventIdUnderlyingReturnValue } } + set { eventIdReturnValueLock.withLock { eventIdUnderlyingReturnValue = newValue } } } open var eventIdClosure: (() -> String)? open override func eventId() -> String { - eventIdCallsCount += 1 + eventIdCallsCountLock.withLock { eventIdUnderlyingCallsCount += 1 } if let eventIdClosure = eventIdClosure { return eventIdClosure() } else { @@ -11796,29 +6874,11 @@ open class KnockRequestActionsSDKMock: MatrixRustSDK.KnockRequestActions, @unche //MARK: - accept open var acceptThrowableError: Error? - open var acceptUnderlyingCallsCount = 0 + private let acceptCallsCountLock = NSLock() + private var acceptUnderlyingCallsCount = 0 open var acceptCallsCount: Int { - get { - if Thread.isMainThread { - return acceptUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = acceptUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acceptUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - acceptUnderlyingCallsCount = newValue - } - } - } + get { acceptCallsCountLock.withLock { acceptUnderlyingCallsCount } } + set { acceptCallsCountLock.withLock { acceptUnderlyingCallsCount = newValue } } } open var acceptCalled: Bool { return acceptCallsCount > 0 @@ -11829,128 +6889,90 @@ open class KnockRequestActionsSDKMock: MatrixRustSDK.KnockRequestActions, @unche if let error = acceptThrowableError { throw error } - acceptCallsCount += 1 + acceptCallsCountLock.withLock { acceptUnderlyingCallsCount += 1 } try await acceptClosure?() } //MARK: - decline open var declineReasonThrowableError: Error? - open var declineReasonUnderlyingCallsCount = 0 + private let declineReasonCallsCountLock = NSLock() + private var declineReasonUnderlyingCallsCount = 0 open var declineReasonCallsCount: Int { - get { - if Thread.isMainThread { - return declineReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = declineReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - declineReasonUnderlyingCallsCount = newValue - } - } - } + get { declineReasonCallsCountLock.withLock { declineReasonUnderlyingCallsCount } } + set { declineReasonCallsCountLock.withLock { declineReasonUnderlyingCallsCount = newValue } } } open var declineReasonCalled: Bool { return declineReasonCallsCount > 0 } - open var declineReasonReceivedReason: String? - open var declineReasonReceivedInvocations: [String?] = [] + private let declineReasonReceivedReasonLock = NSLock() + private var declineReasonUnderlyingReceivedReason: String? + open var declineReasonReceivedReason: String? { + get { declineReasonReceivedReasonLock.withLock { declineReasonUnderlyingReceivedReason } } + set { declineReasonReceivedReasonLock.withLock { declineReasonUnderlyingReceivedReason = newValue } } + } + private let declineReasonReceivedInvocationsLock = NSLock() + private var declineReasonUnderlyingReceivedInvocations: [String?] = [] + open var declineReasonReceivedInvocations: [String?] { + get { declineReasonReceivedInvocationsLock.withLock { declineReasonUnderlyingReceivedInvocations } } + set { declineReasonReceivedInvocationsLock.withLock { declineReasonUnderlyingReceivedInvocations = newValue } } + } open var declineReasonClosure: ((String?) async throws -> Void)? open override func decline(reason: String?) async throws { if let error = declineReasonThrowableError { throw error } - declineReasonCallsCount += 1 + declineReasonCallsCountLock.withLock { declineReasonUnderlyingCallsCount += 1 } declineReasonReceivedReason = reason - DispatchQueue.main.async { - self.declineReasonReceivedInvocations.append(reason) - } + declineReasonReceivedInvocationsLock.withLock { declineReasonUnderlyingReceivedInvocations.append(reason) } try await declineReasonClosure?(reason) } //MARK: - declineAndBan open var declineAndBanReasonThrowableError: Error? - open var declineAndBanReasonUnderlyingCallsCount = 0 + private let declineAndBanReasonCallsCountLock = NSLock() + private var declineAndBanReasonUnderlyingCallsCount = 0 open var declineAndBanReasonCallsCount: Int { - get { - if Thread.isMainThread { - return declineAndBanReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = declineAndBanReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineAndBanReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - declineAndBanReasonUnderlyingCallsCount = newValue - } - } - } + get { declineAndBanReasonCallsCountLock.withLock { declineAndBanReasonUnderlyingCallsCount } } + set { declineAndBanReasonCallsCountLock.withLock { declineAndBanReasonUnderlyingCallsCount = newValue } } } open var declineAndBanReasonCalled: Bool { return declineAndBanReasonCallsCount > 0 } - open var declineAndBanReasonReceivedReason: String? - open var declineAndBanReasonReceivedInvocations: [String?] = [] + private let declineAndBanReasonReceivedReasonLock = NSLock() + private var declineAndBanReasonUnderlyingReceivedReason: String? + open var declineAndBanReasonReceivedReason: String? { + get { declineAndBanReasonReceivedReasonLock.withLock { declineAndBanReasonUnderlyingReceivedReason } } + set { declineAndBanReasonReceivedReasonLock.withLock { declineAndBanReasonUnderlyingReceivedReason = newValue } } + } + private let declineAndBanReasonReceivedInvocationsLock = NSLock() + private var declineAndBanReasonUnderlyingReceivedInvocations: [String?] = [] + open var declineAndBanReasonReceivedInvocations: [String?] { + get { declineAndBanReasonReceivedInvocationsLock.withLock { declineAndBanReasonUnderlyingReceivedInvocations } } + set { declineAndBanReasonReceivedInvocationsLock.withLock { declineAndBanReasonUnderlyingReceivedInvocations = newValue } } + } open var declineAndBanReasonClosure: ((String?) async throws -> Void)? open override func declineAndBan(reason: String?) async throws { if let error = declineAndBanReasonThrowableError { throw error } - declineAndBanReasonCallsCount += 1 + declineAndBanReasonCallsCountLock.withLock { declineAndBanReasonUnderlyingCallsCount += 1 } declineAndBanReasonReceivedReason = reason - DispatchQueue.main.async { - self.declineAndBanReasonReceivedInvocations.append(reason) - } + declineAndBanReasonReceivedInvocationsLock.withLock { declineAndBanReasonUnderlyingReceivedInvocations.append(reason) } try await declineAndBanReasonClosure?(reason) } //MARK: - markAsSeen open var markAsSeenThrowableError: Error? - open var markAsSeenUnderlyingCallsCount = 0 + private let markAsSeenCallsCountLock = NSLock() + private var markAsSeenUnderlyingCallsCount = 0 open var markAsSeenCallsCount: Int { - get { - if Thread.isMainThread { - return markAsSeenUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAsSeenUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsSeenUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAsSeenUnderlyingCallsCount = newValue - } - } - } + get { markAsSeenCallsCountLock.withLock { markAsSeenUnderlyingCallsCount } } + set { markAsSeenCallsCountLock.withLock { markAsSeenUnderlyingCallsCount = newValue } } } open var markAsSeenCalled: Bool { return markAsSeenCallsCount > 0 @@ -11961,7 +6983,7 @@ open class KnockRequestActionsSDKMock: MatrixRustSDK.KnockRequestActions, @unche if let error = markAsSeenThrowableError { throw error } - markAsSeenCallsCount += 1 + markAsSeenCallsCountLock.withLock { markAsSeenUnderlyingCallsCount += 1 } try await markAsSeenClosure?() } } @@ -11982,62 +7004,26 @@ open class LazyTimelineItemProviderSDKMock: MatrixRustSDK.LazyTimelineItemProvid //MARK: - containsOnlyEmojis - open var containsOnlyEmojisUnderlyingCallsCount = 0 + private let containsOnlyEmojisCallsCountLock = NSLock() + private var containsOnlyEmojisUnderlyingCallsCount = 0 open var containsOnlyEmojisCallsCount: Int { - get { - if Thread.isMainThread { - return containsOnlyEmojisUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = containsOnlyEmojisUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsOnlyEmojisUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - containsOnlyEmojisUnderlyingCallsCount = newValue - } - } - } + get { containsOnlyEmojisCallsCountLock.withLock { containsOnlyEmojisUnderlyingCallsCount } } + set { containsOnlyEmojisCallsCountLock.withLock { containsOnlyEmojisUnderlyingCallsCount = newValue } } } open var containsOnlyEmojisCalled: Bool { return containsOnlyEmojisCallsCount > 0 } + private let containsOnlyEmojisReturnValueLock = NSLock() open var containsOnlyEmojisUnderlyingReturnValue: Bool! open var containsOnlyEmojisReturnValue: Bool! { - get { - if Thread.isMainThread { - return containsOnlyEmojisUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = containsOnlyEmojisUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsOnlyEmojisUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - containsOnlyEmojisUnderlyingReturnValue = newValue - } - } - } + get { containsOnlyEmojisReturnValueLock.withLock { containsOnlyEmojisUnderlyingReturnValue } } + set { containsOnlyEmojisReturnValueLock.withLock { containsOnlyEmojisUnderlyingReturnValue = newValue } } } open var containsOnlyEmojisClosure: (() -> Bool)? open override func containsOnlyEmojis() -> Bool { - containsOnlyEmojisCallsCount += 1 + containsOnlyEmojisCallsCountLock.withLock { containsOnlyEmojisUnderlyingCallsCount += 1 } if let containsOnlyEmojisClosure = containsOnlyEmojisClosure { return containsOnlyEmojisClosure() } else { @@ -12047,62 +7033,26 @@ open class LazyTimelineItemProviderSDKMock: MatrixRustSDK.LazyTimelineItemProvid //MARK: - debugInfo - open var debugInfoUnderlyingCallsCount = 0 + private let debugInfoCallsCountLock = NSLock() + private var debugInfoUnderlyingCallsCount = 0 open var debugInfoCallsCount: Int { - get { - if Thread.isMainThread { - return debugInfoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = debugInfoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - debugInfoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - debugInfoUnderlyingCallsCount = newValue - } - } - } + get { debugInfoCallsCountLock.withLock { debugInfoUnderlyingCallsCount } } + set { debugInfoCallsCountLock.withLock { debugInfoUnderlyingCallsCount = newValue } } } open var debugInfoCalled: Bool { return debugInfoCallsCount > 0 } + private let debugInfoReturnValueLock = NSLock() open var debugInfoUnderlyingReturnValue: EventTimelineItemDebugInfo! open var debugInfoReturnValue: EventTimelineItemDebugInfo! { - get { - if Thread.isMainThread { - return debugInfoUnderlyingReturnValue - } else { - var returnValue: EventTimelineItemDebugInfo? = nil - DispatchQueue.main.sync { - returnValue = debugInfoUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - debugInfoUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - debugInfoUnderlyingReturnValue = newValue - } - } - } + get { debugInfoReturnValueLock.withLock { debugInfoUnderlyingReturnValue } } + set { debugInfoReturnValueLock.withLock { debugInfoUnderlyingReturnValue = newValue } } } open var debugInfoClosure: (() -> EventTimelineItemDebugInfo)? open override func debugInfo() -> EventTimelineItemDebugInfo { - debugInfoCallsCount += 1 + debugInfoCallsCountLock.withLock { debugInfoUnderlyingCallsCount += 1 } if let debugInfoClosure = debugInfoClosure { return debugInfoClosure() } else { @@ -12112,62 +7062,26 @@ open class LazyTimelineItemProviderSDKMock: MatrixRustSDK.LazyTimelineItemProvid //MARK: - getSendHandle - open var getSendHandleUnderlyingCallsCount = 0 + private let getSendHandleCallsCountLock = NSLock() + private var getSendHandleUnderlyingCallsCount = 0 open var getSendHandleCallsCount: Int { - get { - if Thread.isMainThread { - return getSendHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getSendHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getSendHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getSendHandleUnderlyingCallsCount = newValue - } - } - } + get { getSendHandleCallsCountLock.withLock { getSendHandleUnderlyingCallsCount } } + set { getSendHandleCallsCountLock.withLock { getSendHandleUnderlyingCallsCount = newValue } } } open var getSendHandleCalled: Bool { return getSendHandleCallsCount > 0 } + private let getSendHandleReturnValueLock = NSLock() open var getSendHandleUnderlyingReturnValue: SendHandle? open var getSendHandleReturnValue: SendHandle? { - get { - if Thread.isMainThread { - return getSendHandleUnderlyingReturnValue - } else { - var returnValue: SendHandle?? = nil - DispatchQueue.main.sync { - returnValue = getSendHandleUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getSendHandleUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getSendHandleUnderlyingReturnValue = newValue - } - } - } + get { getSendHandleReturnValueLock.withLock { getSendHandleUnderlyingReturnValue } } + set { getSendHandleReturnValueLock.withLock { getSendHandleUnderlyingReturnValue = newValue } } } open var getSendHandleClosure: (() -> SendHandle?)? open override func getSendHandle() -> SendHandle? { - getSendHandleCallsCount += 1 + getSendHandleCallsCountLock.withLock { getSendHandleUnderlyingCallsCount += 1 } if let getSendHandleClosure = getSendHandleClosure { return getSendHandleClosure() } else { @@ -12177,68 +7091,40 @@ open class LazyTimelineItemProviderSDKMock: MatrixRustSDK.LazyTimelineItemProvid //MARK: - getShields - open var getShieldsStrictUnderlyingCallsCount = 0 + private let getShieldsStrictCallsCountLock = NSLock() + private var getShieldsStrictUnderlyingCallsCount = 0 open var getShieldsStrictCallsCount: Int { - get { - if Thread.isMainThread { - return getShieldsStrictUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getShieldsStrictUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getShieldsStrictUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getShieldsStrictUnderlyingCallsCount = newValue - } - } - } + get { getShieldsStrictCallsCountLock.withLock { getShieldsStrictUnderlyingCallsCount } } + set { getShieldsStrictCallsCountLock.withLock { getShieldsStrictUnderlyingCallsCount = newValue } } } open var getShieldsStrictCalled: Bool { return getShieldsStrictCallsCount > 0 } - open var getShieldsStrictReceivedStrict: Bool? - open var getShieldsStrictReceivedInvocations: [Bool] = [] + private let getShieldsStrictReceivedStrictLock = NSLock() + private var getShieldsStrictUnderlyingReceivedStrict: Bool? + open var getShieldsStrictReceivedStrict: Bool? { + get { getShieldsStrictReceivedStrictLock.withLock { getShieldsStrictUnderlyingReceivedStrict } } + set { getShieldsStrictReceivedStrictLock.withLock { getShieldsStrictUnderlyingReceivedStrict = newValue } } + } + private let getShieldsStrictReceivedInvocationsLock = NSLock() + private var getShieldsStrictUnderlyingReceivedInvocations: [Bool] = [] + open var getShieldsStrictReceivedInvocations: [Bool] { + get { getShieldsStrictReceivedInvocationsLock.withLock { getShieldsStrictUnderlyingReceivedInvocations } } + set { getShieldsStrictReceivedInvocationsLock.withLock { getShieldsStrictUnderlyingReceivedInvocations = newValue } } + } + private let getShieldsStrictReturnValueLock = NSLock() open var getShieldsStrictUnderlyingReturnValue: ShieldState! open var getShieldsStrictReturnValue: ShieldState! { - get { - if Thread.isMainThread { - return getShieldsStrictUnderlyingReturnValue - } else { - var returnValue: ShieldState? = nil - DispatchQueue.main.sync { - returnValue = getShieldsStrictUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getShieldsStrictUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getShieldsStrictUnderlyingReturnValue = newValue - } - } - } + get { getShieldsStrictReturnValueLock.withLock { getShieldsStrictUnderlyingReturnValue } } + set { getShieldsStrictReturnValueLock.withLock { getShieldsStrictUnderlyingReturnValue = newValue } } } open var getShieldsStrictClosure: ((Bool) -> ShieldState)? open override func getShields(strict: Bool) -> ShieldState { - getShieldsStrictCallsCount += 1 + getShieldsStrictCallsCountLock.withLock { getShieldsStrictUnderlyingCallsCount += 1 } getShieldsStrictReceivedStrict = strict - DispatchQueue.main.async { - self.getShieldsStrictReceivedInvocations.append(strict) - } + getShieldsStrictReceivedInvocationsLock.withLock { getShieldsStrictUnderlyingReceivedInvocations.append(strict) } if let getShieldsStrictClosure = getShieldsStrictClosure { return getShieldsStrictClosure(strict) } else { @@ -12248,62 +7134,26 @@ open class LazyTimelineItemProviderSDKMock: MatrixRustSDK.LazyTimelineItemProvid //MARK: - latestJson - open var latestJsonUnderlyingCallsCount = 0 + private let latestJsonCallsCountLock = NSLock() + private var latestJsonUnderlyingCallsCount = 0 open var latestJsonCallsCount: Int { - get { - if Thread.isMainThread { - return latestJsonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = latestJsonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestJsonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - latestJsonUnderlyingCallsCount = newValue - } - } - } + get { latestJsonCallsCountLock.withLock { latestJsonUnderlyingCallsCount } } + set { latestJsonCallsCountLock.withLock { latestJsonUnderlyingCallsCount = newValue } } } open var latestJsonCalled: Bool { return latestJsonCallsCount > 0 } + private let latestJsonReturnValueLock = NSLock() open var latestJsonUnderlyingReturnValue: String? open var latestJsonReturnValue: String? { - get { - if Thread.isMainThread { - return latestJsonUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = latestJsonUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestJsonUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - latestJsonUnderlyingReturnValue = newValue - } - } - } + get { latestJsonReturnValueLock.withLock { latestJsonUnderlyingReturnValue } } + set { latestJsonReturnValueLock.withLock { latestJsonUnderlyingReturnValue = newValue } } } open var latestJsonClosure: (() -> String?)? open override func latestJson() -> String? { - latestJsonCallsCount += 1 + latestJsonCallsCountLock.withLock { latestJsonUnderlyingCallsCount += 1 } if let latestJsonClosure = latestJsonClosure { return latestJsonClosure() } else { @@ -12329,107 +7179,61 @@ open class LeaveSpaceHandleSDKMock: MatrixRustSDK.LeaveSpaceHandle, @unchecked S //MARK: - leave open var leaveRoomIdsThrowableError: Error? - open var leaveRoomIdsUnderlyingCallsCount = 0 + private let leaveRoomIdsCallsCountLock = NSLock() + private var leaveRoomIdsUnderlyingCallsCount = 0 open var leaveRoomIdsCallsCount: Int { - get { - if Thread.isMainThread { - return leaveRoomIdsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = leaveRoomIdsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveRoomIdsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - leaveRoomIdsUnderlyingCallsCount = newValue - } - } - } + get { leaveRoomIdsCallsCountLock.withLock { leaveRoomIdsUnderlyingCallsCount } } + set { leaveRoomIdsCallsCountLock.withLock { leaveRoomIdsUnderlyingCallsCount = newValue } } } open var leaveRoomIdsCalled: Bool { return leaveRoomIdsCallsCount > 0 } - open var leaveRoomIdsReceivedRoomIds: [String]? - open var leaveRoomIdsReceivedInvocations: [[String]] = [] + private let leaveRoomIdsReceivedRoomIdsLock = NSLock() + private var leaveRoomIdsUnderlyingReceivedRoomIds: [String]? + open var leaveRoomIdsReceivedRoomIds: [String]? { + get { leaveRoomIdsReceivedRoomIdsLock.withLock { leaveRoomIdsUnderlyingReceivedRoomIds } } + set { leaveRoomIdsReceivedRoomIdsLock.withLock { leaveRoomIdsUnderlyingReceivedRoomIds = newValue } } + } + private let leaveRoomIdsReceivedInvocationsLock = NSLock() + private var leaveRoomIdsUnderlyingReceivedInvocations: [[String]] = [] + open var leaveRoomIdsReceivedInvocations: [[String]] { + get { leaveRoomIdsReceivedInvocationsLock.withLock { leaveRoomIdsUnderlyingReceivedInvocations } } + set { leaveRoomIdsReceivedInvocationsLock.withLock { leaveRoomIdsUnderlyingReceivedInvocations = newValue } } + } open var leaveRoomIdsClosure: (([String]) async throws -> Void)? open override func leave(roomIds: [String]) async throws { if let error = leaveRoomIdsThrowableError { throw error } - leaveRoomIdsCallsCount += 1 + leaveRoomIdsCallsCountLock.withLock { leaveRoomIdsUnderlyingCallsCount += 1 } leaveRoomIdsReceivedRoomIds = roomIds - DispatchQueue.main.async { - self.leaveRoomIdsReceivedInvocations.append(roomIds) - } + leaveRoomIdsReceivedInvocationsLock.withLock { leaveRoomIdsUnderlyingReceivedInvocations.append(roomIds) } try await leaveRoomIdsClosure?(roomIds) } //MARK: - rooms - open var roomsUnderlyingCallsCount = 0 + private let roomsCallsCountLock = NSLock() + private var roomsUnderlyingCallsCount = 0 open var roomsCallsCount: Int { - get { - if Thread.isMainThread { - return roomsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomsUnderlyingCallsCount = newValue - } - } - } + get { roomsCallsCountLock.withLock { roomsUnderlyingCallsCount } } + set { roomsCallsCountLock.withLock { roomsUnderlyingCallsCount = newValue } } } open var roomsCalled: Bool { return roomsCallsCount > 0 } + private let roomsReturnValueLock = NSLock() open var roomsUnderlyingReturnValue: [LeaveSpaceRoom]! open var roomsReturnValue: [LeaveSpaceRoom]! { - get { - if Thread.isMainThread { - return roomsUnderlyingReturnValue - } else { - var returnValue: [LeaveSpaceRoom]? = nil - DispatchQueue.main.sync { - returnValue = roomsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomsUnderlyingReturnValue = newValue - } - } - } + get { roomsReturnValueLock.withLock { roomsUnderlyingReturnValue } } + set { roomsReturnValueLock.withLock { roomsUnderlyingReturnValue = newValue } } } open var roomsClosure: (() -> [LeaveSpaceRoom])? open override func rooms() -> [LeaveSpaceRoom] { - roomsCallsCount += 1 + roomsCallsCountLock.withLock { roomsUnderlyingCallsCount += 1 } if let roomsClosure = roomsClosure { return roomsClosure() } else { @@ -12454,68 +7258,40 @@ open class LiveLocationsObserverSDKMock: MatrixRustSDK.LiveLocationsObserver, @u //MARK: - subscribe - open var subscribeListenerUnderlyingCallsCount = 0 + private let subscribeListenerCallsCountLock = NSLock() + private var subscribeListenerUnderlyingCallsCount = 0 open var subscribeListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeListenerCallsCountLock.withLock { subscribeListenerUnderlyingCallsCount } } + set { subscribeListenerCallsCountLock.withLock { subscribeListenerUnderlyingCallsCount = newValue } } } open var subscribeListenerCalled: Bool { return subscribeListenerCallsCount > 0 } - open var subscribeListenerReceivedListener: LiveLocationsListener? - open var subscribeListenerReceivedInvocations: [LiveLocationsListener] = [] + private let subscribeListenerReceivedListenerLock = NSLock() + private var subscribeListenerUnderlyingReceivedListener: LiveLocationsListener? + open var subscribeListenerReceivedListener: LiveLocationsListener? { + get { subscribeListenerReceivedListenerLock.withLock { subscribeListenerUnderlyingReceivedListener } } + set { subscribeListenerReceivedListenerLock.withLock { subscribeListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeListenerReceivedInvocationsLock = NSLock() + private var subscribeListenerUnderlyingReceivedInvocations: [LiveLocationsListener] = [] + open var subscribeListenerReceivedInvocations: [LiveLocationsListener] { + get { subscribeListenerReceivedInvocationsLock.withLock { subscribeListenerUnderlyingReceivedInvocations } } + set { subscribeListenerReceivedInvocationsLock.withLock { subscribeListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeListenerReturnValueLock = NSLock() open var subscribeListenerUnderlyingReturnValue: TaskHandle! open var subscribeListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeListenerReturnValueLock.withLock { subscribeListenerUnderlyingReturnValue } } + set { subscribeListenerReturnValueLock.withLock { subscribeListenerUnderlyingReturnValue = newValue } } } open var subscribeListenerClosure: ((LiveLocationsListener) -> TaskHandle)? open override func subscribe(listener: LiveLocationsListener) -> TaskHandle { - subscribeListenerCallsCount += 1 + subscribeListenerCallsCountLock.withLock { subscribeListenerUnderlyingCallsCount += 1 } subscribeListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeListenerReceivedInvocations.append(listener) - } + subscribeListenerReceivedInvocationsLock.withLock { subscribeListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeListenerClosure = subscribeListenerClosure { return subscribeListenerClosure(listener) } else { @@ -12541,92 +7317,72 @@ open class LoginWithQrCodeHandlerSDKMock: MatrixRustSDK.LoginWithQrCodeHandler, //MARK: - generate open var generateProgressListenerThrowableError: Error? - open var generateProgressListenerUnderlyingCallsCount = 0 + private let generateProgressListenerCallsCountLock = NSLock() + private var generateProgressListenerUnderlyingCallsCount = 0 open var generateProgressListenerCallsCount: Int { - get { - if Thread.isMainThread { - return generateProgressListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = generateProgressListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - generateProgressListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - generateProgressListenerUnderlyingCallsCount = newValue - } - } - } + get { generateProgressListenerCallsCountLock.withLock { generateProgressListenerUnderlyingCallsCount } } + set { generateProgressListenerCallsCountLock.withLock { generateProgressListenerUnderlyingCallsCount = newValue } } } open var generateProgressListenerCalled: Bool { return generateProgressListenerCallsCount > 0 } - open var generateProgressListenerReceivedProgressListener: GeneratedQrLoginProgressListener? - open var generateProgressListenerReceivedInvocations: [GeneratedQrLoginProgressListener] = [] + private let generateProgressListenerReceivedProgressListenerLock = NSLock() + private var generateProgressListenerUnderlyingReceivedProgressListener: GeneratedQrLoginProgressListener? + open var generateProgressListenerReceivedProgressListener: GeneratedQrLoginProgressListener? { + get { generateProgressListenerReceivedProgressListenerLock.withLock { generateProgressListenerUnderlyingReceivedProgressListener } } + set { generateProgressListenerReceivedProgressListenerLock.withLock { generateProgressListenerUnderlyingReceivedProgressListener = newValue } } + } + private let generateProgressListenerReceivedInvocationsLock = NSLock() + private var generateProgressListenerUnderlyingReceivedInvocations: [GeneratedQrLoginProgressListener] = [] + open var generateProgressListenerReceivedInvocations: [GeneratedQrLoginProgressListener] { + get { generateProgressListenerReceivedInvocationsLock.withLock { generateProgressListenerUnderlyingReceivedInvocations } } + set { generateProgressListenerReceivedInvocationsLock.withLock { generateProgressListenerUnderlyingReceivedInvocations = newValue } } + } open var generateProgressListenerClosure: ((GeneratedQrLoginProgressListener) async throws -> Void)? open override func generate(progressListener: GeneratedQrLoginProgressListener) async throws { if let error = generateProgressListenerThrowableError { throw error } - generateProgressListenerCallsCount += 1 + generateProgressListenerCallsCountLock.withLock { generateProgressListenerUnderlyingCallsCount += 1 } generateProgressListenerReceivedProgressListener = progressListener - DispatchQueue.main.async { - self.generateProgressListenerReceivedInvocations.append(progressListener) - } + generateProgressListenerReceivedInvocationsLock.withLock { generateProgressListenerUnderlyingReceivedInvocations.append(progressListener) } try await generateProgressListenerClosure?(progressListener) } //MARK: - scan open var scanQrCodeDataProgressListenerThrowableError: Error? - open var scanQrCodeDataProgressListenerUnderlyingCallsCount = 0 + private let scanQrCodeDataProgressListenerCallsCountLock = NSLock() + private var scanQrCodeDataProgressListenerUnderlyingCallsCount = 0 open var scanQrCodeDataProgressListenerCallsCount: Int { - get { - if Thread.isMainThread { - return scanQrCodeDataProgressListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = scanQrCodeDataProgressListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - scanQrCodeDataProgressListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - scanQrCodeDataProgressListenerUnderlyingCallsCount = newValue - } - } - } + get { scanQrCodeDataProgressListenerCallsCountLock.withLock { scanQrCodeDataProgressListenerUnderlyingCallsCount } } + set { scanQrCodeDataProgressListenerCallsCountLock.withLock { scanQrCodeDataProgressListenerUnderlyingCallsCount = newValue } } } open var scanQrCodeDataProgressListenerCalled: Bool { return scanQrCodeDataProgressListenerCallsCount > 0 } - open var scanQrCodeDataProgressListenerReceivedArguments: (qrCodeData: QrCodeData, progressListener: QrLoginProgressListener)? - open var scanQrCodeDataProgressListenerReceivedInvocations: [(qrCodeData: QrCodeData, progressListener: QrLoginProgressListener)] = [] + private let scanQrCodeDataProgressListenerReceivedArgumentsLock = NSLock() + private var scanQrCodeDataProgressListenerUnderlyingReceivedArguments: (qrCodeData: QrCodeData, progressListener: QrLoginProgressListener)? + open var scanQrCodeDataProgressListenerReceivedArguments: (qrCodeData: QrCodeData, progressListener: QrLoginProgressListener)? { + get { scanQrCodeDataProgressListenerReceivedArgumentsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedArguments } } + set { scanQrCodeDataProgressListenerReceivedArgumentsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedArguments = newValue } } + } + private let scanQrCodeDataProgressListenerReceivedInvocationsLock = NSLock() + private var scanQrCodeDataProgressListenerUnderlyingReceivedInvocations: [(qrCodeData: QrCodeData, progressListener: QrLoginProgressListener)] = [] + open var scanQrCodeDataProgressListenerReceivedInvocations: [(qrCodeData: QrCodeData, progressListener: QrLoginProgressListener)] { + get { scanQrCodeDataProgressListenerReceivedInvocationsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedInvocations } } + set { scanQrCodeDataProgressListenerReceivedInvocationsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedInvocations = newValue } } + } open var scanQrCodeDataProgressListenerClosure: ((QrCodeData, QrLoginProgressListener) async throws -> Void)? open override func scan(qrCodeData: QrCodeData, progressListener: QrLoginProgressListener) async throws { if let error = scanQrCodeDataProgressListenerThrowableError { throw error } - scanQrCodeDataProgressListenerCallsCount += 1 + scanQrCodeDataProgressListenerCallsCountLock.withLock { scanQrCodeDataProgressListenerUnderlyingCallsCount += 1 } scanQrCodeDataProgressListenerReceivedArguments = (qrCodeData: qrCodeData, progressListener: progressListener) - DispatchQueue.main.async { - self.scanQrCodeDataProgressListenerReceivedInvocations.append((qrCodeData: qrCodeData, progressListener: progressListener)) - } + scanQrCodeDataProgressListenerReceivedInvocationsLock.withLock { scanQrCodeDataProgressListenerUnderlyingReceivedInvocations.append((qrCodeData: qrCodeData, progressListener: progressListener)) } try await scanQrCodeDataProgressListenerClosure?(qrCodeData, progressListener) } } @@ -12648,57 +7404,21 @@ open class MediaFileHandleSDKMock: MatrixRustSDK.MediaFileHandle, @unchecked Sen //MARK: - path open var pathThrowableError: Error? - open var pathUnderlyingCallsCount = 0 + private let pathCallsCountLock = NSLock() + private var pathUnderlyingCallsCount = 0 open var pathCallsCount: Int { - get { - if Thread.isMainThread { - return pathUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pathUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pathUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pathUnderlyingCallsCount = newValue - } - } - } + get { pathCallsCountLock.withLock { pathUnderlyingCallsCount } } + set { pathCallsCountLock.withLock { pathUnderlyingCallsCount = newValue } } } open var pathCalled: Bool { return pathCallsCount > 0 } + private let pathReturnValueLock = NSLock() open var pathUnderlyingReturnValue: String! open var pathReturnValue: String! { - get { - if Thread.isMainThread { - return pathUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = pathUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pathUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - pathUnderlyingReturnValue = newValue - } - } - } + get { pathReturnValueLock.withLock { pathUnderlyingReturnValue } } + set { pathReturnValueLock.withLock { pathUnderlyingReturnValue = newValue } } } open var pathClosure: (() throws -> String)? @@ -12706,7 +7426,7 @@ open class MediaFileHandleSDKMock: MatrixRustSDK.MediaFileHandle, @unchecked Sen if let error = pathThrowableError { throw error } - pathCallsCount += 1 + pathCallsCountLock.withLock { pathUnderlyingCallsCount += 1 } if let pathClosure = pathClosure { return try pathClosure() } else { @@ -12717,59 +7437,33 @@ open class MediaFileHandleSDKMock: MatrixRustSDK.MediaFileHandle, @unchecked Sen //MARK: - persist open var persistPathThrowableError: Error? - open var persistPathUnderlyingCallsCount = 0 + private let persistPathCallsCountLock = NSLock() + private var persistPathUnderlyingCallsCount = 0 open var persistPathCallsCount: Int { - get { - if Thread.isMainThread { - return persistPathUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = persistPathUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - persistPathUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - persistPathUnderlyingCallsCount = newValue - } - } - } + get { persistPathCallsCountLock.withLock { persistPathUnderlyingCallsCount } } + set { persistPathCallsCountLock.withLock { persistPathUnderlyingCallsCount = newValue } } } open var persistPathCalled: Bool { return persistPathCallsCount > 0 } - open var persistPathReceivedPath: String? - open var persistPathReceivedInvocations: [String] = [] + private let persistPathReceivedPathLock = NSLock() + private var persistPathUnderlyingReceivedPath: String? + open var persistPathReceivedPath: String? { + get { persistPathReceivedPathLock.withLock { persistPathUnderlyingReceivedPath } } + set { persistPathReceivedPathLock.withLock { persistPathUnderlyingReceivedPath = newValue } } + } + private let persistPathReceivedInvocationsLock = NSLock() + private var persistPathUnderlyingReceivedInvocations: [String] = [] + open var persistPathReceivedInvocations: [String] { + get { persistPathReceivedInvocationsLock.withLock { persistPathUnderlyingReceivedInvocations } } + set { persistPathReceivedInvocationsLock.withLock { persistPathUnderlyingReceivedInvocations = newValue } } + } + private let persistPathReturnValueLock = NSLock() open var persistPathUnderlyingReturnValue: Bool! open var persistPathReturnValue: Bool! { - get { - if Thread.isMainThread { - return persistPathUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = persistPathUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - persistPathUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - persistPathUnderlyingReturnValue = newValue - } - } - } + get { persistPathReturnValueLock.withLock { persistPathUnderlyingReturnValue } } + set { persistPathReturnValueLock.withLock { persistPathUnderlyingReturnValue = newValue } } } open var persistPathClosure: ((String) throws -> Bool)? @@ -12777,11 +7471,9 @@ open class MediaFileHandleSDKMock: MatrixRustSDK.MediaFileHandle, @unchecked Sen if let error = persistPathThrowableError { throw error } - persistPathCallsCount += 1 + persistPathCallsCountLock.withLock { persistPathUnderlyingCallsCount += 1 } persistPathReceivedPath = path - DispatchQueue.main.async { - self.persistPathReceivedInvocations.append(path) - } + persistPathReceivedInvocationsLock.withLock { persistPathUnderlyingReceivedInvocations.append(path) } if let persistPathClosure = persistPathClosure { return try persistPathClosure(path) } else { @@ -12809,62 +7501,26 @@ open class MediaSourceSDKMock: MatrixRustSDK.MediaSource, @unchecked Sendable { //MARK: - toJson - open var toJsonUnderlyingCallsCount = 0 + private let toJsonCallsCountLock = NSLock() + private var toJsonUnderlyingCallsCount = 0 open var toJsonCallsCount: Int { - get { - if Thread.isMainThread { - return toJsonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = toJsonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toJsonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - toJsonUnderlyingCallsCount = newValue - } - } - } + get { toJsonCallsCountLock.withLock { toJsonUnderlyingCallsCount } } + set { toJsonCallsCountLock.withLock { toJsonUnderlyingCallsCount = newValue } } } open var toJsonCalled: Bool { return toJsonCallsCount > 0 } + private let toJsonReturnValueLock = NSLock() open var toJsonUnderlyingReturnValue: String! open var toJsonReturnValue: String! { - get { - if Thread.isMainThread { - return toJsonUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = toJsonUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toJsonUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - toJsonUnderlyingReturnValue = newValue - } - } - } + get { toJsonReturnValueLock.withLock { toJsonUnderlyingReturnValue } } + set { toJsonReturnValueLock.withLock { toJsonUnderlyingReturnValue = newValue } } } open var toJsonClosure: (() -> String)? open override func toJson() -> String { - toJsonCallsCount += 1 + toJsonCallsCountLock.withLock { toJsonUnderlyingCallsCount += 1 } if let toJsonClosure = toJsonClosure { return toJsonClosure() } else { @@ -12874,62 +7530,26 @@ open class MediaSourceSDKMock: MatrixRustSDK.MediaSource, @unchecked Sendable { //MARK: - url - open var urlUnderlyingCallsCount = 0 + private let urlCallsCountLock = NSLock() + private var urlUnderlyingCallsCount = 0 open var urlCallsCount: Int { - get { - if Thread.isMainThread { - return urlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = urlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - urlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - urlUnderlyingCallsCount = newValue - } - } - } + get { urlCallsCountLock.withLock { urlUnderlyingCallsCount } } + set { urlCallsCountLock.withLock { urlUnderlyingCallsCount = newValue } } } open var urlCalled: Bool { return urlCallsCount > 0 } + private let urlReturnValueLock = NSLock() open var urlUnderlyingReturnValue: String! open var urlReturnValue: String! { - get { - if Thread.isMainThread { - return urlUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = urlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - urlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - urlUnderlyingReturnValue = newValue - } - } - } + get { urlReturnValueLock.withLock { urlUnderlyingReturnValue } } + set { urlReturnValueLock.withLock { urlUnderlyingReturnValue = newValue } } } open var urlClosure: (() -> String)? open override func url() -> String { - urlCallsCount += 1 + urlCallsCountLock.withLock { urlUnderlyingCallsCount += 1 } if let urlClosure = urlClosure { return urlClosure() } else { @@ -12955,59 +7575,33 @@ open class NotificationClientSDKMock: MatrixRustSDK.NotificationClient, @uncheck //MARK: - getNotification open var getNotificationRoomIdEventIdThrowableError: Error? - open var getNotificationRoomIdEventIdUnderlyingCallsCount = 0 + private let getNotificationRoomIdEventIdCallsCountLock = NSLock() + private var getNotificationRoomIdEventIdUnderlyingCallsCount = 0 open var getNotificationRoomIdEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return getNotificationRoomIdEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getNotificationRoomIdEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getNotificationRoomIdEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getNotificationRoomIdEventIdUnderlyingCallsCount = newValue - } - } - } + get { getNotificationRoomIdEventIdCallsCountLock.withLock { getNotificationRoomIdEventIdUnderlyingCallsCount } } + set { getNotificationRoomIdEventIdCallsCountLock.withLock { getNotificationRoomIdEventIdUnderlyingCallsCount = newValue } } } open var getNotificationRoomIdEventIdCalled: Bool { return getNotificationRoomIdEventIdCallsCount > 0 } - open var getNotificationRoomIdEventIdReceivedArguments: (roomId: String, eventId: String)? - open var getNotificationRoomIdEventIdReceivedInvocations: [(roomId: String, eventId: String)] = [] + private let getNotificationRoomIdEventIdReceivedArgumentsLock = NSLock() + private var getNotificationRoomIdEventIdUnderlyingReceivedArguments: (roomId: String, eventId: String)? + open var getNotificationRoomIdEventIdReceivedArguments: (roomId: String, eventId: String)? { + get { getNotificationRoomIdEventIdReceivedArgumentsLock.withLock { getNotificationRoomIdEventIdUnderlyingReceivedArguments } } + set { getNotificationRoomIdEventIdReceivedArgumentsLock.withLock { getNotificationRoomIdEventIdUnderlyingReceivedArguments = newValue } } + } + private let getNotificationRoomIdEventIdReceivedInvocationsLock = NSLock() + private var getNotificationRoomIdEventIdUnderlyingReceivedInvocations: [(roomId: String, eventId: String)] = [] + open var getNotificationRoomIdEventIdReceivedInvocations: [(roomId: String, eventId: String)] { + get { getNotificationRoomIdEventIdReceivedInvocationsLock.withLock { getNotificationRoomIdEventIdUnderlyingReceivedInvocations } } + set { getNotificationRoomIdEventIdReceivedInvocationsLock.withLock { getNotificationRoomIdEventIdUnderlyingReceivedInvocations = newValue } } + } + private let getNotificationRoomIdEventIdReturnValueLock = NSLock() open var getNotificationRoomIdEventIdUnderlyingReturnValue: NotificationStatus! open var getNotificationRoomIdEventIdReturnValue: NotificationStatus! { - get { - if Thread.isMainThread { - return getNotificationRoomIdEventIdUnderlyingReturnValue - } else { - var returnValue: NotificationStatus? = nil - DispatchQueue.main.sync { - returnValue = getNotificationRoomIdEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getNotificationRoomIdEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getNotificationRoomIdEventIdUnderlyingReturnValue = newValue - } - } - } + get { getNotificationRoomIdEventIdReturnValueLock.withLock { getNotificationRoomIdEventIdUnderlyingReturnValue } } + set { getNotificationRoomIdEventIdReturnValueLock.withLock { getNotificationRoomIdEventIdUnderlyingReturnValue = newValue } } } open var getNotificationRoomIdEventIdClosure: ((String, String) async throws -> NotificationStatus)? @@ -13015,11 +7609,9 @@ open class NotificationClientSDKMock: MatrixRustSDK.NotificationClient, @uncheck if let error = getNotificationRoomIdEventIdThrowableError { throw error } - getNotificationRoomIdEventIdCallsCount += 1 + getNotificationRoomIdEventIdCallsCountLock.withLock { getNotificationRoomIdEventIdUnderlyingCallsCount += 1 } getNotificationRoomIdEventIdReceivedArguments = (roomId: roomId, eventId: eventId) - DispatchQueue.main.async { - self.getNotificationRoomIdEventIdReceivedInvocations.append((roomId: roomId, eventId: eventId)) - } + getNotificationRoomIdEventIdReceivedInvocationsLock.withLock { getNotificationRoomIdEventIdUnderlyingReceivedInvocations.append((roomId: roomId, eventId: eventId)) } if let getNotificationRoomIdEventIdClosure = getNotificationRoomIdEventIdClosure { return try await getNotificationRoomIdEventIdClosure(roomId, eventId) } else { @@ -13030,59 +7622,33 @@ open class NotificationClientSDKMock: MatrixRustSDK.NotificationClient, @uncheck //MARK: - getNotifications open var getNotificationsRequestsThrowableError: Error? - open var getNotificationsRequestsUnderlyingCallsCount = 0 + private let getNotificationsRequestsCallsCountLock = NSLock() + private var getNotificationsRequestsUnderlyingCallsCount = 0 open var getNotificationsRequestsCallsCount: Int { - get { - if Thread.isMainThread { - return getNotificationsRequestsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getNotificationsRequestsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getNotificationsRequestsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getNotificationsRequestsUnderlyingCallsCount = newValue - } - } - } + get { getNotificationsRequestsCallsCountLock.withLock { getNotificationsRequestsUnderlyingCallsCount } } + set { getNotificationsRequestsCallsCountLock.withLock { getNotificationsRequestsUnderlyingCallsCount = newValue } } } open var getNotificationsRequestsCalled: Bool { return getNotificationsRequestsCallsCount > 0 } - open var getNotificationsRequestsReceivedRequests: [NotificationItemsRequest]? - open var getNotificationsRequestsReceivedInvocations: [[NotificationItemsRequest]] = [] + private let getNotificationsRequestsReceivedRequestsLock = NSLock() + private var getNotificationsRequestsUnderlyingReceivedRequests: [NotificationItemsRequest]? + open var getNotificationsRequestsReceivedRequests: [NotificationItemsRequest]? { + get { getNotificationsRequestsReceivedRequestsLock.withLock { getNotificationsRequestsUnderlyingReceivedRequests } } + set { getNotificationsRequestsReceivedRequestsLock.withLock { getNotificationsRequestsUnderlyingReceivedRequests = newValue } } + } + private let getNotificationsRequestsReceivedInvocationsLock = NSLock() + private var getNotificationsRequestsUnderlyingReceivedInvocations: [[NotificationItemsRequest]] = [] + open var getNotificationsRequestsReceivedInvocations: [[NotificationItemsRequest]] { + get { getNotificationsRequestsReceivedInvocationsLock.withLock { getNotificationsRequestsUnderlyingReceivedInvocations } } + set { getNotificationsRequestsReceivedInvocationsLock.withLock { getNotificationsRequestsUnderlyingReceivedInvocations = newValue } } + } + private let getNotificationsRequestsReturnValueLock = NSLock() open var getNotificationsRequestsUnderlyingReturnValue: [String: BatchNotificationResult]! open var getNotificationsRequestsReturnValue: [String: BatchNotificationResult]! { - get { - if Thread.isMainThread { - return getNotificationsRequestsUnderlyingReturnValue - } else { - var returnValue: [String: BatchNotificationResult]? = nil - DispatchQueue.main.sync { - returnValue = getNotificationsRequestsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getNotificationsRequestsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getNotificationsRequestsUnderlyingReturnValue = newValue - } - } - } + get { getNotificationsRequestsReturnValueLock.withLock { getNotificationsRequestsUnderlyingReturnValue } } + set { getNotificationsRequestsReturnValueLock.withLock { getNotificationsRequestsUnderlyingReturnValue = newValue } } } open var getNotificationsRequestsClosure: (([NotificationItemsRequest]) async throws -> [String: BatchNotificationResult])? @@ -13090,11 +7656,9 @@ open class NotificationClientSDKMock: MatrixRustSDK.NotificationClient, @uncheck if let error = getNotificationsRequestsThrowableError { throw error } - getNotificationsRequestsCallsCount += 1 + getNotificationsRequestsCallsCountLock.withLock { getNotificationsRequestsUnderlyingCallsCount += 1 } getNotificationsRequestsReceivedRequests = requests - DispatchQueue.main.async { - self.getNotificationsRequestsReceivedInvocations.append(requests) - } + getNotificationsRequestsReceivedInvocationsLock.withLock { getNotificationsRequestsUnderlyingReceivedInvocations.append(requests) } if let getNotificationsRequestsClosure = getNotificationsRequestsClosure { return try await getNotificationsRequestsClosure(requests) } else { @@ -13105,59 +7669,33 @@ open class NotificationClientSDKMock: MatrixRustSDK.NotificationClient, @uncheck //MARK: - getRoom open var getRoomRoomIdThrowableError: Error? - open var getRoomRoomIdUnderlyingCallsCount = 0 + private let getRoomRoomIdCallsCountLock = NSLock() + private var getRoomRoomIdUnderlyingCallsCount = 0 open var getRoomRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return getRoomRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRoomRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRoomRoomIdUnderlyingCallsCount = newValue - } - } - } + get { getRoomRoomIdCallsCountLock.withLock { getRoomRoomIdUnderlyingCallsCount } } + set { getRoomRoomIdCallsCountLock.withLock { getRoomRoomIdUnderlyingCallsCount = newValue } } } open var getRoomRoomIdCalled: Bool { return getRoomRoomIdCallsCount > 0 } - open var getRoomRoomIdReceivedRoomId: String? - open var getRoomRoomIdReceivedInvocations: [String] = [] + private let getRoomRoomIdReceivedRoomIdLock = NSLock() + private var getRoomRoomIdUnderlyingReceivedRoomId: String? + open var getRoomRoomIdReceivedRoomId: String? { + get { getRoomRoomIdReceivedRoomIdLock.withLock { getRoomRoomIdUnderlyingReceivedRoomId } } + set { getRoomRoomIdReceivedRoomIdLock.withLock { getRoomRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let getRoomRoomIdReceivedInvocationsLock = NSLock() + private var getRoomRoomIdUnderlyingReceivedInvocations: [String] = [] + open var getRoomRoomIdReceivedInvocations: [String] { + get { getRoomRoomIdReceivedInvocationsLock.withLock { getRoomRoomIdUnderlyingReceivedInvocations } } + set { getRoomRoomIdReceivedInvocationsLock.withLock { getRoomRoomIdUnderlyingReceivedInvocations = newValue } } + } + private let getRoomRoomIdReturnValueLock = NSLock() open var getRoomRoomIdUnderlyingReturnValue: Room? open var getRoomRoomIdReturnValue: Room? { - get { - if Thread.isMainThread { - return getRoomRoomIdUnderlyingReturnValue - } else { - var returnValue: Room?? = nil - DispatchQueue.main.sync { - returnValue = getRoomRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRoomRoomIdUnderlyingReturnValue = newValue - } - } - } + get { getRoomRoomIdReturnValueLock.withLock { getRoomRoomIdUnderlyingReturnValue } } + set { getRoomRoomIdReturnValueLock.withLock { getRoomRoomIdUnderlyingReturnValue = newValue } } } open var getRoomRoomIdClosure: ((String) throws -> Room?)? @@ -13165,11 +7703,9 @@ open class NotificationClientSDKMock: MatrixRustSDK.NotificationClient, @uncheck if let error = getRoomRoomIdThrowableError { throw error } - getRoomRoomIdCallsCount += 1 + getRoomRoomIdCallsCountLock.withLock { getRoomRoomIdUnderlyingCallsCount += 1 } getRoomRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.getRoomRoomIdReceivedInvocations.append(roomId) - } + getRoomRoomIdReceivedInvocationsLock.withLock { getRoomRoomIdUnderlyingReceivedInvocations.append(roomId) } if let getRoomRoomIdClosure = getRoomRoomIdClosure { return try getRoomRoomIdClosure(roomId) } else { @@ -13194,62 +7730,26 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - canHomeserverPushEncryptedEventToDevice - open var canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount = 0 + private let canHomeserverPushEncryptedEventToDeviceCallsCountLock = NSLock() + private var canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount = 0 open var canHomeserverPushEncryptedEventToDeviceCallsCount: Int { - get { - if Thread.isMainThread { - return canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount = newValue - } - } - } + get { canHomeserverPushEncryptedEventToDeviceCallsCountLock.withLock { canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount } } + set { canHomeserverPushEncryptedEventToDeviceCallsCountLock.withLock { canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount = newValue } } } open var canHomeserverPushEncryptedEventToDeviceCalled: Bool { return canHomeserverPushEncryptedEventToDeviceCallsCount > 0 } + private let canHomeserverPushEncryptedEventToDeviceReturnValueLock = NSLock() open var canHomeserverPushEncryptedEventToDeviceUnderlyingReturnValue: Bool! open var canHomeserverPushEncryptedEventToDeviceReturnValue: Bool! { - get { - if Thread.isMainThread { - return canHomeserverPushEncryptedEventToDeviceUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canHomeserverPushEncryptedEventToDeviceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canHomeserverPushEncryptedEventToDeviceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canHomeserverPushEncryptedEventToDeviceUnderlyingReturnValue = newValue - } - } - } + get { canHomeserverPushEncryptedEventToDeviceReturnValueLock.withLock { canHomeserverPushEncryptedEventToDeviceUnderlyingReturnValue } } + set { canHomeserverPushEncryptedEventToDeviceReturnValueLock.withLock { canHomeserverPushEncryptedEventToDeviceUnderlyingReturnValue = newValue } } } open var canHomeserverPushEncryptedEventToDeviceClosure: (() async -> Bool)? open override func canHomeserverPushEncryptedEventToDevice() async -> Bool { - canHomeserverPushEncryptedEventToDeviceCallsCount += 1 + canHomeserverPushEncryptedEventToDeviceCallsCountLock.withLock { canHomeserverPushEncryptedEventToDeviceUnderlyingCallsCount += 1 } if let canHomeserverPushEncryptedEventToDeviceClosure = canHomeserverPushEncryptedEventToDeviceClosure { return await canHomeserverPushEncryptedEventToDeviceClosure() } else { @@ -13259,62 +7759,26 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - canPushEncryptedEventToDevice - open var canPushEncryptedEventToDeviceUnderlyingCallsCount = 0 + private let canPushEncryptedEventToDeviceCallsCountLock = NSLock() + private var canPushEncryptedEventToDeviceUnderlyingCallsCount = 0 open var canPushEncryptedEventToDeviceCallsCount: Int { - get { - if Thread.isMainThread { - return canPushEncryptedEventToDeviceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canPushEncryptedEventToDeviceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canPushEncryptedEventToDeviceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canPushEncryptedEventToDeviceUnderlyingCallsCount = newValue - } - } - } + get { canPushEncryptedEventToDeviceCallsCountLock.withLock { canPushEncryptedEventToDeviceUnderlyingCallsCount } } + set { canPushEncryptedEventToDeviceCallsCountLock.withLock { canPushEncryptedEventToDeviceUnderlyingCallsCount = newValue } } } open var canPushEncryptedEventToDeviceCalled: Bool { return canPushEncryptedEventToDeviceCallsCount > 0 } + private let canPushEncryptedEventToDeviceReturnValueLock = NSLock() open var canPushEncryptedEventToDeviceUnderlyingReturnValue: Bool! open var canPushEncryptedEventToDeviceReturnValue: Bool! { - get { - if Thread.isMainThread { - return canPushEncryptedEventToDeviceUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canPushEncryptedEventToDeviceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canPushEncryptedEventToDeviceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canPushEncryptedEventToDeviceUnderlyingReturnValue = newValue - } - } - } + get { canPushEncryptedEventToDeviceReturnValueLock.withLock { canPushEncryptedEventToDeviceUnderlyingReturnValue } } + set { canPushEncryptedEventToDeviceReturnValueLock.withLock { canPushEncryptedEventToDeviceUnderlyingReturnValue = newValue } } } open var canPushEncryptedEventToDeviceClosure: (() async -> Bool)? open override func canPushEncryptedEventToDevice() async -> Bool { - canPushEncryptedEventToDeviceCallsCount += 1 + canPushEncryptedEventToDeviceCallsCountLock.withLock { canPushEncryptedEventToDeviceUnderlyingCallsCount += 1 } if let canPushEncryptedEventToDeviceClosure = canPushEncryptedEventToDeviceClosure { return await canPushEncryptedEventToDeviceClosure() } else { @@ -13324,62 +7788,26 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - containsKeywordsRules - open var containsKeywordsRulesUnderlyingCallsCount = 0 + private let containsKeywordsRulesCallsCountLock = NSLock() + private var containsKeywordsRulesUnderlyingCallsCount = 0 open var containsKeywordsRulesCallsCount: Int { - get { - if Thread.isMainThread { - return containsKeywordsRulesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = containsKeywordsRulesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsKeywordsRulesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - containsKeywordsRulesUnderlyingCallsCount = newValue - } - } - } + get { containsKeywordsRulesCallsCountLock.withLock { containsKeywordsRulesUnderlyingCallsCount } } + set { containsKeywordsRulesCallsCountLock.withLock { containsKeywordsRulesUnderlyingCallsCount = newValue } } } open var containsKeywordsRulesCalled: Bool { return containsKeywordsRulesCallsCount > 0 } + private let containsKeywordsRulesReturnValueLock = NSLock() open var containsKeywordsRulesUnderlyingReturnValue: Bool! open var containsKeywordsRulesReturnValue: Bool! { - get { - if Thread.isMainThread { - return containsKeywordsRulesUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = containsKeywordsRulesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsKeywordsRulesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - containsKeywordsRulesUnderlyingReturnValue = newValue - } - } - } + get { containsKeywordsRulesReturnValueLock.withLock { containsKeywordsRulesUnderlyingReturnValue } } + set { containsKeywordsRulesReturnValueLock.withLock { containsKeywordsRulesUnderlyingReturnValue = newValue } } } open var containsKeywordsRulesClosure: (() async -> Bool)? open override func containsKeywordsRules() async -> Bool { - containsKeywordsRulesCallsCount += 1 + containsKeywordsRulesCallsCountLock.withLock { containsKeywordsRulesUnderlyingCallsCount += 1 } if let containsKeywordsRulesClosure = containsKeywordsRulesClosure { return await containsKeywordsRulesClosure() } else { @@ -13389,68 +7817,40 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - getDefaultRoomNotificationMode - open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = 0 + private let getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCountLock = NSLock() + private var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = 0 open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCount: Int { - get { - if Thread.isMainThread { - return getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } - } - } + get { getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCountLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount } } + set { getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCountLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount = newValue } } } open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneCalled: Bool { return getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCount > 0 } - open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool)? - open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool)] = [] + private let getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArgumentsLock = NSLock() + private var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool)? + open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool)? { + get { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedArguments } } + set { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedArguments = newValue } } + } + private let getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocationsLock = NSLock() + private var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool)] = [] + open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool)] { + get { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedInvocations } } + set { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedInvocations = newValue } } + } + private let getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValueLock = NSLock() open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue: RoomNotificationMode! open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValue: RoomNotificationMode! { - get { - if Thread.isMainThread { - return getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue - } else { - var returnValue: RoomNotificationMode? = nil - DispatchQueue.main.sync { - returnValue = getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue = newValue - } - } - } + get { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValueLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue } } + set { getDefaultRoomNotificationModeIsEncryptedIsOneToOneReturnValueLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReturnValue = newValue } } } open var getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure: ((Bool, Bool) async -> RoomNotificationMode)? open override func getDefaultRoomNotificationMode(isEncrypted: Bool, isOneToOne: Bool) async -> RoomNotificationMode { - getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCount += 1 + getDefaultRoomNotificationModeIsEncryptedIsOneToOneCallsCountLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingCallsCount += 1 } getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedArguments = (isEncrypted: isEncrypted, isOneToOne: isOneToOne) - DispatchQueue.main.async { - self.getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocations.append((isEncrypted: isEncrypted, isOneToOne: isOneToOne)) - } + getDefaultRoomNotificationModeIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getDefaultRoomNotificationModeIsEncryptedIsOneToOneUnderlyingReceivedInvocations.append((isEncrypted: isEncrypted, isOneToOne: isOneToOne)) } if let getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure = getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure { return await getDefaultRoomNotificationModeIsEncryptedIsOneToOneClosure(isEncrypted, isOneToOne) } else { @@ -13461,57 +7861,21 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - getRawPushRules open var getRawPushRulesThrowableError: Error? - open var getRawPushRulesUnderlyingCallsCount = 0 + private let getRawPushRulesCallsCountLock = NSLock() + private var getRawPushRulesUnderlyingCallsCount = 0 open var getRawPushRulesCallsCount: Int { - get { - if Thread.isMainThread { - return getRawPushRulesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRawPushRulesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRawPushRulesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRawPushRulesUnderlyingCallsCount = newValue - } - } - } + get { getRawPushRulesCallsCountLock.withLock { getRawPushRulesUnderlyingCallsCount } } + set { getRawPushRulesCallsCountLock.withLock { getRawPushRulesUnderlyingCallsCount = newValue } } } open var getRawPushRulesCalled: Bool { return getRawPushRulesCallsCount > 0 } + private let getRawPushRulesReturnValueLock = NSLock() open var getRawPushRulesUnderlyingReturnValue: String? open var getRawPushRulesReturnValue: String? { - get { - if Thread.isMainThread { - return getRawPushRulesUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = getRawPushRulesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRawPushRulesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRawPushRulesUnderlyingReturnValue = newValue - } - } - } + get { getRawPushRulesReturnValueLock.withLock { getRawPushRulesUnderlyingReturnValue } } + set { getRawPushRulesReturnValueLock.withLock { getRawPushRulesUnderlyingReturnValue = newValue } } } open var getRawPushRulesClosure: (() async throws -> String?)? @@ -13519,7 +7883,7 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc if let error = getRawPushRulesThrowableError { throw error } - getRawPushRulesCallsCount += 1 + getRawPushRulesCallsCountLock.withLock { getRawPushRulesUnderlyingCallsCount += 1 } if let getRawPushRulesClosure = getRawPushRulesClosure { return try await getRawPushRulesClosure() } else { @@ -13530,59 +7894,33 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - getRoomNotificationSettings open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneThrowableError: Error? - open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = 0 + private let getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCountLock = NSLock() + private var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = 0 open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCount: Int { - get { - if Thread.isMainThread { - return getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } - } - } + get { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount } } + set { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue } } } open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneCalled: Bool { return getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCount > 0 } - open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? - open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] = [] + private let getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock = NSLock() + private var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? + open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? { + get { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments } } + set { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments = newValue } } + } + private let getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock = NSLock() + private var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] = [] + open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] { + get { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations } } + set { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations = newValue } } + } + private let getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValueLock = NSLock() open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue: RoomNotificationSettings! open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValue: RoomNotificationSettings! { - get { - if Thread.isMainThread { - return getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue - } else { - var returnValue: RoomNotificationSettings? = nil - DispatchQueue.main.sync { - returnValue = getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue = newValue - } - } - } + get { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValueLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue } } + set { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReturnValueLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReturnValue = newValue } } } open var getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneClosure: ((String, Bool, Bool) async throws -> RoomNotificationSettings)? @@ -13590,11 +7928,9 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc if let error = getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneThrowableError { throw error } - getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCount += 1 + getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount += 1 } getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedArguments = (roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne) - DispatchQueue.main.async { - self.getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocations.append((roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne)) - } + getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations.append((roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne)) } if let getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneClosure = getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneClosure { return try await getRoomNotificationSettingsRoomIdIsEncryptedIsOneToOneClosure(roomId, isEncrypted, isOneToOne) } else { @@ -13604,68 +7940,40 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - getRoomsWithUserDefinedRules - open var getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount = 0 + private let getRoomsWithUserDefinedRulesEnabledCallsCountLock = NSLock() + private var getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount = 0 open var getRoomsWithUserDefinedRulesEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount = newValue - } - } - } + get { getRoomsWithUserDefinedRulesEnabledCallsCountLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount } } + set { getRoomsWithUserDefinedRulesEnabledCallsCountLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount = newValue } } } open var getRoomsWithUserDefinedRulesEnabledCalled: Bool { return getRoomsWithUserDefinedRulesEnabledCallsCount > 0 } - open var getRoomsWithUserDefinedRulesEnabledReceivedEnabled: Bool? - open var getRoomsWithUserDefinedRulesEnabledReceivedInvocations: [Bool?] = [] + private let getRoomsWithUserDefinedRulesEnabledReceivedEnabledLock = NSLock() + private var getRoomsWithUserDefinedRulesEnabledUnderlyingReceivedEnabled: Bool? + open var getRoomsWithUserDefinedRulesEnabledReceivedEnabled: Bool? { + get { getRoomsWithUserDefinedRulesEnabledReceivedEnabledLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingReceivedEnabled } } + set { getRoomsWithUserDefinedRulesEnabledReceivedEnabledLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingReceivedEnabled = newValue } } + } + private let getRoomsWithUserDefinedRulesEnabledReceivedInvocationsLock = NSLock() + private var getRoomsWithUserDefinedRulesEnabledUnderlyingReceivedInvocations: [Bool?] = [] + open var getRoomsWithUserDefinedRulesEnabledReceivedInvocations: [Bool?] { + get { getRoomsWithUserDefinedRulesEnabledReceivedInvocationsLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingReceivedInvocations } } + set { getRoomsWithUserDefinedRulesEnabledReceivedInvocationsLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingReceivedInvocations = newValue } } + } + private let getRoomsWithUserDefinedRulesEnabledReturnValueLock = NSLock() open var getRoomsWithUserDefinedRulesEnabledUnderlyingReturnValue: [String]! open var getRoomsWithUserDefinedRulesEnabledReturnValue: [String]! { - get { - if Thread.isMainThread { - return getRoomsWithUserDefinedRulesEnabledUnderlyingReturnValue - } else { - var returnValue: [String]? = nil - DispatchQueue.main.sync { - returnValue = getRoomsWithUserDefinedRulesEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomsWithUserDefinedRulesEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRoomsWithUserDefinedRulesEnabledUnderlyingReturnValue = newValue - } - } - } + get { getRoomsWithUserDefinedRulesEnabledReturnValueLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingReturnValue } } + set { getRoomsWithUserDefinedRulesEnabledReturnValueLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingReturnValue = newValue } } } open var getRoomsWithUserDefinedRulesEnabledClosure: ((Bool?) async -> [String])? open override func getRoomsWithUserDefinedRules(enabled: Bool?) async -> [String] { - getRoomsWithUserDefinedRulesEnabledCallsCount += 1 + getRoomsWithUserDefinedRulesEnabledCallsCountLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingCallsCount += 1 } getRoomsWithUserDefinedRulesEnabledReceivedEnabled = enabled - DispatchQueue.main.async { - self.getRoomsWithUserDefinedRulesEnabledReceivedInvocations.append(enabled) - } + getRoomsWithUserDefinedRulesEnabledReceivedInvocationsLock.withLock { getRoomsWithUserDefinedRulesEnabledUnderlyingReceivedInvocations.append(enabled) } if let getRoomsWithUserDefinedRulesEnabledClosure = getRoomsWithUserDefinedRulesEnabledClosure { return await getRoomsWithUserDefinedRulesEnabledClosure(enabled) } else { @@ -13676,59 +7984,33 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - getUserDefinedRoomNotificationMode open var getUserDefinedRoomNotificationModeRoomIdThrowableError: Error? - open var getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = 0 + private let getUserDefinedRoomNotificationModeRoomIdCallsCountLock = NSLock() + private var getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = 0 open var getUserDefinedRoomNotificationModeRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = newValue - } - } - } + get { getUserDefinedRoomNotificationModeRoomIdCallsCountLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount } } + set { getUserDefinedRoomNotificationModeRoomIdCallsCountLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount = newValue } } } open var getUserDefinedRoomNotificationModeRoomIdCalled: Bool { return getUserDefinedRoomNotificationModeRoomIdCallsCount > 0 } - open var getUserDefinedRoomNotificationModeRoomIdReceivedRoomId: String? - open var getUserDefinedRoomNotificationModeRoomIdReceivedInvocations: [String] = [] + private let getUserDefinedRoomNotificationModeRoomIdReceivedRoomIdLock = NSLock() + private var getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedRoomId: String? + open var getUserDefinedRoomNotificationModeRoomIdReceivedRoomId: String? { + get { getUserDefinedRoomNotificationModeRoomIdReceivedRoomIdLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedRoomId } } + set { getUserDefinedRoomNotificationModeRoomIdReceivedRoomIdLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let getUserDefinedRoomNotificationModeRoomIdReceivedInvocationsLock = NSLock() + private var getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedInvocations: [String] = [] + open var getUserDefinedRoomNotificationModeRoomIdReceivedInvocations: [String] { + get { getUserDefinedRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedInvocations } } + set { getUserDefinedRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedInvocations = newValue } } + } + private let getUserDefinedRoomNotificationModeRoomIdReturnValueLock = NSLock() open var getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue: RoomNotificationMode? open var getUserDefinedRoomNotificationModeRoomIdReturnValue: RoomNotificationMode? { - get { - if Thread.isMainThread { - return getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue - } else { - var returnValue: RoomNotificationMode?? = nil - DispatchQueue.main.sync { - returnValue = getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue = newValue - } - } - } + get { getUserDefinedRoomNotificationModeRoomIdReturnValueLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue } } + set { getUserDefinedRoomNotificationModeRoomIdReturnValueLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReturnValue = newValue } } } open var getUserDefinedRoomNotificationModeRoomIdClosure: ((String) async throws -> RoomNotificationMode?)? @@ -13736,11 +8018,9 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc if let error = getUserDefinedRoomNotificationModeRoomIdThrowableError { throw error } - getUserDefinedRoomNotificationModeRoomIdCallsCount += 1 + getUserDefinedRoomNotificationModeRoomIdCallsCountLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingCallsCount += 1 } getUserDefinedRoomNotificationModeRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.getUserDefinedRoomNotificationModeRoomIdReceivedInvocations.append(roomId) - } + getUserDefinedRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { getUserDefinedRoomNotificationModeRoomIdUnderlyingReceivedInvocations.append(roomId) } if let getUserDefinedRoomNotificationModeRoomIdClosure = getUserDefinedRoomNotificationModeRoomIdClosure { return try await getUserDefinedRoomNotificationModeRoomIdClosure(roomId) } else { @@ -13751,57 +8031,21 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - isCallEnabled open var isCallEnabledThrowableError: Error? - open var isCallEnabledUnderlyingCallsCount = 0 + private let isCallEnabledCallsCountLock = NSLock() + private var isCallEnabledUnderlyingCallsCount = 0 open var isCallEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return isCallEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isCallEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isCallEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isCallEnabledUnderlyingCallsCount = newValue - } - } - } + get { isCallEnabledCallsCountLock.withLock { isCallEnabledUnderlyingCallsCount } } + set { isCallEnabledCallsCountLock.withLock { isCallEnabledUnderlyingCallsCount = newValue } } } open var isCallEnabledCalled: Bool { return isCallEnabledCallsCount > 0 } + private let isCallEnabledReturnValueLock = NSLock() open var isCallEnabledUnderlyingReturnValue: Bool! open var isCallEnabledReturnValue: Bool! { - get { - if Thread.isMainThread { - return isCallEnabledUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isCallEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isCallEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isCallEnabledUnderlyingReturnValue = newValue - } - } - } + get { isCallEnabledReturnValueLock.withLock { isCallEnabledUnderlyingReturnValue } } + set { isCallEnabledReturnValueLock.withLock { isCallEnabledUnderlyingReturnValue = newValue } } } open var isCallEnabledClosure: (() async throws -> Bool)? @@ -13809,7 +8053,7 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc if let error = isCallEnabledThrowableError { throw error } - isCallEnabledCallsCount += 1 + isCallEnabledCallsCountLock.withLock { isCallEnabledUnderlyingCallsCount += 1 } if let isCallEnabledClosure = isCallEnabledClosure { return try await isCallEnabledClosure() } else { @@ -13820,57 +8064,21 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - isInviteForMeEnabled open var isInviteForMeEnabledThrowableError: Error? - open var isInviteForMeEnabledUnderlyingCallsCount = 0 + private let isInviteForMeEnabledCallsCountLock = NSLock() + private var isInviteForMeEnabledUnderlyingCallsCount = 0 open var isInviteForMeEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return isInviteForMeEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isInviteForMeEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isInviteForMeEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isInviteForMeEnabledUnderlyingCallsCount = newValue - } - } - } + get { isInviteForMeEnabledCallsCountLock.withLock { isInviteForMeEnabledUnderlyingCallsCount } } + set { isInviteForMeEnabledCallsCountLock.withLock { isInviteForMeEnabledUnderlyingCallsCount = newValue } } } open var isInviteForMeEnabledCalled: Bool { return isInviteForMeEnabledCallsCount > 0 } + private let isInviteForMeEnabledReturnValueLock = NSLock() open var isInviteForMeEnabledUnderlyingReturnValue: Bool! open var isInviteForMeEnabledReturnValue: Bool! { - get { - if Thread.isMainThread { - return isInviteForMeEnabledUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isInviteForMeEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isInviteForMeEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isInviteForMeEnabledUnderlyingReturnValue = newValue - } - } - } + get { isInviteForMeEnabledReturnValueLock.withLock { isInviteForMeEnabledUnderlyingReturnValue } } + set { isInviteForMeEnabledReturnValueLock.withLock { isInviteForMeEnabledUnderlyingReturnValue = newValue } } } open var isInviteForMeEnabledClosure: (() async throws -> Bool)? @@ -13878,7 +8086,7 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc if let error = isInviteForMeEnabledThrowableError { throw error } - isInviteForMeEnabledCallsCount += 1 + isInviteForMeEnabledCallsCountLock.withLock { isInviteForMeEnabledUnderlyingCallsCount += 1 } if let isInviteForMeEnabledClosure = isInviteForMeEnabledClosure { return try await isInviteForMeEnabledClosure() } else { @@ -13889,57 +8097,21 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - isRoomMentionEnabled open var isRoomMentionEnabledThrowableError: Error? - open var isRoomMentionEnabledUnderlyingCallsCount = 0 + private let isRoomMentionEnabledCallsCountLock = NSLock() + private var isRoomMentionEnabledUnderlyingCallsCount = 0 open var isRoomMentionEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return isRoomMentionEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isRoomMentionEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isRoomMentionEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isRoomMentionEnabledUnderlyingCallsCount = newValue - } - } - } + get { isRoomMentionEnabledCallsCountLock.withLock { isRoomMentionEnabledUnderlyingCallsCount } } + set { isRoomMentionEnabledCallsCountLock.withLock { isRoomMentionEnabledUnderlyingCallsCount = newValue } } } open var isRoomMentionEnabledCalled: Bool { return isRoomMentionEnabledCallsCount > 0 } + private let isRoomMentionEnabledReturnValueLock = NSLock() open var isRoomMentionEnabledUnderlyingReturnValue: Bool! open var isRoomMentionEnabledReturnValue: Bool! { - get { - if Thread.isMainThread { - return isRoomMentionEnabledUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isRoomMentionEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isRoomMentionEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isRoomMentionEnabledUnderlyingReturnValue = newValue - } - } - } + get { isRoomMentionEnabledReturnValueLock.withLock { isRoomMentionEnabledUnderlyingReturnValue } } + set { isRoomMentionEnabledReturnValueLock.withLock { isRoomMentionEnabledUnderlyingReturnValue = newValue } } } open var isRoomMentionEnabledClosure: (() async throws -> Bool)? @@ -13947,7 +8119,7 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc if let error = isRoomMentionEnabledThrowableError { throw error } - isRoomMentionEnabledCallsCount += 1 + isRoomMentionEnabledCallsCountLock.withLock { isRoomMentionEnabledUnderlyingCallsCount += 1 } if let isRoomMentionEnabledClosure = isRoomMentionEnabledClosure { return try await isRoomMentionEnabledClosure() } else { @@ -13958,57 +8130,21 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - isUserMentionEnabled open var isUserMentionEnabledThrowableError: Error? - open var isUserMentionEnabledUnderlyingCallsCount = 0 + private let isUserMentionEnabledCallsCountLock = NSLock() + private var isUserMentionEnabledUnderlyingCallsCount = 0 open var isUserMentionEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return isUserMentionEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isUserMentionEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isUserMentionEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isUserMentionEnabledUnderlyingCallsCount = newValue - } - } - } + get { isUserMentionEnabledCallsCountLock.withLock { isUserMentionEnabledUnderlyingCallsCount } } + set { isUserMentionEnabledCallsCountLock.withLock { isUserMentionEnabledUnderlyingCallsCount = newValue } } } open var isUserMentionEnabledCalled: Bool { return isUserMentionEnabledCallsCount > 0 } + private let isUserMentionEnabledReturnValueLock = NSLock() open var isUserMentionEnabledUnderlyingReturnValue: Bool! open var isUserMentionEnabledReturnValue: Bool! { - get { - if Thread.isMainThread { - return isUserMentionEnabledUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isUserMentionEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isUserMentionEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isUserMentionEnabledUnderlyingReturnValue = newValue - } - } - } + get { isUserMentionEnabledReturnValueLock.withLock { isUserMentionEnabledUnderlyingReturnValue } } + set { isUserMentionEnabledReturnValueLock.withLock { isUserMentionEnabledUnderlyingReturnValue = newValue } } } open var isUserMentionEnabledClosure: (() async throws -> Bool)? @@ -14016,7 +8152,7 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc if let error = isUserMentionEnabledThrowableError { throw error } - isUserMentionEnabledCallsCount += 1 + isUserMentionEnabledCallsCountLock.withLock { isUserMentionEnabledUnderlyingCallsCount += 1 } if let isUserMentionEnabledClosure = isUserMentionEnabledClosure { return try await isUserMentionEnabledClosure() } else { @@ -14027,456 +8163,356 @@ open class NotificationSettingsSDKMock: MatrixRustSDK.NotificationSettings, @unc //MARK: - restoreDefaultRoomNotificationMode open var restoreDefaultRoomNotificationModeRoomIdThrowableError: Error? - open var restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount = 0 + private let restoreDefaultRoomNotificationModeRoomIdCallsCountLock = NSLock() + private var restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount = 0 open var restoreDefaultRoomNotificationModeRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount = newValue - } - } - } + get { restoreDefaultRoomNotificationModeRoomIdCallsCountLock.withLock { restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount } } + set { restoreDefaultRoomNotificationModeRoomIdCallsCountLock.withLock { restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount = newValue } } } open var restoreDefaultRoomNotificationModeRoomIdCalled: Bool { return restoreDefaultRoomNotificationModeRoomIdCallsCount > 0 } - open var restoreDefaultRoomNotificationModeRoomIdReceivedRoomId: String? - open var restoreDefaultRoomNotificationModeRoomIdReceivedInvocations: [String] = [] + private let restoreDefaultRoomNotificationModeRoomIdReceivedRoomIdLock = NSLock() + private var restoreDefaultRoomNotificationModeRoomIdUnderlyingReceivedRoomId: String? + open var restoreDefaultRoomNotificationModeRoomIdReceivedRoomId: String? { + get { restoreDefaultRoomNotificationModeRoomIdReceivedRoomIdLock.withLock { restoreDefaultRoomNotificationModeRoomIdUnderlyingReceivedRoomId } } + set { restoreDefaultRoomNotificationModeRoomIdReceivedRoomIdLock.withLock { restoreDefaultRoomNotificationModeRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let restoreDefaultRoomNotificationModeRoomIdReceivedInvocationsLock = NSLock() + private var restoreDefaultRoomNotificationModeRoomIdUnderlyingReceivedInvocations: [String] = [] + open var restoreDefaultRoomNotificationModeRoomIdReceivedInvocations: [String] { + get { restoreDefaultRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { restoreDefaultRoomNotificationModeRoomIdUnderlyingReceivedInvocations } } + set { restoreDefaultRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { restoreDefaultRoomNotificationModeRoomIdUnderlyingReceivedInvocations = newValue } } + } open var restoreDefaultRoomNotificationModeRoomIdClosure: ((String) async throws -> Void)? open override func restoreDefaultRoomNotificationMode(roomId: String) async throws { if let error = restoreDefaultRoomNotificationModeRoomIdThrowableError { throw error } - restoreDefaultRoomNotificationModeRoomIdCallsCount += 1 + restoreDefaultRoomNotificationModeRoomIdCallsCountLock.withLock { restoreDefaultRoomNotificationModeRoomIdUnderlyingCallsCount += 1 } restoreDefaultRoomNotificationModeRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.restoreDefaultRoomNotificationModeRoomIdReceivedInvocations.append(roomId) - } + restoreDefaultRoomNotificationModeRoomIdReceivedInvocationsLock.withLock { restoreDefaultRoomNotificationModeRoomIdUnderlyingReceivedInvocations.append(roomId) } try await restoreDefaultRoomNotificationModeRoomIdClosure?(roomId) } //MARK: - setCallEnabled open var setCallEnabledEnabledThrowableError: Error? - open var setCallEnabledEnabledUnderlyingCallsCount = 0 + private let setCallEnabledEnabledCallsCountLock = NSLock() + private var setCallEnabledEnabledUnderlyingCallsCount = 0 open var setCallEnabledEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return setCallEnabledEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setCallEnabledEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setCallEnabledEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setCallEnabledEnabledUnderlyingCallsCount = newValue - } - } - } + get { setCallEnabledEnabledCallsCountLock.withLock { setCallEnabledEnabledUnderlyingCallsCount } } + set { setCallEnabledEnabledCallsCountLock.withLock { setCallEnabledEnabledUnderlyingCallsCount = newValue } } } open var setCallEnabledEnabledCalled: Bool { return setCallEnabledEnabledCallsCount > 0 } - open var setCallEnabledEnabledReceivedEnabled: Bool? - open var setCallEnabledEnabledReceivedInvocations: [Bool] = [] + private let setCallEnabledEnabledReceivedEnabledLock = NSLock() + private var setCallEnabledEnabledUnderlyingReceivedEnabled: Bool? + open var setCallEnabledEnabledReceivedEnabled: Bool? { + get { setCallEnabledEnabledReceivedEnabledLock.withLock { setCallEnabledEnabledUnderlyingReceivedEnabled } } + set { setCallEnabledEnabledReceivedEnabledLock.withLock { setCallEnabledEnabledUnderlyingReceivedEnabled = newValue } } + } + private let setCallEnabledEnabledReceivedInvocationsLock = NSLock() + private var setCallEnabledEnabledUnderlyingReceivedInvocations: [Bool] = [] + open var setCallEnabledEnabledReceivedInvocations: [Bool] { + get { setCallEnabledEnabledReceivedInvocationsLock.withLock { setCallEnabledEnabledUnderlyingReceivedInvocations } } + set { setCallEnabledEnabledReceivedInvocationsLock.withLock { setCallEnabledEnabledUnderlyingReceivedInvocations = newValue } } + } open var setCallEnabledEnabledClosure: ((Bool) async throws -> Void)? open override func setCallEnabled(enabled: Bool) async throws { if let error = setCallEnabledEnabledThrowableError { throw error } - setCallEnabledEnabledCallsCount += 1 + setCallEnabledEnabledCallsCountLock.withLock { setCallEnabledEnabledUnderlyingCallsCount += 1 } setCallEnabledEnabledReceivedEnabled = enabled - DispatchQueue.main.async { - self.setCallEnabledEnabledReceivedInvocations.append(enabled) - } + setCallEnabledEnabledReceivedInvocationsLock.withLock { setCallEnabledEnabledUnderlyingReceivedInvocations.append(enabled) } try await setCallEnabledEnabledClosure?(enabled) } //MARK: - setCustomPushRule open var setCustomPushRuleRuleIdRuleKindActionsConditionsThrowableError: Error? - open var setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount = 0 + private let setCustomPushRuleRuleIdRuleKindActionsConditionsCallsCountLock = NSLock() + private var setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount = 0 open var setCustomPushRuleRuleIdRuleKindActionsConditionsCallsCount: Int { - get { - if Thread.isMainThread { - return setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount = newValue - } - } - } + get { setCustomPushRuleRuleIdRuleKindActionsConditionsCallsCountLock.withLock { setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount } } + set { setCustomPushRuleRuleIdRuleKindActionsConditionsCallsCountLock.withLock { setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount = newValue } } } open var setCustomPushRuleRuleIdRuleKindActionsConditionsCalled: Bool { return setCustomPushRuleRuleIdRuleKindActionsConditionsCallsCount > 0 } - open var setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedArguments: (ruleId: String, ruleKind: RuleKind, actions: [Action], conditions: [PushCondition])? - open var setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedInvocations: [(ruleId: String, ruleKind: RuleKind, actions: [Action], conditions: [PushCondition])] = [] + private let setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedArgumentsLock = NSLock() + private var setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingReceivedArguments: (ruleId: String, ruleKind: RuleKind, actions: [Action], conditions: [PushCondition])? + open var setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedArguments: (ruleId: String, ruleKind: RuleKind, actions: [Action], conditions: [PushCondition])? { + get { setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedArgumentsLock.withLock { setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingReceivedArguments } } + set { setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedArgumentsLock.withLock { setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingReceivedArguments = newValue } } + } + private let setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedInvocationsLock = NSLock() + private var setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingReceivedInvocations: [(ruleId: String, ruleKind: RuleKind, actions: [Action], conditions: [PushCondition])] = [] + open var setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedInvocations: [(ruleId: String, ruleKind: RuleKind, actions: [Action], conditions: [PushCondition])] { + get { setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedInvocationsLock.withLock { setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingReceivedInvocations } } + set { setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedInvocationsLock.withLock { setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingReceivedInvocations = newValue } } + } open var setCustomPushRuleRuleIdRuleKindActionsConditionsClosure: ((String, RuleKind, [Action], [PushCondition]) async throws -> Void)? open override func setCustomPushRule(ruleId: String, ruleKind: RuleKind, actions: [Action], conditions: [PushCondition]) async throws { if let error = setCustomPushRuleRuleIdRuleKindActionsConditionsThrowableError { throw error } - setCustomPushRuleRuleIdRuleKindActionsConditionsCallsCount += 1 + setCustomPushRuleRuleIdRuleKindActionsConditionsCallsCountLock.withLock { setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingCallsCount += 1 } setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedArguments = (ruleId: ruleId, ruleKind: ruleKind, actions: actions, conditions: conditions) - DispatchQueue.main.async { - self.setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedInvocations.append((ruleId: ruleId, ruleKind: ruleKind, actions: actions, conditions: conditions)) - } + setCustomPushRuleRuleIdRuleKindActionsConditionsReceivedInvocationsLock.withLock { setCustomPushRuleRuleIdRuleKindActionsConditionsUnderlyingReceivedInvocations.append((ruleId: ruleId, ruleKind: ruleKind, actions: actions, conditions: conditions)) } try await setCustomPushRuleRuleIdRuleKindActionsConditionsClosure?(ruleId, ruleKind, actions, conditions) } //MARK: - setDefaultRoomNotificationMode open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeThrowableError: Error? - open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = 0 + private let setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCountLock = NSLock() + private var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = 0 open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCount: Int { - get { - if Thread.isMainThread { - return setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = newValue - } - } - } + get { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCountLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount } } + set { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCountLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount = newValue } } } open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCalled: Bool { return setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCount > 0 } - open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationMode)? - open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationMode)] = [] + private let setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArgumentsLock = NSLock() + private var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationMode)? + open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArguments: (isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationMode)? { + get { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArgumentsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedArguments } } + set { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArgumentsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedArguments = newValue } } + } + private let setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocationsLock = NSLock() + private var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationMode)] = [] + open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocations: [(isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationMode)] { + get { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocationsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedInvocations } } + set { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocationsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedInvocations = newValue } } + } open var setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeClosure: ((Bool, Bool, RoomNotificationMode) async throws -> Void)? open override func setDefaultRoomNotificationMode(isEncrypted: Bool, isOneToOne: Bool, mode: RoomNotificationMode) async throws { if let error = setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeThrowableError { throw error } - setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCount += 1 + setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeCallsCountLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingCallsCount += 1 } setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedArguments = (isEncrypted: isEncrypted, isOneToOne: isOneToOne, mode: mode) - DispatchQueue.main.async { - self.setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocations.append((isEncrypted: isEncrypted, isOneToOne: isOneToOne, mode: mode)) - } + setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeReceivedInvocationsLock.withLock { setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeUnderlyingReceivedInvocations.append((isEncrypted: isEncrypted, isOneToOne: isOneToOne, mode: mode)) } try await setDefaultRoomNotificationModeIsEncryptedIsOneToOneModeClosure?(isEncrypted, isOneToOne, mode) } //MARK: - setDelegate - open var setDelegateDelegateUnderlyingCallsCount = 0 + private let setDelegateDelegateCallsCountLock = NSLock() + private var setDelegateDelegateUnderlyingCallsCount = 0 open var setDelegateDelegateCallsCount: Int { - get { - if Thread.isMainThread { - return setDelegateDelegateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setDelegateDelegateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setDelegateDelegateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setDelegateDelegateUnderlyingCallsCount = newValue - } - } - } + get { setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount } } + set { setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount = newValue } } } open var setDelegateDelegateCalled: Bool { return setDelegateDelegateCallsCount > 0 } - open var setDelegateDelegateReceivedDelegate: NotificationSettingsDelegate? - open var setDelegateDelegateReceivedInvocations: [NotificationSettingsDelegate?] = [] + private let setDelegateDelegateReceivedDelegateLock = NSLock() + private var setDelegateDelegateUnderlyingReceivedDelegate: NotificationSettingsDelegate? + open var setDelegateDelegateReceivedDelegate: NotificationSettingsDelegate? { + get { setDelegateDelegateReceivedDelegateLock.withLock { setDelegateDelegateUnderlyingReceivedDelegate } } + set { setDelegateDelegateReceivedDelegateLock.withLock { setDelegateDelegateUnderlyingReceivedDelegate = newValue } } + } + private let setDelegateDelegateReceivedInvocationsLock = NSLock() + private var setDelegateDelegateUnderlyingReceivedInvocations: [NotificationSettingsDelegate?] = [] + open var setDelegateDelegateReceivedInvocations: [NotificationSettingsDelegate?] { + get { setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations } } + set { setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations = newValue } } + } open var setDelegateDelegateClosure: ((NotificationSettingsDelegate?) -> Void)? open override func setDelegate(delegate: NotificationSettingsDelegate?) { - setDelegateDelegateCallsCount += 1 + setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount += 1 } setDelegateDelegateReceivedDelegate = delegate - DispatchQueue.main.async { - self.setDelegateDelegateReceivedInvocations.append(delegate) - } + setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations.append(delegate) } setDelegateDelegateClosure?(delegate) } //MARK: - setInviteForMeEnabled open var setInviteForMeEnabledEnabledThrowableError: Error? - open var setInviteForMeEnabledEnabledUnderlyingCallsCount = 0 + private let setInviteForMeEnabledEnabledCallsCountLock = NSLock() + private var setInviteForMeEnabledEnabledUnderlyingCallsCount = 0 open var setInviteForMeEnabledEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return setInviteForMeEnabledEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setInviteForMeEnabledEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setInviteForMeEnabledEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setInviteForMeEnabledEnabledUnderlyingCallsCount = newValue - } - } - } + get { setInviteForMeEnabledEnabledCallsCountLock.withLock { setInviteForMeEnabledEnabledUnderlyingCallsCount } } + set { setInviteForMeEnabledEnabledCallsCountLock.withLock { setInviteForMeEnabledEnabledUnderlyingCallsCount = newValue } } } open var setInviteForMeEnabledEnabledCalled: Bool { return setInviteForMeEnabledEnabledCallsCount > 0 } - open var setInviteForMeEnabledEnabledReceivedEnabled: Bool? - open var setInviteForMeEnabledEnabledReceivedInvocations: [Bool] = [] + private let setInviteForMeEnabledEnabledReceivedEnabledLock = NSLock() + private var setInviteForMeEnabledEnabledUnderlyingReceivedEnabled: Bool? + open var setInviteForMeEnabledEnabledReceivedEnabled: Bool? { + get { setInviteForMeEnabledEnabledReceivedEnabledLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedEnabled } } + set { setInviteForMeEnabledEnabledReceivedEnabledLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedEnabled = newValue } } + } + private let setInviteForMeEnabledEnabledReceivedInvocationsLock = NSLock() + private var setInviteForMeEnabledEnabledUnderlyingReceivedInvocations: [Bool] = [] + open var setInviteForMeEnabledEnabledReceivedInvocations: [Bool] { + get { setInviteForMeEnabledEnabledReceivedInvocationsLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedInvocations } } + set { setInviteForMeEnabledEnabledReceivedInvocationsLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedInvocations = newValue } } + } open var setInviteForMeEnabledEnabledClosure: ((Bool) async throws -> Void)? open override func setInviteForMeEnabled(enabled: Bool) async throws { if let error = setInviteForMeEnabledEnabledThrowableError { throw error } - setInviteForMeEnabledEnabledCallsCount += 1 + setInviteForMeEnabledEnabledCallsCountLock.withLock { setInviteForMeEnabledEnabledUnderlyingCallsCount += 1 } setInviteForMeEnabledEnabledReceivedEnabled = enabled - DispatchQueue.main.async { - self.setInviteForMeEnabledEnabledReceivedInvocations.append(enabled) - } + setInviteForMeEnabledEnabledReceivedInvocationsLock.withLock { setInviteForMeEnabledEnabledUnderlyingReceivedInvocations.append(enabled) } try await setInviteForMeEnabledEnabledClosure?(enabled) } //MARK: - setRoomMentionEnabled open var setRoomMentionEnabledEnabledThrowableError: Error? - open var setRoomMentionEnabledEnabledUnderlyingCallsCount = 0 + private let setRoomMentionEnabledEnabledCallsCountLock = NSLock() + private var setRoomMentionEnabledEnabledUnderlyingCallsCount = 0 open var setRoomMentionEnabledEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return setRoomMentionEnabledEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setRoomMentionEnabledEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setRoomMentionEnabledEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setRoomMentionEnabledEnabledUnderlyingCallsCount = newValue - } - } - } + get { setRoomMentionEnabledEnabledCallsCountLock.withLock { setRoomMentionEnabledEnabledUnderlyingCallsCount } } + set { setRoomMentionEnabledEnabledCallsCountLock.withLock { setRoomMentionEnabledEnabledUnderlyingCallsCount = newValue } } } open var setRoomMentionEnabledEnabledCalled: Bool { return setRoomMentionEnabledEnabledCallsCount > 0 } - open var setRoomMentionEnabledEnabledReceivedEnabled: Bool? - open var setRoomMentionEnabledEnabledReceivedInvocations: [Bool] = [] + private let setRoomMentionEnabledEnabledReceivedEnabledLock = NSLock() + private var setRoomMentionEnabledEnabledUnderlyingReceivedEnabled: Bool? + open var setRoomMentionEnabledEnabledReceivedEnabled: Bool? { + get { setRoomMentionEnabledEnabledReceivedEnabledLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedEnabled } } + set { setRoomMentionEnabledEnabledReceivedEnabledLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedEnabled = newValue } } + } + private let setRoomMentionEnabledEnabledReceivedInvocationsLock = NSLock() + private var setRoomMentionEnabledEnabledUnderlyingReceivedInvocations: [Bool] = [] + open var setRoomMentionEnabledEnabledReceivedInvocations: [Bool] { + get { setRoomMentionEnabledEnabledReceivedInvocationsLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedInvocations } } + set { setRoomMentionEnabledEnabledReceivedInvocationsLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedInvocations = newValue } } + } open var setRoomMentionEnabledEnabledClosure: ((Bool) async throws -> Void)? open override func setRoomMentionEnabled(enabled: Bool) async throws { if let error = setRoomMentionEnabledEnabledThrowableError { throw error } - setRoomMentionEnabledEnabledCallsCount += 1 + setRoomMentionEnabledEnabledCallsCountLock.withLock { setRoomMentionEnabledEnabledUnderlyingCallsCount += 1 } setRoomMentionEnabledEnabledReceivedEnabled = enabled - DispatchQueue.main.async { - self.setRoomMentionEnabledEnabledReceivedInvocations.append(enabled) - } + setRoomMentionEnabledEnabledReceivedInvocationsLock.withLock { setRoomMentionEnabledEnabledUnderlyingReceivedInvocations.append(enabled) } try await setRoomMentionEnabledEnabledClosure?(enabled) } //MARK: - setRoomNotificationMode open var setRoomNotificationModeRoomIdModeThrowableError: Error? - open var setRoomNotificationModeRoomIdModeUnderlyingCallsCount = 0 + private let setRoomNotificationModeRoomIdModeCallsCountLock = NSLock() + private var setRoomNotificationModeRoomIdModeUnderlyingCallsCount = 0 open var setRoomNotificationModeRoomIdModeCallsCount: Int { - get { - if Thread.isMainThread { - return setRoomNotificationModeRoomIdModeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setRoomNotificationModeRoomIdModeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setRoomNotificationModeRoomIdModeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setRoomNotificationModeRoomIdModeUnderlyingCallsCount = newValue - } - } - } + get { setRoomNotificationModeRoomIdModeCallsCountLock.withLock { setRoomNotificationModeRoomIdModeUnderlyingCallsCount } } + set { setRoomNotificationModeRoomIdModeCallsCountLock.withLock { setRoomNotificationModeRoomIdModeUnderlyingCallsCount = newValue } } } open var setRoomNotificationModeRoomIdModeCalled: Bool { return setRoomNotificationModeRoomIdModeCallsCount > 0 } - open var setRoomNotificationModeRoomIdModeReceivedArguments: (roomId: String, mode: RoomNotificationMode)? - open var setRoomNotificationModeRoomIdModeReceivedInvocations: [(roomId: String, mode: RoomNotificationMode)] = [] + private let setRoomNotificationModeRoomIdModeReceivedArgumentsLock = NSLock() + private var setRoomNotificationModeRoomIdModeUnderlyingReceivedArguments: (roomId: String, mode: RoomNotificationMode)? + open var setRoomNotificationModeRoomIdModeReceivedArguments: (roomId: String, mode: RoomNotificationMode)? { + get { setRoomNotificationModeRoomIdModeReceivedArgumentsLock.withLock { setRoomNotificationModeRoomIdModeUnderlyingReceivedArguments } } + set { setRoomNotificationModeRoomIdModeReceivedArgumentsLock.withLock { setRoomNotificationModeRoomIdModeUnderlyingReceivedArguments = newValue } } + } + private let setRoomNotificationModeRoomIdModeReceivedInvocationsLock = NSLock() + private var setRoomNotificationModeRoomIdModeUnderlyingReceivedInvocations: [(roomId: String, mode: RoomNotificationMode)] = [] + open var setRoomNotificationModeRoomIdModeReceivedInvocations: [(roomId: String, mode: RoomNotificationMode)] { + get { setRoomNotificationModeRoomIdModeReceivedInvocationsLock.withLock { setRoomNotificationModeRoomIdModeUnderlyingReceivedInvocations } } + set { setRoomNotificationModeRoomIdModeReceivedInvocationsLock.withLock { setRoomNotificationModeRoomIdModeUnderlyingReceivedInvocations = newValue } } + } open var setRoomNotificationModeRoomIdModeClosure: ((String, RoomNotificationMode) async throws -> Void)? open override func setRoomNotificationMode(roomId: String, mode: RoomNotificationMode) async throws { if let error = setRoomNotificationModeRoomIdModeThrowableError { throw error } - setRoomNotificationModeRoomIdModeCallsCount += 1 + setRoomNotificationModeRoomIdModeCallsCountLock.withLock { setRoomNotificationModeRoomIdModeUnderlyingCallsCount += 1 } setRoomNotificationModeRoomIdModeReceivedArguments = (roomId: roomId, mode: mode) - DispatchQueue.main.async { - self.setRoomNotificationModeRoomIdModeReceivedInvocations.append((roomId: roomId, mode: mode)) - } + setRoomNotificationModeRoomIdModeReceivedInvocationsLock.withLock { setRoomNotificationModeRoomIdModeUnderlyingReceivedInvocations.append((roomId: roomId, mode: mode)) } try await setRoomNotificationModeRoomIdModeClosure?(roomId, mode) } //MARK: - setUserMentionEnabled open var setUserMentionEnabledEnabledThrowableError: Error? - open var setUserMentionEnabledEnabledUnderlyingCallsCount = 0 + private let setUserMentionEnabledEnabledCallsCountLock = NSLock() + private var setUserMentionEnabledEnabledUnderlyingCallsCount = 0 open var setUserMentionEnabledEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return setUserMentionEnabledEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setUserMentionEnabledEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setUserMentionEnabledEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setUserMentionEnabledEnabledUnderlyingCallsCount = newValue - } - } - } + get { setUserMentionEnabledEnabledCallsCountLock.withLock { setUserMentionEnabledEnabledUnderlyingCallsCount } } + set { setUserMentionEnabledEnabledCallsCountLock.withLock { setUserMentionEnabledEnabledUnderlyingCallsCount = newValue } } } open var setUserMentionEnabledEnabledCalled: Bool { return setUserMentionEnabledEnabledCallsCount > 0 } - open var setUserMentionEnabledEnabledReceivedEnabled: Bool? - open var setUserMentionEnabledEnabledReceivedInvocations: [Bool] = [] + private let setUserMentionEnabledEnabledReceivedEnabledLock = NSLock() + private var setUserMentionEnabledEnabledUnderlyingReceivedEnabled: Bool? + open var setUserMentionEnabledEnabledReceivedEnabled: Bool? { + get { setUserMentionEnabledEnabledReceivedEnabledLock.withLock { setUserMentionEnabledEnabledUnderlyingReceivedEnabled } } + set { setUserMentionEnabledEnabledReceivedEnabledLock.withLock { setUserMentionEnabledEnabledUnderlyingReceivedEnabled = newValue } } + } + private let setUserMentionEnabledEnabledReceivedInvocationsLock = NSLock() + private var setUserMentionEnabledEnabledUnderlyingReceivedInvocations: [Bool] = [] + open var setUserMentionEnabledEnabledReceivedInvocations: [Bool] { + get { setUserMentionEnabledEnabledReceivedInvocationsLock.withLock { setUserMentionEnabledEnabledUnderlyingReceivedInvocations } } + set { setUserMentionEnabledEnabledReceivedInvocationsLock.withLock { setUserMentionEnabledEnabledUnderlyingReceivedInvocations = newValue } } + } open var setUserMentionEnabledEnabledClosure: ((Bool) async throws -> Void)? open override func setUserMentionEnabled(enabled: Bool) async throws { if let error = setUserMentionEnabledEnabledThrowableError { throw error } - setUserMentionEnabledEnabledCallsCount += 1 + setUserMentionEnabledEnabledCallsCountLock.withLock { setUserMentionEnabledEnabledUnderlyingCallsCount += 1 } setUserMentionEnabledEnabledReceivedEnabled = enabled - DispatchQueue.main.async { - self.setUserMentionEnabledEnabledReceivedInvocations.append(enabled) - } + setUserMentionEnabledEnabledReceivedInvocationsLock.withLock { setUserMentionEnabledEnabledUnderlyingReceivedInvocations.append(enabled) } try await setUserMentionEnabledEnabledClosure?(enabled) } //MARK: - unmuteRoom open var unmuteRoomRoomIdIsEncryptedIsOneToOneThrowableError: Error? - open var unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = 0 + private let unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCountLock = NSLock() + private var unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = 0 open var unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCount: Int { - get { - if Thread.isMainThread { - return unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue - } - } - } + get { unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount } } + set { unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount = newValue } } } open var unmuteRoomRoomIdIsEncryptedIsOneToOneCalled: Bool { return unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCount > 0 } - open var unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? - open var unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] = [] + private let unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock = NSLock() + private var unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? + open var unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArguments: (roomId: String, isEncrypted: Bool, isOneToOne: Bool)? { + get { unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments } } + set { unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArgumentsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedArguments = newValue } } + } + private let unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock = NSLock() + private var unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] = [] + open var unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocations: [(roomId: String, isEncrypted: Bool, isOneToOne: Bool)] { + get { unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations } } + set { unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations = newValue } } + } open var unmuteRoomRoomIdIsEncryptedIsOneToOneClosure: ((String, Bool, Bool) async throws -> Void)? open override func unmuteRoom(roomId: String, isEncrypted: Bool, isOneToOne: Bool) async throws { if let error = unmuteRoomRoomIdIsEncryptedIsOneToOneThrowableError { throw error } - unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCount += 1 + unmuteRoomRoomIdIsEncryptedIsOneToOneCallsCountLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingCallsCount += 1 } unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedArguments = (roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne) - DispatchQueue.main.async { - self.unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocations.append((roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne)) - } + unmuteRoomRoomIdIsEncryptedIsOneToOneReceivedInvocationsLock.withLock { unmuteRoomRoomIdIsEncryptedIsOneToOneUnderlyingReceivedInvocations.append((roomId: roomId, isEncrypted: isEncrypted, isOneToOne: isOneToOne)) } try await unmuteRoomRoomIdIsEncryptedIsOneToOneClosure?(roomId, isEncrypted, isOneToOne) } } @@ -14497,62 +8533,26 @@ open class OAuthAuthorizationDataSDKMock: MatrixRustSDK.OAuthAuthorizationData, //MARK: - loginUrl - open var loginUrlUnderlyingCallsCount = 0 + private let loginUrlCallsCountLock = NSLock() + private var loginUrlUnderlyingCallsCount = 0 open var loginUrlCallsCount: Int { - get { - if Thread.isMainThread { - return loginUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loginUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loginUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loginUrlUnderlyingCallsCount = newValue - } - } - } + get { loginUrlCallsCountLock.withLock { loginUrlUnderlyingCallsCount } } + set { loginUrlCallsCountLock.withLock { loginUrlUnderlyingCallsCount = newValue } } } open var loginUrlCalled: Bool { return loginUrlCallsCount > 0 } + private let loginUrlReturnValueLock = NSLock() open var loginUrlUnderlyingReturnValue: String! open var loginUrlReturnValue: String! { - get { - if Thread.isMainThread { - return loginUrlUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = loginUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loginUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loginUrlUnderlyingReturnValue = newValue - } - } - } + get { loginUrlReturnValueLock.withLock { loginUrlUnderlyingReturnValue } } + set { loginUrlReturnValueLock.withLock { loginUrlUnderlyingReturnValue = newValue } } } open var loginUrlClosure: (() -> String)? open override func loginUrl() -> String { - loginUrlCallsCount += 1 + loginUrlCallsCountLock.withLock { loginUrlUnderlyingCallsCount += 1 } if let loginUrlClosure = loginUrlClosure { return loginUrlClosure() } else { @@ -14580,62 +8580,26 @@ open class QrCodeDataSDKMock: MatrixRustSDK.QrCodeData, @unchecked Sendable { //MARK: - baseUrl - open var baseUrlUnderlyingCallsCount = 0 + private let baseUrlCallsCountLock = NSLock() + private var baseUrlUnderlyingCallsCount = 0 open var baseUrlCallsCount: Int { - get { - if Thread.isMainThread { - return baseUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = baseUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - baseUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - baseUrlUnderlyingCallsCount = newValue - } - } - } + get { baseUrlCallsCountLock.withLock { baseUrlUnderlyingCallsCount } } + set { baseUrlCallsCountLock.withLock { baseUrlUnderlyingCallsCount = newValue } } } open var baseUrlCalled: Bool { return baseUrlCallsCount > 0 } + private let baseUrlReturnValueLock = NSLock() open var baseUrlUnderlyingReturnValue: String? open var baseUrlReturnValue: String? { - get { - if Thread.isMainThread { - return baseUrlUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = baseUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - baseUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - baseUrlUnderlyingReturnValue = newValue - } - } - } + get { baseUrlReturnValueLock.withLock { baseUrlUnderlyingReturnValue } } + set { baseUrlReturnValueLock.withLock { baseUrlUnderlyingReturnValue = newValue } } } open var baseUrlClosure: (() -> String?)? open override func baseUrl() -> String? { - baseUrlCallsCount += 1 + baseUrlCallsCountLock.withLock { baseUrlUnderlyingCallsCount += 1 } if let baseUrlClosure = baseUrlClosure { return baseUrlClosure() } else { @@ -14645,62 +8609,26 @@ open class QrCodeDataSDKMock: MatrixRustSDK.QrCodeData, @unchecked Sendable { //MARK: - intent - open var intentUnderlyingCallsCount = 0 + private let intentCallsCountLock = NSLock() + private var intentUnderlyingCallsCount = 0 open var intentCallsCount: Int { - get { - if Thread.isMainThread { - return intentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = intentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - intentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - intentUnderlyingCallsCount = newValue - } - } - } + get { intentCallsCountLock.withLock { intentUnderlyingCallsCount } } + set { intentCallsCountLock.withLock { intentUnderlyingCallsCount = newValue } } } open var intentCalled: Bool { return intentCallsCount > 0 } + private let intentReturnValueLock = NSLock() open var intentUnderlyingReturnValue: QrCodeIntent! open var intentReturnValue: QrCodeIntent! { - get { - if Thread.isMainThread { - return intentUnderlyingReturnValue - } else { - var returnValue: QrCodeIntent? = nil - DispatchQueue.main.sync { - returnValue = intentUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - intentUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - intentUnderlyingReturnValue = newValue - } - } - } + get { intentReturnValueLock.withLock { intentUnderlyingReturnValue } } + set { intentReturnValueLock.withLock { intentUnderlyingReturnValue = newValue } } } open var intentClosure: (() -> QrCodeIntent)? open override func intent() -> QrCodeIntent { - intentCallsCount += 1 + intentCallsCountLock.withLock { intentUnderlyingCallsCount += 1 } if let intentClosure = intentClosure { return intentClosure() } else { @@ -14710,62 +8638,26 @@ open class QrCodeDataSDKMock: MatrixRustSDK.QrCodeData, @unchecked Sendable { //MARK: - serverName - open var serverNameUnderlyingCallsCount = 0 + private let serverNameCallsCountLock = NSLock() + private var serverNameUnderlyingCallsCount = 0 open var serverNameCallsCount: Int { - get { - if Thread.isMainThread { - return serverNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = serverNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - serverNameUnderlyingCallsCount = newValue - } - } - } + get { serverNameCallsCountLock.withLock { serverNameUnderlyingCallsCount } } + set { serverNameCallsCountLock.withLock { serverNameUnderlyingCallsCount = newValue } } } open var serverNameCalled: Bool { return serverNameCallsCount > 0 } + private let serverNameReturnValueLock = NSLock() open var serverNameUnderlyingReturnValue: String? open var serverNameReturnValue: String? { - get { - if Thread.isMainThread { - return serverNameUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = serverNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - serverNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - serverNameUnderlyingReturnValue = newValue - } - } - } + get { serverNameReturnValueLock.withLock { serverNameUnderlyingReturnValue } } + set { serverNameReturnValueLock.withLock { serverNameUnderlyingReturnValue = newValue } } } open var serverNameClosure: (() -> String?)? open override func serverName() -> String? { - serverNameCallsCount += 1 + serverNameCallsCountLock.withLock { serverNameUnderlyingCallsCount += 1 } if let serverNameClosure = serverNameClosure { return serverNameClosure() } else { @@ -14775,62 +8667,26 @@ open class QrCodeDataSDKMock: MatrixRustSDK.QrCodeData, @unchecked Sendable { //MARK: - toBytes - open var toBytesUnderlyingCallsCount = 0 + private let toBytesCallsCountLock = NSLock() + private var toBytesUnderlyingCallsCount = 0 open var toBytesCallsCount: Int { - get { - if Thread.isMainThread { - return toBytesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = toBytesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toBytesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - toBytesUnderlyingCallsCount = newValue - } - } - } + get { toBytesCallsCountLock.withLock { toBytesUnderlyingCallsCount } } + set { toBytesCallsCountLock.withLock { toBytesUnderlyingCallsCount = newValue } } } open var toBytesCalled: Bool { return toBytesCallsCount > 0 } + private let toBytesReturnValueLock = NSLock() open var toBytesUnderlyingReturnValue: Data! open var toBytesReturnValue: Data! { - get { - if Thread.isMainThread { - return toBytesUnderlyingReturnValue - } else { - var returnValue: Data? = nil - DispatchQueue.main.sync { - returnValue = toBytesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toBytesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - toBytesUnderlyingReturnValue = newValue - } - } - } + get { toBytesReturnValueLock.withLock { toBytesUnderlyingReturnValue } } + set { toBytesReturnValueLock.withLock { toBytesUnderlyingReturnValue = newValue } } } open var toBytesClosure: (() -> Data)? open override func toBytes() -> Data { - toBytesCallsCount += 1 + toBytesCallsCountLock.withLock { toBytesUnderlyingCallsCount += 1 } if let toBytesClosure = toBytesClosure { return toBytesClosure() } else { @@ -14855,62 +8711,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - activeMembersCount - open var activeMembersCountUnderlyingCallsCount = 0 + private let activeMembersCountCallsCountLock = NSLock() + private var activeMembersCountUnderlyingCallsCount = 0 open var activeMembersCountCallsCount: Int { - get { - if Thread.isMainThread { - return activeMembersCountUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = activeMembersCountUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - activeMembersCountUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - activeMembersCountUnderlyingCallsCount = newValue - } - } - } + get { activeMembersCountCallsCountLock.withLock { activeMembersCountUnderlyingCallsCount } } + set { activeMembersCountCallsCountLock.withLock { activeMembersCountUnderlyingCallsCount = newValue } } } open var activeMembersCountCalled: Bool { return activeMembersCountCallsCount > 0 } + private let activeMembersCountReturnValueLock = NSLock() open var activeMembersCountUnderlyingReturnValue: UInt64! open var activeMembersCountReturnValue: UInt64! { - get { - if Thread.isMainThread { - return activeMembersCountUnderlyingReturnValue - } else { - var returnValue: UInt64? = nil - DispatchQueue.main.sync { - returnValue = activeMembersCountUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - activeMembersCountUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - activeMembersCountUnderlyingReturnValue = newValue - } - } - } + get { activeMembersCountReturnValueLock.withLock { activeMembersCountUnderlyingReturnValue } } + set { activeMembersCountReturnValueLock.withLock { activeMembersCountUnderlyingReturnValue = newValue } } } open var activeMembersCountClosure: (() -> UInt64)? open override func activeMembersCount() -> UInt64 { - activeMembersCountCallsCount += 1 + activeMembersCountCallsCountLock.withLock { activeMembersCountUnderlyingCallsCount += 1 } if let activeMembersCountClosure = activeMembersCountClosure { return activeMembersCountClosure() } else { @@ -14920,62 +8740,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - activeRoomCallParticipants - open var activeRoomCallParticipantsUnderlyingCallsCount = 0 + private let activeRoomCallParticipantsCallsCountLock = NSLock() + private var activeRoomCallParticipantsUnderlyingCallsCount = 0 open var activeRoomCallParticipantsCallsCount: Int { - get { - if Thread.isMainThread { - return activeRoomCallParticipantsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = activeRoomCallParticipantsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - activeRoomCallParticipantsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - activeRoomCallParticipantsUnderlyingCallsCount = newValue - } - } - } + get { activeRoomCallParticipantsCallsCountLock.withLock { activeRoomCallParticipantsUnderlyingCallsCount } } + set { activeRoomCallParticipantsCallsCountLock.withLock { activeRoomCallParticipantsUnderlyingCallsCount = newValue } } } open var activeRoomCallParticipantsCalled: Bool { return activeRoomCallParticipantsCallsCount > 0 } + private let activeRoomCallParticipantsReturnValueLock = NSLock() open var activeRoomCallParticipantsUnderlyingReturnValue: [String]! open var activeRoomCallParticipantsReturnValue: [String]! { - get { - if Thread.isMainThread { - return activeRoomCallParticipantsUnderlyingReturnValue - } else { - var returnValue: [String]? = nil - DispatchQueue.main.sync { - returnValue = activeRoomCallParticipantsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - activeRoomCallParticipantsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - activeRoomCallParticipantsUnderlyingReturnValue = newValue - } - } - } + get { activeRoomCallParticipantsReturnValueLock.withLock { activeRoomCallParticipantsUnderlyingReturnValue } } + set { activeRoomCallParticipantsReturnValueLock.withLock { activeRoomCallParticipantsUnderlyingReturnValue = newValue } } } open var activeRoomCallParticipantsClosure: (() -> [String])? open override func activeRoomCallParticipants() -> [String] { - activeRoomCallParticipantsCallsCount += 1 + activeRoomCallParticipantsCallsCountLock.withLock { activeRoomCallParticipantsUnderlyingCallsCount += 1 } if let activeRoomCallParticipantsClosure = activeRoomCallParticipantsClosure { return activeRoomCallParticipantsClosure() } else { @@ -14985,62 +8769,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - alternativeAliases - open var alternativeAliasesUnderlyingCallsCount = 0 + private let alternativeAliasesCallsCountLock = NSLock() + private var alternativeAliasesUnderlyingCallsCount = 0 open var alternativeAliasesCallsCount: Int { - get { - if Thread.isMainThread { - return alternativeAliasesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = alternativeAliasesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - alternativeAliasesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - alternativeAliasesUnderlyingCallsCount = newValue - } - } - } + get { alternativeAliasesCallsCountLock.withLock { alternativeAliasesUnderlyingCallsCount } } + set { alternativeAliasesCallsCountLock.withLock { alternativeAliasesUnderlyingCallsCount = newValue } } } open var alternativeAliasesCalled: Bool { return alternativeAliasesCallsCount > 0 } + private let alternativeAliasesReturnValueLock = NSLock() open var alternativeAliasesUnderlyingReturnValue: [String]! open var alternativeAliasesReturnValue: [String]! { - get { - if Thread.isMainThread { - return alternativeAliasesUnderlyingReturnValue - } else { - var returnValue: [String]? = nil - DispatchQueue.main.sync { - returnValue = alternativeAliasesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - alternativeAliasesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - alternativeAliasesUnderlyingReturnValue = newValue - } - } - } + get { alternativeAliasesReturnValueLock.withLock { alternativeAliasesUnderlyingReturnValue } } + set { alternativeAliasesReturnValueLock.withLock { alternativeAliasesUnderlyingReturnValue = newValue } } } open var alternativeAliasesClosure: (() -> [String])? open override func alternativeAliases() -> [String] { - alternativeAliasesCallsCount += 1 + alternativeAliasesCallsCountLock.withLock { alternativeAliasesUnderlyingCallsCount += 1 } if let alternativeAliasesClosure = alternativeAliasesClosure { return alternativeAliasesClosure() } else { @@ -15051,107 +8799,61 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - applyPowerLevelChanges open var applyPowerLevelChangesChangesThrowableError: Error? - open var applyPowerLevelChangesChangesUnderlyingCallsCount = 0 + private let applyPowerLevelChangesChangesCallsCountLock = NSLock() + private var applyPowerLevelChangesChangesUnderlyingCallsCount = 0 open var applyPowerLevelChangesChangesCallsCount: Int { - get { - if Thread.isMainThread { - return applyPowerLevelChangesChangesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = applyPowerLevelChangesChangesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - applyPowerLevelChangesChangesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - applyPowerLevelChangesChangesUnderlyingCallsCount = newValue - } - } - } + get { applyPowerLevelChangesChangesCallsCountLock.withLock { applyPowerLevelChangesChangesUnderlyingCallsCount } } + set { applyPowerLevelChangesChangesCallsCountLock.withLock { applyPowerLevelChangesChangesUnderlyingCallsCount = newValue } } } open var applyPowerLevelChangesChangesCalled: Bool { return applyPowerLevelChangesChangesCallsCount > 0 } - open var applyPowerLevelChangesChangesReceivedChanges: RoomPowerLevelChanges? - open var applyPowerLevelChangesChangesReceivedInvocations: [RoomPowerLevelChanges] = [] + private let applyPowerLevelChangesChangesReceivedChangesLock = NSLock() + private var applyPowerLevelChangesChangesUnderlyingReceivedChanges: RoomPowerLevelChanges? + open var applyPowerLevelChangesChangesReceivedChanges: RoomPowerLevelChanges? { + get { applyPowerLevelChangesChangesReceivedChangesLock.withLock { applyPowerLevelChangesChangesUnderlyingReceivedChanges } } + set { applyPowerLevelChangesChangesReceivedChangesLock.withLock { applyPowerLevelChangesChangesUnderlyingReceivedChanges = newValue } } + } + private let applyPowerLevelChangesChangesReceivedInvocationsLock = NSLock() + private var applyPowerLevelChangesChangesUnderlyingReceivedInvocations: [RoomPowerLevelChanges] = [] + open var applyPowerLevelChangesChangesReceivedInvocations: [RoomPowerLevelChanges] { + get { applyPowerLevelChangesChangesReceivedInvocationsLock.withLock { applyPowerLevelChangesChangesUnderlyingReceivedInvocations } } + set { applyPowerLevelChangesChangesReceivedInvocationsLock.withLock { applyPowerLevelChangesChangesUnderlyingReceivedInvocations = newValue } } + } open var applyPowerLevelChangesChangesClosure: ((RoomPowerLevelChanges) async throws -> Void)? open override func applyPowerLevelChanges(changes: RoomPowerLevelChanges) async throws { if let error = applyPowerLevelChangesChangesThrowableError { throw error } - applyPowerLevelChangesChangesCallsCount += 1 + applyPowerLevelChangesChangesCallsCountLock.withLock { applyPowerLevelChangesChangesUnderlyingCallsCount += 1 } applyPowerLevelChangesChangesReceivedChanges = changes - DispatchQueue.main.async { - self.applyPowerLevelChangesChangesReceivedInvocations.append(changes) - } + applyPowerLevelChangesChangesReceivedInvocationsLock.withLock { applyPowerLevelChangesChangesUnderlyingReceivedInvocations.append(changes) } try await applyPowerLevelChangesChangesClosure?(changes) } //MARK: - avatarUrl - open var avatarUrlUnderlyingCallsCount = 0 + private let avatarUrlCallsCountLock = NSLock() + private var avatarUrlUnderlyingCallsCount = 0 open var avatarUrlCallsCount: Int { - get { - if Thread.isMainThread { - return avatarUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = avatarUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - avatarUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - avatarUrlUnderlyingCallsCount = newValue - } - } - } + get { avatarUrlCallsCountLock.withLock { avatarUrlUnderlyingCallsCount } } + set { avatarUrlCallsCountLock.withLock { avatarUrlUnderlyingCallsCount = newValue } } } open var avatarUrlCalled: Bool { return avatarUrlCallsCount > 0 } + private let avatarUrlReturnValueLock = NSLock() open var avatarUrlUnderlyingReturnValue: String? open var avatarUrlReturnValue: String? { - get { - if Thread.isMainThread { - return avatarUrlUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = avatarUrlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - avatarUrlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - avatarUrlUnderlyingReturnValue = newValue - } - } - } + get { avatarUrlReturnValueLock.withLock { avatarUrlUnderlyingReturnValue } } + set { avatarUrlReturnValueLock.withLock { avatarUrlUnderlyingReturnValue = newValue } } } open var avatarUrlClosure: (() -> String?)? open override func avatarUrl() -> String? { - avatarUrlCallsCount += 1 + avatarUrlCallsCountLock.withLock { avatarUrlUnderlyingCallsCount += 1 } if let avatarUrlClosure = avatarUrlClosure { return avatarUrlClosure() } else { @@ -15162,107 +8864,61 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - banUser open var banUserUserIdReasonThrowableError: Error? - open var banUserUserIdReasonUnderlyingCallsCount = 0 + private let banUserUserIdReasonCallsCountLock = NSLock() + private var banUserUserIdReasonUnderlyingCallsCount = 0 open var banUserUserIdReasonCallsCount: Int { - get { - if Thread.isMainThread { - return banUserUserIdReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = banUserUserIdReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - banUserUserIdReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - banUserUserIdReasonUnderlyingCallsCount = newValue - } - } - } + get { banUserUserIdReasonCallsCountLock.withLock { banUserUserIdReasonUnderlyingCallsCount } } + set { banUserUserIdReasonCallsCountLock.withLock { banUserUserIdReasonUnderlyingCallsCount = newValue } } } open var banUserUserIdReasonCalled: Bool { return banUserUserIdReasonCallsCount > 0 } - open var banUserUserIdReasonReceivedArguments: (userId: String, reason: String?)? - open var banUserUserIdReasonReceivedInvocations: [(userId: String, reason: String?)] = [] + private let banUserUserIdReasonReceivedArgumentsLock = NSLock() + private var banUserUserIdReasonUnderlyingReceivedArguments: (userId: String, reason: String?)? + open var banUserUserIdReasonReceivedArguments: (userId: String, reason: String?)? { + get { banUserUserIdReasonReceivedArgumentsLock.withLock { banUserUserIdReasonUnderlyingReceivedArguments } } + set { banUserUserIdReasonReceivedArgumentsLock.withLock { banUserUserIdReasonUnderlyingReceivedArguments = newValue } } + } + private let banUserUserIdReasonReceivedInvocationsLock = NSLock() + private var banUserUserIdReasonUnderlyingReceivedInvocations: [(userId: String, reason: String?)] = [] + open var banUserUserIdReasonReceivedInvocations: [(userId: String, reason: String?)] { + get { banUserUserIdReasonReceivedInvocationsLock.withLock { banUserUserIdReasonUnderlyingReceivedInvocations } } + set { banUserUserIdReasonReceivedInvocationsLock.withLock { banUserUserIdReasonUnderlyingReceivedInvocations = newValue } } + } open var banUserUserIdReasonClosure: ((String, String?) async throws -> Void)? open override func banUser(userId: String, reason: String?) async throws { if let error = banUserUserIdReasonThrowableError { throw error } - banUserUserIdReasonCallsCount += 1 + banUserUserIdReasonCallsCountLock.withLock { banUserUserIdReasonUnderlyingCallsCount += 1 } banUserUserIdReasonReceivedArguments = (userId: userId, reason: reason) - DispatchQueue.main.async { - self.banUserUserIdReasonReceivedInvocations.append((userId: userId, reason: reason)) - } + banUserUserIdReasonReceivedInvocationsLock.withLock { banUserUserIdReasonUnderlyingReceivedInvocations.append((userId: userId, reason: reason)) } try await banUserUserIdReasonClosure?(userId, reason) } //MARK: - canonicalAlias - open var canonicalAliasUnderlyingCallsCount = 0 + private let canonicalAliasCallsCountLock = NSLock() + private var canonicalAliasUnderlyingCallsCount = 0 open var canonicalAliasCallsCount: Int { - get { - if Thread.isMainThread { - return canonicalAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canonicalAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canonicalAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canonicalAliasUnderlyingCallsCount = newValue - } - } - } + get { canonicalAliasCallsCountLock.withLock { canonicalAliasUnderlyingCallsCount } } + set { canonicalAliasCallsCountLock.withLock { canonicalAliasUnderlyingCallsCount = newValue } } } open var canonicalAliasCalled: Bool { return canonicalAliasCallsCount > 0 } + private let canonicalAliasReturnValueLock = NSLock() open var canonicalAliasUnderlyingReturnValue: String? open var canonicalAliasReturnValue: String? { - get { - if Thread.isMainThread { - return canonicalAliasUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = canonicalAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canonicalAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canonicalAliasUnderlyingReturnValue = newValue - } - } - } + get { canonicalAliasReturnValueLock.withLock { canonicalAliasUnderlyingReturnValue } } + set { canonicalAliasReturnValueLock.withLock { canonicalAliasUnderlyingReturnValue = newValue } } } open var canonicalAliasClosure: (() -> String?)? open override func canonicalAlias() -> String? { - canonicalAliasCallsCount += 1 + canonicalAliasCallsCountLock.withLock { canonicalAliasUnderlyingCallsCount += 1 } if let canonicalAliasClosure = canonicalAliasClosure { return canonicalAliasClosure() } else { @@ -15273,75 +8929,47 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - clearComposerDraft open var clearComposerDraftThreadRootThrowableError: Error? - open var clearComposerDraftThreadRootUnderlyingCallsCount = 0 + private let clearComposerDraftThreadRootCallsCountLock = NSLock() + private var clearComposerDraftThreadRootUnderlyingCallsCount = 0 open var clearComposerDraftThreadRootCallsCount: Int { - get { - if Thread.isMainThread { - return clearComposerDraftThreadRootUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = clearComposerDraftThreadRootUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearComposerDraftThreadRootUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - clearComposerDraftThreadRootUnderlyingCallsCount = newValue - } - } - } + get { clearComposerDraftThreadRootCallsCountLock.withLock { clearComposerDraftThreadRootUnderlyingCallsCount } } + set { clearComposerDraftThreadRootCallsCountLock.withLock { clearComposerDraftThreadRootUnderlyingCallsCount = newValue } } } open var clearComposerDraftThreadRootCalled: Bool { return clearComposerDraftThreadRootCallsCount > 0 } - open var clearComposerDraftThreadRootReceivedThreadRoot: String? - open var clearComposerDraftThreadRootReceivedInvocations: [String?] = [] + private let clearComposerDraftThreadRootReceivedThreadRootLock = NSLock() + private var clearComposerDraftThreadRootUnderlyingReceivedThreadRoot: String? + open var clearComposerDraftThreadRootReceivedThreadRoot: String? { + get { clearComposerDraftThreadRootReceivedThreadRootLock.withLock { clearComposerDraftThreadRootUnderlyingReceivedThreadRoot } } + set { clearComposerDraftThreadRootReceivedThreadRootLock.withLock { clearComposerDraftThreadRootUnderlyingReceivedThreadRoot = newValue } } + } + private let clearComposerDraftThreadRootReceivedInvocationsLock = NSLock() + private var clearComposerDraftThreadRootUnderlyingReceivedInvocations: [String?] = [] + open var clearComposerDraftThreadRootReceivedInvocations: [String?] { + get { clearComposerDraftThreadRootReceivedInvocationsLock.withLock { clearComposerDraftThreadRootUnderlyingReceivedInvocations } } + set { clearComposerDraftThreadRootReceivedInvocationsLock.withLock { clearComposerDraftThreadRootUnderlyingReceivedInvocations = newValue } } + } open var clearComposerDraftThreadRootClosure: ((String?) async throws -> Void)? open override func clearComposerDraft(threadRoot: String?) async throws { if let error = clearComposerDraftThreadRootThrowableError { throw error } - clearComposerDraftThreadRootCallsCount += 1 + clearComposerDraftThreadRootCallsCountLock.withLock { clearComposerDraftThreadRootUnderlyingCallsCount += 1 } clearComposerDraftThreadRootReceivedThreadRoot = threadRoot - DispatchQueue.main.async { - self.clearComposerDraftThreadRootReceivedInvocations.append(threadRoot) - } + clearComposerDraftThreadRootReceivedInvocationsLock.withLock { clearComposerDraftThreadRootUnderlyingReceivedInvocations.append(threadRoot) } try await clearComposerDraftThreadRootClosure?(threadRoot) } //MARK: - clearEventCacheStorage open var clearEventCacheStorageThrowableError: Error? - open var clearEventCacheStorageUnderlyingCallsCount = 0 + private let clearEventCacheStorageCallsCountLock = NSLock() + private var clearEventCacheStorageUnderlyingCallsCount = 0 open var clearEventCacheStorageCallsCount: Int { - get { - if Thread.isMainThread { - return clearEventCacheStorageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = clearEventCacheStorageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - clearEventCacheStorageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - clearEventCacheStorageUnderlyingCallsCount = newValue - } - } - } + get { clearEventCacheStorageCallsCountLock.withLock { clearEventCacheStorageUnderlyingCallsCount } } + set { clearEventCacheStorageCallsCountLock.withLock { clearEventCacheStorageUnderlyingCallsCount = newValue } } } open var clearEventCacheStorageCalled: Bool { return clearEventCacheStorageCallsCount > 0 @@ -15352,82 +8980,54 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = clearEventCacheStorageThrowableError { throw error } - clearEventCacheStorageCallsCount += 1 + clearEventCacheStorageCallsCountLock.withLock { clearEventCacheStorageUnderlyingCallsCount += 1 } try await clearEventCacheStorageClosure?() } //MARK: - declineCall open var declineCallRtcNotificationEventIdThrowableError: Error? - open var declineCallRtcNotificationEventIdUnderlyingCallsCount = 0 + private let declineCallRtcNotificationEventIdCallsCountLock = NSLock() + private var declineCallRtcNotificationEventIdUnderlyingCallsCount = 0 open var declineCallRtcNotificationEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return declineCallRtcNotificationEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = declineCallRtcNotificationEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineCallRtcNotificationEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - declineCallRtcNotificationEventIdUnderlyingCallsCount = newValue - } - } - } + get { declineCallRtcNotificationEventIdCallsCountLock.withLock { declineCallRtcNotificationEventIdUnderlyingCallsCount } } + set { declineCallRtcNotificationEventIdCallsCountLock.withLock { declineCallRtcNotificationEventIdUnderlyingCallsCount = newValue } } } open var declineCallRtcNotificationEventIdCalled: Bool { return declineCallRtcNotificationEventIdCallsCount > 0 } - open var declineCallRtcNotificationEventIdReceivedRtcNotificationEventId: String? - open var declineCallRtcNotificationEventIdReceivedInvocations: [String] = [] + private let declineCallRtcNotificationEventIdReceivedRtcNotificationEventIdLock = NSLock() + private var declineCallRtcNotificationEventIdUnderlyingReceivedRtcNotificationEventId: String? + open var declineCallRtcNotificationEventIdReceivedRtcNotificationEventId: String? { + get { declineCallRtcNotificationEventIdReceivedRtcNotificationEventIdLock.withLock { declineCallRtcNotificationEventIdUnderlyingReceivedRtcNotificationEventId } } + set { declineCallRtcNotificationEventIdReceivedRtcNotificationEventIdLock.withLock { declineCallRtcNotificationEventIdUnderlyingReceivedRtcNotificationEventId = newValue } } + } + private let declineCallRtcNotificationEventIdReceivedInvocationsLock = NSLock() + private var declineCallRtcNotificationEventIdUnderlyingReceivedInvocations: [String] = [] + open var declineCallRtcNotificationEventIdReceivedInvocations: [String] { + get { declineCallRtcNotificationEventIdReceivedInvocationsLock.withLock { declineCallRtcNotificationEventIdUnderlyingReceivedInvocations } } + set { declineCallRtcNotificationEventIdReceivedInvocationsLock.withLock { declineCallRtcNotificationEventIdUnderlyingReceivedInvocations = newValue } } + } open var declineCallRtcNotificationEventIdClosure: ((String) async throws -> Void)? open override func declineCall(rtcNotificationEventId: String) async throws { if let error = declineCallRtcNotificationEventIdThrowableError { throw error } - declineCallRtcNotificationEventIdCallsCount += 1 + declineCallRtcNotificationEventIdCallsCountLock.withLock { declineCallRtcNotificationEventIdUnderlyingCallsCount += 1 } declineCallRtcNotificationEventIdReceivedRtcNotificationEventId = rtcNotificationEventId - DispatchQueue.main.async { - self.declineCallRtcNotificationEventIdReceivedInvocations.append(rtcNotificationEventId) - } + declineCallRtcNotificationEventIdReceivedInvocationsLock.withLock { declineCallRtcNotificationEventIdUnderlyingReceivedInvocations.append(rtcNotificationEventId) } try await declineCallRtcNotificationEventIdClosure?(rtcNotificationEventId) } //MARK: - discardRoomKey open var discardRoomKeyThrowableError: Error? - open var discardRoomKeyUnderlyingCallsCount = 0 + private let discardRoomKeyCallsCountLock = NSLock() + private var discardRoomKeyUnderlyingCallsCount = 0 open var discardRoomKeyCallsCount: Int { - get { - if Thread.isMainThread { - return discardRoomKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = discardRoomKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - discardRoomKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - discardRoomKeyUnderlyingCallsCount = newValue - } - } - } + get { discardRoomKeyCallsCountLock.withLock { discardRoomKeyUnderlyingCallsCount } } + set { discardRoomKeyCallsCountLock.withLock { discardRoomKeyUnderlyingCallsCount = newValue } } } open var discardRoomKeyCalled: Bool { return discardRoomKeyCallsCount > 0 @@ -15438,68 +9038,32 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = discardRoomKeyThrowableError { throw error } - discardRoomKeyCallsCount += 1 + discardRoomKeyCallsCountLock.withLock { discardRoomKeyUnderlyingCallsCount += 1 } try await discardRoomKeyClosure?() } //MARK: - displayName - open var displayNameUnderlyingCallsCount = 0 + private let displayNameCallsCountLock = NSLock() + private var displayNameUnderlyingCallsCount = 0 open var displayNameCallsCount: Int { - get { - if Thread.isMainThread { - return displayNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = displayNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - displayNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - displayNameUnderlyingCallsCount = newValue - } - } - } + get { displayNameCallsCountLock.withLock { displayNameUnderlyingCallsCount } } + set { displayNameCallsCountLock.withLock { displayNameUnderlyingCallsCount = newValue } } } open var displayNameCalled: Bool { return displayNameCallsCount > 0 } + private let displayNameReturnValueLock = NSLock() open var displayNameUnderlyingReturnValue: String? open var displayNameReturnValue: String? { - get { - if Thread.isMainThread { - return displayNameUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = displayNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - displayNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - displayNameUnderlyingReturnValue = newValue - } - } - } + get { displayNameReturnValueLock.withLock { displayNameUnderlyingReturnValue } } + set { displayNameReturnValueLock.withLock { displayNameUnderlyingReturnValue = newValue } } } open var displayNameClosure: (() -> String?)? open override func displayName() -> String? { - displayNameCallsCount += 1 + displayNameCallsCountLock.withLock { displayNameUnderlyingCallsCount += 1 } if let displayNameClosure = displayNameClosure { return displayNameClosure() } else { @@ -15510,75 +9074,47 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - edit open var editEventIdNewContentThrowableError: Error? - open var editEventIdNewContentUnderlyingCallsCount = 0 + private let editEventIdNewContentCallsCountLock = NSLock() + private var editEventIdNewContentUnderlyingCallsCount = 0 open var editEventIdNewContentCallsCount: Int { - get { - if Thread.isMainThread { - return editEventIdNewContentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editEventIdNewContentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editEventIdNewContentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editEventIdNewContentUnderlyingCallsCount = newValue - } - } - } + get { editEventIdNewContentCallsCountLock.withLock { editEventIdNewContentUnderlyingCallsCount } } + set { editEventIdNewContentCallsCountLock.withLock { editEventIdNewContentUnderlyingCallsCount = newValue } } } open var editEventIdNewContentCalled: Bool { return editEventIdNewContentCallsCount > 0 } - open var editEventIdNewContentReceivedArguments: (eventId: String, newContent: RoomMessageEventContentWithoutRelation)? - open var editEventIdNewContentReceivedInvocations: [(eventId: String, newContent: RoomMessageEventContentWithoutRelation)] = [] + private let editEventIdNewContentReceivedArgumentsLock = NSLock() + private var editEventIdNewContentUnderlyingReceivedArguments: (eventId: String, newContent: RoomMessageEventContentWithoutRelation)? + open var editEventIdNewContentReceivedArguments: (eventId: String, newContent: RoomMessageEventContentWithoutRelation)? { + get { editEventIdNewContentReceivedArgumentsLock.withLock { editEventIdNewContentUnderlyingReceivedArguments } } + set { editEventIdNewContentReceivedArgumentsLock.withLock { editEventIdNewContentUnderlyingReceivedArguments = newValue } } + } + private let editEventIdNewContentReceivedInvocationsLock = NSLock() + private var editEventIdNewContentUnderlyingReceivedInvocations: [(eventId: String, newContent: RoomMessageEventContentWithoutRelation)] = [] + open var editEventIdNewContentReceivedInvocations: [(eventId: String, newContent: RoomMessageEventContentWithoutRelation)] { + get { editEventIdNewContentReceivedInvocationsLock.withLock { editEventIdNewContentUnderlyingReceivedInvocations } } + set { editEventIdNewContentReceivedInvocationsLock.withLock { editEventIdNewContentUnderlyingReceivedInvocations = newValue } } + } open var editEventIdNewContentClosure: ((String, RoomMessageEventContentWithoutRelation) async throws -> Void)? open override func edit(eventId: String, newContent: RoomMessageEventContentWithoutRelation) async throws { if let error = editEventIdNewContentThrowableError { throw error } - editEventIdNewContentCallsCount += 1 + editEventIdNewContentCallsCountLock.withLock { editEventIdNewContentUnderlyingCallsCount += 1 } editEventIdNewContentReceivedArguments = (eventId: eventId, newContent: newContent) - DispatchQueue.main.async { - self.editEventIdNewContentReceivedInvocations.append((eventId: eventId, newContent: newContent)) - } + editEventIdNewContentReceivedInvocationsLock.withLock { editEventIdNewContentUnderlyingReceivedInvocations.append((eventId: eventId, newContent: newContent)) } try await editEventIdNewContentClosure?(eventId, newContent) } //MARK: - enableEncryption open var enableEncryptionThrowableError: Error? - open var enableEncryptionUnderlyingCallsCount = 0 + private let enableEncryptionCallsCountLock = NSLock() + private var enableEncryptionUnderlyingCallsCount = 0 open var enableEncryptionCallsCount: Int { - get { - if Thread.isMainThread { - return enableEncryptionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableEncryptionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableEncryptionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableEncryptionUnderlyingCallsCount = newValue - } - } - } + get { enableEncryptionCallsCountLock.withLock { enableEncryptionUnderlyingCallsCount } } + set { enableEncryptionCallsCountLock.withLock { enableEncryptionUnderlyingCallsCount = newValue } } } open var enableEncryptionCalled: Bool { return enableEncryptionCallsCount > 0 @@ -15589,110 +9125,64 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = enableEncryptionThrowableError { throw error } - enableEncryptionCallsCount += 1 + enableEncryptionCallsCountLock.withLock { enableEncryptionUnderlyingCallsCount += 1 } try await enableEncryptionClosure?() } //MARK: - enableSendQueue - open var enableSendQueueEnableUnderlyingCallsCount = 0 + private let enableSendQueueEnableCallsCountLock = NSLock() + private var enableSendQueueEnableUnderlyingCallsCount = 0 open var enableSendQueueEnableCallsCount: Int { - get { - if Thread.isMainThread { - return enableSendQueueEnableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enableSendQueueEnableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enableSendQueueEnableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enableSendQueueEnableUnderlyingCallsCount = newValue - } - } - } + get { enableSendQueueEnableCallsCountLock.withLock { enableSendQueueEnableUnderlyingCallsCount } } + set { enableSendQueueEnableCallsCountLock.withLock { enableSendQueueEnableUnderlyingCallsCount = newValue } } } open var enableSendQueueEnableCalled: Bool { return enableSendQueueEnableCallsCount > 0 } - open var enableSendQueueEnableReceivedEnable: Bool? - open var enableSendQueueEnableReceivedInvocations: [Bool] = [] + private let enableSendQueueEnableReceivedEnableLock = NSLock() + private var enableSendQueueEnableUnderlyingReceivedEnable: Bool? + open var enableSendQueueEnableReceivedEnable: Bool? { + get { enableSendQueueEnableReceivedEnableLock.withLock { enableSendQueueEnableUnderlyingReceivedEnable } } + set { enableSendQueueEnableReceivedEnableLock.withLock { enableSendQueueEnableUnderlyingReceivedEnable = newValue } } + } + private let enableSendQueueEnableReceivedInvocationsLock = NSLock() + private var enableSendQueueEnableUnderlyingReceivedInvocations: [Bool] = [] + open var enableSendQueueEnableReceivedInvocations: [Bool] { + get { enableSendQueueEnableReceivedInvocationsLock.withLock { enableSendQueueEnableUnderlyingReceivedInvocations } } + set { enableSendQueueEnableReceivedInvocationsLock.withLock { enableSendQueueEnableUnderlyingReceivedInvocations = newValue } } + } open var enableSendQueueEnableClosure: ((Bool) -> Void)? open override func enableSendQueue(enable: Bool) { - enableSendQueueEnableCallsCount += 1 + enableSendQueueEnableCallsCountLock.withLock { enableSendQueueEnableUnderlyingCallsCount += 1 } enableSendQueueEnableReceivedEnable = enable - DispatchQueue.main.async { - self.enableSendQueueEnableReceivedInvocations.append(enable) - } + enableSendQueueEnableReceivedInvocationsLock.withLock { enableSendQueueEnableUnderlyingReceivedInvocations.append(enable) } enableSendQueueEnableClosure?(enable) } //MARK: - encryptionState - open var encryptionStateUnderlyingCallsCount = 0 + private let encryptionStateCallsCountLock = NSLock() + private var encryptionStateUnderlyingCallsCount = 0 open var encryptionStateCallsCount: Int { - get { - if Thread.isMainThread { - return encryptionStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = encryptionStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - encryptionStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - encryptionStateUnderlyingCallsCount = newValue - } - } - } + get { encryptionStateCallsCountLock.withLock { encryptionStateUnderlyingCallsCount } } + set { encryptionStateCallsCountLock.withLock { encryptionStateUnderlyingCallsCount = newValue } } } open var encryptionStateCalled: Bool { return encryptionStateCallsCount > 0 } + private let encryptionStateReturnValueLock = NSLock() open var encryptionStateUnderlyingReturnValue: EncryptionState! open var encryptionStateReturnValue: EncryptionState! { - get { - if Thread.isMainThread { - return encryptionStateUnderlyingReturnValue - } else { - var returnValue: EncryptionState? = nil - DispatchQueue.main.sync { - returnValue = encryptionStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - encryptionStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - encryptionStateUnderlyingReturnValue = newValue - } - } - } + get { encryptionStateReturnValueLock.withLock { encryptionStateUnderlyingReturnValue } } + set { encryptionStateReturnValueLock.withLock { encryptionStateUnderlyingReturnValue = newValue } } } open var encryptionStateClosure: (() -> EncryptionState)? open override func encryptionState() -> EncryptionState { - encryptionStateCallsCount += 1 + encryptionStateCallsCountLock.withLock { encryptionStateUnderlyingCallsCount += 1 } if let encryptionStateClosure = encryptionStateClosure { return encryptionStateClosure() } else { @@ -15703,59 +9193,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - fetchThreadSubscription open var fetchThreadSubscriptionThreadRootEventIdThrowableError: Error? - open var fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount = 0 + private let fetchThreadSubscriptionThreadRootEventIdCallsCountLock = NSLock() + private var fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount = 0 open var fetchThreadSubscriptionThreadRootEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount = newValue - } - } - } + get { fetchThreadSubscriptionThreadRootEventIdCallsCountLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount } } + set { fetchThreadSubscriptionThreadRootEventIdCallsCountLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount = newValue } } } open var fetchThreadSubscriptionThreadRootEventIdCalled: Bool { return fetchThreadSubscriptionThreadRootEventIdCallsCount > 0 } - open var fetchThreadSubscriptionThreadRootEventIdReceivedThreadRootEventId: String? - open var fetchThreadSubscriptionThreadRootEventIdReceivedInvocations: [String] = [] + private let fetchThreadSubscriptionThreadRootEventIdReceivedThreadRootEventIdLock = NSLock() + private var fetchThreadSubscriptionThreadRootEventIdUnderlyingReceivedThreadRootEventId: String? + open var fetchThreadSubscriptionThreadRootEventIdReceivedThreadRootEventId: String? { + get { fetchThreadSubscriptionThreadRootEventIdReceivedThreadRootEventIdLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingReceivedThreadRootEventId } } + set { fetchThreadSubscriptionThreadRootEventIdReceivedThreadRootEventIdLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingReceivedThreadRootEventId = newValue } } + } + private let fetchThreadSubscriptionThreadRootEventIdReceivedInvocationsLock = NSLock() + private var fetchThreadSubscriptionThreadRootEventIdUnderlyingReceivedInvocations: [String] = [] + open var fetchThreadSubscriptionThreadRootEventIdReceivedInvocations: [String] { + get { fetchThreadSubscriptionThreadRootEventIdReceivedInvocationsLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingReceivedInvocations } } + set { fetchThreadSubscriptionThreadRootEventIdReceivedInvocationsLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingReceivedInvocations = newValue } } + } + private let fetchThreadSubscriptionThreadRootEventIdReturnValueLock = NSLock() open var fetchThreadSubscriptionThreadRootEventIdUnderlyingReturnValue: ThreadSubscription? open var fetchThreadSubscriptionThreadRootEventIdReturnValue: ThreadSubscription? { - get { - if Thread.isMainThread { - return fetchThreadSubscriptionThreadRootEventIdUnderlyingReturnValue - } else { - var returnValue: ThreadSubscription?? = nil - DispatchQueue.main.sync { - returnValue = fetchThreadSubscriptionThreadRootEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchThreadSubscriptionThreadRootEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - fetchThreadSubscriptionThreadRootEventIdUnderlyingReturnValue = newValue - } - } - } + get { fetchThreadSubscriptionThreadRootEventIdReturnValueLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingReturnValue } } + set { fetchThreadSubscriptionThreadRootEventIdReturnValueLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingReturnValue = newValue } } } open var fetchThreadSubscriptionThreadRootEventIdClosure: ((String) async throws -> ThreadSubscription?)? @@ -15763,11 +9227,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = fetchThreadSubscriptionThreadRootEventIdThrowableError { throw error } - fetchThreadSubscriptionThreadRootEventIdCallsCount += 1 + fetchThreadSubscriptionThreadRootEventIdCallsCountLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingCallsCount += 1 } fetchThreadSubscriptionThreadRootEventIdReceivedThreadRootEventId = threadRootEventId - DispatchQueue.main.async { - self.fetchThreadSubscriptionThreadRootEventIdReceivedInvocations.append(threadRootEventId) - } + fetchThreadSubscriptionThreadRootEventIdReceivedInvocationsLock.withLock { fetchThreadSubscriptionThreadRootEventIdUnderlyingReceivedInvocations.append(threadRootEventId) } if let fetchThreadSubscriptionThreadRootEventIdClosure = fetchThreadSubscriptionThreadRootEventIdClosure { return try await fetchThreadSubscriptionThreadRootEventIdClosure(threadRootEventId) } else { @@ -15778,29 +9240,11 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - forget open var forgetThrowableError: Error? - open var forgetUnderlyingCallsCount = 0 + private let forgetCallsCountLock = NSLock() + private var forgetUnderlyingCallsCount = 0 open var forgetCallsCount: Int { - get { - if Thread.isMainThread { - return forgetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = forgetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - forgetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - forgetUnderlyingCallsCount = newValue - } - } - } + get { forgetCallsCountLock.withLock { forgetUnderlyingCallsCount } } + set { forgetCallsCountLock.withLock { forgetUnderlyingCallsCount = newValue } } } open var forgetCalled: Bool { return forgetCallsCount > 0 @@ -15811,64 +9255,28 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = forgetThrowableError { throw error } - forgetCallsCount += 1 + forgetCallsCountLock.withLock { forgetUnderlyingCallsCount += 1 } try await forgetClosure?() } //MARK: - getPowerLevels open var getPowerLevelsThrowableError: Error? - open var getPowerLevelsUnderlyingCallsCount = 0 + private let getPowerLevelsCallsCountLock = NSLock() + private var getPowerLevelsUnderlyingCallsCount = 0 open var getPowerLevelsCallsCount: Int { - get { - if Thread.isMainThread { - return getPowerLevelsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getPowerLevelsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getPowerLevelsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getPowerLevelsUnderlyingCallsCount = newValue - } - } - } + get { getPowerLevelsCallsCountLock.withLock { getPowerLevelsUnderlyingCallsCount } } + set { getPowerLevelsCallsCountLock.withLock { getPowerLevelsUnderlyingCallsCount = newValue } } } open var getPowerLevelsCalled: Bool { return getPowerLevelsCallsCount > 0 } + private let getPowerLevelsReturnValueLock = NSLock() open var getPowerLevelsUnderlyingReturnValue: RoomPowerLevels! open var getPowerLevelsReturnValue: RoomPowerLevels! { - get { - if Thread.isMainThread { - return getPowerLevelsUnderlyingReturnValue - } else { - var returnValue: RoomPowerLevels? = nil - DispatchQueue.main.sync { - returnValue = getPowerLevelsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getPowerLevelsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getPowerLevelsUnderlyingReturnValue = newValue - } - } - } + get { getPowerLevelsReturnValueLock.withLock { getPowerLevelsUnderlyingReturnValue } } + set { getPowerLevelsReturnValueLock.withLock { getPowerLevelsUnderlyingReturnValue = newValue } } } open var getPowerLevelsClosure: (() async throws -> RoomPowerLevels)? @@ -15876,7 +9284,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = getPowerLevelsThrowableError { throw error } - getPowerLevelsCallsCount += 1 + getPowerLevelsCallsCountLock.withLock { getPowerLevelsUnderlyingCallsCount += 1 } if let getPowerLevelsClosure = getPowerLevelsClosure { return try await getPowerLevelsClosure() } else { @@ -15887,57 +9295,21 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - getRoomVisibility open var getRoomVisibilityThrowableError: Error? - open var getRoomVisibilityUnderlyingCallsCount = 0 + private let getRoomVisibilityCallsCountLock = NSLock() + private var getRoomVisibilityUnderlyingCallsCount = 0 open var getRoomVisibilityCallsCount: Int { - get { - if Thread.isMainThread { - return getRoomVisibilityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getRoomVisibilityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomVisibilityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getRoomVisibilityUnderlyingCallsCount = newValue - } - } - } + get { getRoomVisibilityCallsCountLock.withLock { getRoomVisibilityUnderlyingCallsCount } } + set { getRoomVisibilityCallsCountLock.withLock { getRoomVisibilityUnderlyingCallsCount = newValue } } } open var getRoomVisibilityCalled: Bool { return getRoomVisibilityCallsCount > 0 } + private let getRoomVisibilityReturnValueLock = NSLock() open var getRoomVisibilityUnderlyingReturnValue: RoomVisibility! open var getRoomVisibilityReturnValue: RoomVisibility! { - get { - if Thread.isMainThread { - return getRoomVisibilityUnderlyingReturnValue - } else { - var returnValue: RoomVisibility? = nil - DispatchQueue.main.sync { - returnValue = getRoomVisibilityUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getRoomVisibilityUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getRoomVisibilityUnderlyingReturnValue = newValue - } - } - } + get { getRoomVisibilityReturnValueLock.withLock { getRoomVisibilityUnderlyingReturnValue } } + set { getRoomVisibilityReturnValueLock.withLock { getRoomVisibilityUnderlyingReturnValue = newValue } } } open var getRoomVisibilityClosure: (() async throws -> RoomVisibility)? @@ -15945,7 +9317,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = getRoomVisibilityThrowableError { throw error } - getRoomVisibilityCallsCount += 1 + getRoomVisibilityCallsCountLock.withLock { getRoomVisibilityUnderlyingCallsCount += 1 } if let getRoomVisibilityClosure = getRoomVisibilityClosure { return try await getRoomVisibilityClosure() } else { @@ -15955,62 +9327,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - hasActiveRoomCall - open var hasActiveRoomCallUnderlyingCallsCount = 0 + private let hasActiveRoomCallCallsCountLock = NSLock() + private var hasActiveRoomCallUnderlyingCallsCount = 0 open var hasActiveRoomCallCallsCount: Int { - get { - if Thread.isMainThread { - return hasActiveRoomCallUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = hasActiveRoomCallUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasActiveRoomCallUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - hasActiveRoomCallUnderlyingCallsCount = newValue - } - } - } + get { hasActiveRoomCallCallsCountLock.withLock { hasActiveRoomCallUnderlyingCallsCount } } + set { hasActiveRoomCallCallsCountLock.withLock { hasActiveRoomCallUnderlyingCallsCount = newValue } } } open var hasActiveRoomCallCalled: Bool { return hasActiveRoomCallCallsCount > 0 } + private let hasActiveRoomCallReturnValueLock = NSLock() open var hasActiveRoomCallUnderlyingReturnValue: Bool! open var hasActiveRoomCallReturnValue: Bool! { - get { - if Thread.isMainThread { - return hasActiveRoomCallUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = hasActiveRoomCallUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasActiveRoomCallUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - hasActiveRoomCallUnderlyingReturnValue = newValue - } - } - } + get { hasActiveRoomCallReturnValueLock.withLock { hasActiveRoomCallUnderlyingReturnValue } } + set { hasActiveRoomCallReturnValueLock.withLock { hasActiveRoomCallUnderlyingReturnValue = newValue } } } open var hasActiveRoomCallClosure: (() -> Bool)? open override func hasActiveRoomCall() -> Bool { - hasActiveRoomCallCallsCount += 1 + hasActiveRoomCallCallsCountLock.withLock { hasActiveRoomCallUnderlyingCallsCount += 1 } if let hasActiveRoomCallClosure = hasActiveRoomCallClosure { return hasActiveRoomCallClosure() } else { @@ -16020,62 +9356,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - heroes - open var heroesUnderlyingCallsCount = 0 + private let heroesCallsCountLock = NSLock() + private var heroesUnderlyingCallsCount = 0 open var heroesCallsCount: Int { - get { - if Thread.isMainThread { - return heroesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = heroesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - heroesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - heroesUnderlyingCallsCount = newValue - } - } - } + get { heroesCallsCountLock.withLock { heroesUnderlyingCallsCount } } + set { heroesCallsCountLock.withLock { heroesUnderlyingCallsCount = newValue } } } open var heroesCalled: Bool { return heroesCallsCount > 0 } + private let heroesReturnValueLock = NSLock() open var heroesUnderlyingReturnValue: [RoomHero]! open var heroesReturnValue: [RoomHero]! { - get { - if Thread.isMainThread { - return heroesUnderlyingReturnValue - } else { - var returnValue: [RoomHero]? = nil - DispatchQueue.main.sync { - returnValue = heroesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - heroesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - heroesUnderlyingReturnValue = newValue - } - } - } + get { heroesReturnValueLock.withLock { heroesUnderlyingReturnValue } } + set { heroesReturnValueLock.withLock { heroesUnderlyingReturnValue = newValue } } } open var heroesClosure: (() -> [RoomHero])? open override func heroes() -> [RoomHero] { - heroesCallsCount += 1 + heroesCallsCountLock.withLock { heroesUnderlyingCallsCount += 1 } if let heroesClosure = heroesClosure { return heroesClosure() } else { @@ -16085,62 +9385,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - id - open var idUnderlyingCallsCount = 0 + private let idCallsCountLock = NSLock() + private var idUnderlyingCallsCount = 0 open var idCallsCount: Int { - get { - if Thread.isMainThread { - return idUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = idUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - idUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - idUnderlyingCallsCount = newValue - } - } - } + get { idCallsCountLock.withLock { idUnderlyingCallsCount } } + set { idCallsCountLock.withLock { idUnderlyingCallsCount = newValue } } } open var idCalled: Bool { return idCallsCount > 0 } + private let idReturnValueLock = NSLock() open var idUnderlyingReturnValue: String! open var idReturnValue: String! { - get { - if Thread.isMainThread { - return idUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = idUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - idUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - idUnderlyingReturnValue = newValue - } - } - } + get { idReturnValueLock.withLock { idUnderlyingReturnValue } } + set { idReturnValueLock.withLock { idUnderlyingReturnValue = newValue } } } open var idClosure: (() -> String)? open override func id() -> String { - idCallsCount += 1 + idCallsCountLock.withLock { idUnderlyingCallsCount += 1 } if let idClosure = idClosure { return idClosure() } else { @@ -16151,199 +9415,133 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - ignoreDeviceTrustAndResend open var ignoreDeviceTrustAndResendDevicesSendHandleThrowableError: Error? - open var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = 0 + private let ignoreDeviceTrustAndResendDevicesSendHandleCallsCountLock = NSLock() + private var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = 0 open var ignoreDeviceTrustAndResendDevicesSendHandleCallsCount: Int { - get { - if Thread.isMainThread { - return ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = newValue - } - } - } + get { ignoreDeviceTrustAndResendDevicesSendHandleCallsCountLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount } } + set { ignoreDeviceTrustAndResendDevicesSendHandleCallsCountLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount = newValue } } } open var ignoreDeviceTrustAndResendDevicesSendHandleCalled: Bool { return ignoreDeviceTrustAndResendDevicesSendHandleCallsCount > 0 } - open var ignoreDeviceTrustAndResendDevicesSendHandleReceivedArguments: (devices: [String: [String]], sendHandle: SendHandle)? - open var ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocations: [(devices: [String: [String]], sendHandle: SendHandle)] = [] + private let ignoreDeviceTrustAndResendDevicesSendHandleReceivedArgumentsLock = NSLock() + private var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedArguments: (devices: [String: [String]], sendHandle: SendHandle)? + open var ignoreDeviceTrustAndResendDevicesSendHandleReceivedArguments: (devices: [String: [String]], sendHandle: SendHandle)? { + get { ignoreDeviceTrustAndResendDevicesSendHandleReceivedArgumentsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedArguments } } + set { ignoreDeviceTrustAndResendDevicesSendHandleReceivedArgumentsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedArguments = newValue } } + } + private let ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocationsLock = NSLock() + private var ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedInvocations: [(devices: [String: [String]], sendHandle: SendHandle)] = [] + open var ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocations: [(devices: [String: [String]], sendHandle: SendHandle)] { + get { ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocationsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedInvocations } } + set { ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocationsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedInvocations = newValue } } + } open var ignoreDeviceTrustAndResendDevicesSendHandleClosure: (([String: [String]], SendHandle) async throws -> Void)? open override func ignoreDeviceTrustAndResend(devices: [String: [String]], sendHandle: SendHandle) async throws { if let error = ignoreDeviceTrustAndResendDevicesSendHandleThrowableError { throw error } - ignoreDeviceTrustAndResendDevicesSendHandleCallsCount += 1 + ignoreDeviceTrustAndResendDevicesSendHandleCallsCountLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingCallsCount += 1 } ignoreDeviceTrustAndResendDevicesSendHandleReceivedArguments = (devices: devices, sendHandle: sendHandle) - DispatchQueue.main.async { - self.ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocations.append((devices: devices, sendHandle: sendHandle)) - } + ignoreDeviceTrustAndResendDevicesSendHandleReceivedInvocationsLock.withLock { ignoreDeviceTrustAndResendDevicesSendHandleUnderlyingReceivedInvocations.append((devices: devices, sendHandle: sendHandle)) } try await ignoreDeviceTrustAndResendDevicesSendHandleClosure?(devices, sendHandle) } //MARK: - ignoreUser open var ignoreUserUserIdThrowableError: Error? - open var ignoreUserUserIdUnderlyingCallsCount = 0 + private let ignoreUserUserIdCallsCountLock = NSLock() + private var ignoreUserUserIdUnderlyingCallsCount = 0 open var ignoreUserUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return ignoreUserUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ignoreUserUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ignoreUserUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ignoreUserUserIdUnderlyingCallsCount = newValue - } - } - } + get { ignoreUserUserIdCallsCountLock.withLock { ignoreUserUserIdUnderlyingCallsCount } } + set { ignoreUserUserIdCallsCountLock.withLock { ignoreUserUserIdUnderlyingCallsCount = newValue } } } open var ignoreUserUserIdCalled: Bool { return ignoreUserUserIdCallsCount > 0 } - open var ignoreUserUserIdReceivedUserId: String? - open var ignoreUserUserIdReceivedInvocations: [String] = [] + private let ignoreUserUserIdReceivedUserIdLock = NSLock() + private var ignoreUserUserIdUnderlyingReceivedUserId: String? + open var ignoreUserUserIdReceivedUserId: String? { + get { ignoreUserUserIdReceivedUserIdLock.withLock { ignoreUserUserIdUnderlyingReceivedUserId } } + set { ignoreUserUserIdReceivedUserIdLock.withLock { ignoreUserUserIdUnderlyingReceivedUserId = newValue } } + } + private let ignoreUserUserIdReceivedInvocationsLock = NSLock() + private var ignoreUserUserIdUnderlyingReceivedInvocations: [String] = [] + open var ignoreUserUserIdReceivedInvocations: [String] { + get { ignoreUserUserIdReceivedInvocationsLock.withLock { ignoreUserUserIdUnderlyingReceivedInvocations } } + set { ignoreUserUserIdReceivedInvocationsLock.withLock { ignoreUserUserIdUnderlyingReceivedInvocations = newValue } } + } open var ignoreUserUserIdClosure: ((String) async throws -> Void)? open override func ignoreUser(userId: String) async throws { if let error = ignoreUserUserIdThrowableError { throw error } - ignoreUserUserIdCallsCount += 1 + ignoreUserUserIdCallsCountLock.withLock { ignoreUserUserIdUnderlyingCallsCount += 1 } ignoreUserUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.ignoreUserUserIdReceivedInvocations.append(userId) - } + ignoreUserUserIdReceivedInvocationsLock.withLock { ignoreUserUserIdUnderlyingReceivedInvocations.append(userId) } try await ignoreUserUserIdClosure?(userId) } //MARK: - inviteUserById open var inviteUserByIdUserIdThrowableError: Error? - open var inviteUserByIdUserIdUnderlyingCallsCount = 0 + private let inviteUserByIdUserIdCallsCountLock = NSLock() + private var inviteUserByIdUserIdUnderlyingCallsCount = 0 open var inviteUserByIdUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return inviteUserByIdUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = inviteUserByIdUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inviteUserByIdUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - inviteUserByIdUserIdUnderlyingCallsCount = newValue - } - } - } + get { inviteUserByIdUserIdCallsCountLock.withLock { inviteUserByIdUserIdUnderlyingCallsCount } } + set { inviteUserByIdUserIdCallsCountLock.withLock { inviteUserByIdUserIdUnderlyingCallsCount = newValue } } } open var inviteUserByIdUserIdCalled: Bool { return inviteUserByIdUserIdCallsCount > 0 } - open var inviteUserByIdUserIdReceivedUserId: String? - open var inviteUserByIdUserIdReceivedInvocations: [String] = [] + private let inviteUserByIdUserIdReceivedUserIdLock = NSLock() + private var inviteUserByIdUserIdUnderlyingReceivedUserId: String? + open var inviteUserByIdUserIdReceivedUserId: String? { + get { inviteUserByIdUserIdReceivedUserIdLock.withLock { inviteUserByIdUserIdUnderlyingReceivedUserId } } + set { inviteUserByIdUserIdReceivedUserIdLock.withLock { inviteUserByIdUserIdUnderlyingReceivedUserId = newValue } } + } + private let inviteUserByIdUserIdReceivedInvocationsLock = NSLock() + private var inviteUserByIdUserIdUnderlyingReceivedInvocations: [String] = [] + open var inviteUserByIdUserIdReceivedInvocations: [String] { + get { inviteUserByIdUserIdReceivedInvocationsLock.withLock { inviteUserByIdUserIdUnderlyingReceivedInvocations } } + set { inviteUserByIdUserIdReceivedInvocationsLock.withLock { inviteUserByIdUserIdUnderlyingReceivedInvocations = newValue } } + } open var inviteUserByIdUserIdClosure: ((String) async throws -> Void)? open override func inviteUserById(userId: String) async throws { if let error = inviteUserByIdUserIdThrowableError { throw error } - inviteUserByIdUserIdCallsCount += 1 + inviteUserByIdUserIdCallsCountLock.withLock { inviteUserByIdUserIdUnderlyingCallsCount += 1 } inviteUserByIdUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.inviteUserByIdUserIdReceivedInvocations.append(userId) - } + inviteUserByIdUserIdReceivedInvocationsLock.withLock { inviteUserByIdUserIdUnderlyingReceivedInvocations.append(userId) } try await inviteUserByIdUserIdClosure?(userId) } //MARK: - invitedMembersCount - open var invitedMembersCountUnderlyingCallsCount = 0 + private let invitedMembersCountCallsCountLock = NSLock() + private var invitedMembersCountUnderlyingCallsCount = 0 open var invitedMembersCountCallsCount: Int { - get { - if Thread.isMainThread { - return invitedMembersCountUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = invitedMembersCountUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - invitedMembersCountUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - invitedMembersCountUnderlyingCallsCount = newValue - } - } - } + get { invitedMembersCountCallsCountLock.withLock { invitedMembersCountUnderlyingCallsCount } } + set { invitedMembersCountCallsCountLock.withLock { invitedMembersCountUnderlyingCallsCount = newValue } } } open var invitedMembersCountCalled: Bool { return invitedMembersCountCallsCount > 0 } + private let invitedMembersCountReturnValueLock = NSLock() open var invitedMembersCountUnderlyingReturnValue: UInt64! open var invitedMembersCountReturnValue: UInt64! { - get { - if Thread.isMainThread { - return invitedMembersCountUnderlyingReturnValue - } else { - var returnValue: UInt64? = nil - DispatchQueue.main.sync { - returnValue = invitedMembersCountUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - invitedMembersCountUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - invitedMembersCountUnderlyingReturnValue = newValue - } - } - } + get { invitedMembersCountReturnValueLock.withLock { invitedMembersCountUnderlyingReturnValue } } + set { invitedMembersCountReturnValueLock.withLock { invitedMembersCountUnderlyingReturnValue = newValue } } } open var invitedMembersCountClosure: (() -> UInt64)? open override func invitedMembersCount() -> UInt64 { - invitedMembersCountCallsCount += 1 + invitedMembersCountCallsCountLock.withLock { invitedMembersCountUnderlyingCallsCount += 1 } if let invitedMembersCountClosure = invitedMembersCountClosure { return invitedMembersCountClosure() } else { @@ -16354,57 +9552,21 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - inviter open var inviterThrowableError: Error? - open var inviterUnderlyingCallsCount = 0 + private let inviterCallsCountLock = NSLock() + private var inviterUnderlyingCallsCount = 0 open var inviterCallsCount: Int { - get { - if Thread.isMainThread { - return inviterUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = inviterUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inviterUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - inviterUnderlyingCallsCount = newValue - } - } - } + get { inviterCallsCountLock.withLock { inviterUnderlyingCallsCount } } + set { inviterCallsCountLock.withLock { inviterUnderlyingCallsCount = newValue } } } open var inviterCalled: Bool { return inviterCallsCount > 0 } + private let inviterReturnValueLock = NSLock() open var inviterUnderlyingReturnValue: RoomMember? open var inviterReturnValue: RoomMember? { - get { - if Thread.isMainThread { - return inviterUnderlyingReturnValue - } else { - var returnValue: RoomMember?? = nil - DispatchQueue.main.sync { - returnValue = inviterUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inviterUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - inviterUnderlyingReturnValue = newValue - } - } - } + get { inviterReturnValueLock.withLock { inviterUnderlyingReturnValue } } + set { inviterReturnValueLock.withLock { inviterUnderlyingReturnValue = newValue } } } open var inviterClosure: (() async throws -> RoomMember?)? @@ -16412,7 +9574,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = inviterThrowableError { throw error } - inviterCallsCount += 1 + inviterCallsCountLock.withLock { inviterUnderlyingCallsCount += 1 } if let inviterClosure = inviterClosure { return try await inviterClosure() } else { @@ -16422,62 +9584,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - isDirect - open var isDirectUnderlyingCallsCount = 0 + private let isDirectCallsCountLock = NSLock() + private var isDirectUnderlyingCallsCount = 0 open var isDirectCallsCount: Int { - get { - if Thread.isMainThread { - return isDirectUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isDirectUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isDirectUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isDirectUnderlyingCallsCount = newValue - } - } - } + get { isDirectCallsCountLock.withLock { isDirectUnderlyingCallsCount } } + set { isDirectCallsCountLock.withLock { isDirectUnderlyingCallsCount = newValue } } } open var isDirectCalled: Bool { return isDirectCallsCount > 0 } + private let isDirectReturnValueLock = NSLock() open var isDirectUnderlyingReturnValue: Bool! open var isDirectReturnValue: Bool! { - get { - if Thread.isMainThread { - return isDirectUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isDirectUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isDirectUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isDirectUnderlyingReturnValue = newValue - } - } - } + get { isDirectReturnValueLock.withLock { isDirectUnderlyingReturnValue } } + set { isDirectReturnValueLock.withLock { isDirectUnderlyingReturnValue = newValue } } } open var isDirectClosure: (() async -> Bool)? open override func isDirect() async -> Bool { - isDirectCallsCount += 1 + isDirectCallsCountLock.withLock { isDirectUnderlyingCallsCount += 1 } if let isDirectClosure = isDirectClosure { return await isDirectClosure() } else { @@ -16487,62 +9613,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - isEncrypted - open var isEncryptedUnderlyingCallsCount = 0 + private let isEncryptedCallsCountLock = NSLock() + private var isEncryptedUnderlyingCallsCount = 0 open var isEncryptedCallsCount: Int { - get { - if Thread.isMainThread { - return isEncryptedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isEncryptedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isEncryptedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isEncryptedUnderlyingCallsCount = newValue - } - } - } + get { isEncryptedCallsCountLock.withLock { isEncryptedUnderlyingCallsCount } } + set { isEncryptedCallsCountLock.withLock { isEncryptedUnderlyingCallsCount = newValue } } } open var isEncryptedCalled: Bool { return isEncryptedCallsCount > 0 } + private let isEncryptedReturnValueLock = NSLock() open var isEncryptedUnderlyingReturnValue: Bool! open var isEncryptedReturnValue: Bool! { - get { - if Thread.isMainThread { - return isEncryptedUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isEncryptedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isEncryptedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isEncryptedUnderlyingReturnValue = newValue - } - } - } + get { isEncryptedReturnValueLock.withLock { isEncryptedUnderlyingReturnValue } } + set { isEncryptedReturnValueLock.withLock { isEncryptedUnderlyingReturnValue = newValue } } } open var isEncryptedClosure: (() async -> Bool)? open override func isEncrypted() async -> Bool { - isEncryptedCallsCount += 1 + isEncryptedCallsCountLock.withLock { isEncryptedUnderlyingCallsCount += 1 } if let isEncryptedClosure = isEncryptedClosure { return await isEncryptedClosure() } else { @@ -16552,62 +9642,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - isPublic - open var isPublicUnderlyingCallsCount = 0 + private let isPublicCallsCountLock = NSLock() + private var isPublicUnderlyingCallsCount = 0 open var isPublicCallsCount: Int { - get { - if Thread.isMainThread { - return isPublicUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isPublicUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isPublicUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isPublicUnderlyingCallsCount = newValue - } - } - } + get { isPublicCallsCountLock.withLock { isPublicUnderlyingCallsCount } } + set { isPublicCallsCountLock.withLock { isPublicUnderlyingCallsCount = newValue } } } open var isPublicCalled: Bool { return isPublicCallsCount > 0 } + private let isPublicReturnValueLock = NSLock() open var isPublicUnderlyingReturnValue: Bool? open var isPublicReturnValue: Bool? { - get { - if Thread.isMainThread { - return isPublicUnderlyingReturnValue - } else { - var returnValue: Bool?? = nil - DispatchQueue.main.sync { - returnValue = isPublicUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isPublicUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isPublicUnderlyingReturnValue = newValue - } - } - } + get { isPublicReturnValueLock.withLock { isPublicUnderlyingReturnValue } } + set { isPublicReturnValueLock.withLock { isPublicUnderlyingReturnValue = newValue } } } open var isPublicClosure: (() -> Bool?)? open override func isPublic() -> Bool? { - isPublicCallsCount += 1 + isPublicCallsCountLock.withLock { isPublicUnderlyingCallsCount += 1 } if let isPublicClosure = isPublicClosure { return isPublicClosure() } else { @@ -16617,62 +9671,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - isSendQueueEnabled - open var isSendQueueEnabledUnderlyingCallsCount = 0 + private let isSendQueueEnabledCallsCountLock = NSLock() + private var isSendQueueEnabledUnderlyingCallsCount = 0 open var isSendQueueEnabledCallsCount: Int { - get { - if Thread.isMainThread { - return isSendQueueEnabledUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isSendQueueEnabledUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isSendQueueEnabledUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isSendQueueEnabledUnderlyingCallsCount = newValue - } - } - } + get { isSendQueueEnabledCallsCountLock.withLock { isSendQueueEnabledUnderlyingCallsCount } } + set { isSendQueueEnabledCallsCountLock.withLock { isSendQueueEnabledUnderlyingCallsCount = newValue } } } open var isSendQueueEnabledCalled: Bool { return isSendQueueEnabledCallsCount > 0 } + private let isSendQueueEnabledReturnValueLock = NSLock() open var isSendQueueEnabledUnderlyingReturnValue: Bool! open var isSendQueueEnabledReturnValue: Bool! { - get { - if Thread.isMainThread { - return isSendQueueEnabledUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isSendQueueEnabledUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isSendQueueEnabledUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isSendQueueEnabledUnderlyingReturnValue = newValue - } - } - } + get { isSendQueueEnabledReturnValueLock.withLock { isSendQueueEnabledUnderlyingReturnValue } } + set { isSendQueueEnabledReturnValueLock.withLock { isSendQueueEnabledUnderlyingReturnValue = newValue } } } open var isSendQueueEnabledClosure: (() -> Bool)? open override func isSendQueueEnabled() -> Bool { - isSendQueueEnabledCallsCount += 1 + isSendQueueEnabledCallsCountLock.withLock { isSendQueueEnabledUnderlyingCallsCount += 1 } if let isSendQueueEnabledClosure = isSendQueueEnabledClosure { return isSendQueueEnabledClosure() } else { @@ -16682,62 +9700,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - isSpace - open var isSpaceUnderlyingCallsCount = 0 + private let isSpaceCallsCountLock = NSLock() + private var isSpaceUnderlyingCallsCount = 0 open var isSpaceCallsCount: Int { - get { - if Thread.isMainThread { - return isSpaceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isSpaceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isSpaceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isSpaceUnderlyingCallsCount = newValue - } - } - } + get { isSpaceCallsCountLock.withLock { isSpaceUnderlyingCallsCount } } + set { isSpaceCallsCountLock.withLock { isSpaceUnderlyingCallsCount = newValue } } } open var isSpaceCalled: Bool { return isSpaceCallsCount > 0 } + private let isSpaceReturnValueLock = NSLock() open var isSpaceUnderlyingReturnValue: Bool! open var isSpaceReturnValue: Bool! { - get { - if Thread.isMainThread { - return isSpaceUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isSpaceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isSpaceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isSpaceUnderlyingReturnValue = newValue - } - } - } + get { isSpaceReturnValueLock.withLock { isSpaceUnderlyingReturnValue } } + set { isSpaceReturnValueLock.withLock { isSpaceUnderlyingReturnValue = newValue } } } open var isSpaceClosure: (() -> Bool)? open override func isSpace() -> Bool { - isSpaceCallsCount += 1 + isSpaceCallsCountLock.withLock { isSpaceUnderlyingCallsCount += 1 } if let isSpaceClosure = isSpaceClosure { return isSpaceClosure() } else { @@ -16748,29 +9730,11 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - join open var joinThrowableError: Error? - open var joinUnderlyingCallsCount = 0 + private let joinCallsCountLock = NSLock() + private var joinUnderlyingCallsCount = 0 open var joinCallsCount: Int { - get { - if Thread.isMainThread { - return joinUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinUnderlyingCallsCount = newValue - } - } - } + get { joinCallsCountLock.withLock { joinUnderlyingCallsCount } } + set { joinCallsCountLock.withLock { joinUnderlyingCallsCount = newValue } } } open var joinCalled: Bool { return joinCallsCount > 0 @@ -16781,68 +9745,32 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = joinThrowableError { throw error } - joinCallsCount += 1 + joinCallsCountLock.withLock { joinUnderlyingCallsCount += 1 } try await joinClosure?() } //MARK: - joinedMembersCount - open var joinedMembersCountUnderlyingCallsCount = 0 + private let joinedMembersCountCallsCountLock = NSLock() + private var joinedMembersCountUnderlyingCallsCount = 0 open var joinedMembersCountCallsCount: Int { - get { - if Thread.isMainThread { - return joinedMembersCountUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinedMembersCountUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinedMembersCountUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinedMembersCountUnderlyingCallsCount = newValue - } - } - } + get { joinedMembersCountCallsCountLock.withLock { joinedMembersCountUnderlyingCallsCount } } + set { joinedMembersCountCallsCountLock.withLock { joinedMembersCountUnderlyingCallsCount = newValue } } } open var joinedMembersCountCalled: Bool { return joinedMembersCountCallsCount > 0 } + private let joinedMembersCountReturnValueLock = NSLock() open var joinedMembersCountUnderlyingReturnValue: UInt64! open var joinedMembersCountReturnValue: UInt64! { - get { - if Thread.isMainThread { - return joinedMembersCountUnderlyingReturnValue - } else { - var returnValue: UInt64? = nil - DispatchQueue.main.sync { - returnValue = joinedMembersCountUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinedMembersCountUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - joinedMembersCountUnderlyingReturnValue = newValue - } - } - } + get { joinedMembersCountReturnValueLock.withLock { joinedMembersCountUnderlyingReturnValue } } + set { joinedMembersCountReturnValueLock.withLock { joinedMembersCountUnderlyingReturnValue = newValue } } } open var joinedMembersCountClosure: (() -> UInt64)? open override func joinedMembersCount() -> UInt64 { - joinedMembersCountCallsCount += 1 + joinedMembersCountCallsCountLock.withLock { joinedMembersCountUnderlyingCallsCount += 1 } if let joinedMembersCountClosure = joinedMembersCountClosure { return joinedMembersCountClosure() } else { @@ -16853,103 +9781,57 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - kickUser open var kickUserUserIdReasonThrowableError: Error? - open var kickUserUserIdReasonUnderlyingCallsCount = 0 + private let kickUserUserIdReasonCallsCountLock = NSLock() + private var kickUserUserIdReasonUnderlyingCallsCount = 0 open var kickUserUserIdReasonCallsCount: Int { - get { - if Thread.isMainThread { - return kickUserUserIdReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = kickUserUserIdReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - kickUserUserIdReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - kickUserUserIdReasonUnderlyingCallsCount = newValue - } - } - } + get { kickUserUserIdReasonCallsCountLock.withLock { kickUserUserIdReasonUnderlyingCallsCount } } + set { kickUserUserIdReasonCallsCountLock.withLock { kickUserUserIdReasonUnderlyingCallsCount = newValue } } } open var kickUserUserIdReasonCalled: Bool { return kickUserUserIdReasonCallsCount > 0 } - open var kickUserUserIdReasonReceivedArguments: (userId: String, reason: String?)? - open var kickUserUserIdReasonReceivedInvocations: [(userId: String, reason: String?)] = [] + private let kickUserUserIdReasonReceivedArgumentsLock = NSLock() + private var kickUserUserIdReasonUnderlyingReceivedArguments: (userId: String, reason: String?)? + open var kickUserUserIdReasonReceivedArguments: (userId: String, reason: String?)? { + get { kickUserUserIdReasonReceivedArgumentsLock.withLock { kickUserUserIdReasonUnderlyingReceivedArguments } } + set { kickUserUserIdReasonReceivedArgumentsLock.withLock { kickUserUserIdReasonUnderlyingReceivedArguments = newValue } } + } + private let kickUserUserIdReasonReceivedInvocationsLock = NSLock() + private var kickUserUserIdReasonUnderlyingReceivedInvocations: [(userId: String, reason: String?)] = [] + open var kickUserUserIdReasonReceivedInvocations: [(userId: String, reason: String?)] { + get { kickUserUserIdReasonReceivedInvocationsLock.withLock { kickUserUserIdReasonUnderlyingReceivedInvocations } } + set { kickUserUserIdReasonReceivedInvocationsLock.withLock { kickUserUserIdReasonUnderlyingReceivedInvocations = newValue } } + } open var kickUserUserIdReasonClosure: ((String, String?) async throws -> Void)? open override func kickUser(userId: String, reason: String?) async throws { if let error = kickUserUserIdReasonThrowableError { throw error } - kickUserUserIdReasonCallsCount += 1 + kickUserUserIdReasonCallsCountLock.withLock { kickUserUserIdReasonUnderlyingCallsCount += 1 } kickUserUserIdReasonReceivedArguments = (userId: userId, reason: reason) - DispatchQueue.main.async { - self.kickUserUserIdReasonReceivedInvocations.append((userId: userId, reason: reason)) - } + kickUserUserIdReasonReceivedInvocationsLock.withLock { kickUserUserIdReasonUnderlyingReceivedInvocations.append((userId: userId, reason: reason)) } try await kickUserUserIdReasonClosure?(userId, reason) } //MARK: - latestEncryptionState open var latestEncryptionStateThrowableError: Error? - open var latestEncryptionStateUnderlyingCallsCount = 0 + private let latestEncryptionStateCallsCountLock = NSLock() + private var latestEncryptionStateUnderlyingCallsCount = 0 open var latestEncryptionStateCallsCount: Int { - get { - if Thread.isMainThread { - return latestEncryptionStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = latestEncryptionStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestEncryptionStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - latestEncryptionStateUnderlyingCallsCount = newValue - } - } - } + get { latestEncryptionStateCallsCountLock.withLock { latestEncryptionStateUnderlyingCallsCount } } + set { latestEncryptionStateCallsCountLock.withLock { latestEncryptionStateUnderlyingCallsCount = newValue } } } open var latestEncryptionStateCalled: Bool { return latestEncryptionStateCallsCount > 0 } + private let latestEncryptionStateReturnValueLock = NSLock() open var latestEncryptionStateUnderlyingReturnValue: EncryptionState! open var latestEncryptionStateReturnValue: EncryptionState! { - get { - if Thread.isMainThread { - return latestEncryptionStateUnderlyingReturnValue - } else { - var returnValue: EncryptionState? = nil - DispatchQueue.main.sync { - returnValue = latestEncryptionStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestEncryptionStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - latestEncryptionStateUnderlyingReturnValue = newValue - } - } - } + get { latestEncryptionStateReturnValueLock.withLock { latestEncryptionStateUnderlyingReturnValue } } + set { latestEncryptionStateReturnValueLock.withLock { latestEncryptionStateUnderlyingReturnValue = newValue } } } open var latestEncryptionStateClosure: (() async throws -> EncryptionState)? @@ -16957,7 +9839,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = latestEncryptionStateThrowableError { throw error } - latestEncryptionStateCallsCount += 1 + latestEncryptionStateCallsCountLock.withLock { latestEncryptionStateUnderlyingCallsCount += 1 } if let latestEncryptionStateClosure = latestEncryptionStateClosure { return try await latestEncryptionStateClosure() } else { @@ -16967,62 +9849,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - latestEvent - open var latestEventUnderlyingCallsCount = 0 + private let latestEventCallsCountLock = NSLock() + private var latestEventUnderlyingCallsCount = 0 open var latestEventCallsCount: Int { - get { - if Thread.isMainThread { - return latestEventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = latestEventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestEventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - latestEventUnderlyingCallsCount = newValue - } - } - } + get { latestEventCallsCountLock.withLock { latestEventUnderlyingCallsCount } } + set { latestEventCallsCountLock.withLock { latestEventUnderlyingCallsCount = newValue } } } open var latestEventCalled: Bool { return latestEventCallsCount > 0 } + private let latestEventReturnValueLock = NSLock() open var latestEventUnderlyingReturnValue: LatestEventValue! open var latestEventReturnValue: LatestEventValue! { - get { - if Thread.isMainThread { - return latestEventUnderlyingReturnValue - } else { - var returnValue: LatestEventValue? = nil - DispatchQueue.main.sync { - returnValue = latestEventUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestEventUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - latestEventUnderlyingReturnValue = newValue - } - } - } + get { latestEventReturnValueLock.withLock { latestEventUnderlyingReturnValue } } + set { latestEventReturnValueLock.withLock { latestEventUnderlyingReturnValue = newValue } } } open var latestEventClosure: (() async -> LatestEventValue)? open override func latestEvent() async -> LatestEventValue { - latestEventCallsCount += 1 + latestEventCallsCountLock.withLock { latestEventUnderlyingCallsCount += 1 } if let latestEventClosure = latestEventClosure { return await latestEventClosure() } else { @@ -17033,29 +9879,11 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - leave open var leaveThrowableError: Error? - open var leaveUnderlyingCallsCount = 0 + private let leaveCallsCountLock = NSLock() + private var leaveUnderlyingCallsCount = 0 open var leaveCallsCount: Int { - get { - if Thread.isMainThread { - return leaveUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = leaveUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - leaveUnderlyingCallsCount = newValue - } - } - } + get { leaveCallsCountLock.withLock { leaveUnderlyingCallsCount } } + set { leaveCallsCountLock.withLock { leaveUnderlyingCallsCount = newValue } } } open var leaveCalled: Bool { return leaveCallsCount > 0 @@ -17066,68 +9894,32 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = leaveThrowableError { throw error } - leaveCallsCount += 1 + leaveCallsCountLock.withLock { leaveUnderlyingCallsCount += 1 } try await leaveClosure?() } //MARK: - liveLocationsObserver - open var liveLocationsObserverUnderlyingCallsCount = 0 + private let liveLocationsObserverCallsCountLock = NSLock() + private var liveLocationsObserverUnderlyingCallsCount = 0 open var liveLocationsObserverCallsCount: Int { - get { - if Thread.isMainThread { - return liveLocationsObserverUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = liveLocationsObserverUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - liveLocationsObserverUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - liveLocationsObserverUnderlyingCallsCount = newValue - } - } - } + get { liveLocationsObserverCallsCountLock.withLock { liveLocationsObserverUnderlyingCallsCount } } + set { liveLocationsObserverCallsCountLock.withLock { liveLocationsObserverUnderlyingCallsCount = newValue } } } open var liveLocationsObserverCalled: Bool { return liveLocationsObserverCallsCount > 0 } + private let liveLocationsObserverReturnValueLock = NSLock() open var liveLocationsObserverUnderlyingReturnValue: LiveLocationsObserver! open var liveLocationsObserverReturnValue: LiveLocationsObserver! { - get { - if Thread.isMainThread { - return liveLocationsObserverUnderlyingReturnValue - } else { - var returnValue: LiveLocationsObserver? = nil - DispatchQueue.main.sync { - returnValue = liveLocationsObserverUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - liveLocationsObserverUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - liveLocationsObserverUnderlyingReturnValue = newValue - } - } - } + get { liveLocationsObserverReturnValueLock.withLock { liveLocationsObserverUnderlyingReturnValue } } + set { liveLocationsObserverReturnValueLock.withLock { liveLocationsObserverUnderlyingReturnValue = newValue } } } open var liveLocationsObserverClosure: (() async -> LiveLocationsObserver)? open override func liveLocationsObserver() async -> LiveLocationsObserver { - liveLocationsObserverCallsCount += 1 + liveLocationsObserverCallsCountLock.withLock { liveLocationsObserverUnderlyingCallsCount += 1 } if let liveLocationsObserverClosure = liveLocationsObserverClosure { return await liveLocationsObserverClosure() } else { @@ -17138,59 +9930,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - loadComposerDraft open var loadComposerDraftThreadRootThrowableError: Error? - open var loadComposerDraftThreadRootUnderlyingCallsCount = 0 + private let loadComposerDraftThreadRootCallsCountLock = NSLock() + private var loadComposerDraftThreadRootUnderlyingCallsCount = 0 open var loadComposerDraftThreadRootCallsCount: Int { - get { - if Thread.isMainThread { - return loadComposerDraftThreadRootUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadComposerDraftThreadRootUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadComposerDraftThreadRootUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadComposerDraftThreadRootUnderlyingCallsCount = newValue - } - } - } + get { loadComposerDraftThreadRootCallsCountLock.withLock { loadComposerDraftThreadRootUnderlyingCallsCount } } + set { loadComposerDraftThreadRootCallsCountLock.withLock { loadComposerDraftThreadRootUnderlyingCallsCount = newValue } } } open var loadComposerDraftThreadRootCalled: Bool { return loadComposerDraftThreadRootCallsCount > 0 } - open var loadComposerDraftThreadRootReceivedThreadRoot: String? - open var loadComposerDraftThreadRootReceivedInvocations: [String?] = [] + private let loadComposerDraftThreadRootReceivedThreadRootLock = NSLock() + private var loadComposerDraftThreadRootUnderlyingReceivedThreadRoot: String? + open var loadComposerDraftThreadRootReceivedThreadRoot: String? { + get { loadComposerDraftThreadRootReceivedThreadRootLock.withLock { loadComposerDraftThreadRootUnderlyingReceivedThreadRoot } } + set { loadComposerDraftThreadRootReceivedThreadRootLock.withLock { loadComposerDraftThreadRootUnderlyingReceivedThreadRoot = newValue } } + } + private let loadComposerDraftThreadRootReceivedInvocationsLock = NSLock() + private var loadComposerDraftThreadRootUnderlyingReceivedInvocations: [String?] = [] + open var loadComposerDraftThreadRootReceivedInvocations: [String?] { + get { loadComposerDraftThreadRootReceivedInvocationsLock.withLock { loadComposerDraftThreadRootUnderlyingReceivedInvocations } } + set { loadComposerDraftThreadRootReceivedInvocationsLock.withLock { loadComposerDraftThreadRootUnderlyingReceivedInvocations = newValue } } + } + private let loadComposerDraftThreadRootReturnValueLock = NSLock() open var loadComposerDraftThreadRootUnderlyingReturnValue: ComposerDraft? open var loadComposerDraftThreadRootReturnValue: ComposerDraft? { - get { - if Thread.isMainThread { - return loadComposerDraftThreadRootUnderlyingReturnValue - } else { - var returnValue: ComposerDraft?? = nil - DispatchQueue.main.sync { - returnValue = loadComposerDraftThreadRootUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadComposerDraftThreadRootUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadComposerDraftThreadRootUnderlyingReturnValue = newValue - } - } - } + get { loadComposerDraftThreadRootReturnValueLock.withLock { loadComposerDraftThreadRootUnderlyingReturnValue } } + set { loadComposerDraftThreadRootReturnValueLock.withLock { loadComposerDraftThreadRootUnderlyingReturnValue = newValue } } } open var loadComposerDraftThreadRootClosure: ((String?) async throws -> ComposerDraft?)? @@ -17198,11 +9964,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = loadComposerDraftThreadRootThrowableError { throw error } - loadComposerDraftThreadRootCallsCount += 1 + loadComposerDraftThreadRootCallsCountLock.withLock { loadComposerDraftThreadRootUnderlyingCallsCount += 1 } loadComposerDraftThreadRootReceivedThreadRoot = threadRoot - DispatchQueue.main.async { - self.loadComposerDraftThreadRootReceivedInvocations.append(threadRoot) - } + loadComposerDraftThreadRootReceivedInvocationsLock.withLock { loadComposerDraftThreadRootUnderlyingReceivedInvocations.append(threadRoot) } if let loadComposerDraftThreadRootClosure = loadComposerDraftThreadRootClosure { return try await loadComposerDraftThreadRootClosure(threadRoot) } else { @@ -17213,59 +9977,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - loadOrFetchEvent open var loadOrFetchEventEventIdThrowableError: Error? - open var loadOrFetchEventEventIdUnderlyingCallsCount = 0 + private let loadOrFetchEventEventIdCallsCountLock = NSLock() + private var loadOrFetchEventEventIdUnderlyingCallsCount = 0 open var loadOrFetchEventEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return loadOrFetchEventEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadOrFetchEventEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadOrFetchEventEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadOrFetchEventEventIdUnderlyingCallsCount = newValue - } - } - } + get { loadOrFetchEventEventIdCallsCountLock.withLock { loadOrFetchEventEventIdUnderlyingCallsCount } } + set { loadOrFetchEventEventIdCallsCountLock.withLock { loadOrFetchEventEventIdUnderlyingCallsCount = newValue } } } open var loadOrFetchEventEventIdCalled: Bool { return loadOrFetchEventEventIdCallsCount > 0 } - open var loadOrFetchEventEventIdReceivedEventId: String? - open var loadOrFetchEventEventIdReceivedInvocations: [String] = [] + private let loadOrFetchEventEventIdReceivedEventIdLock = NSLock() + private var loadOrFetchEventEventIdUnderlyingReceivedEventId: String? + open var loadOrFetchEventEventIdReceivedEventId: String? { + get { loadOrFetchEventEventIdReceivedEventIdLock.withLock { loadOrFetchEventEventIdUnderlyingReceivedEventId } } + set { loadOrFetchEventEventIdReceivedEventIdLock.withLock { loadOrFetchEventEventIdUnderlyingReceivedEventId = newValue } } + } + private let loadOrFetchEventEventIdReceivedInvocationsLock = NSLock() + private var loadOrFetchEventEventIdUnderlyingReceivedInvocations: [String] = [] + open var loadOrFetchEventEventIdReceivedInvocations: [String] { + get { loadOrFetchEventEventIdReceivedInvocationsLock.withLock { loadOrFetchEventEventIdUnderlyingReceivedInvocations } } + set { loadOrFetchEventEventIdReceivedInvocationsLock.withLock { loadOrFetchEventEventIdUnderlyingReceivedInvocations = newValue } } + } + private let loadOrFetchEventEventIdReturnValueLock = NSLock() open var loadOrFetchEventEventIdUnderlyingReturnValue: TimelineEvent! open var loadOrFetchEventEventIdReturnValue: TimelineEvent! { - get { - if Thread.isMainThread { - return loadOrFetchEventEventIdUnderlyingReturnValue - } else { - var returnValue: TimelineEvent? = nil - DispatchQueue.main.sync { - returnValue = loadOrFetchEventEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadOrFetchEventEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadOrFetchEventEventIdUnderlyingReturnValue = newValue - } - } - } + get { loadOrFetchEventEventIdReturnValueLock.withLock { loadOrFetchEventEventIdUnderlyingReturnValue } } + set { loadOrFetchEventEventIdReturnValueLock.withLock { loadOrFetchEventEventIdUnderlyingReturnValue = newValue } } } open var loadOrFetchEventEventIdClosure: ((String) async throws -> TimelineEvent)? @@ -17273,11 +10011,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = loadOrFetchEventEventIdThrowableError { throw error } - loadOrFetchEventEventIdCallsCount += 1 + loadOrFetchEventEventIdCallsCountLock.withLock { loadOrFetchEventEventIdUnderlyingCallsCount += 1 } loadOrFetchEventEventIdReceivedEventId = eventId - DispatchQueue.main.async { - self.loadOrFetchEventEventIdReceivedInvocations.append(eventId) - } + loadOrFetchEventEventIdReceivedInvocationsLock.withLock { loadOrFetchEventEventIdUnderlyingReceivedInvocations.append(eventId) } if let loadOrFetchEventEventIdClosure = loadOrFetchEventEventIdClosure { return try await loadOrFetchEventEventIdClosure(eventId) } else { @@ -17288,151 +10024,105 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - markAsFullyReadUnchecked open var markAsFullyReadUncheckedEventIdThrowableError: Error? - open var markAsFullyReadUncheckedEventIdUnderlyingCallsCount = 0 + private let markAsFullyReadUncheckedEventIdCallsCountLock = NSLock() + private var markAsFullyReadUncheckedEventIdUnderlyingCallsCount = 0 open var markAsFullyReadUncheckedEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return markAsFullyReadUncheckedEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAsFullyReadUncheckedEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsFullyReadUncheckedEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAsFullyReadUncheckedEventIdUnderlyingCallsCount = newValue - } - } - } + get { markAsFullyReadUncheckedEventIdCallsCountLock.withLock { markAsFullyReadUncheckedEventIdUnderlyingCallsCount } } + set { markAsFullyReadUncheckedEventIdCallsCountLock.withLock { markAsFullyReadUncheckedEventIdUnderlyingCallsCount = newValue } } } open var markAsFullyReadUncheckedEventIdCalled: Bool { return markAsFullyReadUncheckedEventIdCallsCount > 0 } - open var markAsFullyReadUncheckedEventIdReceivedEventId: String? - open var markAsFullyReadUncheckedEventIdReceivedInvocations: [String] = [] + private let markAsFullyReadUncheckedEventIdReceivedEventIdLock = NSLock() + private var markAsFullyReadUncheckedEventIdUnderlyingReceivedEventId: String? + open var markAsFullyReadUncheckedEventIdReceivedEventId: String? { + get { markAsFullyReadUncheckedEventIdReceivedEventIdLock.withLock { markAsFullyReadUncheckedEventIdUnderlyingReceivedEventId } } + set { markAsFullyReadUncheckedEventIdReceivedEventIdLock.withLock { markAsFullyReadUncheckedEventIdUnderlyingReceivedEventId = newValue } } + } + private let markAsFullyReadUncheckedEventIdReceivedInvocationsLock = NSLock() + private var markAsFullyReadUncheckedEventIdUnderlyingReceivedInvocations: [String] = [] + open var markAsFullyReadUncheckedEventIdReceivedInvocations: [String] { + get { markAsFullyReadUncheckedEventIdReceivedInvocationsLock.withLock { markAsFullyReadUncheckedEventIdUnderlyingReceivedInvocations } } + set { markAsFullyReadUncheckedEventIdReceivedInvocationsLock.withLock { markAsFullyReadUncheckedEventIdUnderlyingReceivedInvocations = newValue } } + } open var markAsFullyReadUncheckedEventIdClosure: ((String) async throws -> Void)? open override func markAsFullyReadUnchecked(eventId: String) async throws { if let error = markAsFullyReadUncheckedEventIdThrowableError { throw error } - markAsFullyReadUncheckedEventIdCallsCount += 1 + markAsFullyReadUncheckedEventIdCallsCountLock.withLock { markAsFullyReadUncheckedEventIdUnderlyingCallsCount += 1 } markAsFullyReadUncheckedEventIdReceivedEventId = eventId - DispatchQueue.main.async { - self.markAsFullyReadUncheckedEventIdReceivedInvocations.append(eventId) - } + markAsFullyReadUncheckedEventIdReceivedInvocationsLock.withLock { markAsFullyReadUncheckedEventIdUnderlyingReceivedInvocations.append(eventId) } try await markAsFullyReadUncheckedEventIdClosure?(eventId) } //MARK: - markAsRead open var markAsReadReceiptTypeThrowableError: Error? - open var markAsReadReceiptTypeUnderlyingCallsCount = 0 + private let markAsReadReceiptTypeCallsCountLock = NSLock() + private var markAsReadReceiptTypeUnderlyingCallsCount = 0 open var markAsReadReceiptTypeCallsCount: Int { - get { - if Thread.isMainThread { - return markAsReadReceiptTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAsReadReceiptTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsReadReceiptTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAsReadReceiptTypeUnderlyingCallsCount = newValue - } - } - } + get { markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount } } + set { markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount = newValue } } } open var markAsReadReceiptTypeCalled: Bool { return markAsReadReceiptTypeCallsCount > 0 } - open var markAsReadReceiptTypeReceivedReceiptType: ReceiptType? - open var markAsReadReceiptTypeReceivedInvocations: [ReceiptType] = [] + private let markAsReadReceiptTypeReceivedReceiptTypeLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReceivedReceiptType: ReceiptType? + open var markAsReadReceiptTypeReceivedReceiptType: ReceiptType? { + get { markAsReadReceiptTypeReceivedReceiptTypeLock.withLock { markAsReadReceiptTypeUnderlyingReceivedReceiptType } } + set { markAsReadReceiptTypeReceivedReceiptTypeLock.withLock { markAsReadReceiptTypeUnderlyingReceivedReceiptType = newValue } } + } + private let markAsReadReceiptTypeReceivedInvocationsLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReceivedInvocations: [ReceiptType] = [] + open var markAsReadReceiptTypeReceivedInvocations: [ReceiptType] { + get { markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations } } + set { markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations = newValue } } + } open var markAsReadReceiptTypeClosure: ((ReceiptType) async throws -> Void)? open override func markAsRead(receiptType: ReceiptType) async throws { if let error = markAsReadReceiptTypeThrowableError { throw error } - markAsReadReceiptTypeCallsCount += 1 + markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount += 1 } markAsReadReceiptTypeReceivedReceiptType = receiptType - DispatchQueue.main.async { - self.markAsReadReceiptTypeReceivedInvocations.append(receiptType) - } + markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations.append(receiptType) } try await markAsReadReceiptTypeClosure?(receiptType) } //MARK: - matrixToEventPermalink open var matrixToEventPermalinkEventIdThrowableError: Error? - open var matrixToEventPermalinkEventIdUnderlyingCallsCount = 0 + private let matrixToEventPermalinkEventIdCallsCountLock = NSLock() + private var matrixToEventPermalinkEventIdUnderlyingCallsCount = 0 open var matrixToEventPermalinkEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return matrixToEventPermalinkEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = matrixToEventPermalinkEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - matrixToEventPermalinkEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - matrixToEventPermalinkEventIdUnderlyingCallsCount = newValue - } - } - } + get { matrixToEventPermalinkEventIdCallsCountLock.withLock { matrixToEventPermalinkEventIdUnderlyingCallsCount } } + set { matrixToEventPermalinkEventIdCallsCountLock.withLock { matrixToEventPermalinkEventIdUnderlyingCallsCount = newValue } } } open var matrixToEventPermalinkEventIdCalled: Bool { return matrixToEventPermalinkEventIdCallsCount > 0 } - open var matrixToEventPermalinkEventIdReceivedEventId: String? - open var matrixToEventPermalinkEventIdReceivedInvocations: [String] = [] + private let matrixToEventPermalinkEventIdReceivedEventIdLock = NSLock() + private var matrixToEventPermalinkEventIdUnderlyingReceivedEventId: String? + open var matrixToEventPermalinkEventIdReceivedEventId: String? { + get { matrixToEventPermalinkEventIdReceivedEventIdLock.withLock { matrixToEventPermalinkEventIdUnderlyingReceivedEventId } } + set { matrixToEventPermalinkEventIdReceivedEventIdLock.withLock { matrixToEventPermalinkEventIdUnderlyingReceivedEventId = newValue } } + } + private let matrixToEventPermalinkEventIdReceivedInvocationsLock = NSLock() + private var matrixToEventPermalinkEventIdUnderlyingReceivedInvocations: [String] = [] + open var matrixToEventPermalinkEventIdReceivedInvocations: [String] { + get { matrixToEventPermalinkEventIdReceivedInvocationsLock.withLock { matrixToEventPermalinkEventIdUnderlyingReceivedInvocations } } + set { matrixToEventPermalinkEventIdReceivedInvocationsLock.withLock { matrixToEventPermalinkEventIdUnderlyingReceivedInvocations = newValue } } + } + private let matrixToEventPermalinkEventIdReturnValueLock = NSLock() open var matrixToEventPermalinkEventIdUnderlyingReturnValue: String! open var matrixToEventPermalinkEventIdReturnValue: String! { - get { - if Thread.isMainThread { - return matrixToEventPermalinkEventIdUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = matrixToEventPermalinkEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - matrixToEventPermalinkEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - matrixToEventPermalinkEventIdUnderlyingReturnValue = newValue - } - } - } + get { matrixToEventPermalinkEventIdReturnValueLock.withLock { matrixToEventPermalinkEventIdUnderlyingReturnValue } } + set { matrixToEventPermalinkEventIdReturnValueLock.withLock { matrixToEventPermalinkEventIdUnderlyingReturnValue = newValue } } } open var matrixToEventPermalinkEventIdClosure: ((String) async throws -> String)? @@ -17440,11 +10130,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = matrixToEventPermalinkEventIdThrowableError { throw error } - matrixToEventPermalinkEventIdCallsCount += 1 + matrixToEventPermalinkEventIdCallsCountLock.withLock { matrixToEventPermalinkEventIdUnderlyingCallsCount += 1 } matrixToEventPermalinkEventIdReceivedEventId = eventId - DispatchQueue.main.async { - self.matrixToEventPermalinkEventIdReceivedInvocations.append(eventId) - } + matrixToEventPermalinkEventIdReceivedInvocationsLock.withLock { matrixToEventPermalinkEventIdUnderlyingReceivedInvocations.append(eventId) } if let matrixToEventPermalinkEventIdClosure = matrixToEventPermalinkEventIdClosure { return try await matrixToEventPermalinkEventIdClosure(eventId) } else { @@ -17455,57 +10143,21 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - matrixToPermalink open var matrixToPermalinkThrowableError: Error? - open var matrixToPermalinkUnderlyingCallsCount = 0 + private let matrixToPermalinkCallsCountLock = NSLock() + private var matrixToPermalinkUnderlyingCallsCount = 0 open var matrixToPermalinkCallsCount: Int { - get { - if Thread.isMainThread { - return matrixToPermalinkUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = matrixToPermalinkUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - matrixToPermalinkUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - matrixToPermalinkUnderlyingCallsCount = newValue - } - } - } + get { matrixToPermalinkCallsCountLock.withLock { matrixToPermalinkUnderlyingCallsCount } } + set { matrixToPermalinkCallsCountLock.withLock { matrixToPermalinkUnderlyingCallsCount = newValue } } } open var matrixToPermalinkCalled: Bool { return matrixToPermalinkCallsCount > 0 } + private let matrixToPermalinkReturnValueLock = NSLock() open var matrixToPermalinkUnderlyingReturnValue: String! open var matrixToPermalinkReturnValue: String! { - get { - if Thread.isMainThread { - return matrixToPermalinkUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = matrixToPermalinkUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - matrixToPermalinkUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - matrixToPermalinkUnderlyingReturnValue = newValue - } - } - } + get { matrixToPermalinkReturnValueLock.withLock { matrixToPermalinkUnderlyingReturnValue } } + set { matrixToPermalinkReturnValueLock.withLock { matrixToPermalinkUnderlyingReturnValue = newValue } } } open var matrixToPermalinkClosure: (() async throws -> String)? @@ -17513,7 +10165,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = matrixToPermalinkThrowableError { throw error } - matrixToPermalinkCallsCount += 1 + matrixToPermalinkCallsCountLock.withLock { matrixToPermalinkUnderlyingCallsCount += 1 } if let matrixToPermalinkClosure = matrixToPermalinkClosure { return try await matrixToPermalinkClosure() } else { @@ -17524,59 +10176,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - member open var memberUserIdThrowableError: Error? - open var memberUserIdUnderlyingCallsCount = 0 + private let memberUserIdCallsCountLock = NSLock() + private var memberUserIdUnderlyingCallsCount = 0 open var memberUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return memberUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = memberUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - memberUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - memberUserIdUnderlyingCallsCount = newValue - } - } - } + get { memberUserIdCallsCountLock.withLock { memberUserIdUnderlyingCallsCount } } + set { memberUserIdCallsCountLock.withLock { memberUserIdUnderlyingCallsCount = newValue } } } open var memberUserIdCalled: Bool { return memberUserIdCallsCount > 0 } - open var memberUserIdReceivedUserId: String? - open var memberUserIdReceivedInvocations: [String] = [] + private let memberUserIdReceivedUserIdLock = NSLock() + private var memberUserIdUnderlyingReceivedUserId: String? + open var memberUserIdReceivedUserId: String? { + get { memberUserIdReceivedUserIdLock.withLock { memberUserIdUnderlyingReceivedUserId } } + set { memberUserIdReceivedUserIdLock.withLock { memberUserIdUnderlyingReceivedUserId = newValue } } + } + private let memberUserIdReceivedInvocationsLock = NSLock() + private var memberUserIdUnderlyingReceivedInvocations: [String] = [] + open var memberUserIdReceivedInvocations: [String] { + get { memberUserIdReceivedInvocationsLock.withLock { memberUserIdUnderlyingReceivedInvocations } } + set { memberUserIdReceivedInvocationsLock.withLock { memberUserIdUnderlyingReceivedInvocations = newValue } } + } + private let memberUserIdReturnValueLock = NSLock() open var memberUserIdUnderlyingReturnValue: RoomMember! open var memberUserIdReturnValue: RoomMember! { - get { - if Thread.isMainThread { - return memberUserIdUnderlyingReturnValue - } else { - var returnValue: RoomMember? = nil - DispatchQueue.main.sync { - returnValue = memberUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - memberUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - memberUserIdUnderlyingReturnValue = newValue - } - } - } + get { memberUserIdReturnValueLock.withLock { memberUserIdUnderlyingReturnValue } } + set { memberUserIdReturnValueLock.withLock { memberUserIdUnderlyingReturnValue = newValue } } } open var memberUserIdClosure: ((String) async throws -> RoomMember)? @@ -17584,11 +10210,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = memberUserIdThrowableError { throw error } - memberUserIdCallsCount += 1 + memberUserIdCallsCountLock.withLock { memberUserIdUnderlyingCallsCount += 1 } memberUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.memberUserIdReceivedInvocations.append(userId) - } + memberUserIdReceivedInvocationsLock.withLock { memberUserIdUnderlyingReceivedInvocations.append(userId) } if let memberUserIdClosure = memberUserIdClosure { return try await memberUserIdClosure(userId) } else { @@ -17599,59 +10223,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - memberAvatarUrl open var memberAvatarUrlUserIdThrowableError: Error? - open var memberAvatarUrlUserIdUnderlyingCallsCount = 0 + private let memberAvatarUrlUserIdCallsCountLock = NSLock() + private var memberAvatarUrlUserIdUnderlyingCallsCount = 0 open var memberAvatarUrlUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return memberAvatarUrlUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = memberAvatarUrlUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - memberAvatarUrlUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - memberAvatarUrlUserIdUnderlyingCallsCount = newValue - } - } - } + get { memberAvatarUrlUserIdCallsCountLock.withLock { memberAvatarUrlUserIdUnderlyingCallsCount } } + set { memberAvatarUrlUserIdCallsCountLock.withLock { memberAvatarUrlUserIdUnderlyingCallsCount = newValue } } } open var memberAvatarUrlUserIdCalled: Bool { return memberAvatarUrlUserIdCallsCount > 0 } - open var memberAvatarUrlUserIdReceivedUserId: String? - open var memberAvatarUrlUserIdReceivedInvocations: [String] = [] + private let memberAvatarUrlUserIdReceivedUserIdLock = NSLock() + private var memberAvatarUrlUserIdUnderlyingReceivedUserId: String? + open var memberAvatarUrlUserIdReceivedUserId: String? { + get { memberAvatarUrlUserIdReceivedUserIdLock.withLock { memberAvatarUrlUserIdUnderlyingReceivedUserId } } + set { memberAvatarUrlUserIdReceivedUserIdLock.withLock { memberAvatarUrlUserIdUnderlyingReceivedUserId = newValue } } + } + private let memberAvatarUrlUserIdReceivedInvocationsLock = NSLock() + private var memberAvatarUrlUserIdUnderlyingReceivedInvocations: [String] = [] + open var memberAvatarUrlUserIdReceivedInvocations: [String] { + get { memberAvatarUrlUserIdReceivedInvocationsLock.withLock { memberAvatarUrlUserIdUnderlyingReceivedInvocations } } + set { memberAvatarUrlUserIdReceivedInvocationsLock.withLock { memberAvatarUrlUserIdUnderlyingReceivedInvocations = newValue } } + } + private let memberAvatarUrlUserIdReturnValueLock = NSLock() open var memberAvatarUrlUserIdUnderlyingReturnValue: String? open var memberAvatarUrlUserIdReturnValue: String? { - get { - if Thread.isMainThread { - return memberAvatarUrlUserIdUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = memberAvatarUrlUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - memberAvatarUrlUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - memberAvatarUrlUserIdUnderlyingReturnValue = newValue - } - } - } + get { memberAvatarUrlUserIdReturnValueLock.withLock { memberAvatarUrlUserIdUnderlyingReturnValue } } + set { memberAvatarUrlUserIdReturnValueLock.withLock { memberAvatarUrlUserIdUnderlyingReturnValue = newValue } } } open var memberAvatarUrlUserIdClosure: ((String) async throws -> String?)? @@ -17659,11 +10257,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = memberAvatarUrlUserIdThrowableError { throw error } - memberAvatarUrlUserIdCallsCount += 1 + memberAvatarUrlUserIdCallsCountLock.withLock { memberAvatarUrlUserIdUnderlyingCallsCount += 1 } memberAvatarUrlUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.memberAvatarUrlUserIdReceivedInvocations.append(userId) - } + memberAvatarUrlUserIdReceivedInvocationsLock.withLock { memberAvatarUrlUserIdUnderlyingReceivedInvocations.append(userId) } if let memberAvatarUrlUserIdClosure = memberAvatarUrlUserIdClosure { return try await memberAvatarUrlUserIdClosure(userId) } else { @@ -17674,59 +10270,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - memberDisplayName open var memberDisplayNameUserIdThrowableError: Error? - open var memberDisplayNameUserIdUnderlyingCallsCount = 0 + private let memberDisplayNameUserIdCallsCountLock = NSLock() + private var memberDisplayNameUserIdUnderlyingCallsCount = 0 open var memberDisplayNameUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return memberDisplayNameUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = memberDisplayNameUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - memberDisplayNameUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - memberDisplayNameUserIdUnderlyingCallsCount = newValue - } - } - } + get { memberDisplayNameUserIdCallsCountLock.withLock { memberDisplayNameUserIdUnderlyingCallsCount } } + set { memberDisplayNameUserIdCallsCountLock.withLock { memberDisplayNameUserIdUnderlyingCallsCount = newValue } } } open var memberDisplayNameUserIdCalled: Bool { return memberDisplayNameUserIdCallsCount > 0 } - open var memberDisplayNameUserIdReceivedUserId: String? - open var memberDisplayNameUserIdReceivedInvocations: [String] = [] + private let memberDisplayNameUserIdReceivedUserIdLock = NSLock() + private var memberDisplayNameUserIdUnderlyingReceivedUserId: String? + open var memberDisplayNameUserIdReceivedUserId: String? { + get { memberDisplayNameUserIdReceivedUserIdLock.withLock { memberDisplayNameUserIdUnderlyingReceivedUserId } } + set { memberDisplayNameUserIdReceivedUserIdLock.withLock { memberDisplayNameUserIdUnderlyingReceivedUserId = newValue } } + } + private let memberDisplayNameUserIdReceivedInvocationsLock = NSLock() + private var memberDisplayNameUserIdUnderlyingReceivedInvocations: [String] = [] + open var memberDisplayNameUserIdReceivedInvocations: [String] { + get { memberDisplayNameUserIdReceivedInvocationsLock.withLock { memberDisplayNameUserIdUnderlyingReceivedInvocations } } + set { memberDisplayNameUserIdReceivedInvocationsLock.withLock { memberDisplayNameUserIdUnderlyingReceivedInvocations = newValue } } + } + private let memberDisplayNameUserIdReturnValueLock = NSLock() open var memberDisplayNameUserIdUnderlyingReturnValue: String? open var memberDisplayNameUserIdReturnValue: String? { - get { - if Thread.isMainThread { - return memberDisplayNameUserIdUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = memberDisplayNameUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - memberDisplayNameUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - memberDisplayNameUserIdUnderlyingReturnValue = newValue - } - } - } + get { memberDisplayNameUserIdReturnValueLock.withLock { memberDisplayNameUserIdUnderlyingReturnValue } } + set { memberDisplayNameUserIdReturnValueLock.withLock { memberDisplayNameUserIdUnderlyingReturnValue = newValue } } } open var memberDisplayNameUserIdClosure: ((String) async throws -> String?)? @@ -17734,11 +10304,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = memberDisplayNameUserIdThrowableError { throw error } - memberDisplayNameUserIdCallsCount += 1 + memberDisplayNameUserIdCallsCountLock.withLock { memberDisplayNameUserIdUnderlyingCallsCount += 1 } memberDisplayNameUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.memberDisplayNameUserIdReceivedInvocations.append(userId) - } + memberDisplayNameUserIdReceivedInvocationsLock.withLock { memberDisplayNameUserIdUnderlyingReceivedInvocations.append(userId) } if let memberDisplayNameUserIdClosure = memberDisplayNameUserIdClosure { return try await memberDisplayNameUserIdClosure(userId) } else { @@ -17749,59 +10317,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - memberWithSenderInfo open var memberWithSenderInfoUserIdThrowableError: Error? - open var memberWithSenderInfoUserIdUnderlyingCallsCount = 0 + private let memberWithSenderInfoUserIdCallsCountLock = NSLock() + private var memberWithSenderInfoUserIdUnderlyingCallsCount = 0 open var memberWithSenderInfoUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return memberWithSenderInfoUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = memberWithSenderInfoUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - memberWithSenderInfoUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - memberWithSenderInfoUserIdUnderlyingCallsCount = newValue - } - } - } + get { memberWithSenderInfoUserIdCallsCountLock.withLock { memberWithSenderInfoUserIdUnderlyingCallsCount } } + set { memberWithSenderInfoUserIdCallsCountLock.withLock { memberWithSenderInfoUserIdUnderlyingCallsCount = newValue } } } open var memberWithSenderInfoUserIdCalled: Bool { return memberWithSenderInfoUserIdCallsCount > 0 } - open var memberWithSenderInfoUserIdReceivedUserId: String? - open var memberWithSenderInfoUserIdReceivedInvocations: [String] = [] + private let memberWithSenderInfoUserIdReceivedUserIdLock = NSLock() + private var memberWithSenderInfoUserIdUnderlyingReceivedUserId: String? + open var memberWithSenderInfoUserIdReceivedUserId: String? { + get { memberWithSenderInfoUserIdReceivedUserIdLock.withLock { memberWithSenderInfoUserIdUnderlyingReceivedUserId } } + set { memberWithSenderInfoUserIdReceivedUserIdLock.withLock { memberWithSenderInfoUserIdUnderlyingReceivedUserId = newValue } } + } + private let memberWithSenderInfoUserIdReceivedInvocationsLock = NSLock() + private var memberWithSenderInfoUserIdUnderlyingReceivedInvocations: [String] = [] + open var memberWithSenderInfoUserIdReceivedInvocations: [String] { + get { memberWithSenderInfoUserIdReceivedInvocationsLock.withLock { memberWithSenderInfoUserIdUnderlyingReceivedInvocations } } + set { memberWithSenderInfoUserIdReceivedInvocationsLock.withLock { memberWithSenderInfoUserIdUnderlyingReceivedInvocations = newValue } } + } + private let memberWithSenderInfoUserIdReturnValueLock = NSLock() open var memberWithSenderInfoUserIdUnderlyingReturnValue: RoomMemberWithSenderInfo! open var memberWithSenderInfoUserIdReturnValue: RoomMemberWithSenderInfo! { - get { - if Thread.isMainThread { - return memberWithSenderInfoUserIdUnderlyingReturnValue - } else { - var returnValue: RoomMemberWithSenderInfo? = nil - DispatchQueue.main.sync { - returnValue = memberWithSenderInfoUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - memberWithSenderInfoUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - memberWithSenderInfoUserIdUnderlyingReturnValue = newValue - } - } - } + get { memberWithSenderInfoUserIdReturnValueLock.withLock { memberWithSenderInfoUserIdUnderlyingReturnValue } } + set { memberWithSenderInfoUserIdReturnValueLock.withLock { memberWithSenderInfoUserIdUnderlyingReturnValue = newValue } } } open var memberWithSenderInfoUserIdClosure: ((String) async throws -> RoomMemberWithSenderInfo)? @@ -17809,11 +10351,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = memberWithSenderInfoUserIdThrowableError { throw error } - memberWithSenderInfoUserIdCallsCount += 1 + memberWithSenderInfoUserIdCallsCountLock.withLock { memberWithSenderInfoUserIdUnderlyingCallsCount += 1 } memberWithSenderInfoUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.memberWithSenderInfoUserIdReceivedInvocations.append(userId) - } + memberWithSenderInfoUserIdReceivedInvocationsLock.withLock { memberWithSenderInfoUserIdUnderlyingReceivedInvocations.append(userId) } if let memberWithSenderInfoUserIdClosure = memberWithSenderInfoUserIdClosure { return try await memberWithSenderInfoUserIdClosure(userId) } else { @@ -17824,57 +10364,21 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - members open var membersThrowableError: Error? - open var membersUnderlyingCallsCount = 0 + private let membersCallsCountLock = NSLock() + private var membersUnderlyingCallsCount = 0 open var membersCallsCount: Int { - get { - if Thread.isMainThread { - return membersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = membersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - membersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - membersUnderlyingCallsCount = newValue - } - } - } + get { membersCallsCountLock.withLock { membersUnderlyingCallsCount } } + set { membersCallsCountLock.withLock { membersUnderlyingCallsCount = newValue } } } open var membersCalled: Bool { return membersCallsCount > 0 } + private let membersReturnValueLock = NSLock() open var membersUnderlyingReturnValue: RoomMembersIterator! open var membersReturnValue: RoomMembersIterator! { - get { - if Thread.isMainThread { - return membersUnderlyingReturnValue - } else { - var returnValue: RoomMembersIterator? = nil - DispatchQueue.main.sync { - returnValue = membersUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - membersUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - membersUnderlyingReturnValue = newValue - } - } - } + get { membersReturnValueLock.withLock { membersUnderlyingReturnValue } } + set { membersReturnValueLock.withLock { membersUnderlyingReturnValue = newValue } } } open var membersClosure: (() async throws -> RoomMembersIterator)? @@ -17882,7 +10386,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = membersThrowableError { throw error } - membersCallsCount += 1 + membersCallsCountLock.withLock { membersUnderlyingCallsCount += 1 } if let membersClosure = membersClosure { return try await membersClosure() } else { @@ -17893,57 +10397,21 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - membersNoSync open var membersNoSyncThrowableError: Error? - open var membersNoSyncUnderlyingCallsCount = 0 + private let membersNoSyncCallsCountLock = NSLock() + private var membersNoSyncUnderlyingCallsCount = 0 open var membersNoSyncCallsCount: Int { - get { - if Thread.isMainThread { - return membersNoSyncUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = membersNoSyncUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - membersNoSyncUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - membersNoSyncUnderlyingCallsCount = newValue - } - } - } + get { membersNoSyncCallsCountLock.withLock { membersNoSyncUnderlyingCallsCount } } + set { membersNoSyncCallsCountLock.withLock { membersNoSyncUnderlyingCallsCount = newValue } } } open var membersNoSyncCalled: Bool { return membersNoSyncCallsCount > 0 } + private let membersNoSyncReturnValueLock = NSLock() open var membersNoSyncUnderlyingReturnValue: RoomMembersIterator! open var membersNoSyncReturnValue: RoomMembersIterator! { - get { - if Thread.isMainThread { - return membersNoSyncUnderlyingReturnValue - } else { - var returnValue: RoomMembersIterator? = nil - DispatchQueue.main.sync { - returnValue = membersNoSyncUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - membersNoSyncUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - membersNoSyncUnderlyingReturnValue = newValue - } - } - } + get { membersNoSyncReturnValueLock.withLock { membersNoSyncUnderlyingReturnValue } } + set { membersNoSyncReturnValueLock.withLock { membersNoSyncUnderlyingReturnValue = newValue } } } open var membersNoSyncClosure: (() async throws -> RoomMembersIterator)? @@ -17951,7 +10419,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = membersNoSyncThrowableError { throw error } - membersNoSyncCallsCount += 1 + membersNoSyncCallsCountLock.withLock { membersNoSyncUnderlyingCallsCount += 1 } if let membersNoSyncClosure = membersNoSyncClosure { return try await membersNoSyncClosure() } else { @@ -17961,62 +10429,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - membership - open var membershipUnderlyingCallsCount = 0 + private let membershipCallsCountLock = NSLock() + private var membershipUnderlyingCallsCount = 0 open var membershipCallsCount: Int { - get { - if Thread.isMainThread { - return membershipUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = membershipUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - membershipUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - membershipUnderlyingCallsCount = newValue - } - } - } + get { membershipCallsCountLock.withLock { membershipUnderlyingCallsCount } } + set { membershipCallsCountLock.withLock { membershipUnderlyingCallsCount = newValue } } } open var membershipCalled: Bool { return membershipCallsCount > 0 } + private let membershipReturnValueLock = NSLock() open var membershipUnderlyingReturnValue: Membership! open var membershipReturnValue: Membership! { - get { - if Thread.isMainThread { - return membershipUnderlyingReturnValue - } else { - var returnValue: Membership? = nil - DispatchQueue.main.sync { - returnValue = membershipUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - membershipUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - membershipUnderlyingReturnValue = newValue - } - } - } + get { membershipReturnValueLock.withLock { membershipUnderlyingReturnValue } } + set { membershipReturnValueLock.withLock { membershipUnderlyingReturnValue = newValue } } } open var membershipClosure: (() -> Membership)? open override func membership() -> Membership { - membershipCallsCount += 1 + membershipCallsCountLock.withLock { membershipUnderlyingCallsCount += 1 } if let membershipClosure = membershipClosure { return membershipClosure() } else { @@ -18026,62 +10458,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - ownUserId - open var ownUserIdUnderlyingCallsCount = 0 + private let ownUserIdCallsCountLock = NSLock() + private var ownUserIdUnderlyingCallsCount = 0 open var ownUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return ownUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ownUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ownUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ownUserIdUnderlyingCallsCount = newValue - } - } - } + get { ownUserIdCallsCountLock.withLock { ownUserIdUnderlyingCallsCount } } + set { ownUserIdCallsCountLock.withLock { ownUserIdUnderlyingCallsCount = newValue } } } open var ownUserIdCalled: Bool { return ownUserIdCallsCount > 0 } + private let ownUserIdReturnValueLock = NSLock() open var ownUserIdUnderlyingReturnValue: String! open var ownUserIdReturnValue: String! { - get { - if Thread.isMainThread { - return ownUserIdUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = ownUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ownUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - ownUserIdUnderlyingReturnValue = newValue - } - } - } + get { ownUserIdReturnValueLock.withLock { ownUserIdUnderlyingReturnValue } } + set { ownUserIdReturnValueLock.withLock { ownUserIdUnderlyingReturnValue = newValue } } } open var ownUserIdClosure: (() -> String)? open override func ownUserId() -> String { - ownUserIdCallsCount += 1 + ownUserIdCallsCountLock.withLock { ownUserIdUnderlyingCallsCount += 1 } if let ownUserIdClosure = ownUserIdClosure { return ownUserIdClosure() } else { @@ -18091,62 +10487,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - predecessorRoom - open var predecessorRoomUnderlyingCallsCount = 0 + private let predecessorRoomCallsCountLock = NSLock() + private var predecessorRoomUnderlyingCallsCount = 0 open var predecessorRoomCallsCount: Int { - get { - if Thread.isMainThread { - return predecessorRoomUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = predecessorRoomUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - predecessorRoomUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - predecessorRoomUnderlyingCallsCount = newValue - } - } - } + get { predecessorRoomCallsCountLock.withLock { predecessorRoomUnderlyingCallsCount } } + set { predecessorRoomCallsCountLock.withLock { predecessorRoomUnderlyingCallsCount = newValue } } } open var predecessorRoomCalled: Bool { return predecessorRoomCallsCount > 0 } + private let predecessorRoomReturnValueLock = NSLock() open var predecessorRoomUnderlyingReturnValue: PredecessorRoom? open var predecessorRoomReturnValue: PredecessorRoom? { - get { - if Thread.isMainThread { - return predecessorRoomUnderlyingReturnValue - } else { - var returnValue: PredecessorRoom?? = nil - DispatchQueue.main.sync { - returnValue = predecessorRoomUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - predecessorRoomUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - predecessorRoomUnderlyingReturnValue = newValue - } - } - } + get { predecessorRoomReturnValueLock.withLock { predecessorRoomUnderlyingReturnValue } } + set { predecessorRoomReturnValueLock.withLock { predecessorRoomUnderlyingReturnValue = newValue } } } open var predecessorRoomClosure: (() -> PredecessorRoom?)? open override func predecessorRoom() -> PredecessorRoom? { - predecessorRoomCallsCount += 1 + predecessorRoomCallsCountLock.withLock { predecessorRoomUnderlyingCallsCount += 1 } if let predecessorRoomClosure = predecessorRoomClosure { return predecessorRoomClosure() } else { @@ -18157,59 +10517,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - previewRoom open var previewRoomViaThrowableError: Error? - open var previewRoomViaUnderlyingCallsCount = 0 + private let previewRoomViaCallsCountLock = NSLock() + private var previewRoomViaUnderlyingCallsCount = 0 open var previewRoomViaCallsCount: Int { - get { - if Thread.isMainThread { - return previewRoomViaUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = previewRoomViaUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - previewRoomViaUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - previewRoomViaUnderlyingCallsCount = newValue - } - } - } + get { previewRoomViaCallsCountLock.withLock { previewRoomViaUnderlyingCallsCount } } + set { previewRoomViaCallsCountLock.withLock { previewRoomViaUnderlyingCallsCount = newValue } } } open var previewRoomViaCalled: Bool { return previewRoomViaCallsCount > 0 } - open var previewRoomViaReceivedVia: [String]? - open var previewRoomViaReceivedInvocations: [[String]] = [] + private let previewRoomViaReceivedViaLock = NSLock() + private var previewRoomViaUnderlyingReceivedVia: [String]? + open var previewRoomViaReceivedVia: [String]? { + get { previewRoomViaReceivedViaLock.withLock { previewRoomViaUnderlyingReceivedVia } } + set { previewRoomViaReceivedViaLock.withLock { previewRoomViaUnderlyingReceivedVia = newValue } } + } + private let previewRoomViaReceivedInvocationsLock = NSLock() + private var previewRoomViaUnderlyingReceivedInvocations: [[String]] = [] + open var previewRoomViaReceivedInvocations: [[String]] { + get { previewRoomViaReceivedInvocationsLock.withLock { previewRoomViaUnderlyingReceivedInvocations } } + set { previewRoomViaReceivedInvocationsLock.withLock { previewRoomViaUnderlyingReceivedInvocations = newValue } } + } + private let previewRoomViaReturnValueLock = NSLock() open var previewRoomViaUnderlyingReturnValue: RoomPreview! open var previewRoomViaReturnValue: RoomPreview! { - get { - if Thread.isMainThread { - return previewRoomViaUnderlyingReturnValue - } else { - var returnValue: RoomPreview? = nil - DispatchQueue.main.sync { - returnValue = previewRoomViaUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - previewRoomViaUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - previewRoomViaUnderlyingReturnValue = newValue - } - } - } + get { previewRoomViaReturnValueLock.withLock { previewRoomViaUnderlyingReturnValue } } + set { previewRoomViaReturnValueLock.withLock { previewRoomViaUnderlyingReturnValue = newValue } } } open var previewRoomViaClosure: (([String]) async throws -> RoomPreview)? @@ -18217,11 +10551,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = previewRoomViaThrowableError { throw error } - previewRoomViaCallsCount += 1 + previewRoomViaCallsCountLock.withLock { previewRoomViaUnderlyingCallsCount += 1 } previewRoomViaReceivedVia = via - DispatchQueue.main.async { - self.previewRoomViaReceivedInvocations.append(via) - } + previewRoomViaReceivedInvocationsLock.withLock { previewRoomViaUnderlyingReceivedInvocations.append(via) } if let previewRoomViaClosure = previewRoomViaClosure { return try await previewRoomViaClosure(via) } else { @@ -18232,59 +10564,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - publishRoomAliasInRoomDirectory open var publishRoomAliasInRoomDirectoryAliasThrowableError: Error? - open var publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount = 0 + private let publishRoomAliasInRoomDirectoryAliasCallsCountLock = NSLock() + private var publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount = 0 open var publishRoomAliasInRoomDirectoryAliasCallsCount: Int { - get { - if Thread.isMainThread { - return publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount = newValue - } - } - } + get { publishRoomAliasInRoomDirectoryAliasCallsCountLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount } } + set { publishRoomAliasInRoomDirectoryAliasCallsCountLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount = newValue } } } open var publishRoomAliasInRoomDirectoryAliasCalled: Bool { return publishRoomAliasInRoomDirectoryAliasCallsCount > 0 } - open var publishRoomAliasInRoomDirectoryAliasReceivedAlias: String? - open var publishRoomAliasInRoomDirectoryAliasReceivedInvocations: [String] = [] + private let publishRoomAliasInRoomDirectoryAliasReceivedAliasLock = NSLock() + private var publishRoomAliasInRoomDirectoryAliasUnderlyingReceivedAlias: String? + open var publishRoomAliasInRoomDirectoryAliasReceivedAlias: String? { + get { publishRoomAliasInRoomDirectoryAliasReceivedAliasLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingReceivedAlias } } + set { publishRoomAliasInRoomDirectoryAliasReceivedAliasLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingReceivedAlias = newValue } } + } + private let publishRoomAliasInRoomDirectoryAliasReceivedInvocationsLock = NSLock() + private var publishRoomAliasInRoomDirectoryAliasUnderlyingReceivedInvocations: [String] = [] + open var publishRoomAliasInRoomDirectoryAliasReceivedInvocations: [String] { + get { publishRoomAliasInRoomDirectoryAliasReceivedInvocationsLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingReceivedInvocations } } + set { publishRoomAliasInRoomDirectoryAliasReceivedInvocationsLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingReceivedInvocations = newValue } } + } + private let publishRoomAliasInRoomDirectoryAliasReturnValueLock = NSLock() open var publishRoomAliasInRoomDirectoryAliasUnderlyingReturnValue: Bool! open var publishRoomAliasInRoomDirectoryAliasReturnValue: Bool! { - get { - if Thread.isMainThread { - return publishRoomAliasInRoomDirectoryAliasUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = publishRoomAliasInRoomDirectoryAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - publishRoomAliasInRoomDirectoryAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - publishRoomAliasInRoomDirectoryAliasUnderlyingReturnValue = newValue - } - } - } + get { publishRoomAliasInRoomDirectoryAliasReturnValueLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingReturnValue } } + set { publishRoomAliasInRoomDirectoryAliasReturnValueLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingReturnValue = newValue } } } open var publishRoomAliasInRoomDirectoryAliasClosure: ((String) async throws -> Bool)? @@ -18292,11 +10598,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = publishRoomAliasInRoomDirectoryAliasThrowableError { throw error } - publishRoomAliasInRoomDirectoryAliasCallsCount += 1 + publishRoomAliasInRoomDirectoryAliasCallsCountLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingCallsCount += 1 } publishRoomAliasInRoomDirectoryAliasReceivedAlias = alias - DispatchQueue.main.async { - self.publishRoomAliasInRoomDirectoryAliasReceivedInvocations.append(alias) - } + publishRoomAliasInRoomDirectoryAliasReceivedInvocationsLock.withLock { publishRoomAliasInRoomDirectoryAliasUnderlyingReceivedInvocations.append(alias) } if let publishRoomAliasInRoomDirectoryAliasClosure = publishRoomAliasInRoomDirectoryAliasClosure { return try await publishRoomAliasInRoomDirectoryAliasClosure(alias) } else { @@ -18306,62 +10610,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - rawName - open var rawNameUnderlyingCallsCount = 0 + private let rawNameCallsCountLock = NSLock() + private var rawNameUnderlyingCallsCount = 0 open var rawNameCallsCount: Int { - get { - if Thread.isMainThread { - return rawNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = rawNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - rawNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - rawNameUnderlyingCallsCount = newValue - } - } - } + get { rawNameCallsCountLock.withLock { rawNameUnderlyingCallsCount } } + set { rawNameCallsCountLock.withLock { rawNameUnderlyingCallsCount = newValue } } } open var rawNameCalled: Bool { return rawNameCallsCount > 0 } + private let rawNameReturnValueLock = NSLock() open var rawNameUnderlyingReturnValue: String? open var rawNameReturnValue: String? { - get { - if Thread.isMainThread { - return rawNameUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = rawNameUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - rawNameUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - rawNameUnderlyingReturnValue = newValue - } - } - } + get { rawNameReturnValueLock.withLock { rawNameUnderlyingReturnValue } } + set { rawNameReturnValueLock.withLock { rawNameUnderlyingReturnValue = newValue } } } open var rawNameClosure: (() -> String?)? open override func rawName() -> String? { - rawNameCallsCount += 1 + rawNameCallsCountLock.withLock { rawNameUnderlyingCallsCount += 1 } if let rawNameClosure = rawNameClosure { return rawNameClosure() } else { @@ -18372,75 +10640,47 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - redact open var redactEventIdReasonThrowableError: Error? - open var redactEventIdReasonUnderlyingCallsCount = 0 + private let redactEventIdReasonCallsCountLock = NSLock() + private var redactEventIdReasonUnderlyingCallsCount = 0 open var redactEventIdReasonCallsCount: Int { - get { - if Thread.isMainThread { - return redactEventIdReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = redactEventIdReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - redactEventIdReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - redactEventIdReasonUnderlyingCallsCount = newValue - } - } - } + get { redactEventIdReasonCallsCountLock.withLock { redactEventIdReasonUnderlyingCallsCount } } + set { redactEventIdReasonCallsCountLock.withLock { redactEventIdReasonUnderlyingCallsCount = newValue } } } open var redactEventIdReasonCalled: Bool { return redactEventIdReasonCallsCount > 0 } - open var redactEventIdReasonReceivedArguments: (eventId: String, reason: String?)? - open var redactEventIdReasonReceivedInvocations: [(eventId: String, reason: String?)] = [] + private let redactEventIdReasonReceivedArgumentsLock = NSLock() + private var redactEventIdReasonUnderlyingReceivedArguments: (eventId: String, reason: String?)? + open var redactEventIdReasonReceivedArguments: (eventId: String, reason: String?)? { + get { redactEventIdReasonReceivedArgumentsLock.withLock { redactEventIdReasonUnderlyingReceivedArguments } } + set { redactEventIdReasonReceivedArgumentsLock.withLock { redactEventIdReasonUnderlyingReceivedArguments = newValue } } + } + private let redactEventIdReasonReceivedInvocationsLock = NSLock() + private var redactEventIdReasonUnderlyingReceivedInvocations: [(eventId: String, reason: String?)] = [] + open var redactEventIdReasonReceivedInvocations: [(eventId: String, reason: String?)] { + get { redactEventIdReasonReceivedInvocationsLock.withLock { redactEventIdReasonUnderlyingReceivedInvocations } } + set { redactEventIdReasonReceivedInvocationsLock.withLock { redactEventIdReasonUnderlyingReceivedInvocations = newValue } } + } open var redactEventIdReasonClosure: ((String, String?) async throws -> Void)? open override func redact(eventId: String, reason: String?) async throws { if let error = redactEventIdReasonThrowableError { throw error } - redactEventIdReasonCallsCount += 1 + redactEventIdReasonCallsCountLock.withLock { redactEventIdReasonUnderlyingCallsCount += 1 } redactEventIdReasonReceivedArguments = (eventId: eventId, reason: reason) - DispatchQueue.main.async { - self.redactEventIdReasonReceivedInvocations.append((eventId: eventId, reason: reason)) - } + redactEventIdReasonReceivedInvocationsLock.withLock { redactEventIdReasonUnderlyingReceivedInvocations.append((eventId: eventId, reason: reason)) } try await redactEventIdReasonClosure?(eventId, reason) } //MARK: - removeAvatar open var removeAvatarThrowableError: Error? - open var removeAvatarUnderlyingCallsCount = 0 + private let removeAvatarCallsCountLock = NSLock() + private var removeAvatarUnderlyingCallsCount = 0 open var removeAvatarCallsCount: Int { - get { - if Thread.isMainThread { - return removeAvatarUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeAvatarUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeAvatarUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeAvatarUnderlyingCallsCount = newValue - } - } - } + get { removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount } } + set { removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount = newValue } } } open var removeAvatarCalled: Bool { return removeAvatarCallsCount > 0 @@ -18451,66 +10691,40 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = removeAvatarThrowableError { throw error } - removeAvatarCallsCount += 1 + removeAvatarCallsCountLock.withLock { removeAvatarUnderlyingCallsCount += 1 } try await removeAvatarClosure?() } //MARK: - removeRoomAliasFromRoomDirectory open var removeRoomAliasFromRoomDirectoryAliasThrowableError: Error? - open var removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount = 0 + private let removeRoomAliasFromRoomDirectoryAliasCallsCountLock = NSLock() + private var removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount = 0 open var removeRoomAliasFromRoomDirectoryAliasCallsCount: Int { - get { - if Thread.isMainThread { - return removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount = newValue - } - } - } + get { removeRoomAliasFromRoomDirectoryAliasCallsCountLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount } } + set { removeRoomAliasFromRoomDirectoryAliasCallsCountLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount = newValue } } } open var removeRoomAliasFromRoomDirectoryAliasCalled: Bool { return removeRoomAliasFromRoomDirectoryAliasCallsCount > 0 } - open var removeRoomAliasFromRoomDirectoryAliasReceivedAlias: String? - open var removeRoomAliasFromRoomDirectoryAliasReceivedInvocations: [String] = [] + private let removeRoomAliasFromRoomDirectoryAliasReceivedAliasLock = NSLock() + private var removeRoomAliasFromRoomDirectoryAliasUnderlyingReceivedAlias: String? + open var removeRoomAliasFromRoomDirectoryAliasReceivedAlias: String? { + get { removeRoomAliasFromRoomDirectoryAliasReceivedAliasLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingReceivedAlias } } + set { removeRoomAliasFromRoomDirectoryAliasReceivedAliasLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingReceivedAlias = newValue } } + } + private let removeRoomAliasFromRoomDirectoryAliasReceivedInvocationsLock = NSLock() + private var removeRoomAliasFromRoomDirectoryAliasUnderlyingReceivedInvocations: [String] = [] + open var removeRoomAliasFromRoomDirectoryAliasReceivedInvocations: [String] { + get { removeRoomAliasFromRoomDirectoryAliasReceivedInvocationsLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingReceivedInvocations } } + set { removeRoomAliasFromRoomDirectoryAliasReceivedInvocationsLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingReceivedInvocations = newValue } } + } + private let removeRoomAliasFromRoomDirectoryAliasReturnValueLock = NSLock() open var removeRoomAliasFromRoomDirectoryAliasUnderlyingReturnValue: Bool! open var removeRoomAliasFromRoomDirectoryAliasReturnValue: Bool! { - get { - if Thread.isMainThread { - return removeRoomAliasFromRoomDirectoryAliasUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = removeRoomAliasFromRoomDirectoryAliasUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeRoomAliasFromRoomDirectoryAliasUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - removeRoomAliasFromRoomDirectoryAliasUnderlyingReturnValue = newValue - } - } - } + get { removeRoomAliasFromRoomDirectoryAliasReturnValueLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingReturnValue } } + set { removeRoomAliasFromRoomDirectoryAliasReturnValueLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingReturnValue = newValue } } } open var removeRoomAliasFromRoomDirectoryAliasClosure: ((String) async throws -> Bool)? @@ -18518,11 +10732,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = removeRoomAliasFromRoomDirectoryAliasThrowableError { throw error } - removeRoomAliasFromRoomDirectoryAliasCallsCount += 1 + removeRoomAliasFromRoomDirectoryAliasCallsCountLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingCallsCount += 1 } removeRoomAliasFromRoomDirectoryAliasReceivedAlias = alias - DispatchQueue.main.async { - self.removeRoomAliasFromRoomDirectoryAliasReceivedInvocations.append(alias) - } + removeRoomAliasFromRoomDirectoryAliasReceivedInvocationsLock.withLock { removeRoomAliasFromRoomDirectoryAliasUnderlyingReceivedInvocations.append(alias) } if let removeRoomAliasFromRoomDirectoryAliasClosure = removeRoomAliasFromRoomDirectoryAliasClosure { return try await removeRoomAliasFromRoomDirectoryAliasClosure(alias) } else { @@ -18533,149 +10745,93 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - reportContent open var reportContentEventIdReasonThrowableError: Error? - open var reportContentEventIdReasonUnderlyingCallsCount = 0 + private let reportContentEventIdReasonCallsCountLock = NSLock() + private var reportContentEventIdReasonUnderlyingCallsCount = 0 open var reportContentEventIdReasonCallsCount: Int { - get { - if Thread.isMainThread { - return reportContentEventIdReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = reportContentEventIdReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportContentEventIdReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - reportContentEventIdReasonUnderlyingCallsCount = newValue - } - } - } + get { reportContentEventIdReasonCallsCountLock.withLock { reportContentEventIdReasonUnderlyingCallsCount } } + set { reportContentEventIdReasonCallsCountLock.withLock { reportContentEventIdReasonUnderlyingCallsCount = newValue } } } open var reportContentEventIdReasonCalled: Bool { return reportContentEventIdReasonCallsCount > 0 } - open var reportContentEventIdReasonReceivedArguments: (eventId: String, reason: String?)? - open var reportContentEventIdReasonReceivedInvocations: [(eventId: String, reason: String?)] = [] + private let reportContentEventIdReasonReceivedArgumentsLock = NSLock() + private var reportContentEventIdReasonUnderlyingReceivedArguments: (eventId: String, reason: String?)? + open var reportContentEventIdReasonReceivedArguments: (eventId: String, reason: String?)? { + get { reportContentEventIdReasonReceivedArgumentsLock.withLock { reportContentEventIdReasonUnderlyingReceivedArguments } } + set { reportContentEventIdReasonReceivedArgumentsLock.withLock { reportContentEventIdReasonUnderlyingReceivedArguments = newValue } } + } + private let reportContentEventIdReasonReceivedInvocationsLock = NSLock() + private var reportContentEventIdReasonUnderlyingReceivedInvocations: [(eventId: String, reason: String?)] = [] + open var reportContentEventIdReasonReceivedInvocations: [(eventId: String, reason: String?)] { + get { reportContentEventIdReasonReceivedInvocationsLock.withLock { reportContentEventIdReasonUnderlyingReceivedInvocations } } + set { reportContentEventIdReasonReceivedInvocationsLock.withLock { reportContentEventIdReasonUnderlyingReceivedInvocations = newValue } } + } open var reportContentEventIdReasonClosure: ((String, String?) async throws -> Void)? open override func reportContent(eventId: String, reason: String?) async throws { if let error = reportContentEventIdReasonThrowableError { throw error } - reportContentEventIdReasonCallsCount += 1 + reportContentEventIdReasonCallsCountLock.withLock { reportContentEventIdReasonUnderlyingCallsCount += 1 } reportContentEventIdReasonReceivedArguments = (eventId: eventId, reason: reason) - DispatchQueue.main.async { - self.reportContentEventIdReasonReceivedInvocations.append((eventId: eventId, reason: reason)) - } + reportContentEventIdReasonReceivedInvocationsLock.withLock { reportContentEventIdReasonUnderlyingReceivedInvocations.append((eventId: eventId, reason: reason)) } try await reportContentEventIdReasonClosure?(eventId, reason) } //MARK: - reportRoom open var reportRoomReasonThrowableError: Error? - open var reportRoomReasonUnderlyingCallsCount = 0 + private let reportRoomReasonCallsCountLock = NSLock() + private var reportRoomReasonUnderlyingCallsCount = 0 open var reportRoomReasonCallsCount: Int { - get { - if Thread.isMainThread { - return reportRoomReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = reportRoomReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - reportRoomReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - reportRoomReasonUnderlyingCallsCount = newValue - } - } - } + get { reportRoomReasonCallsCountLock.withLock { reportRoomReasonUnderlyingCallsCount } } + set { reportRoomReasonCallsCountLock.withLock { reportRoomReasonUnderlyingCallsCount = newValue } } } open var reportRoomReasonCalled: Bool { return reportRoomReasonCallsCount > 0 } - open var reportRoomReasonReceivedReason: String? - open var reportRoomReasonReceivedInvocations: [String] = [] + private let reportRoomReasonReceivedReasonLock = NSLock() + private var reportRoomReasonUnderlyingReceivedReason: String? + open var reportRoomReasonReceivedReason: String? { + get { reportRoomReasonReceivedReasonLock.withLock { reportRoomReasonUnderlyingReceivedReason } } + set { reportRoomReasonReceivedReasonLock.withLock { reportRoomReasonUnderlyingReceivedReason = newValue } } + } + private let reportRoomReasonReceivedInvocationsLock = NSLock() + private var reportRoomReasonUnderlyingReceivedInvocations: [String] = [] + open var reportRoomReasonReceivedInvocations: [String] { + get { reportRoomReasonReceivedInvocationsLock.withLock { reportRoomReasonUnderlyingReceivedInvocations } } + set { reportRoomReasonReceivedInvocationsLock.withLock { reportRoomReasonUnderlyingReceivedInvocations = newValue } } + } open var reportRoomReasonClosure: ((String) async throws -> Void)? open override func reportRoom(reason: String) async throws { if let error = reportRoomReasonThrowableError { throw error } - reportRoomReasonCallsCount += 1 + reportRoomReasonCallsCountLock.withLock { reportRoomReasonUnderlyingCallsCount += 1 } reportRoomReasonReceivedReason = reason - DispatchQueue.main.async { - self.reportRoomReasonReceivedInvocations.append(reason) - } + reportRoomReasonReceivedInvocationsLock.withLock { reportRoomReasonUnderlyingReceivedInvocations.append(reason) } try await reportRoomReasonClosure?(reason) } //MARK: - resetPowerLevels open var resetPowerLevelsThrowableError: Error? - open var resetPowerLevelsUnderlyingCallsCount = 0 + private let resetPowerLevelsCallsCountLock = NSLock() + private var resetPowerLevelsUnderlyingCallsCount = 0 open var resetPowerLevelsCallsCount: Int { - get { - if Thread.isMainThread { - return resetPowerLevelsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetPowerLevelsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetPowerLevelsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetPowerLevelsUnderlyingCallsCount = newValue - } - } - } + get { resetPowerLevelsCallsCountLock.withLock { resetPowerLevelsUnderlyingCallsCount } } + set { resetPowerLevelsCallsCountLock.withLock { resetPowerLevelsUnderlyingCallsCount = newValue } } } open var resetPowerLevelsCalled: Bool { return resetPowerLevelsCallsCount > 0 } + private let resetPowerLevelsReturnValueLock = NSLock() open var resetPowerLevelsUnderlyingReturnValue: RoomPowerLevels! open var resetPowerLevelsReturnValue: RoomPowerLevels! { - get { - if Thread.isMainThread { - return resetPowerLevelsUnderlyingReturnValue - } else { - var returnValue: RoomPowerLevels? = nil - DispatchQueue.main.sync { - returnValue = resetPowerLevelsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetPowerLevelsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - resetPowerLevelsUnderlyingReturnValue = newValue - } - } - } + get { resetPowerLevelsReturnValueLock.withLock { resetPowerLevelsUnderlyingReturnValue } } + set { resetPowerLevelsReturnValueLock.withLock { resetPowerLevelsUnderlyingReturnValue = newValue } } } open var resetPowerLevelsClosure: (() async throws -> RoomPowerLevels)? @@ -18683,7 +10839,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = resetPowerLevelsThrowableError { throw error } - resetPowerLevelsCallsCount += 1 + resetPowerLevelsCallsCountLock.withLock { resetPowerLevelsUnderlyingCallsCount += 1 } if let resetPowerLevelsClosure = resetPowerLevelsClosure { return try await resetPowerLevelsClosure() } else { @@ -18694,57 +10850,21 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - roomEventsDebugString open var roomEventsDebugStringThrowableError: Error? - open var roomEventsDebugStringUnderlyingCallsCount = 0 + private let roomEventsDebugStringCallsCountLock = NSLock() + private var roomEventsDebugStringUnderlyingCallsCount = 0 open var roomEventsDebugStringCallsCount: Int { - get { - if Thread.isMainThread { - return roomEventsDebugStringUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomEventsDebugStringUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomEventsDebugStringUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomEventsDebugStringUnderlyingCallsCount = newValue - } - } - } + get { roomEventsDebugStringCallsCountLock.withLock { roomEventsDebugStringUnderlyingCallsCount } } + set { roomEventsDebugStringCallsCountLock.withLock { roomEventsDebugStringUnderlyingCallsCount = newValue } } } open var roomEventsDebugStringCalled: Bool { return roomEventsDebugStringCallsCount > 0 } + private let roomEventsDebugStringReturnValueLock = NSLock() open var roomEventsDebugStringUnderlyingReturnValue: [String]! open var roomEventsDebugStringReturnValue: [String]! { - get { - if Thread.isMainThread { - return roomEventsDebugStringUnderlyingReturnValue - } else { - var returnValue: [String]? = nil - DispatchQueue.main.sync { - returnValue = roomEventsDebugStringUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomEventsDebugStringUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomEventsDebugStringUnderlyingReturnValue = newValue - } - } - } + get { roomEventsDebugStringReturnValueLock.withLock { roomEventsDebugStringUnderlyingReturnValue } } + set { roomEventsDebugStringReturnValueLock.withLock { roomEventsDebugStringUnderlyingReturnValue = newValue } } } open var roomEventsDebugStringClosure: (() async throws -> [String])? @@ -18752,7 +10872,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = roomEventsDebugStringThrowableError { throw error } - roomEventsDebugStringCallsCount += 1 + roomEventsDebugStringCallsCountLock.withLock { roomEventsDebugStringUnderlyingCallsCount += 1 } if let roomEventsDebugStringClosure = roomEventsDebugStringClosure { return try await roomEventsDebugStringClosure() } else { @@ -18763,57 +10883,21 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - roomInfo open var roomInfoThrowableError: Error? - open var roomInfoUnderlyingCallsCount = 0 + private let roomInfoCallsCountLock = NSLock() + private var roomInfoUnderlyingCallsCount = 0 open var roomInfoCallsCount: Int { - get { - if Thread.isMainThread { - return roomInfoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomInfoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomInfoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomInfoUnderlyingCallsCount = newValue - } - } - } + get { roomInfoCallsCountLock.withLock { roomInfoUnderlyingCallsCount } } + set { roomInfoCallsCountLock.withLock { roomInfoUnderlyingCallsCount = newValue } } } open var roomInfoCalled: Bool { return roomInfoCallsCount > 0 } + private let roomInfoReturnValueLock = NSLock() open var roomInfoUnderlyingReturnValue: RoomInfo! open var roomInfoReturnValue: RoomInfo! { - get { - if Thread.isMainThread { - return roomInfoUnderlyingReturnValue - } else { - var returnValue: RoomInfo? = nil - DispatchQueue.main.sync { - returnValue = roomInfoUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomInfoUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomInfoUnderlyingReturnValue = newValue - } - } - } + get { roomInfoReturnValueLock.withLock { roomInfoUnderlyingReturnValue } } + set { roomInfoReturnValueLock.withLock { roomInfoUnderlyingReturnValue = newValue } } } open var roomInfoClosure: (() async throws -> RoomInfo)? @@ -18821,7 +10905,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = roomInfoThrowableError { throw error } - roomInfoCallsCount += 1 + roomInfoCallsCountLock.withLock { roomInfoUnderlyingCallsCount += 1 } if let roomInfoClosure = roomInfoClosure { return try await roomInfoClosure() } else { @@ -18832,197 +10916,141 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - saveComposerDraft open var saveComposerDraftDraftThreadRootThrowableError: Error? - open var saveComposerDraftDraftThreadRootUnderlyingCallsCount = 0 + private let saveComposerDraftDraftThreadRootCallsCountLock = NSLock() + private var saveComposerDraftDraftThreadRootUnderlyingCallsCount = 0 open var saveComposerDraftDraftThreadRootCallsCount: Int { - get { - if Thread.isMainThread { - return saveComposerDraftDraftThreadRootUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = saveComposerDraftDraftThreadRootUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - saveComposerDraftDraftThreadRootUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - saveComposerDraftDraftThreadRootUnderlyingCallsCount = newValue - } - } - } + get { saveComposerDraftDraftThreadRootCallsCountLock.withLock { saveComposerDraftDraftThreadRootUnderlyingCallsCount } } + set { saveComposerDraftDraftThreadRootCallsCountLock.withLock { saveComposerDraftDraftThreadRootUnderlyingCallsCount = newValue } } } open var saveComposerDraftDraftThreadRootCalled: Bool { return saveComposerDraftDraftThreadRootCallsCount > 0 } - open var saveComposerDraftDraftThreadRootReceivedArguments: (draft: ComposerDraft, threadRoot: String?)? - open var saveComposerDraftDraftThreadRootReceivedInvocations: [(draft: ComposerDraft, threadRoot: String?)] = [] + private let saveComposerDraftDraftThreadRootReceivedArgumentsLock = NSLock() + private var saveComposerDraftDraftThreadRootUnderlyingReceivedArguments: (draft: ComposerDraft, threadRoot: String?)? + open var saveComposerDraftDraftThreadRootReceivedArguments: (draft: ComposerDraft, threadRoot: String?)? { + get { saveComposerDraftDraftThreadRootReceivedArgumentsLock.withLock { saveComposerDraftDraftThreadRootUnderlyingReceivedArguments } } + set { saveComposerDraftDraftThreadRootReceivedArgumentsLock.withLock { saveComposerDraftDraftThreadRootUnderlyingReceivedArguments = newValue } } + } + private let saveComposerDraftDraftThreadRootReceivedInvocationsLock = NSLock() + private var saveComposerDraftDraftThreadRootUnderlyingReceivedInvocations: [(draft: ComposerDraft, threadRoot: String?)] = [] + open var saveComposerDraftDraftThreadRootReceivedInvocations: [(draft: ComposerDraft, threadRoot: String?)] { + get { saveComposerDraftDraftThreadRootReceivedInvocationsLock.withLock { saveComposerDraftDraftThreadRootUnderlyingReceivedInvocations } } + set { saveComposerDraftDraftThreadRootReceivedInvocationsLock.withLock { saveComposerDraftDraftThreadRootUnderlyingReceivedInvocations = newValue } } + } open var saveComposerDraftDraftThreadRootClosure: ((ComposerDraft, String?) async throws -> Void)? open override func saveComposerDraft(draft: ComposerDraft, threadRoot: String?) async throws { if let error = saveComposerDraftDraftThreadRootThrowableError { throw error } - saveComposerDraftDraftThreadRootCallsCount += 1 + saveComposerDraftDraftThreadRootCallsCountLock.withLock { saveComposerDraftDraftThreadRootUnderlyingCallsCount += 1 } saveComposerDraftDraftThreadRootReceivedArguments = (draft: draft, threadRoot: threadRoot) - DispatchQueue.main.async { - self.saveComposerDraftDraftThreadRootReceivedInvocations.append((draft: draft, threadRoot: threadRoot)) - } + saveComposerDraftDraftThreadRootReceivedInvocationsLock.withLock { saveComposerDraftDraftThreadRootUnderlyingReceivedInvocations.append((draft: draft, threadRoot: threadRoot)) } try await saveComposerDraftDraftThreadRootClosure?(draft, threadRoot) } //MARK: - sendLiveLocation open var sendLiveLocationGeoUriThrowableError: Error? - open var sendLiveLocationGeoUriUnderlyingCallsCount = 0 + private let sendLiveLocationGeoUriCallsCountLock = NSLock() + private var sendLiveLocationGeoUriUnderlyingCallsCount = 0 open var sendLiveLocationGeoUriCallsCount: Int { - get { - if Thread.isMainThread { - return sendLiveLocationGeoUriUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendLiveLocationGeoUriUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendLiveLocationGeoUriUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendLiveLocationGeoUriUnderlyingCallsCount = newValue - } - } - } + get { sendLiveLocationGeoUriCallsCountLock.withLock { sendLiveLocationGeoUriUnderlyingCallsCount } } + set { sendLiveLocationGeoUriCallsCountLock.withLock { sendLiveLocationGeoUriUnderlyingCallsCount = newValue } } } open var sendLiveLocationGeoUriCalled: Bool { return sendLiveLocationGeoUriCallsCount > 0 } - open var sendLiveLocationGeoUriReceivedGeoUri: String? - open var sendLiveLocationGeoUriReceivedInvocations: [String] = [] + private let sendLiveLocationGeoUriReceivedGeoUriLock = NSLock() + private var sendLiveLocationGeoUriUnderlyingReceivedGeoUri: String? + open var sendLiveLocationGeoUriReceivedGeoUri: String? { + get { sendLiveLocationGeoUriReceivedGeoUriLock.withLock { sendLiveLocationGeoUriUnderlyingReceivedGeoUri } } + set { sendLiveLocationGeoUriReceivedGeoUriLock.withLock { sendLiveLocationGeoUriUnderlyingReceivedGeoUri = newValue } } + } + private let sendLiveLocationGeoUriReceivedInvocationsLock = NSLock() + private var sendLiveLocationGeoUriUnderlyingReceivedInvocations: [String] = [] + open var sendLiveLocationGeoUriReceivedInvocations: [String] { + get { sendLiveLocationGeoUriReceivedInvocationsLock.withLock { sendLiveLocationGeoUriUnderlyingReceivedInvocations } } + set { sendLiveLocationGeoUriReceivedInvocationsLock.withLock { sendLiveLocationGeoUriUnderlyingReceivedInvocations = newValue } } + } open var sendLiveLocationGeoUriClosure: ((String) async throws -> Void)? open override func sendLiveLocation(geoUri: String) async throws { if let error = sendLiveLocationGeoUriThrowableError { throw error } - sendLiveLocationGeoUriCallsCount += 1 + sendLiveLocationGeoUriCallsCountLock.withLock { sendLiveLocationGeoUriUnderlyingCallsCount += 1 } sendLiveLocationGeoUriReceivedGeoUri = geoUri - DispatchQueue.main.async { - self.sendLiveLocationGeoUriReceivedInvocations.append(geoUri) - } + sendLiveLocationGeoUriReceivedInvocationsLock.withLock { sendLiveLocationGeoUriUnderlyingReceivedInvocations.append(geoUri) } try await sendLiveLocationGeoUriClosure?(geoUri) } //MARK: - sendRaw open var sendRawEventTypeContentThrowableError: Error? - open var sendRawEventTypeContentUnderlyingCallsCount = 0 + private let sendRawEventTypeContentCallsCountLock = NSLock() + private var sendRawEventTypeContentUnderlyingCallsCount = 0 open var sendRawEventTypeContentCallsCount: Int { - get { - if Thread.isMainThread { - return sendRawEventTypeContentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendRawEventTypeContentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendRawEventTypeContentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendRawEventTypeContentUnderlyingCallsCount = newValue - } - } - } + get { sendRawEventTypeContentCallsCountLock.withLock { sendRawEventTypeContentUnderlyingCallsCount } } + set { sendRawEventTypeContentCallsCountLock.withLock { sendRawEventTypeContentUnderlyingCallsCount = newValue } } } open var sendRawEventTypeContentCalled: Bool { return sendRawEventTypeContentCallsCount > 0 } - open var sendRawEventTypeContentReceivedArguments: (eventType: String, content: String)? - open var sendRawEventTypeContentReceivedInvocations: [(eventType: String, content: String)] = [] + private let sendRawEventTypeContentReceivedArgumentsLock = NSLock() + private var sendRawEventTypeContentUnderlyingReceivedArguments: (eventType: String, content: String)? + open var sendRawEventTypeContentReceivedArguments: (eventType: String, content: String)? { + get { sendRawEventTypeContentReceivedArgumentsLock.withLock { sendRawEventTypeContentUnderlyingReceivedArguments } } + set { sendRawEventTypeContentReceivedArgumentsLock.withLock { sendRawEventTypeContentUnderlyingReceivedArguments = newValue } } + } + private let sendRawEventTypeContentReceivedInvocationsLock = NSLock() + private var sendRawEventTypeContentUnderlyingReceivedInvocations: [(eventType: String, content: String)] = [] + open var sendRawEventTypeContentReceivedInvocations: [(eventType: String, content: String)] { + get { sendRawEventTypeContentReceivedInvocationsLock.withLock { sendRawEventTypeContentUnderlyingReceivedInvocations } } + set { sendRawEventTypeContentReceivedInvocationsLock.withLock { sendRawEventTypeContentUnderlyingReceivedInvocations = newValue } } + } open var sendRawEventTypeContentClosure: ((String, String) async throws -> Void)? open override func sendRaw(eventType: String, content: String) async throws { if let error = sendRawEventTypeContentThrowableError { throw error } - sendRawEventTypeContentCallsCount += 1 + sendRawEventTypeContentCallsCountLock.withLock { sendRawEventTypeContentUnderlyingCallsCount += 1 } sendRawEventTypeContentReceivedArguments = (eventType: eventType, content: content) - DispatchQueue.main.async { - self.sendRawEventTypeContentReceivedInvocations.append((eventType: eventType, content: content)) - } + sendRawEventTypeContentReceivedInvocationsLock.withLock { sendRawEventTypeContentUnderlyingReceivedInvocations.append((eventType: eventType, content: content)) } try await sendRawEventTypeContentClosure?(eventType, content) } //MARK: - sendStateEventRaw open var sendStateEventRawEventTypeStateKeyContentThrowableError: Error? - open var sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount = 0 + private let sendStateEventRawEventTypeStateKeyContentCallsCountLock = NSLock() + private var sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount = 0 open var sendStateEventRawEventTypeStateKeyContentCallsCount: Int { - get { - if Thread.isMainThread { - return sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount = newValue - } - } - } + get { sendStateEventRawEventTypeStateKeyContentCallsCountLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount } } + set { sendStateEventRawEventTypeStateKeyContentCallsCountLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount = newValue } } } open var sendStateEventRawEventTypeStateKeyContentCalled: Bool { return sendStateEventRawEventTypeStateKeyContentCallsCount > 0 } - open var sendStateEventRawEventTypeStateKeyContentReceivedArguments: (eventType: String, stateKey: String, content: String)? - open var sendStateEventRawEventTypeStateKeyContentReceivedInvocations: [(eventType: String, stateKey: String, content: String)] = [] + private let sendStateEventRawEventTypeStateKeyContentReceivedArgumentsLock = NSLock() + private var sendStateEventRawEventTypeStateKeyContentUnderlyingReceivedArguments: (eventType: String, stateKey: String, content: String)? + open var sendStateEventRawEventTypeStateKeyContentReceivedArguments: (eventType: String, stateKey: String, content: String)? { + get { sendStateEventRawEventTypeStateKeyContentReceivedArgumentsLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingReceivedArguments } } + set { sendStateEventRawEventTypeStateKeyContentReceivedArgumentsLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingReceivedArguments = newValue } } + } + private let sendStateEventRawEventTypeStateKeyContentReceivedInvocationsLock = NSLock() + private var sendStateEventRawEventTypeStateKeyContentUnderlyingReceivedInvocations: [(eventType: String, stateKey: String, content: String)] = [] + open var sendStateEventRawEventTypeStateKeyContentReceivedInvocations: [(eventType: String, stateKey: String, content: String)] { + get { sendStateEventRawEventTypeStateKeyContentReceivedInvocationsLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingReceivedInvocations } } + set { sendStateEventRawEventTypeStateKeyContentReceivedInvocationsLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingReceivedInvocations = newValue } } + } + private let sendStateEventRawEventTypeStateKeyContentReturnValueLock = NSLock() open var sendStateEventRawEventTypeStateKeyContentUnderlyingReturnValue: String! open var sendStateEventRawEventTypeStateKeyContentReturnValue: String! { - get { - if Thread.isMainThread { - return sendStateEventRawEventTypeStateKeyContentUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = sendStateEventRawEventTypeStateKeyContentUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendStateEventRawEventTypeStateKeyContentUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendStateEventRawEventTypeStateKeyContentUnderlyingReturnValue = newValue - } - } - } + get { sendStateEventRawEventTypeStateKeyContentReturnValueLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingReturnValue } } + set { sendStateEventRawEventTypeStateKeyContentReturnValueLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingReturnValue = newValue } } } open var sendStateEventRawEventTypeStateKeyContentClosure: ((String, String, String) async throws -> String)? @@ -19030,11 +11058,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = sendStateEventRawEventTypeStateKeyContentThrowableError { throw error } - sendStateEventRawEventTypeStateKeyContentCallsCount += 1 + sendStateEventRawEventTypeStateKeyContentCallsCountLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingCallsCount += 1 } sendStateEventRawEventTypeStateKeyContentReceivedArguments = (eventType: eventType, stateKey: stateKey, content: content) - DispatchQueue.main.async { - self.sendStateEventRawEventTypeStateKeyContentReceivedInvocations.append((eventType: eventType, stateKey: stateKey, content: content)) - } + sendStateEventRawEventTypeStateKeyContentReceivedInvocationsLock.withLock { sendStateEventRawEventTypeStateKeyContentUnderlyingReceivedInvocations.append((eventType: eventType, stateKey: stateKey, content: content)) } if let sendStateEventRawEventTypeStateKeyContentClosure = sendStateEventRawEventTypeStateKeyContentClosure { return try await sendStateEventRawEventTypeStateKeyContentClosure(eventType, stateKey, content) } else { @@ -19045,381 +11071,285 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - setIsFavourite open var setIsFavouriteIsFavouriteTagOrderThrowableError: Error? - open var setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount = 0 + private let setIsFavouriteIsFavouriteTagOrderCallsCountLock = NSLock() + private var setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount = 0 open var setIsFavouriteIsFavouriteTagOrderCallsCount: Int { - get { - if Thread.isMainThread { - return setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount = newValue - } - } - } + get { setIsFavouriteIsFavouriteTagOrderCallsCountLock.withLock { setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount } } + set { setIsFavouriteIsFavouriteTagOrderCallsCountLock.withLock { setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount = newValue } } } open var setIsFavouriteIsFavouriteTagOrderCalled: Bool { return setIsFavouriteIsFavouriteTagOrderCallsCount > 0 } - open var setIsFavouriteIsFavouriteTagOrderReceivedArguments: (isFavourite: Bool, tagOrder: Double?)? - open var setIsFavouriteIsFavouriteTagOrderReceivedInvocations: [(isFavourite: Bool, tagOrder: Double?)] = [] + private let setIsFavouriteIsFavouriteTagOrderReceivedArgumentsLock = NSLock() + private var setIsFavouriteIsFavouriteTagOrderUnderlyingReceivedArguments: (isFavourite: Bool, tagOrder: Double?)? + open var setIsFavouriteIsFavouriteTagOrderReceivedArguments: (isFavourite: Bool, tagOrder: Double?)? { + get { setIsFavouriteIsFavouriteTagOrderReceivedArgumentsLock.withLock { setIsFavouriteIsFavouriteTagOrderUnderlyingReceivedArguments } } + set { setIsFavouriteIsFavouriteTagOrderReceivedArgumentsLock.withLock { setIsFavouriteIsFavouriteTagOrderUnderlyingReceivedArguments = newValue } } + } + private let setIsFavouriteIsFavouriteTagOrderReceivedInvocationsLock = NSLock() + private var setIsFavouriteIsFavouriteTagOrderUnderlyingReceivedInvocations: [(isFavourite: Bool, tagOrder: Double?)] = [] + open var setIsFavouriteIsFavouriteTagOrderReceivedInvocations: [(isFavourite: Bool, tagOrder: Double?)] { + get { setIsFavouriteIsFavouriteTagOrderReceivedInvocationsLock.withLock { setIsFavouriteIsFavouriteTagOrderUnderlyingReceivedInvocations } } + set { setIsFavouriteIsFavouriteTagOrderReceivedInvocationsLock.withLock { setIsFavouriteIsFavouriteTagOrderUnderlyingReceivedInvocations = newValue } } + } open var setIsFavouriteIsFavouriteTagOrderClosure: ((Bool, Double?) async throws -> Void)? open override func setIsFavourite(isFavourite: Bool, tagOrder: Double?) async throws { if let error = setIsFavouriteIsFavouriteTagOrderThrowableError { throw error } - setIsFavouriteIsFavouriteTagOrderCallsCount += 1 + setIsFavouriteIsFavouriteTagOrderCallsCountLock.withLock { setIsFavouriteIsFavouriteTagOrderUnderlyingCallsCount += 1 } setIsFavouriteIsFavouriteTagOrderReceivedArguments = (isFavourite: isFavourite, tagOrder: tagOrder) - DispatchQueue.main.async { - self.setIsFavouriteIsFavouriteTagOrderReceivedInvocations.append((isFavourite: isFavourite, tagOrder: tagOrder)) - } + setIsFavouriteIsFavouriteTagOrderReceivedInvocationsLock.withLock { setIsFavouriteIsFavouriteTagOrderUnderlyingReceivedInvocations.append((isFavourite: isFavourite, tagOrder: tagOrder)) } try await setIsFavouriteIsFavouriteTagOrderClosure?(isFavourite, tagOrder) } //MARK: - setIsLowPriority open var setIsLowPriorityIsLowPriorityTagOrderThrowableError: Error? - open var setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount = 0 + private let setIsLowPriorityIsLowPriorityTagOrderCallsCountLock = NSLock() + private var setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount = 0 open var setIsLowPriorityIsLowPriorityTagOrderCallsCount: Int { - get { - if Thread.isMainThread { - return setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount = newValue - } - } - } + get { setIsLowPriorityIsLowPriorityTagOrderCallsCountLock.withLock { setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount } } + set { setIsLowPriorityIsLowPriorityTagOrderCallsCountLock.withLock { setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount = newValue } } } open var setIsLowPriorityIsLowPriorityTagOrderCalled: Bool { return setIsLowPriorityIsLowPriorityTagOrderCallsCount > 0 } - open var setIsLowPriorityIsLowPriorityTagOrderReceivedArguments: (isLowPriority: Bool, tagOrder: Double?)? - open var setIsLowPriorityIsLowPriorityTagOrderReceivedInvocations: [(isLowPriority: Bool, tagOrder: Double?)] = [] + private let setIsLowPriorityIsLowPriorityTagOrderReceivedArgumentsLock = NSLock() + private var setIsLowPriorityIsLowPriorityTagOrderUnderlyingReceivedArguments: (isLowPriority: Bool, tagOrder: Double?)? + open var setIsLowPriorityIsLowPriorityTagOrderReceivedArguments: (isLowPriority: Bool, tagOrder: Double?)? { + get { setIsLowPriorityIsLowPriorityTagOrderReceivedArgumentsLock.withLock { setIsLowPriorityIsLowPriorityTagOrderUnderlyingReceivedArguments } } + set { setIsLowPriorityIsLowPriorityTagOrderReceivedArgumentsLock.withLock { setIsLowPriorityIsLowPriorityTagOrderUnderlyingReceivedArguments = newValue } } + } + private let setIsLowPriorityIsLowPriorityTagOrderReceivedInvocationsLock = NSLock() + private var setIsLowPriorityIsLowPriorityTagOrderUnderlyingReceivedInvocations: [(isLowPriority: Bool, tagOrder: Double?)] = [] + open var setIsLowPriorityIsLowPriorityTagOrderReceivedInvocations: [(isLowPriority: Bool, tagOrder: Double?)] { + get { setIsLowPriorityIsLowPriorityTagOrderReceivedInvocationsLock.withLock { setIsLowPriorityIsLowPriorityTagOrderUnderlyingReceivedInvocations } } + set { setIsLowPriorityIsLowPriorityTagOrderReceivedInvocationsLock.withLock { setIsLowPriorityIsLowPriorityTagOrderUnderlyingReceivedInvocations = newValue } } + } open var setIsLowPriorityIsLowPriorityTagOrderClosure: ((Bool, Double?) async throws -> Void)? open override func setIsLowPriority(isLowPriority: Bool, tagOrder: Double?) async throws { if let error = setIsLowPriorityIsLowPriorityTagOrderThrowableError { throw error } - setIsLowPriorityIsLowPriorityTagOrderCallsCount += 1 + setIsLowPriorityIsLowPriorityTagOrderCallsCountLock.withLock { setIsLowPriorityIsLowPriorityTagOrderUnderlyingCallsCount += 1 } setIsLowPriorityIsLowPriorityTagOrderReceivedArguments = (isLowPriority: isLowPriority, tagOrder: tagOrder) - DispatchQueue.main.async { - self.setIsLowPriorityIsLowPriorityTagOrderReceivedInvocations.append((isLowPriority: isLowPriority, tagOrder: tagOrder)) - } + setIsLowPriorityIsLowPriorityTagOrderReceivedInvocationsLock.withLock { setIsLowPriorityIsLowPriorityTagOrderUnderlyingReceivedInvocations.append((isLowPriority: isLowPriority, tagOrder: tagOrder)) } try await setIsLowPriorityIsLowPriorityTagOrderClosure?(isLowPriority, tagOrder) } //MARK: - setName open var setNameNameThrowableError: Error? - open var setNameNameUnderlyingCallsCount = 0 + private let setNameNameCallsCountLock = NSLock() + private var setNameNameUnderlyingCallsCount = 0 open var setNameNameCallsCount: Int { - get { - if Thread.isMainThread { - return setNameNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setNameNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setNameNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setNameNameUnderlyingCallsCount = newValue - } - } - } + get { setNameNameCallsCountLock.withLock { setNameNameUnderlyingCallsCount } } + set { setNameNameCallsCountLock.withLock { setNameNameUnderlyingCallsCount = newValue } } } open var setNameNameCalled: Bool { return setNameNameCallsCount > 0 } - open var setNameNameReceivedName: String? - open var setNameNameReceivedInvocations: [String] = [] + private let setNameNameReceivedNameLock = NSLock() + private var setNameNameUnderlyingReceivedName: String? + open var setNameNameReceivedName: String? { + get { setNameNameReceivedNameLock.withLock { setNameNameUnderlyingReceivedName } } + set { setNameNameReceivedNameLock.withLock { setNameNameUnderlyingReceivedName = newValue } } + } + private let setNameNameReceivedInvocationsLock = NSLock() + private var setNameNameUnderlyingReceivedInvocations: [String] = [] + open var setNameNameReceivedInvocations: [String] { + get { setNameNameReceivedInvocationsLock.withLock { setNameNameUnderlyingReceivedInvocations } } + set { setNameNameReceivedInvocationsLock.withLock { setNameNameUnderlyingReceivedInvocations = newValue } } + } open var setNameNameClosure: ((String) async throws -> Void)? open override func setName(name: String) async throws { if let error = setNameNameThrowableError { throw error } - setNameNameCallsCount += 1 + setNameNameCallsCountLock.withLock { setNameNameUnderlyingCallsCount += 1 } setNameNameReceivedName = name - DispatchQueue.main.async { - self.setNameNameReceivedInvocations.append(name) - } + setNameNameReceivedInvocationsLock.withLock { setNameNameUnderlyingReceivedInvocations.append(name) } try await setNameNameClosure?(name) } //MARK: - setOwnMemberDisplayName open var setOwnMemberDisplayNameDisplayNameThrowableError: Error? - open var setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount = 0 + private let setOwnMemberDisplayNameDisplayNameCallsCountLock = NSLock() + private var setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount = 0 open var setOwnMemberDisplayNameDisplayNameCallsCount: Int { - get { - if Thread.isMainThread { - return setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount = newValue - } - } - } + get { setOwnMemberDisplayNameDisplayNameCallsCountLock.withLock { setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount } } + set { setOwnMemberDisplayNameDisplayNameCallsCountLock.withLock { setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount = newValue } } } open var setOwnMemberDisplayNameDisplayNameCalled: Bool { return setOwnMemberDisplayNameDisplayNameCallsCount > 0 } - open var setOwnMemberDisplayNameDisplayNameReceivedDisplayName: String? - open var setOwnMemberDisplayNameDisplayNameReceivedInvocations: [String?] = [] + private let setOwnMemberDisplayNameDisplayNameReceivedDisplayNameLock = NSLock() + private var setOwnMemberDisplayNameDisplayNameUnderlyingReceivedDisplayName: String? + open var setOwnMemberDisplayNameDisplayNameReceivedDisplayName: String? { + get { setOwnMemberDisplayNameDisplayNameReceivedDisplayNameLock.withLock { setOwnMemberDisplayNameDisplayNameUnderlyingReceivedDisplayName } } + set { setOwnMemberDisplayNameDisplayNameReceivedDisplayNameLock.withLock { setOwnMemberDisplayNameDisplayNameUnderlyingReceivedDisplayName = newValue } } + } + private let setOwnMemberDisplayNameDisplayNameReceivedInvocationsLock = NSLock() + private var setOwnMemberDisplayNameDisplayNameUnderlyingReceivedInvocations: [String?] = [] + open var setOwnMemberDisplayNameDisplayNameReceivedInvocations: [String?] { + get { setOwnMemberDisplayNameDisplayNameReceivedInvocationsLock.withLock { setOwnMemberDisplayNameDisplayNameUnderlyingReceivedInvocations } } + set { setOwnMemberDisplayNameDisplayNameReceivedInvocationsLock.withLock { setOwnMemberDisplayNameDisplayNameUnderlyingReceivedInvocations = newValue } } + } open var setOwnMemberDisplayNameDisplayNameClosure: ((String?) async throws -> Void)? open override func setOwnMemberDisplayName(displayName: String?) async throws { if let error = setOwnMemberDisplayNameDisplayNameThrowableError { throw error } - setOwnMemberDisplayNameDisplayNameCallsCount += 1 + setOwnMemberDisplayNameDisplayNameCallsCountLock.withLock { setOwnMemberDisplayNameDisplayNameUnderlyingCallsCount += 1 } setOwnMemberDisplayNameDisplayNameReceivedDisplayName = displayName - DispatchQueue.main.async { - self.setOwnMemberDisplayNameDisplayNameReceivedInvocations.append(displayName) - } + setOwnMemberDisplayNameDisplayNameReceivedInvocationsLock.withLock { setOwnMemberDisplayNameDisplayNameUnderlyingReceivedInvocations.append(displayName) } try await setOwnMemberDisplayNameDisplayNameClosure?(displayName) } //MARK: - setThreadSubscription open var setThreadSubscriptionThreadRootEventIdSubscribedThrowableError: Error? - open var setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount = 0 + private let setThreadSubscriptionThreadRootEventIdSubscribedCallsCountLock = NSLock() + private var setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount = 0 open var setThreadSubscriptionThreadRootEventIdSubscribedCallsCount: Int { - get { - if Thread.isMainThread { - return setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount = newValue - } - } - } + get { setThreadSubscriptionThreadRootEventIdSubscribedCallsCountLock.withLock { setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount } } + set { setThreadSubscriptionThreadRootEventIdSubscribedCallsCountLock.withLock { setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount = newValue } } } open var setThreadSubscriptionThreadRootEventIdSubscribedCalled: Bool { return setThreadSubscriptionThreadRootEventIdSubscribedCallsCount > 0 } - open var setThreadSubscriptionThreadRootEventIdSubscribedReceivedArguments: (threadRootEventId: String, subscribed: Bool)? - open var setThreadSubscriptionThreadRootEventIdSubscribedReceivedInvocations: [(threadRootEventId: String, subscribed: Bool)] = [] + private let setThreadSubscriptionThreadRootEventIdSubscribedReceivedArgumentsLock = NSLock() + private var setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingReceivedArguments: (threadRootEventId: String, subscribed: Bool)? + open var setThreadSubscriptionThreadRootEventIdSubscribedReceivedArguments: (threadRootEventId: String, subscribed: Bool)? { + get { setThreadSubscriptionThreadRootEventIdSubscribedReceivedArgumentsLock.withLock { setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingReceivedArguments } } + set { setThreadSubscriptionThreadRootEventIdSubscribedReceivedArgumentsLock.withLock { setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingReceivedArguments = newValue } } + } + private let setThreadSubscriptionThreadRootEventIdSubscribedReceivedInvocationsLock = NSLock() + private var setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingReceivedInvocations: [(threadRootEventId: String, subscribed: Bool)] = [] + open var setThreadSubscriptionThreadRootEventIdSubscribedReceivedInvocations: [(threadRootEventId: String, subscribed: Bool)] { + get { setThreadSubscriptionThreadRootEventIdSubscribedReceivedInvocationsLock.withLock { setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingReceivedInvocations } } + set { setThreadSubscriptionThreadRootEventIdSubscribedReceivedInvocationsLock.withLock { setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingReceivedInvocations = newValue } } + } open var setThreadSubscriptionThreadRootEventIdSubscribedClosure: ((String, Bool) async throws -> Void)? open override func setThreadSubscription(threadRootEventId: String, subscribed: Bool) async throws { if let error = setThreadSubscriptionThreadRootEventIdSubscribedThrowableError { throw error } - setThreadSubscriptionThreadRootEventIdSubscribedCallsCount += 1 + setThreadSubscriptionThreadRootEventIdSubscribedCallsCountLock.withLock { setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingCallsCount += 1 } setThreadSubscriptionThreadRootEventIdSubscribedReceivedArguments = (threadRootEventId: threadRootEventId, subscribed: subscribed) - DispatchQueue.main.async { - self.setThreadSubscriptionThreadRootEventIdSubscribedReceivedInvocations.append((threadRootEventId: threadRootEventId, subscribed: subscribed)) - } + setThreadSubscriptionThreadRootEventIdSubscribedReceivedInvocationsLock.withLock { setThreadSubscriptionThreadRootEventIdSubscribedUnderlyingReceivedInvocations.append((threadRootEventId: threadRootEventId, subscribed: subscribed)) } try await setThreadSubscriptionThreadRootEventIdSubscribedClosure?(threadRootEventId, subscribed) } //MARK: - setTopic open var setTopicTopicThrowableError: Error? - open var setTopicTopicUnderlyingCallsCount = 0 + private let setTopicTopicCallsCountLock = NSLock() + private var setTopicTopicUnderlyingCallsCount = 0 open var setTopicTopicCallsCount: Int { - get { - if Thread.isMainThread { - return setTopicTopicUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setTopicTopicUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setTopicTopicUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setTopicTopicUnderlyingCallsCount = newValue - } - } - } + get { setTopicTopicCallsCountLock.withLock { setTopicTopicUnderlyingCallsCount } } + set { setTopicTopicCallsCountLock.withLock { setTopicTopicUnderlyingCallsCount = newValue } } } open var setTopicTopicCalled: Bool { return setTopicTopicCallsCount > 0 } - open var setTopicTopicReceivedTopic: String? - open var setTopicTopicReceivedInvocations: [String] = [] + private let setTopicTopicReceivedTopicLock = NSLock() + private var setTopicTopicUnderlyingReceivedTopic: String? + open var setTopicTopicReceivedTopic: String? { + get { setTopicTopicReceivedTopicLock.withLock { setTopicTopicUnderlyingReceivedTopic } } + set { setTopicTopicReceivedTopicLock.withLock { setTopicTopicUnderlyingReceivedTopic = newValue } } + } + private let setTopicTopicReceivedInvocationsLock = NSLock() + private var setTopicTopicUnderlyingReceivedInvocations: [String] = [] + open var setTopicTopicReceivedInvocations: [String] { + get { setTopicTopicReceivedInvocationsLock.withLock { setTopicTopicUnderlyingReceivedInvocations } } + set { setTopicTopicReceivedInvocationsLock.withLock { setTopicTopicUnderlyingReceivedInvocations = newValue } } + } open var setTopicTopicClosure: ((String) async throws -> Void)? open override func setTopic(topic: String) async throws { if let error = setTopicTopicThrowableError { throw error } - setTopicTopicCallsCount += 1 + setTopicTopicCallsCountLock.withLock { setTopicTopicUnderlyingCallsCount += 1 } setTopicTopicReceivedTopic = topic - DispatchQueue.main.async { - self.setTopicTopicReceivedInvocations.append(topic) - } + setTopicTopicReceivedInvocationsLock.withLock { setTopicTopicUnderlyingReceivedInvocations.append(topic) } try await setTopicTopicClosure?(topic) } //MARK: - setUnreadFlag open var setUnreadFlagNewValueThrowableError: Error? - open var setUnreadFlagNewValueUnderlyingCallsCount = 0 + private let setUnreadFlagNewValueCallsCountLock = NSLock() + private var setUnreadFlagNewValueUnderlyingCallsCount = 0 open var setUnreadFlagNewValueCallsCount: Int { - get { - if Thread.isMainThread { - return setUnreadFlagNewValueUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setUnreadFlagNewValueUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setUnreadFlagNewValueUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setUnreadFlagNewValueUnderlyingCallsCount = newValue - } - } - } + get { setUnreadFlagNewValueCallsCountLock.withLock { setUnreadFlagNewValueUnderlyingCallsCount } } + set { setUnreadFlagNewValueCallsCountLock.withLock { setUnreadFlagNewValueUnderlyingCallsCount = newValue } } } open var setUnreadFlagNewValueCalled: Bool { return setUnreadFlagNewValueCallsCount > 0 } - open var setUnreadFlagNewValueReceivedNewValue: Bool? - open var setUnreadFlagNewValueReceivedInvocations: [Bool] = [] + private let setUnreadFlagNewValueReceivedNewValueLock = NSLock() + private var setUnreadFlagNewValueUnderlyingReceivedNewValue: Bool? + open var setUnreadFlagNewValueReceivedNewValue: Bool? { + get { setUnreadFlagNewValueReceivedNewValueLock.withLock { setUnreadFlagNewValueUnderlyingReceivedNewValue } } + set { setUnreadFlagNewValueReceivedNewValueLock.withLock { setUnreadFlagNewValueUnderlyingReceivedNewValue = newValue } } + } + private let setUnreadFlagNewValueReceivedInvocationsLock = NSLock() + private var setUnreadFlagNewValueUnderlyingReceivedInvocations: [Bool] = [] + open var setUnreadFlagNewValueReceivedInvocations: [Bool] { + get { setUnreadFlagNewValueReceivedInvocationsLock.withLock { setUnreadFlagNewValueUnderlyingReceivedInvocations } } + set { setUnreadFlagNewValueReceivedInvocationsLock.withLock { setUnreadFlagNewValueUnderlyingReceivedInvocations = newValue } } + } open var setUnreadFlagNewValueClosure: ((Bool) async throws -> Void)? open override func setUnreadFlag(newValue: Bool) async throws { if let error = setUnreadFlagNewValueThrowableError { throw error } - setUnreadFlagNewValueCallsCount += 1 + setUnreadFlagNewValueCallsCountLock.withLock { setUnreadFlagNewValueUnderlyingCallsCount += 1 } setUnreadFlagNewValueReceivedNewValue = newValue - DispatchQueue.main.async { - self.setUnreadFlagNewValueReceivedInvocations.append(newValue) - } + setUnreadFlagNewValueReceivedInvocationsLock.withLock { setUnreadFlagNewValueUnderlyingReceivedInvocations.append(newValue) } try await setUnreadFlagNewValueClosure?(newValue) } //MARK: - startLiveLocationShare open var startLiveLocationShareDurationMillisThrowableError: Error? - open var startLiveLocationShareDurationMillisUnderlyingCallsCount = 0 + private let startLiveLocationShareDurationMillisCallsCountLock = NSLock() + private var startLiveLocationShareDurationMillisUnderlyingCallsCount = 0 open var startLiveLocationShareDurationMillisCallsCount: Int { - get { - if Thread.isMainThread { - return startLiveLocationShareDurationMillisUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startLiveLocationShareDurationMillisUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startLiveLocationShareDurationMillisUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startLiveLocationShareDurationMillisUnderlyingCallsCount = newValue - } - } - } + get { startLiveLocationShareDurationMillisCallsCountLock.withLock { startLiveLocationShareDurationMillisUnderlyingCallsCount } } + set { startLiveLocationShareDurationMillisCallsCountLock.withLock { startLiveLocationShareDurationMillisUnderlyingCallsCount = newValue } } } open var startLiveLocationShareDurationMillisCalled: Bool { return startLiveLocationShareDurationMillisCallsCount > 0 } - open var startLiveLocationShareDurationMillisReceivedDurationMillis: UInt64? - open var startLiveLocationShareDurationMillisReceivedInvocations: [UInt64] = [] + private let startLiveLocationShareDurationMillisReceivedDurationMillisLock = NSLock() + private var startLiveLocationShareDurationMillisUnderlyingReceivedDurationMillis: UInt64? + open var startLiveLocationShareDurationMillisReceivedDurationMillis: UInt64? { + get { startLiveLocationShareDurationMillisReceivedDurationMillisLock.withLock { startLiveLocationShareDurationMillisUnderlyingReceivedDurationMillis } } + set { startLiveLocationShareDurationMillisReceivedDurationMillisLock.withLock { startLiveLocationShareDurationMillisUnderlyingReceivedDurationMillis = newValue } } + } + private let startLiveLocationShareDurationMillisReceivedInvocationsLock = NSLock() + private var startLiveLocationShareDurationMillisUnderlyingReceivedInvocations: [UInt64] = [] + open var startLiveLocationShareDurationMillisReceivedInvocations: [UInt64] { + get { startLiveLocationShareDurationMillisReceivedInvocationsLock.withLock { startLiveLocationShareDurationMillisUnderlyingReceivedInvocations } } + set { startLiveLocationShareDurationMillisReceivedInvocationsLock.withLock { startLiveLocationShareDurationMillisUnderlyingReceivedInvocations = newValue } } + } + private let startLiveLocationShareDurationMillisReturnValueLock = NSLock() open var startLiveLocationShareDurationMillisUnderlyingReturnValue: String! open var startLiveLocationShareDurationMillisReturnValue: String! { - get { - if Thread.isMainThread { - return startLiveLocationShareDurationMillisUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = startLiveLocationShareDurationMillisUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startLiveLocationShareDurationMillisUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - startLiveLocationShareDurationMillisUnderlyingReturnValue = newValue - } - } - } + get { startLiveLocationShareDurationMillisReturnValueLock.withLock { startLiveLocationShareDurationMillisUnderlyingReturnValue } } + set { startLiveLocationShareDurationMillisReturnValueLock.withLock { startLiveLocationShareDurationMillisUnderlyingReturnValue = newValue } } } open var startLiveLocationShareDurationMillisClosure: ((UInt64) async throws -> String)? @@ -19427,11 +11357,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = startLiveLocationShareDurationMillisThrowableError { throw error } - startLiveLocationShareDurationMillisCallsCount += 1 + startLiveLocationShareDurationMillisCallsCountLock.withLock { startLiveLocationShareDurationMillisUnderlyingCallsCount += 1 } startLiveLocationShareDurationMillisReceivedDurationMillis = durationMillis - DispatchQueue.main.async { - self.startLiveLocationShareDurationMillisReceivedInvocations.append(durationMillis) - } + startLiveLocationShareDurationMillisReceivedInvocationsLock.withLock { startLiveLocationShareDurationMillisUnderlyingReceivedInvocations.append(durationMillis) } if let startLiveLocationShareDurationMillisClosure = startLiveLocationShareDurationMillisClosure { return try await startLiveLocationShareDurationMillisClosure(durationMillis) } else { @@ -19442,29 +11370,11 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - stopLiveLocationShare open var stopLiveLocationShareThrowableError: Error? - open var stopLiveLocationShareUnderlyingCallsCount = 0 + private let stopLiveLocationShareCallsCountLock = NSLock() + private var stopLiveLocationShareUnderlyingCallsCount = 0 open var stopLiveLocationShareCallsCount: Int { - get { - if Thread.isMainThread { - return stopLiveLocationShareUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopLiveLocationShareUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopLiveLocationShareUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopLiveLocationShareUnderlyingCallsCount = newValue - } - } - } + get { stopLiveLocationShareCallsCountLock.withLock { stopLiveLocationShareUnderlyingCallsCount } } + set { stopLiveLocationShareCallsCountLock.withLock { stopLiveLocationShareUnderlyingCallsCount = newValue } } } open var stopLiveLocationShareCalled: Bool { return stopLiveLocationShareCallsCount > 0 @@ -19475,66 +11385,40 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = stopLiveLocationShareThrowableError { throw error } - stopLiveLocationShareCallsCount += 1 + stopLiveLocationShareCallsCountLock.withLock { stopLiveLocationShareUnderlyingCallsCount += 1 } try await stopLiveLocationShareClosure?() } //MARK: - subscribeToCallDeclineEvents open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerThrowableError: Error? - open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount = 0 + private let subscribeToCallDeclineEventsRtcNotificationEventIdListenerCallsCountLock = NSLock() + private var subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount = 0 open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToCallDeclineEventsRtcNotificationEventIdListenerCallsCountLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount } } + set { subscribeToCallDeclineEventsRtcNotificationEventIdListenerCallsCountLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount = newValue } } } open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerCalled: Bool { return subscribeToCallDeclineEventsRtcNotificationEventIdListenerCallsCount > 0 } - open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedArguments: (rtcNotificationEventId: String, listener: CallDeclineListener)? - open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedInvocations: [(rtcNotificationEventId: String, listener: CallDeclineListener)] = [] + private let subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedArgumentsLock = NSLock() + private var subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReceivedArguments: (rtcNotificationEventId: String, listener: CallDeclineListener)? + open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedArguments: (rtcNotificationEventId: String, listener: CallDeclineListener)? { + get { subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedArgumentsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReceivedArguments } } + set { subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedArgumentsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReceivedArguments = newValue } } + } + private let subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedInvocationsLock = NSLock() + private var subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReceivedInvocations: [(rtcNotificationEventId: String, listener: CallDeclineListener)] = [] + open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedInvocations: [(rtcNotificationEventId: String, listener: CallDeclineListener)] { + get { subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedInvocationsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReceivedInvocations } } + set { subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedInvocationsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToCallDeclineEventsRtcNotificationEventIdListenerReturnValueLock = NSLock() open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReturnValue: TaskHandle! open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToCallDeclineEventsRtcNotificationEventIdListenerReturnValueLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReturnValue } } + set { subscribeToCallDeclineEventsRtcNotificationEventIdListenerReturnValueLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReturnValue = newValue } } } open var subscribeToCallDeclineEventsRtcNotificationEventIdListenerClosure: ((String, CallDeclineListener) throws -> TaskHandle)? @@ -19542,11 +11426,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = subscribeToCallDeclineEventsRtcNotificationEventIdListenerThrowableError { throw error } - subscribeToCallDeclineEventsRtcNotificationEventIdListenerCallsCount += 1 + subscribeToCallDeclineEventsRtcNotificationEventIdListenerCallsCountLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingCallsCount += 1 } subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedArguments = (rtcNotificationEventId: rtcNotificationEventId, listener: listener) - DispatchQueue.main.async { - self.subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedInvocations.append((rtcNotificationEventId: rtcNotificationEventId, listener: listener)) - } + subscribeToCallDeclineEventsRtcNotificationEventIdListenerReceivedInvocationsLock.withLock { subscribeToCallDeclineEventsRtcNotificationEventIdListenerUnderlyingReceivedInvocations.append((rtcNotificationEventId: rtcNotificationEventId, listener: listener)) } if let subscribeToCallDeclineEventsRtcNotificationEventIdListenerClosure = subscribeToCallDeclineEventsRtcNotificationEventIdListenerClosure { return try subscribeToCallDeclineEventsRtcNotificationEventIdListenerClosure(rtcNotificationEventId, listener) } else { @@ -19557,59 +11439,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - subscribeToIdentityStatusChanges open var subscribeToIdentityStatusChangesListenerThrowableError: Error? - open var subscribeToIdentityStatusChangesListenerUnderlyingCallsCount = 0 + private let subscribeToIdentityStatusChangesListenerCallsCountLock = NSLock() + private var subscribeToIdentityStatusChangesListenerUnderlyingCallsCount = 0 open var subscribeToIdentityStatusChangesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToIdentityStatusChangesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToIdentityStatusChangesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToIdentityStatusChangesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToIdentityStatusChangesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToIdentityStatusChangesListenerCallsCountLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingCallsCount } } + set { subscribeToIdentityStatusChangesListenerCallsCountLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingCallsCount = newValue } } } open var subscribeToIdentityStatusChangesListenerCalled: Bool { return subscribeToIdentityStatusChangesListenerCallsCount > 0 } - open var subscribeToIdentityStatusChangesListenerReceivedListener: IdentityStatusChangeListener? - open var subscribeToIdentityStatusChangesListenerReceivedInvocations: [IdentityStatusChangeListener] = [] + private let subscribeToIdentityStatusChangesListenerReceivedListenerLock = NSLock() + private var subscribeToIdentityStatusChangesListenerUnderlyingReceivedListener: IdentityStatusChangeListener? + open var subscribeToIdentityStatusChangesListenerReceivedListener: IdentityStatusChangeListener? { + get { subscribeToIdentityStatusChangesListenerReceivedListenerLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingReceivedListener } } + set { subscribeToIdentityStatusChangesListenerReceivedListenerLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToIdentityStatusChangesListenerReceivedInvocationsLock = NSLock() + private var subscribeToIdentityStatusChangesListenerUnderlyingReceivedInvocations: [IdentityStatusChangeListener] = [] + open var subscribeToIdentityStatusChangesListenerReceivedInvocations: [IdentityStatusChangeListener] { + get { subscribeToIdentityStatusChangesListenerReceivedInvocationsLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingReceivedInvocations } } + set { subscribeToIdentityStatusChangesListenerReceivedInvocationsLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToIdentityStatusChangesListenerReturnValueLock = NSLock() open var subscribeToIdentityStatusChangesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToIdentityStatusChangesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToIdentityStatusChangesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToIdentityStatusChangesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToIdentityStatusChangesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToIdentityStatusChangesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToIdentityStatusChangesListenerReturnValueLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingReturnValue } } + set { subscribeToIdentityStatusChangesListenerReturnValueLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingReturnValue = newValue } } } open var subscribeToIdentityStatusChangesListenerClosure: ((IdentityStatusChangeListener) async throws -> TaskHandle)? @@ -19617,11 +11473,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = subscribeToIdentityStatusChangesListenerThrowableError { throw error } - subscribeToIdentityStatusChangesListenerCallsCount += 1 + subscribeToIdentityStatusChangesListenerCallsCountLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingCallsCount += 1 } subscribeToIdentityStatusChangesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToIdentityStatusChangesListenerReceivedInvocations.append(listener) - } + subscribeToIdentityStatusChangesListenerReceivedInvocationsLock.withLock { subscribeToIdentityStatusChangesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToIdentityStatusChangesListenerClosure = subscribeToIdentityStatusChangesListenerClosure { return try await subscribeToIdentityStatusChangesListenerClosure(listener) } else { @@ -19632,59 +11486,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - subscribeToKnockRequests open var subscribeToKnockRequestsListenerThrowableError: Error? - open var subscribeToKnockRequestsListenerUnderlyingCallsCount = 0 + private let subscribeToKnockRequestsListenerCallsCountLock = NSLock() + private var subscribeToKnockRequestsListenerUnderlyingCallsCount = 0 open var subscribeToKnockRequestsListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToKnockRequestsListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToKnockRequestsListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToKnockRequestsListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToKnockRequestsListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToKnockRequestsListenerCallsCountLock.withLock { subscribeToKnockRequestsListenerUnderlyingCallsCount } } + set { subscribeToKnockRequestsListenerCallsCountLock.withLock { subscribeToKnockRequestsListenerUnderlyingCallsCount = newValue } } } open var subscribeToKnockRequestsListenerCalled: Bool { return subscribeToKnockRequestsListenerCallsCount > 0 } - open var subscribeToKnockRequestsListenerReceivedListener: KnockRequestsListener? - open var subscribeToKnockRequestsListenerReceivedInvocations: [KnockRequestsListener] = [] + private let subscribeToKnockRequestsListenerReceivedListenerLock = NSLock() + private var subscribeToKnockRequestsListenerUnderlyingReceivedListener: KnockRequestsListener? + open var subscribeToKnockRequestsListenerReceivedListener: KnockRequestsListener? { + get { subscribeToKnockRequestsListenerReceivedListenerLock.withLock { subscribeToKnockRequestsListenerUnderlyingReceivedListener } } + set { subscribeToKnockRequestsListenerReceivedListenerLock.withLock { subscribeToKnockRequestsListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToKnockRequestsListenerReceivedInvocationsLock = NSLock() + private var subscribeToKnockRequestsListenerUnderlyingReceivedInvocations: [KnockRequestsListener] = [] + open var subscribeToKnockRequestsListenerReceivedInvocations: [KnockRequestsListener] { + get { subscribeToKnockRequestsListenerReceivedInvocationsLock.withLock { subscribeToKnockRequestsListenerUnderlyingReceivedInvocations } } + set { subscribeToKnockRequestsListenerReceivedInvocationsLock.withLock { subscribeToKnockRequestsListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToKnockRequestsListenerReturnValueLock = NSLock() open var subscribeToKnockRequestsListenerUnderlyingReturnValue: TaskHandle! open var subscribeToKnockRequestsListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToKnockRequestsListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToKnockRequestsListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToKnockRequestsListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToKnockRequestsListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToKnockRequestsListenerReturnValueLock.withLock { subscribeToKnockRequestsListenerUnderlyingReturnValue } } + set { subscribeToKnockRequestsListenerReturnValueLock.withLock { subscribeToKnockRequestsListenerUnderlyingReturnValue = newValue } } } open var subscribeToKnockRequestsListenerClosure: ((KnockRequestsListener) async throws -> TaskHandle)? @@ -19692,11 +11520,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = subscribeToKnockRequestsListenerThrowableError { throw error } - subscribeToKnockRequestsListenerCallsCount += 1 + subscribeToKnockRequestsListenerCallsCountLock.withLock { subscribeToKnockRequestsListenerUnderlyingCallsCount += 1 } subscribeToKnockRequestsListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToKnockRequestsListenerReceivedInvocations.append(listener) - } + subscribeToKnockRequestsListenerReceivedInvocationsLock.withLock { subscribeToKnockRequestsListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToKnockRequestsListenerClosure = subscribeToKnockRequestsListenerClosure { return try await subscribeToKnockRequestsListenerClosure(listener) } else { @@ -19706,68 +11532,40 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - subscribeToRoomInfoUpdates - open var subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount = 0 + private let subscribeToRoomInfoUpdatesListenerCallsCountLock = NSLock() + private var subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount = 0 open var subscribeToRoomInfoUpdatesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToRoomInfoUpdatesListenerCallsCountLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount } } + set { subscribeToRoomInfoUpdatesListenerCallsCountLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount = newValue } } } open var subscribeToRoomInfoUpdatesListenerCalled: Bool { return subscribeToRoomInfoUpdatesListenerCallsCount > 0 } - open var subscribeToRoomInfoUpdatesListenerReceivedListener: RoomInfoListener? - open var subscribeToRoomInfoUpdatesListenerReceivedInvocations: [RoomInfoListener] = [] + private let subscribeToRoomInfoUpdatesListenerReceivedListenerLock = NSLock() + private var subscribeToRoomInfoUpdatesListenerUnderlyingReceivedListener: RoomInfoListener? + open var subscribeToRoomInfoUpdatesListenerReceivedListener: RoomInfoListener? { + get { subscribeToRoomInfoUpdatesListenerReceivedListenerLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingReceivedListener } } + set { subscribeToRoomInfoUpdatesListenerReceivedListenerLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToRoomInfoUpdatesListenerReceivedInvocationsLock = NSLock() + private var subscribeToRoomInfoUpdatesListenerUnderlyingReceivedInvocations: [RoomInfoListener] = [] + open var subscribeToRoomInfoUpdatesListenerReceivedInvocations: [RoomInfoListener] { + get { subscribeToRoomInfoUpdatesListenerReceivedInvocationsLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingReceivedInvocations } } + set { subscribeToRoomInfoUpdatesListenerReceivedInvocationsLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToRoomInfoUpdatesListenerReturnValueLock = NSLock() open var subscribeToRoomInfoUpdatesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToRoomInfoUpdatesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToRoomInfoUpdatesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToRoomInfoUpdatesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToRoomInfoUpdatesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToRoomInfoUpdatesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToRoomInfoUpdatesListenerReturnValueLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingReturnValue } } + set { subscribeToRoomInfoUpdatesListenerReturnValueLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingReturnValue = newValue } } } open var subscribeToRoomInfoUpdatesListenerClosure: ((RoomInfoListener) -> TaskHandle)? open override func subscribeToRoomInfoUpdates(listener: RoomInfoListener) -> TaskHandle { - subscribeToRoomInfoUpdatesListenerCallsCount += 1 + subscribeToRoomInfoUpdatesListenerCallsCountLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingCallsCount += 1 } subscribeToRoomInfoUpdatesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToRoomInfoUpdatesListenerReceivedInvocations.append(listener) - } + subscribeToRoomInfoUpdatesListenerReceivedInvocationsLock.withLock { subscribeToRoomInfoUpdatesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToRoomInfoUpdatesListenerClosure = subscribeToRoomInfoUpdatesListenerClosure { return subscribeToRoomInfoUpdatesListenerClosure(listener) } else { @@ -19778,59 +11576,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - subscribeToSendQueueUpdates open var subscribeToSendQueueUpdatesListenerThrowableError: Error? - open var subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = 0 + private let subscribeToSendQueueUpdatesListenerCallsCountLock = NSLock() + private var subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = 0 open var subscribeToSendQueueUpdatesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToSendQueueUpdatesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSendQueueUpdatesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToSendQueueUpdatesListenerCallsCountLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingCallsCount } } + set { subscribeToSendQueueUpdatesListenerCallsCountLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingCallsCount = newValue } } } open var subscribeToSendQueueUpdatesListenerCalled: Bool { return subscribeToSendQueueUpdatesListenerCallsCount > 0 } - open var subscribeToSendQueueUpdatesListenerReceivedListener: SendQueueListener? - open var subscribeToSendQueueUpdatesListenerReceivedInvocations: [SendQueueListener] = [] + private let subscribeToSendQueueUpdatesListenerReceivedListenerLock = NSLock() + private var subscribeToSendQueueUpdatesListenerUnderlyingReceivedListener: SendQueueListener? + open var subscribeToSendQueueUpdatesListenerReceivedListener: SendQueueListener? { + get { subscribeToSendQueueUpdatesListenerReceivedListenerLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedListener } } + set { subscribeToSendQueueUpdatesListenerReceivedListenerLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToSendQueueUpdatesListenerReceivedInvocationsLock = NSLock() + private var subscribeToSendQueueUpdatesListenerUnderlyingReceivedInvocations: [SendQueueListener] = [] + open var subscribeToSendQueueUpdatesListenerReceivedInvocations: [SendQueueListener] { + get { subscribeToSendQueueUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedInvocations } } + set { subscribeToSendQueueUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToSendQueueUpdatesListenerReturnValueLock = NSLock() open var subscribeToSendQueueUpdatesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToSendQueueUpdatesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToSendQueueUpdatesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSendQueueUpdatesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSendQueueUpdatesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToSendQueueUpdatesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToSendQueueUpdatesListenerReturnValueLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReturnValue } } + set { subscribeToSendQueueUpdatesListenerReturnValueLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReturnValue = newValue } } } open var subscribeToSendQueueUpdatesListenerClosure: ((SendQueueListener) async throws -> TaskHandle)? @@ -19838,11 +11610,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = subscribeToSendQueueUpdatesListenerThrowableError { throw error } - subscribeToSendQueueUpdatesListenerCallsCount += 1 + subscribeToSendQueueUpdatesListenerCallsCountLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingCallsCount += 1 } subscribeToSendQueueUpdatesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToSendQueueUpdatesListenerReceivedInvocations.append(listener) - } + subscribeToSendQueueUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSendQueueUpdatesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToSendQueueUpdatesListenerClosure = subscribeToSendQueueUpdatesListenerClosure { return try await subscribeToSendQueueUpdatesListenerClosure(listener) } else { @@ -19852,68 +11622,40 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - subscribeToTypingNotifications - open var subscribeToTypingNotificationsListenerUnderlyingCallsCount = 0 + private let subscribeToTypingNotificationsListenerCallsCountLock = NSLock() + private var subscribeToTypingNotificationsListenerUnderlyingCallsCount = 0 open var subscribeToTypingNotificationsListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToTypingNotificationsListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToTypingNotificationsListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToTypingNotificationsListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToTypingNotificationsListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToTypingNotificationsListenerCallsCountLock.withLock { subscribeToTypingNotificationsListenerUnderlyingCallsCount } } + set { subscribeToTypingNotificationsListenerCallsCountLock.withLock { subscribeToTypingNotificationsListenerUnderlyingCallsCount = newValue } } } open var subscribeToTypingNotificationsListenerCalled: Bool { return subscribeToTypingNotificationsListenerCallsCount > 0 } - open var subscribeToTypingNotificationsListenerReceivedListener: TypingNotificationsListener? - open var subscribeToTypingNotificationsListenerReceivedInvocations: [TypingNotificationsListener] = [] + private let subscribeToTypingNotificationsListenerReceivedListenerLock = NSLock() + private var subscribeToTypingNotificationsListenerUnderlyingReceivedListener: TypingNotificationsListener? + open var subscribeToTypingNotificationsListenerReceivedListener: TypingNotificationsListener? { + get { subscribeToTypingNotificationsListenerReceivedListenerLock.withLock { subscribeToTypingNotificationsListenerUnderlyingReceivedListener } } + set { subscribeToTypingNotificationsListenerReceivedListenerLock.withLock { subscribeToTypingNotificationsListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToTypingNotificationsListenerReceivedInvocationsLock = NSLock() + private var subscribeToTypingNotificationsListenerUnderlyingReceivedInvocations: [TypingNotificationsListener] = [] + open var subscribeToTypingNotificationsListenerReceivedInvocations: [TypingNotificationsListener] { + get { subscribeToTypingNotificationsListenerReceivedInvocationsLock.withLock { subscribeToTypingNotificationsListenerUnderlyingReceivedInvocations } } + set { subscribeToTypingNotificationsListenerReceivedInvocationsLock.withLock { subscribeToTypingNotificationsListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToTypingNotificationsListenerReturnValueLock = NSLock() open var subscribeToTypingNotificationsListenerUnderlyingReturnValue: TaskHandle! open var subscribeToTypingNotificationsListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToTypingNotificationsListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToTypingNotificationsListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToTypingNotificationsListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToTypingNotificationsListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToTypingNotificationsListenerReturnValueLock.withLock { subscribeToTypingNotificationsListenerUnderlyingReturnValue } } + set { subscribeToTypingNotificationsListenerReturnValueLock.withLock { subscribeToTypingNotificationsListenerUnderlyingReturnValue = newValue } } } open var subscribeToTypingNotificationsListenerClosure: ((TypingNotificationsListener) -> TaskHandle)? open override func subscribeToTypingNotifications(listener: TypingNotificationsListener) -> TaskHandle { - subscribeToTypingNotificationsListenerCallsCount += 1 + subscribeToTypingNotificationsListenerCallsCountLock.withLock { subscribeToTypingNotificationsListenerUnderlyingCallsCount += 1 } subscribeToTypingNotificationsListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToTypingNotificationsListenerReceivedInvocations.append(listener) - } + subscribeToTypingNotificationsListenerReceivedInvocationsLock.withLock { subscribeToTypingNotificationsListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToTypingNotificationsListenerClosure = subscribeToTypingNotificationsListenerClosure { return subscribeToTypingNotificationsListenerClosure(listener) } else { @@ -19923,62 +11665,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - successorRoom - open var successorRoomUnderlyingCallsCount = 0 + private let successorRoomCallsCountLock = NSLock() + private var successorRoomUnderlyingCallsCount = 0 open var successorRoomCallsCount: Int { - get { - if Thread.isMainThread { - return successorRoomUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = successorRoomUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - successorRoomUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - successorRoomUnderlyingCallsCount = newValue - } - } - } + get { successorRoomCallsCountLock.withLock { successorRoomUnderlyingCallsCount } } + set { successorRoomCallsCountLock.withLock { successorRoomUnderlyingCallsCount = newValue } } } open var successorRoomCalled: Bool { return successorRoomCallsCount > 0 } + private let successorRoomReturnValueLock = NSLock() open var successorRoomUnderlyingReturnValue: SuccessorRoom? open var successorRoomReturnValue: SuccessorRoom? { - get { - if Thread.isMainThread { - return successorRoomUnderlyingReturnValue - } else { - var returnValue: SuccessorRoom?? = nil - DispatchQueue.main.sync { - returnValue = successorRoomUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - successorRoomUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - successorRoomUnderlyingReturnValue = newValue - } - } - } + get { successorRoomReturnValueLock.withLock { successorRoomUnderlyingReturnValue } } + set { successorRoomReturnValueLock.withLock { successorRoomUnderlyingReturnValue = newValue } } } open var successorRoomClosure: (() -> SuccessorRoom?)? open override func successorRoom() -> SuccessorRoom? { - successorRoomCallsCount += 1 + successorRoomCallsCountLock.withLock { successorRoomUnderlyingCallsCount += 1 } if let successorRoomClosure = successorRoomClosure { return successorRoomClosure() } else { @@ -19989,59 +11695,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - suggestedRoleForUser open var suggestedRoleForUserUserIdThrowableError: Error? - open var suggestedRoleForUserUserIdUnderlyingCallsCount = 0 + private let suggestedRoleForUserUserIdCallsCountLock = NSLock() + private var suggestedRoleForUserUserIdUnderlyingCallsCount = 0 open var suggestedRoleForUserUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return suggestedRoleForUserUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = suggestedRoleForUserUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - suggestedRoleForUserUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - suggestedRoleForUserUserIdUnderlyingCallsCount = newValue - } - } - } + get { suggestedRoleForUserUserIdCallsCountLock.withLock { suggestedRoleForUserUserIdUnderlyingCallsCount } } + set { suggestedRoleForUserUserIdCallsCountLock.withLock { suggestedRoleForUserUserIdUnderlyingCallsCount = newValue } } } open var suggestedRoleForUserUserIdCalled: Bool { return suggestedRoleForUserUserIdCallsCount > 0 } - open var suggestedRoleForUserUserIdReceivedUserId: String? - open var suggestedRoleForUserUserIdReceivedInvocations: [String] = [] + private let suggestedRoleForUserUserIdReceivedUserIdLock = NSLock() + private var suggestedRoleForUserUserIdUnderlyingReceivedUserId: String? + open var suggestedRoleForUserUserIdReceivedUserId: String? { + get { suggestedRoleForUserUserIdReceivedUserIdLock.withLock { suggestedRoleForUserUserIdUnderlyingReceivedUserId } } + set { suggestedRoleForUserUserIdReceivedUserIdLock.withLock { suggestedRoleForUserUserIdUnderlyingReceivedUserId = newValue } } + } + private let suggestedRoleForUserUserIdReceivedInvocationsLock = NSLock() + private var suggestedRoleForUserUserIdUnderlyingReceivedInvocations: [String] = [] + open var suggestedRoleForUserUserIdReceivedInvocations: [String] { + get { suggestedRoleForUserUserIdReceivedInvocationsLock.withLock { suggestedRoleForUserUserIdUnderlyingReceivedInvocations } } + set { suggestedRoleForUserUserIdReceivedInvocationsLock.withLock { suggestedRoleForUserUserIdUnderlyingReceivedInvocations = newValue } } + } + private let suggestedRoleForUserUserIdReturnValueLock = NSLock() open var suggestedRoleForUserUserIdUnderlyingReturnValue: RoomMemberRole! open var suggestedRoleForUserUserIdReturnValue: RoomMemberRole! { - get { - if Thread.isMainThread { - return suggestedRoleForUserUserIdUnderlyingReturnValue - } else { - var returnValue: RoomMemberRole? = nil - DispatchQueue.main.sync { - returnValue = suggestedRoleForUserUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - suggestedRoleForUserUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - suggestedRoleForUserUserIdUnderlyingReturnValue = newValue - } - } - } + get { suggestedRoleForUserUserIdReturnValueLock.withLock { suggestedRoleForUserUserIdUnderlyingReturnValue } } + set { suggestedRoleForUserUserIdReturnValueLock.withLock { suggestedRoleForUserUserIdUnderlyingReturnValue = newValue } } } open var suggestedRoleForUserUserIdClosure: ((String) async throws -> RoomMemberRole)? @@ -20049,11 +11729,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = suggestedRoleForUserUserIdThrowableError { throw error } - suggestedRoleForUserUserIdCallsCount += 1 + suggestedRoleForUserUserIdCallsCountLock.withLock { suggestedRoleForUserUserIdUnderlyingCallsCount += 1 } suggestedRoleForUserUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.suggestedRoleForUserUserIdReceivedInvocations.append(userId) - } + suggestedRoleForUserUserIdReceivedInvocationsLock.withLock { suggestedRoleForUserUserIdUnderlyingReceivedInvocations.append(userId) } if let suggestedRoleForUserUserIdClosure = suggestedRoleForUserUserIdClosure { return try await suggestedRoleForUserUserIdClosure(userId) } else { @@ -20063,62 +11741,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - threadListService - open var threadListServiceUnderlyingCallsCount = 0 + private let threadListServiceCallsCountLock = NSLock() + private var threadListServiceUnderlyingCallsCount = 0 open var threadListServiceCallsCount: Int { - get { - if Thread.isMainThread { - return threadListServiceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = threadListServiceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadListServiceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - threadListServiceUnderlyingCallsCount = newValue - } - } - } + get { threadListServiceCallsCountLock.withLock { threadListServiceUnderlyingCallsCount } } + set { threadListServiceCallsCountLock.withLock { threadListServiceUnderlyingCallsCount = newValue } } } open var threadListServiceCalled: Bool { return threadListServiceCallsCount > 0 } + private let threadListServiceReturnValueLock = NSLock() open var threadListServiceUnderlyingReturnValue: ThreadListService! open var threadListServiceReturnValue: ThreadListService! { - get { - if Thread.isMainThread { - return threadListServiceUnderlyingReturnValue - } else { - var returnValue: ThreadListService? = nil - DispatchQueue.main.sync { - returnValue = threadListServiceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadListServiceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - threadListServiceUnderlyingReturnValue = newValue - } - } - } + get { threadListServiceReturnValueLock.withLock { threadListServiceUnderlyingReturnValue } } + set { threadListServiceReturnValueLock.withLock { threadListServiceUnderlyingReturnValue = newValue } } } open var threadListServiceClosure: (() -> ThreadListService)? open override func threadListService() -> ThreadListService { - threadListServiceCallsCount += 1 + threadListServiceCallsCountLock.withLock { threadListServiceUnderlyingCallsCount += 1 } if let threadListServiceClosure = threadListServiceClosure { return threadListServiceClosure() } else { @@ -20129,57 +11771,21 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - timeline open var timelineThrowableError: Error? - open var timelineUnderlyingCallsCount = 0 + private let timelineCallsCountLock = NSLock() + private var timelineUnderlyingCallsCount = 0 open var timelineCallsCount: Int { - get { - if Thread.isMainThread { - return timelineUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = timelineUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - timelineUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - timelineUnderlyingCallsCount = newValue - } - } - } + get { timelineCallsCountLock.withLock { timelineUnderlyingCallsCount } } + set { timelineCallsCountLock.withLock { timelineUnderlyingCallsCount = newValue } } } open var timelineCalled: Bool { return timelineCallsCount > 0 } + private let timelineReturnValueLock = NSLock() open var timelineUnderlyingReturnValue: Timeline! open var timelineReturnValue: Timeline! { - get { - if Thread.isMainThread { - return timelineUnderlyingReturnValue - } else { - var returnValue: Timeline? = nil - DispatchQueue.main.sync { - returnValue = timelineUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - timelineUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - timelineUnderlyingReturnValue = newValue - } - } - } + get { timelineReturnValueLock.withLock { timelineUnderlyingReturnValue } } + set { timelineReturnValueLock.withLock { timelineUnderlyingReturnValue = newValue } } } open var timelineClosure: (() async throws -> Timeline)? @@ -20187,7 +11793,7 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = timelineThrowableError { throw error } - timelineCallsCount += 1 + timelineCallsCountLock.withLock { timelineUnderlyingCallsCount += 1 } if let timelineClosure = timelineClosure { return try await timelineClosure() } else { @@ -20198,59 +11804,33 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - timelineWithConfiguration open var timelineWithConfigurationConfigurationThrowableError: Error? - open var timelineWithConfigurationConfigurationUnderlyingCallsCount = 0 + private let timelineWithConfigurationConfigurationCallsCountLock = NSLock() + private var timelineWithConfigurationConfigurationUnderlyingCallsCount = 0 open var timelineWithConfigurationConfigurationCallsCount: Int { - get { - if Thread.isMainThread { - return timelineWithConfigurationConfigurationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = timelineWithConfigurationConfigurationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - timelineWithConfigurationConfigurationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - timelineWithConfigurationConfigurationUnderlyingCallsCount = newValue - } - } - } + get { timelineWithConfigurationConfigurationCallsCountLock.withLock { timelineWithConfigurationConfigurationUnderlyingCallsCount } } + set { timelineWithConfigurationConfigurationCallsCountLock.withLock { timelineWithConfigurationConfigurationUnderlyingCallsCount = newValue } } } open var timelineWithConfigurationConfigurationCalled: Bool { return timelineWithConfigurationConfigurationCallsCount > 0 } - open var timelineWithConfigurationConfigurationReceivedConfiguration: TimelineConfiguration? - open var timelineWithConfigurationConfigurationReceivedInvocations: [TimelineConfiguration] = [] + private let timelineWithConfigurationConfigurationReceivedConfigurationLock = NSLock() + private var timelineWithConfigurationConfigurationUnderlyingReceivedConfiguration: TimelineConfiguration? + open var timelineWithConfigurationConfigurationReceivedConfiguration: TimelineConfiguration? { + get { timelineWithConfigurationConfigurationReceivedConfigurationLock.withLock { timelineWithConfigurationConfigurationUnderlyingReceivedConfiguration } } + set { timelineWithConfigurationConfigurationReceivedConfigurationLock.withLock { timelineWithConfigurationConfigurationUnderlyingReceivedConfiguration = newValue } } + } + private let timelineWithConfigurationConfigurationReceivedInvocationsLock = NSLock() + private var timelineWithConfigurationConfigurationUnderlyingReceivedInvocations: [TimelineConfiguration] = [] + open var timelineWithConfigurationConfigurationReceivedInvocations: [TimelineConfiguration] { + get { timelineWithConfigurationConfigurationReceivedInvocationsLock.withLock { timelineWithConfigurationConfigurationUnderlyingReceivedInvocations } } + set { timelineWithConfigurationConfigurationReceivedInvocationsLock.withLock { timelineWithConfigurationConfigurationUnderlyingReceivedInvocations = newValue } } + } + private let timelineWithConfigurationConfigurationReturnValueLock = NSLock() open var timelineWithConfigurationConfigurationUnderlyingReturnValue: Timeline! open var timelineWithConfigurationConfigurationReturnValue: Timeline! { - get { - if Thread.isMainThread { - return timelineWithConfigurationConfigurationUnderlyingReturnValue - } else { - var returnValue: Timeline? = nil - DispatchQueue.main.sync { - returnValue = timelineWithConfigurationConfigurationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - timelineWithConfigurationConfigurationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - timelineWithConfigurationConfigurationUnderlyingReturnValue = newValue - } - } - } + get { timelineWithConfigurationConfigurationReturnValueLock.withLock { timelineWithConfigurationConfigurationUnderlyingReturnValue } } + set { timelineWithConfigurationConfigurationReturnValueLock.withLock { timelineWithConfigurationConfigurationUnderlyingReturnValue = newValue } } } open var timelineWithConfigurationConfigurationClosure: ((TimelineConfiguration) async throws -> Timeline)? @@ -20258,11 +11838,9 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { if let error = timelineWithConfigurationConfigurationThrowableError { throw error } - timelineWithConfigurationConfigurationCallsCount += 1 + timelineWithConfigurationConfigurationCallsCountLock.withLock { timelineWithConfigurationConfigurationUnderlyingCallsCount += 1 } timelineWithConfigurationConfigurationReceivedConfiguration = configuration - DispatchQueue.main.async { - self.timelineWithConfigurationConfigurationReceivedInvocations.append(configuration) - } + timelineWithConfigurationConfigurationReceivedInvocationsLock.withLock { timelineWithConfigurationConfigurationUnderlyingReceivedInvocations.append(configuration) } if let timelineWithConfigurationConfigurationClosure = timelineWithConfigurationConfigurationClosure { return try await timelineWithConfigurationConfigurationClosure(configuration) } else { @@ -20272,62 +11850,26 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - topic - open var topicUnderlyingCallsCount = 0 + private let topicCallsCountLock = NSLock() + private var topicUnderlyingCallsCount = 0 open var topicCallsCount: Int { - get { - if Thread.isMainThread { - return topicUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = topicUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - topicUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - topicUnderlyingCallsCount = newValue - } - } - } + get { topicCallsCountLock.withLock { topicUnderlyingCallsCount } } + set { topicCallsCountLock.withLock { topicUnderlyingCallsCount = newValue } } } open var topicCalled: Bool { return topicCallsCount > 0 } + private let topicReturnValueLock = NSLock() open var topicUnderlyingReturnValue: String? open var topicReturnValue: String? { - get { - if Thread.isMainThread { - return topicUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = topicUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - topicUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - topicUnderlyingReturnValue = newValue - } - } - } + get { topicReturnValueLock.withLock { topicUnderlyingReturnValue } } + set { topicReturnValueLock.withLock { topicUnderlyingReturnValue = newValue } } } open var topicClosure: (() -> String?)? open override func topic() -> String? { - topicCallsCount += 1 + topicCallsCountLock.withLock { topicUnderlyingCallsCount += 1 } if let topicClosure = topicClosure { return topicClosure() } else { @@ -20338,481 +11880,363 @@ open class RoomSDKMock: MatrixRustSDK.Room, @unchecked Sendable { //MARK: - typingNotice open var typingNoticeIsTypingThrowableError: Error? - open var typingNoticeIsTypingUnderlyingCallsCount = 0 + private let typingNoticeIsTypingCallsCountLock = NSLock() + private var typingNoticeIsTypingUnderlyingCallsCount = 0 open var typingNoticeIsTypingCallsCount: Int { - get { - if Thread.isMainThread { - return typingNoticeIsTypingUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = typingNoticeIsTypingUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - typingNoticeIsTypingUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - typingNoticeIsTypingUnderlyingCallsCount = newValue - } - } - } + get { typingNoticeIsTypingCallsCountLock.withLock { typingNoticeIsTypingUnderlyingCallsCount } } + set { typingNoticeIsTypingCallsCountLock.withLock { typingNoticeIsTypingUnderlyingCallsCount = newValue } } } open var typingNoticeIsTypingCalled: Bool { return typingNoticeIsTypingCallsCount > 0 } - open var typingNoticeIsTypingReceivedIsTyping: Bool? - open var typingNoticeIsTypingReceivedInvocations: [Bool] = [] + private let typingNoticeIsTypingReceivedIsTypingLock = NSLock() + private var typingNoticeIsTypingUnderlyingReceivedIsTyping: Bool? + open var typingNoticeIsTypingReceivedIsTyping: Bool? { + get { typingNoticeIsTypingReceivedIsTypingLock.withLock { typingNoticeIsTypingUnderlyingReceivedIsTyping } } + set { typingNoticeIsTypingReceivedIsTypingLock.withLock { typingNoticeIsTypingUnderlyingReceivedIsTyping = newValue } } + } + private let typingNoticeIsTypingReceivedInvocationsLock = NSLock() + private var typingNoticeIsTypingUnderlyingReceivedInvocations: [Bool] = [] + open var typingNoticeIsTypingReceivedInvocations: [Bool] { + get { typingNoticeIsTypingReceivedInvocationsLock.withLock { typingNoticeIsTypingUnderlyingReceivedInvocations } } + set { typingNoticeIsTypingReceivedInvocationsLock.withLock { typingNoticeIsTypingUnderlyingReceivedInvocations = newValue } } + } open var typingNoticeIsTypingClosure: ((Bool) async throws -> Void)? open override func typingNotice(isTyping: Bool) async throws { if let error = typingNoticeIsTypingThrowableError { throw error } - typingNoticeIsTypingCallsCount += 1 + typingNoticeIsTypingCallsCountLock.withLock { typingNoticeIsTypingUnderlyingCallsCount += 1 } typingNoticeIsTypingReceivedIsTyping = isTyping - DispatchQueue.main.async { - self.typingNoticeIsTypingReceivedInvocations.append(isTyping) - } + typingNoticeIsTypingReceivedInvocationsLock.withLock { typingNoticeIsTypingUnderlyingReceivedInvocations.append(isTyping) } try await typingNoticeIsTypingClosure?(isTyping) } //MARK: - unbanUser open var unbanUserUserIdReasonThrowableError: Error? - open var unbanUserUserIdReasonUnderlyingCallsCount = 0 + private let unbanUserUserIdReasonCallsCountLock = NSLock() + private var unbanUserUserIdReasonUnderlyingCallsCount = 0 open var unbanUserUserIdReasonCallsCount: Int { - get { - if Thread.isMainThread { - return unbanUserUserIdReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unbanUserUserIdReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unbanUserUserIdReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unbanUserUserIdReasonUnderlyingCallsCount = newValue - } - } - } + get { unbanUserUserIdReasonCallsCountLock.withLock { unbanUserUserIdReasonUnderlyingCallsCount } } + set { unbanUserUserIdReasonCallsCountLock.withLock { unbanUserUserIdReasonUnderlyingCallsCount = newValue } } } open var unbanUserUserIdReasonCalled: Bool { return unbanUserUserIdReasonCallsCount > 0 } - open var unbanUserUserIdReasonReceivedArguments: (userId: String, reason: String?)? - open var unbanUserUserIdReasonReceivedInvocations: [(userId: String, reason: String?)] = [] + private let unbanUserUserIdReasonReceivedArgumentsLock = NSLock() + private var unbanUserUserIdReasonUnderlyingReceivedArguments: (userId: String, reason: String?)? + open var unbanUserUserIdReasonReceivedArguments: (userId: String, reason: String?)? { + get { unbanUserUserIdReasonReceivedArgumentsLock.withLock { unbanUserUserIdReasonUnderlyingReceivedArguments } } + set { unbanUserUserIdReasonReceivedArgumentsLock.withLock { unbanUserUserIdReasonUnderlyingReceivedArguments = newValue } } + } + private let unbanUserUserIdReasonReceivedInvocationsLock = NSLock() + private var unbanUserUserIdReasonUnderlyingReceivedInvocations: [(userId: String, reason: String?)] = [] + open var unbanUserUserIdReasonReceivedInvocations: [(userId: String, reason: String?)] { + get { unbanUserUserIdReasonReceivedInvocationsLock.withLock { unbanUserUserIdReasonUnderlyingReceivedInvocations } } + set { unbanUserUserIdReasonReceivedInvocationsLock.withLock { unbanUserUserIdReasonUnderlyingReceivedInvocations = newValue } } + } open var unbanUserUserIdReasonClosure: ((String, String?) async throws -> Void)? open override func unbanUser(userId: String, reason: String?) async throws { if let error = unbanUserUserIdReasonThrowableError { throw error } - unbanUserUserIdReasonCallsCount += 1 + unbanUserUserIdReasonCallsCountLock.withLock { unbanUserUserIdReasonUnderlyingCallsCount += 1 } unbanUserUserIdReasonReceivedArguments = (userId: userId, reason: reason) - DispatchQueue.main.async { - self.unbanUserUserIdReasonReceivedInvocations.append((userId: userId, reason: reason)) - } + unbanUserUserIdReasonReceivedInvocationsLock.withLock { unbanUserUserIdReasonUnderlyingReceivedInvocations.append((userId: userId, reason: reason)) } try await unbanUserUserIdReasonClosure?(userId, reason) } //MARK: - updateCanonicalAlias open var updateCanonicalAliasAliasAltAliasesThrowableError: Error? - open var updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount = 0 + private let updateCanonicalAliasAliasAltAliasesCallsCountLock = NSLock() + private var updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount = 0 open var updateCanonicalAliasAliasAltAliasesCallsCount: Int { - get { - if Thread.isMainThread { - return updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount = newValue - } - } - } + get { updateCanonicalAliasAliasAltAliasesCallsCountLock.withLock { updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount } } + set { updateCanonicalAliasAliasAltAliasesCallsCountLock.withLock { updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount = newValue } } } open var updateCanonicalAliasAliasAltAliasesCalled: Bool { return updateCanonicalAliasAliasAltAliasesCallsCount > 0 } - open var updateCanonicalAliasAliasAltAliasesReceivedArguments: (alias: String?, altAliases: [String])? - open var updateCanonicalAliasAliasAltAliasesReceivedInvocations: [(alias: String?, altAliases: [String])] = [] + private let updateCanonicalAliasAliasAltAliasesReceivedArgumentsLock = NSLock() + private var updateCanonicalAliasAliasAltAliasesUnderlyingReceivedArguments: (alias: String?, altAliases: [String])? + open var updateCanonicalAliasAliasAltAliasesReceivedArguments: (alias: String?, altAliases: [String])? { + get { updateCanonicalAliasAliasAltAliasesReceivedArgumentsLock.withLock { updateCanonicalAliasAliasAltAliasesUnderlyingReceivedArguments } } + set { updateCanonicalAliasAliasAltAliasesReceivedArgumentsLock.withLock { updateCanonicalAliasAliasAltAliasesUnderlyingReceivedArguments = newValue } } + } + private let updateCanonicalAliasAliasAltAliasesReceivedInvocationsLock = NSLock() + private var updateCanonicalAliasAliasAltAliasesUnderlyingReceivedInvocations: [(alias: String?, altAliases: [String])] = [] + open var updateCanonicalAliasAliasAltAliasesReceivedInvocations: [(alias: String?, altAliases: [String])] { + get { updateCanonicalAliasAliasAltAliasesReceivedInvocationsLock.withLock { updateCanonicalAliasAliasAltAliasesUnderlyingReceivedInvocations } } + set { updateCanonicalAliasAliasAltAliasesReceivedInvocationsLock.withLock { updateCanonicalAliasAliasAltAliasesUnderlyingReceivedInvocations = newValue } } + } open var updateCanonicalAliasAliasAltAliasesClosure: ((String?, [String]) async throws -> Void)? open override func updateCanonicalAlias(alias: String?, altAliases: [String]) async throws { if let error = updateCanonicalAliasAliasAltAliasesThrowableError { throw error } - updateCanonicalAliasAliasAltAliasesCallsCount += 1 + updateCanonicalAliasAliasAltAliasesCallsCountLock.withLock { updateCanonicalAliasAliasAltAliasesUnderlyingCallsCount += 1 } updateCanonicalAliasAliasAltAliasesReceivedArguments = (alias: alias, altAliases: altAliases) - DispatchQueue.main.async { - self.updateCanonicalAliasAliasAltAliasesReceivedInvocations.append((alias: alias, altAliases: altAliases)) - } + updateCanonicalAliasAliasAltAliasesReceivedInvocationsLock.withLock { updateCanonicalAliasAliasAltAliasesUnderlyingReceivedInvocations.append((alias: alias, altAliases: altAliases)) } try await updateCanonicalAliasAliasAltAliasesClosure?(alias, altAliases) } //MARK: - updateHistoryVisibility open var updateHistoryVisibilityVisibilityThrowableError: Error? - open var updateHistoryVisibilityVisibilityUnderlyingCallsCount = 0 + private let updateHistoryVisibilityVisibilityCallsCountLock = NSLock() + private var updateHistoryVisibilityVisibilityUnderlyingCallsCount = 0 open var updateHistoryVisibilityVisibilityCallsCount: Int { - get { - if Thread.isMainThread { - return updateHistoryVisibilityVisibilityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateHistoryVisibilityVisibilityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateHistoryVisibilityVisibilityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateHistoryVisibilityVisibilityUnderlyingCallsCount = newValue - } - } - } + get { updateHistoryVisibilityVisibilityCallsCountLock.withLock { updateHistoryVisibilityVisibilityUnderlyingCallsCount } } + set { updateHistoryVisibilityVisibilityCallsCountLock.withLock { updateHistoryVisibilityVisibilityUnderlyingCallsCount = newValue } } } open var updateHistoryVisibilityVisibilityCalled: Bool { return updateHistoryVisibilityVisibilityCallsCount > 0 } - open var updateHistoryVisibilityVisibilityReceivedVisibility: RoomHistoryVisibility? - open var updateHistoryVisibilityVisibilityReceivedInvocations: [RoomHistoryVisibility] = [] + private let updateHistoryVisibilityVisibilityReceivedVisibilityLock = NSLock() + private var updateHistoryVisibilityVisibilityUnderlyingReceivedVisibility: RoomHistoryVisibility? + open var updateHistoryVisibilityVisibilityReceivedVisibility: RoomHistoryVisibility? { + get { updateHistoryVisibilityVisibilityReceivedVisibilityLock.withLock { updateHistoryVisibilityVisibilityUnderlyingReceivedVisibility } } + set { updateHistoryVisibilityVisibilityReceivedVisibilityLock.withLock { updateHistoryVisibilityVisibilityUnderlyingReceivedVisibility = newValue } } + } + private let updateHistoryVisibilityVisibilityReceivedInvocationsLock = NSLock() + private var updateHistoryVisibilityVisibilityUnderlyingReceivedInvocations: [RoomHistoryVisibility] = [] + open var updateHistoryVisibilityVisibilityReceivedInvocations: [RoomHistoryVisibility] { + get { updateHistoryVisibilityVisibilityReceivedInvocationsLock.withLock { updateHistoryVisibilityVisibilityUnderlyingReceivedInvocations } } + set { updateHistoryVisibilityVisibilityReceivedInvocationsLock.withLock { updateHistoryVisibilityVisibilityUnderlyingReceivedInvocations = newValue } } + } open var updateHistoryVisibilityVisibilityClosure: ((RoomHistoryVisibility) async throws -> Void)? open override func updateHistoryVisibility(visibility: RoomHistoryVisibility) async throws { if let error = updateHistoryVisibilityVisibilityThrowableError { throw error } - updateHistoryVisibilityVisibilityCallsCount += 1 + updateHistoryVisibilityVisibilityCallsCountLock.withLock { updateHistoryVisibilityVisibilityUnderlyingCallsCount += 1 } updateHistoryVisibilityVisibilityReceivedVisibility = visibility - DispatchQueue.main.async { - self.updateHistoryVisibilityVisibilityReceivedInvocations.append(visibility) - } + updateHistoryVisibilityVisibilityReceivedInvocationsLock.withLock { updateHistoryVisibilityVisibilityUnderlyingReceivedInvocations.append(visibility) } try await updateHistoryVisibilityVisibilityClosure?(visibility) } //MARK: - updateJoinRules open var updateJoinRulesNewRuleThrowableError: Error? - open var updateJoinRulesNewRuleUnderlyingCallsCount = 0 + private let updateJoinRulesNewRuleCallsCountLock = NSLock() + private var updateJoinRulesNewRuleUnderlyingCallsCount = 0 open var updateJoinRulesNewRuleCallsCount: Int { - get { - if Thread.isMainThread { - return updateJoinRulesNewRuleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateJoinRulesNewRuleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateJoinRulesNewRuleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateJoinRulesNewRuleUnderlyingCallsCount = newValue - } - } - } + get { updateJoinRulesNewRuleCallsCountLock.withLock { updateJoinRulesNewRuleUnderlyingCallsCount } } + set { updateJoinRulesNewRuleCallsCountLock.withLock { updateJoinRulesNewRuleUnderlyingCallsCount = newValue } } } open var updateJoinRulesNewRuleCalled: Bool { return updateJoinRulesNewRuleCallsCount > 0 } - open var updateJoinRulesNewRuleReceivedNewRule: JoinRule? - open var updateJoinRulesNewRuleReceivedInvocations: [JoinRule] = [] + private let updateJoinRulesNewRuleReceivedNewRuleLock = NSLock() + private var updateJoinRulesNewRuleUnderlyingReceivedNewRule: JoinRule? + open var updateJoinRulesNewRuleReceivedNewRule: JoinRule? { + get { updateJoinRulesNewRuleReceivedNewRuleLock.withLock { updateJoinRulesNewRuleUnderlyingReceivedNewRule } } + set { updateJoinRulesNewRuleReceivedNewRuleLock.withLock { updateJoinRulesNewRuleUnderlyingReceivedNewRule = newValue } } + } + private let updateJoinRulesNewRuleReceivedInvocationsLock = NSLock() + private var updateJoinRulesNewRuleUnderlyingReceivedInvocations: [JoinRule] = [] + open var updateJoinRulesNewRuleReceivedInvocations: [JoinRule] { + get { updateJoinRulesNewRuleReceivedInvocationsLock.withLock { updateJoinRulesNewRuleUnderlyingReceivedInvocations } } + set { updateJoinRulesNewRuleReceivedInvocationsLock.withLock { updateJoinRulesNewRuleUnderlyingReceivedInvocations = newValue } } + } open var updateJoinRulesNewRuleClosure: ((JoinRule) async throws -> Void)? open override func updateJoinRules(newRule: JoinRule) async throws { if let error = updateJoinRulesNewRuleThrowableError { throw error } - updateJoinRulesNewRuleCallsCount += 1 + updateJoinRulesNewRuleCallsCountLock.withLock { updateJoinRulesNewRuleUnderlyingCallsCount += 1 } updateJoinRulesNewRuleReceivedNewRule = newRule - DispatchQueue.main.async { - self.updateJoinRulesNewRuleReceivedInvocations.append(newRule) - } + updateJoinRulesNewRuleReceivedInvocationsLock.withLock { updateJoinRulesNewRuleUnderlyingReceivedInvocations.append(newRule) } try await updateJoinRulesNewRuleClosure?(newRule) } //MARK: - updatePowerLevelsForUsers open var updatePowerLevelsForUsersUpdatesThrowableError: Error? - open var updatePowerLevelsForUsersUpdatesUnderlyingCallsCount = 0 + private let updatePowerLevelsForUsersUpdatesCallsCountLock = NSLock() + private var updatePowerLevelsForUsersUpdatesUnderlyingCallsCount = 0 open var updatePowerLevelsForUsersUpdatesCallsCount: Int { - get { - if Thread.isMainThread { - return updatePowerLevelsForUsersUpdatesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updatePowerLevelsForUsersUpdatesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updatePowerLevelsForUsersUpdatesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updatePowerLevelsForUsersUpdatesUnderlyingCallsCount = newValue - } - } - } + get { updatePowerLevelsForUsersUpdatesCallsCountLock.withLock { updatePowerLevelsForUsersUpdatesUnderlyingCallsCount } } + set { updatePowerLevelsForUsersUpdatesCallsCountLock.withLock { updatePowerLevelsForUsersUpdatesUnderlyingCallsCount = newValue } } } open var updatePowerLevelsForUsersUpdatesCalled: Bool { return updatePowerLevelsForUsersUpdatesCallsCount > 0 } - open var updatePowerLevelsForUsersUpdatesReceivedUpdates: [UserPowerLevelUpdate]? - open var updatePowerLevelsForUsersUpdatesReceivedInvocations: [[UserPowerLevelUpdate]] = [] + private let updatePowerLevelsForUsersUpdatesReceivedUpdatesLock = NSLock() + private var updatePowerLevelsForUsersUpdatesUnderlyingReceivedUpdates: [UserPowerLevelUpdate]? + open var updatePowerLevelsForUsersUpdatesReceivedUpdates: [UserPowerLevelUpdate]? { + get { updatePowerLevelsForUsersUpdatesReceivedUpdatesLock.withLock { updatePowerLevelsForUsersUpdatesUnderlyingReceivedUpdates } } + set { updatePowerLevelsForUsersUpdatesReceivedUpdatesLock.withLock { updatePowerLevelsForUsersUpdatesUnderlyingReceivedUpdates = newValue } } + } + private let updatePowerLevelsForUsersUpdatesReceivedInvocationsLock = NSLock() + private var updatePowerLevelsForUsersUpdatesUnderlyingReceivedInvocations: [[UserPowerLevelUpdate]] = [] + open var updatePowerLevelsForUsersUpdatesReceivedInvocations: [[UserPowerLevelUpdate]] { + get { updatePowerLevelsForUsersUpdatesReceivedInvocationsLock.withLock { updatePowerLevelsForUsersUpdatesUnderlyingReceivedInvocations } } + set { updatePowerLevelsForUsersUpdatesReceivedInvocationsLock.withLock { updatePowerLevelsForUsersUpdatesUnderlyingReceivedInvocations = newValue } } + } open var updatePowerLevelsForUsersUpdatesClosure: (([UserPowerLevelUpdate]) async throws -> Void)? open override func updatePowerLevelsForUsers(updates: [UserPowerLevelUpdate]) async throws { if let error = updatePowerLevelsForUsersUpdatesThrowableError { throw error } - updatePowerLevelsForUsersUpdatesCallsCount += 1 + updatePowerLevelsForUsersUpdatesCallsCountLock.withLock { updatePowerLevelsForUsersUpdatesUnderlyingCallsCount += 1 } updatePowerLevelsForUsersUpdatesReceivedUpdates = updates - DispatchQueue.main.async { - self.updatePowerLevelsForUsersUpdatesReceivedInvocations.append(updates) - } + updatePowerLevelsForUsersUpdatesReceivedInvocationsLock.withLock { updatePowerLevelsForUsersUpdatesUnderlyingReceivedInvocations.append(updates) } try await updatePowerLevelsForUsersUpdatesClosure?(updates) } //MARK: - updateRoomVisibility open var updateRoomVisibilityVisibilityThrowableError: Error? - open var updateRoomVisibilityVisibilityUnderlyingCallsCount = 0 + private let updateRoomVisibilityVisibilityCallsCountLock = NSLock() + private var updateRoomVisibilityVisibilityUnderlyingCallsCount = 0 open var updateRoomVisibilityVisibilityCallsCount: Int { - get { - if Thread.isMainThread { - return updateRoomVisibilityVisibilityUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = updateRoomVisibilityVisibilityUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - updateRoomVisibilityVisibilityUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - updateRoomVisibilityVisibilityUnderlyingCallsCount = newValue - } - } - } + get { updateRoomVisibilityVisibilityCallsCountLock.withLock { updateRoomVisibilityVisibilityUnderlyingCallsCount } } + set { updateRoomVisibilityVisibilityCallsCountLock.withLock { updateRoomVisibilityVisibilityUnderlyingCallsCount = newValue } } } open var updateRoomVisibilityVisibilityCalled: Bool { return updateRoomVisibilityVisibilityCallsCount > 0 } - open var updateRoomVisibilityVisibilityReceivedVisibility: RoomVisibility? - open var updateRoomVisibilityVisibilityReceivedInvocations: [RoomVisibility] = [] + private let updateRoomVisibilityVisibilityReceivedVisibilityLock = NSLock() + private var updateRoomVisibilityVisibilityUnderlyingReceivedVisibility: RoomVisibility? + open var updateRoomVisibilityVisibilityReceivedVisibility: RoomVisibility? { + get { updateRoomVisibilityVisibilityReceivedVisibilityLock.withLock { updateRoomVisibilityVisibilityUnderlyingReceivedVisibility } } + set { updateRoomVisibilityVisibilityReceivedVisibilityLock.withLock { updateRoomVisibilityVisibilityUnderlyingReceivedVisibility = newValue } } + } + private let updateRoomVisibilityVisibilityReceivedInvocationsLock = NSLock() + private var updateRoomVisibilityVisibilityUnderlyingReceivedInvocations: [RoomVisibility] = [] + open var updateRoomVisibilityVisibilityReceivedInvocations: [RoomVisibility] { + get { updateRoomVisibilityVisibilityReceivedInvocationsLock.withLock { updateRoomVisibilityVisibilityUnderlyingReceivedInvocations } } + set { updateRoomVisibilityVisibilityReceivedInvocationsLock.withLock { updateRoomVisibilityVisibilityUnderlyingReceivedInvocations = newValue } } + } open var updateRoomVisibilityVisibilityClosure: ((RoomVisibility) async throws -> Void)? open override func updateRoomVisibility(visibility: RoomVisibility) async throws { if let error = updateRoomVisibilityVisibilityThrowableError { throw error } - updateRoomVisibilityVisibilityCallsCount += 1 + updateRoomVisibilityVisibilityCallsCountLock.withLock { updateRoomVisibilityVisibilityUnderlyingCallsCount += 1 } updateRoomVisibilityVisibilityReceivedVisibility = visibility - DispatchQueue.main.async { - self.updateRoomVisibilityVisibilityReceivedInvocations.append(visibility) - } + updateRoomVisibilityVisibilityReceivedInvocationsLock.withLock { updateRoomVisibilityVisibilityUnderlyingReceivedInvocations.append(visibility) } try await updateRoomVisibilityVisibilityClosure?(visibility) } //MARK: - uploadAvatar open var uploadAvatarMimeTypeDataMediaInfoThrowableError: Error? - open var uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount = 0 + private let uploadAvatarMimeTypeDataMediaInfoCallsCountLock = NSLock() + private var uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount = 0 open var uploadAvatarMimeTypeDataMediaInfoCallsCount: Int { - get { - if Thread.isMainThread { - return uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount = newValue - } - } - } + get { uploadAvatarMimeTypeDataMediaInfoCallsCountLock.withLock { uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount } } + set { uploadAvatarMimeTypeDataMediaInfoCallsCountLock.withLock { uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount = newValue } } } open var uploadAvatarMimeTypeDataMediaInfoCalled: Bool { return uploadAvatarMimeTypeDataMediaInfoCallsCount > 0 } - open var uploadAvatarMimeTypeDataMediaInfoReceivedArguments: (mimeType: String, data: Data, mediaInfo: ImageInfo?)? - open var uploadAvatarMimeTypeDataMediaInfoReceivedInvocations: [(mimeType: String, data: Data, mediaInfo: ImageInfo?)] = [] + private let uploadAvatarMimeTypeDataMediaInfoReceivedArgumentsLock = NSLock() + private var uploadAvatarMimeTypeDataMediaInfoUnderlyingReceivedArguments: (mimeType: String, data: Data, mediaInfo: ImageInfo?)? + open var uploadAvatarMimeTypeDataMediaInfoReceivedArguments: (mimeType: String, data: Data, mediaInfo: ImageInfo?)? { + get { uploadAvatarMimeTypeDataMediaInfoReceivedArgumentsLock.withLock { uploadAvatarMimeTypeDataMediaInfoUnderlyingReceivedArguments } } + set { uploadAvatarMimeTypeDataMediaInfoReceivedArgumentsLock.withLock { uploadAvatarMimeTypeDataMediaInfoUnderlyingReceivedArguments = newValue } } + } + private let uploadAvatarMimeTypeDataMediaInfoReceivedInvocationsLock = NSLock() + private var uploadAvatarMimeTypeDataMediaInfoUnderlyingReceivedInvocations: [(mimeType: String, data: Data, mediaInfo: ImageInfo?)] = [] + open var uploadAvatarMimeTypeDataMediaInfoReceivedInvocations: [(mimeType: String, data: Data, mediaInfo: ImageInfo?)] { + get { uploadAvatarMimeTypeDataMediaInfoReceivedInvocationsLock.withLock { uploadAvatarMimeTypeDataMediaInfoUnderlyingReceivedInvocations } } + set { uploadAvatarMimeTypeDataMediaInfoReceivedInvocationsLock.withLock { uploadAvatarMimeTypeDataMediaInfoUnderlyingReceivedInvocations = newValue } } + } open var uploadAvatarMimeTypeDataMediaInfoClosure: ((String, Data, ImageInfo?) async throws -> Void)? open override func uploadAvatar(mimeType: String, data: Data, mediaInfo: ImageInfo?) async throws { if let error = uploadAvatarMimeTypeDataMediaInfoThrowableError { throw error } - uploadAvatarMimeTypeDataMediaInfoCallsCount += 1 + uploadAvatarMimeTypeDataMediaInfoCallsCountLock.withLock { uploadAvatarMimeTypeDataMediaInfoUnderlyingCallsCount += 1 } uploadAvatarMimeTypeDataMediaInfoReceivedArguments = (mimeType: mimeType, data: data, mediaInfo: mediaInfo) - DispatchQueue.main.async { - self.uploadAvatarMimeTypeDataMediaInfoReceivedInvocations.append((mimeType: mimeType, data: data, mediaInfo: mediaInfo)) - } + uploadAvatarMimeTypeDataMediaInfoReceivedInvocationsLock.withLock { uploadAvatarMimeTypeDataMediaInfoUnderlyingReceivedInvocations.append((mimeType: mimeType, data: data, mediaInfo: mediaInfo)) } try await uploadAvatarMimeTypeDataMediaInfoClosure?(mimeType, data, mediaInfo) } //MARK: - withdrawVerificationAndResend open var withdrawVerificationAndResendUserIdsSendHandleThrowableError: Error? - open var withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount = 0 + private let withdrawVerificationAndResendUserIdsSendHandleCallsCountLock = NSLock() + private var withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount = 0 open var withdrawVerificationAndResendUserIdsSendHandleCallsCount: Int { - get { - if Thread.isMainThread { - return withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount = newValue - } - } - } + get { withdrawVerificationAndResendUserIdsSendHandleCallsCountLock.withLock { withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount } } + set { withdrawVerificationAndResendUserIdsSendHandleCallsCountLock.withLock { withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount = newValue } } } open var withdrawVerificationAndResendUserIdsSendHandleCalled: Bool { return withdrawVerificationAndResendUserIdsSendHandleCallsCount > 0 } - open var withdrawVerificationAndResendUserIdsSendHandleReceivedArguments: (userIds: [String], sendHandle: SendHandle)? - open var withdrawVerificationAndResendUserIdsSendHandleReceivedInvocations: [(userIds: [String], sendHandle: SendHandle)] = [] + private let withdrawVerificationAndResendUserIdsSendHandleReceivedArgumentsLock = NSLock() + private var withdrawVerificationAndResendUserIdsSendHandleUnderlyingReceivedArguments: (userIds: [String], sendHandle: SendHandle)? + open var withdrawVerificationAndResendUserIdsSendHandleReceivedArguments: (userIds: [String], sendHandle: SendHandle)? { + get { withdrawVerificationAndResendUserIdsSendHandleReceivedArgumentsLock.withLock { withdrawVerificationAndResendUserIdsSendHandleUnderlyingReceivedArguments } } + set { withdrawVerificationAndResendUserIdsSendHandleReceivedArgumentsLock.withLock { withdrawVerificationAndResendUserIdsSendHandleUnderlyingReceivedArguments = newValue } } + } + private let withdrawVerificationAndResendUserIdsSendHandleReceivedInvocationsLock = NSLock() + private var withdrawVerificationAndResendUserIdsSendHandleUnderlyingReceivedInvocations: [(userIds: [String], sendHandle: SendHandle)] = [] + open var withdrawVerificationAndResendUserIdsSendHandleReceivedInvocations: [(userIds: [String], sendHandle: SendHandle)] { + get { withdrawVerificationAndResendUserIdsSendHandleReceivedInvocationsLock.withLock { withdrawVerificationAndResendUserIdsSendHandleUnderlyingReceivedInvocations } } + set { withdrawVerificationAndResendUserIdsSendHandleReceivedInvocationsLock.withLock { withdrawVerificationAndResendUserIdsSendHandleUnderlyingReceivedInvocations = newValue } } + } open var withdrawVerificationAndResendUserIdsSendHandleClosure: (([String], SendHandle) async throws -> Void)? open override func withdrawVerificationAndResend(userIds: [String], sendHandle: SendHandle) async throws { if let error = withdrawVerificationAndResendUserIdsSendHandleThrowableError { throw error } - withdrawVerificationAndResendUserIdsSendHandleCallsCount += 1 + withdrawVerificationAndResendUserIdsSendHandleCallsCountLock.withLock { withdrawVerificationAndResendUserIdsSendHandleUnderlyingCallsCount += 1 } withdrawVerificationAndResendUserIdsSendHandleReceivedArguments = (userIds: userIds, sendHandle: sendHandle) - DispatchQueue.main.async { - self.withdrawVerificationAndResendUserIdsSendHandleReceivedInvocations.append((userIds: userIds, sendHandle: sendHandle)) - } + withdrawVerificationAndResendUserIdsSendHandleReceivedInvocationsLock.withLock { withdrawVerificationAndResendUserIdsSendHandleUnderlyingReceivedInvocations.append((userIds: userIds, sendHandle: sendHandle)) } try await withdrawVerificationAndResendUserIdsSendHandleClosure?(userIds, sendHandle) } //MARK: - searchMessages - open var searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount = 0 + private let searchMessagesQueryNumResultsPerBatchCallsCountLock = NSLock() + private var searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount = 0 open var searchMessagesQueryNumResultsPerBatchCallsCount: Int { - get { - if Thread.isMainThread { - return searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount = newValue - } - } - } + get { searchMessagesQueryNumResultsPerBatchCallsCountLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount } } + set { searchMessagesQueryNumResultsPerBatchCallsCountLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount = newValue } } } open var searchMessagesQueryNumResultsPerBatchCalled: Bool { return searchMessagesQueryNumResultsPerBatchCallsCount > 0 } - open var searchMessagesQueryNumResultsPerBatchReceivedArguments: (query: String, numResultsPerBatch: UInt32)? - open var searchMessagesQueryNumResultsPerBatchReceivedInvocations: [(query: String, numResultsPerBatch: UInt32)] = [] + private let searchMessagesQueryNumResultsPerBatchReceivedArgumentsLock = NSLock() + private var searchMessagesQueryNumResultsPerBatchUnderlyingReceivedArguments: (query: String, numResultsPerBatch: UInt32)? + open var searchMessagesQueryNumResultsPerBatchReceivedArguments: (query: String, numResultsPerBatch: UInt32)? { + get { searchMessagesQueryNumResultsPerBatchReceivedArgumentsLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingReceivedArguments } } + set { searchMessagesQueryNumResultsPerBatchReceivedArgumentsLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingReceivedArguments = newValue } } + } + private let searchMessagesQueryNumResultsPerBatchReceivedInvocationsLock = NSLock() + private var searchMessagesQueryNumResultsPerBatchUnderlyingReceivedInvocations: [(query: String, numResultsPerBatch: UInt32)] = [] + open var searchMessagesQueryNumResultsPerBatchReceivedInvocations: [(query: String, numResultsPerBatch: UInt32)] { + get { searchMessagesQueryNumResultsPerBatchReceivedInvocationsLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingReceivedInvocations } } + set { searchMessagesQueryNumResultsPerBatchReceivedInvocationsLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingReceivedInvocations = newValue } } + } + private let searchMessagesQueryNumResultsPerBatchReturnValueLock = NSLock() open var searchMessagesQueryNumResultsPerBatchUnderlyingReturnValue: RoomSearchIterator! open var searchMessagesQueryNumResultsPerBatchReturnValue: RoomSearchIterator! { - get { - if Thread.isMainThread { - return searchMessagesQueryNumResultsPerBatchUnderlyingReturnValue - } else { - var returnValue: RoomSearchIterator? = nil - DispatchQueue.main.sync { - returnValue = searchMessagesQueryNumResultsPerBatchUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchMessagesQueryNumResultsPerBatchUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - searchMessagesQueryNumResultsPerBatchUnderlyingReturnValue = newValue - } - } - } + get { searchMessagesQueryNumResultsPerBatchReturnValueLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingReturnValue } } + set { searchMessagesQueryNumResultsPerBatchReturnValueLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingReturnValue = newValue } } } open var searchMessagesQueryNumResultsPerBatchClosure: ((String, UInt32) -> RoomSearchIterator)? open override func searchMessages(query: String, numResultsPerBatch: UInt32) -> RoomSearchIterator { - searchMessagesQueryNumResultsPerBatchCallsCount += 1 + searchMessagesQueryNumResultsPerBatchCallsCountLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingCallsCount += 1 } searchMessagesQueryNumResultsPerBatchReceivedArguments = (query: query, numResultsPerBatch: numResultsPerBatch) - DispatchQueue.main.async { - self.searchMessagesQueryNumResultsPerBatchReceivedInvocations.append((query: query, numResultsPerBatch: numResultsPerBatch)) - } + searchMessagesQueryNumResultsPerBatchReceivedInvocationsLock.withLock { searchMessagesQueryNumResultsPerBatchUnderlyingReceivedInvocations.append((query: query, numResultsPerBatch: numResultsPerBatch)) } if let searchMessagesQueryNumResultsPerBatchClosure = searchMessagesQueryNumResultsPerBatchClosure { return searchMessagesQueryNumResultsPerBatchClosure(query, numResultsPerBatch) } else { @@ -20838,57 +12262,21 @@ open class RoomDirectorySearchSDKMock: MatrixRustSDK.RoomDirectorySearch, @unche //MARK: - isAtLastPage open var isAtLastPageThrowableError: Error? - open var isAtLastPageUnderlyingCallsCount = 0 + private let isAtLastPageCallsCountLock = NSLock() + private var isAtLastPageUnderlyingCallsCount = 0 open var isAtLastPageCallsCount: Int { - get { - if Thread.isMainThread { - return isAtLastPageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isAtLastPageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isAtLastPageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isAtLastPageUnderlyingCallsCount = newValue - } - } - } + get { isAtLastPageCallsCountLock.withLock { isAtLastPageUnderlyingCallsCount } } + set { isAtLastPageCallsCountLock.withLock { isAtLastPageUnderlyingCallsCount = newValue } } } open var isAtLastPageCalled: Bool { return isAtLastPageCallsCount > 0 } + private let isAtLastPageReturnValueLock = NSLock() open var isAtLastPageUnderlyingReturnValue: Bool! open var isAtLastPageReturnValue: Bool! { - get { - if Thread.isMainThread { - return isAtLastPageUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isAtLastPageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isAtLastPageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isAtLastPageUnderlyingReturnValue = newValue - } - } - } + get { isAtLastPageReturnValueLock.withLock { isAtLastPageUnderlyingReturnValue } } + set { isAtLastPageReturnValueLock.withLock { isAtLastPageUnderlyingReturnValue = newValue } } } open var isAtLastPageClosure: (() async throws -> Bool)? @@ -20896,7 +12284,7 @@ open class RoomDirectorySearchSDKMock: MatrixRustSDK.RoomDirectorySearch, @unche if let error = isAtLastPageThrowableError { throw error } - isAtLastPageCallsCount += 1 + isAtLastPageCallsCountLock.withLock { isAtLastPageUnderlyingCallsCount += 1 } if let isAtLastPageClosure = isAtLastPageClosure { return try await isAtLastPageClosure() } else { @@ -20907,57 +12295,21 @@ open class RoomDirectorySearchSDKMock: MatrixRustSDK.RoomDirectorySearch, @unche //MARK: - loadedPages open var loadedPagesThrowableError: Error? - open var loadedPagesUnderlyingCallsCount = 0 + private let loadedPagesCallsCountLock = NSLock() + private var loadedPagesUnderlyingCallsCount = 0 open var loadedPagesCallsCount: Int { - get { - if Thread.isMainThread { - return loadedPagesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadedPagesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadedPagesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadedPagesUnderlyingCallsCount = newValue - } - } - } + get { loadedPagesCallsCountLock.withLock { loadedPagesUnderlyingCallsCount } } + set { loadedPagesCallsCountLock.withLock { loadedPagesUnderlyingCallsCount = newValue } } } open var loadedPagesCalled: Bool { return loadedPagesCallsCount > 0 } + private let loadedPagesReturnValueLock = NSLock() open var loadedPagesUnderlyingReturnValue: UInt32! open var loadedPagesReturnValue: UInt32! { - get { - if Thread.isMainThread { - return loadedPagesUnderlyingReturnValue - } else { - var returnValue: UInt32? = nil - DispatchQueue.main.sync { - returnValue = loadedPagesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadedPagesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadedPagesUnderlyingReturnValue = newValue - } - } - } + get { loadedPagesReturnValueLock.withLock { loadedPagesUnderlyingReturnValue } } + set { loadedPagesReturnValueLock.withLock { loadedPagesUnderlyingReturnValue = newValue } } } open var loadedPagesClosure: (() async throws -> UInt32)? @@ -20965,7 +12317,7 @@ open class RoomDirectorySearchSDKMock: MatrixRustSDK.RoomDirectorySearch, @unche if let error = loadedPagesThrowableError { throw error } - loadedPagesCallsCount += 1 + loadedPagesCallsCountLock.withLock { loadedPagesUnderlyingCallsCount += 1 } if let loadedPagesClosure = loadedPagesClosure { return try await loadedPagesClosure() } else { @@ -20976,29 +12328,11 @@ open class RoomDirectorySearchSDKMock: MatrixRustSDK.RoomDirectorySearch, @unche //MARK: - nextPage open var nextPageThrowableError: Error? - open var nextPageUnderlyingCallsCount = 0 + private let nextPageCallsCountLock = NSLock() + private var nextPageUnderlyingCallsCount = 0 open var nextPageCallsCount: Int { - get { - if Thread.isMainThread { - return nextPageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = nextPageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextPageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - nextPageUnderlyingCallsCount = newValue - } - } - } + get { nextPageCallsCountLock.withLock { nextPageUnderlyingCallsCount } } + set { nextPageCallsCountLock.withLock { nextPageUnderlyingCallsCount = newValue } } } open var nextPageCalled: Bool { return nextPageCallsCount > 0 @@ -21009,74 +12343,46 @@ open class RoomDirectorySearchSDKMock: MatrixRustSDK.RoomDirectorySearch, @unche if let error = nextPageThrowableError { throw error } - nextPageCallsCount += 1 + nextPageCallsCountLock.withLock { nextPageUnderlyingCallsCount += 1 } try await nextPageClosure?() } //MARK: - results - open var resultsListenerUnderlyingCallsCount = 0 + private let resultsListenerCallsCountLock = NSLock() + private var resultsListenerUnderlyingCallsCount = 0 open var resultsListenerCallsCount: Int { - get { - if Thread.isMainThread { - return resultsListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resultsListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resultsListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resultsListenerUnderlyingCallsCount = newValue - } - } - } + get { resultsListenerCallsCountLock.withLock { resultsListenerUnderlyingCallsCount } } + set { resultsListenerCallsCountLock.withLock { resultsListenerUnderlyingCallsCount = newValue } } } open var resultsListenerCalled: Bool { return resultsListenerCallsCount > 0 } - open var resultsListenerReceivedListener: RoomDirectorySearchEntriesListener? - open var resultsListenerReceivedInvocations: [RoomDirectorySearchEntriesListener] = [] + private let resultsListenerReceivedListenerLock = NSLock() + private var resultsListenerUnderlyingReceivedListener: RoomDirectorySearchEntriesListener? + open var resultsListenerReceivedListener: RoomDirectorySearchEntriesListener? { + get { resultsListenerReceivedListenerLock.withLock { resultsListenerUnderlyingReceivedListener } } + set { resultsListenerReceivedListenerLock.withLock { resultsListenerUnderlyingReceivedListener = newValue } } + } + private let resultsListenerReceivedInvocationsLock = NSLock() + private var resultsListenerUnderlyingReceivedInvocations: [RoomDirectorySearchEntriesListener] = [] + open var resultsListenerReceivedInvocations: [RoomDirectorySearchEntriesListener] { + get { resultsListenerReceivedInvocationsLock.withLock { resultsListenerUnderlyingReceivedInvocations } } + set { resultsListenerReceivedInvocationsLock.withLock { resultsListenerUnderlyingReceivedInvocations = newValue } } + } + private let resultsListenerReturnValueLock = NSLock() open var resultsListenerUnderlyingReturnValue: TaskHandle! open var resultsListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return resultsListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = resultsListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resultsListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - resultsListenerUnderlyingReturnValue = newValue - } - } - } + get { resultsListenerReturnValueLock.withLock { resultsListenerUnderlyingReturnValue } } + set { resultsListenerReturnValueLock.withLock { resultsListenerUnderlyingReturnValue = newValue } } } open var resultsListenerClosure: ((RoomDirectorySearchEntriesListener) async -> TaskHandle)? open override func results(listener: RoomDirectorySearchEntriesListener) async -> TaskHandle { - resultsListenerCallsCount += 1 + resultsListenerCallsCountLock.withLock { resultsListenerUnderlyingCallsCount += 1 } resultsListenerReceivedListener = listener - DispatchQueue.main.async { - self.resultsListenerReceivedInvocations.append(listener) - } + resultsListenerReceivedInvocationsLock.withLock { resultsListenerUnderlyingReceivedInvocations.append(listener) } if let resultsListenerClosure = resultsListenerClosure { return await resultsListenerClosure(listener) } else { @@ -21087,46 +12393,36 @@ open class RoomDirectorySearchSDKMock: MatrixRustSDK.RoomDirectorySearch, @unche //MARK: - search open var searchFilterBatchSizeViaServerNameThrowableError: Error? - open var searchFilterBatchSizeViaServerNameUnderlyingCallsCount = 0 + private let searchFilterBatchSizeViaServerNameCallsCountLock = NSLock() + private var searchFilterBatchSizeViaServerNameUnderlyingCallsCount = 0 open var searchFilterBatchSizeViaServerNameCallsCount: Int { - get { - if Thread.isMainThread { - return searchFilterBatchSizeViaServerNameUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = searchFilterBatchSizeViaServerNameUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - searchFilterBatchSizeViaServerNameUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - searchFilterBatchSizeViaServerNameUnderlyingCallsCount = newValue - } - } - } + get { searchFilterBatchSizeViaServerNameCallsCountLock.withLock { searchFilterBatchSizeViaServerNameUnderlyingCallsCount } } + set { searchFilterBatchSizeViaServerNameCallsCountLock.withLock { searchFilterBatchSizeViaServerNameUnderlyingCallsCount = newValue } } } open var searchFilterBatchSizeViaServerNameCalled: Bool { return searchFilterBatchSizeViaServerNameCallsCount > 0 } - open var searchFilterBatchSizeViaServerNameReceivedArguments: (filter: String?, batchSize: UInt32, viaServerName: String?)? - open var searchFilterBatchSizeViaServerNameReceivedInvocations: [(filter: String?, batchSize: UInt32, viaServerName: String?)] = [] + private let searchFilterBatchSizeViaServerNameReceivedArgumentsLock = NSLock() + private var searchFilterBatchSizeViaServerNameUnderlyingReceivedArguments: (filter: String?, batchSize: UInt32, viaServerName: String?)? + open var searchFilterBatchSizeViaServerNameReceivedArguments: (filter: String?, batchSize: UInt32, viaServerName: String?)? { + get { searchFilterBatchSizeViaServerNameReceivedArgumentsLock.withLock { searchFilterBatchSizeViaServerNameUnderlyingReceivedArguments } } + set { searchFilterBatchSizeViaServerNameReceivedArgumentsLock.withLock { searchFilterBatchSizeViaServerNameUnderlyingReceivedArguments = newValue } } + } + private let searchFilterBatchSizeViaServerNameReceivedInvocationsLock = NSLock() + private var searchFilterBatchSizeViaServerNameUnderlyingReceivedInvocations: [(filter: String?, batchSize: UInt32, viaServerName: String?)] = [] + open var searchFilterBatchSizeViaServerNameReceivedInvocations: [(filter: String?, batchSize: UInt32, viaServerName: String?)] { + get { searchFilterBatchSizeViaServerNameReceivedInvocationsLock.withLock { searchFilterBatchSizeViaServerNameUnderlyingReceivedInvocations } } + set { searchFilterBatchSizeViaServerNameReceivedInvocationsLock.withLock { searchFilterBatchSizeViaServerNameUnderlyingReceivedInvocations = newValue } } + } open var searchFilterBatchSizeViaServerNameClosure: ((String?, UInt32, String?) async throws -> Void)? open override func search(filter: String?, batchSize: UInt32, viaServerName: String?) async throws { if let error = searchFilterBatchSizeViaServerNameThrowableError { throw error } - searchFilterBatchSizeViaServerNameCallsCount += 1 + searchFilterBatchSizeViaServerNameCallsCountLock.withLock { searchFilterBatchSizeViaServerNameUnderlyingCallsCount += 1 } searchFilterBatchSizeViaServerNameReceivedArguments = (filter: filter, batchSize: batchSize, viaServerName: viaServerName) - DispatchQueue.main.async { - self.searchFilterBatchSizeViaServerNameReceivedInvocations.append((filter: filter, batchSize: batchSize, viaServerName: viaServerName)) - } + searchFilterBatchSizeViaServerNameReceivedInvocationsLock.withLock { searchFilterBatchSizeViaServerNameUnderlyingReceivedInvocations.append((filter: filter, batchSize: batchSize, viaServerName: viaServerName)) } try await searchFilterBatchSizeViaServerNameClosure?(filter, batchSize, viaServerName) } } @@ -21147,68 +12443,40 @@ open class RoomListSDKMock: MatrixRustSDK.RoomList, @unchecked Sendable { //MARK: - entriesWithDynamicAdapters - open var entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount = 0 + private let entriesWithDynamicAdaptersPageSizeListenerCallsCountLock = NSLock() + private var entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount = 0 open var entriesWithDynamicAdaptersPageSizeListenerCallsCount: Int { - get { - if Thread.isMainThread { - return entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount = newValue - } - } - } + get { entriesWithDynamicAdaptersPageSizeListenerCallsCountLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount } } + set { entriesWithDynamicAdaptersPageSizeListenerCallsCountLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount = newValue } } } open var entriesWithDynamicAdaptersPageSizeListenerCalled: Bool { return entriesWithDynamicAdaptersPageSizeListenerCallsCount > 0 } - open var entriesWithDynamicAdaptersPageSizeListenerReceivedArguments: (pageSize: UInt32, listener: RoomListEntriesListener)? - open var entriesWithDynamicAdaptersPageSizeListenerReceivedInvocations: [(pageSize: UInt32, listener: RoomListEntriesListener)] = [] + private let entriesWithDynamicAdaptersPageSizeListenerReceivedArgumentsLock = NSLock() + private var entriesWithDynamicAdaptersPageSizeListenerUnderlyingReceivedArguments: (pageSize: UInt32, listener: RoomListEntriesListener)? + open var entriesWithDynamicAdaptersPageSizeListenerReceivedArguments: (pageSize: UInt32, listener: RoomListEntriesListener)? { + get { entriesWithDynamicAdaptersPageSizeListenerReceivedArgumentsLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingReceivedArguments } } + set { entriesWithDynamicAdaptersPageSizeListenerReceivedArgumentsLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingReceivedArguments = newValue } } + } + private let entriesWithDynamicAdaptersPageSizeListenerReceivedInvocationsLock = NSLock() + private var entriesWithDynamicAdaptersPageSizeListenerUnderlyingReceivedInvocations: [(pageSize: UInt32, listener: RoomListEntriesListener)] = [] + open var entriesWithDynamicAdaptersPageSizeListenerReceivedInvocations: [(pageSize: UInt32, listener: RoomListEntriesListener)] { + get { entriesWithDynamicAdaptersPageSizeListenerReceivedInvocationsLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingReceivedInvocations } } + set { entriesWithDynamicAdaptersPageSizeListenerReceivedInvocationsLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingReceivedInvocations = newValue } } + } + private let entriesWithDynamicAdaptersPageSizeListenerReturnValueLock = NSLock() open var entriesWithDynamicAdaptersPageSizeListenerUnderlyingReturnValue: RoomListEntriesWithDynamicAdaptersResult! open var entriesWithDynamicAdaptersPageSizeListenerReturnValue: RoomListEntriesWithDynamicAdaptersResult! { - get { - if Thread.isMainThread { - return entriesWithDynamicAdaptersPageSizeListenerUnderlyingReturnValue - } else { - var returnValue: RoomListEntriesWithDynamicAdaptersResult? = nil - DispatchQueue.main.sync { - returnValue = entriesWithDynamicAdaptersPageSizeListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - entriesWithDynamicAdaptersPageSizeListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - entriesWithDynamicAdaptersPageSizeListenerUnderlyingReturnValue = newValue - } - } - } + get { entriesWithDynamicAdaptersPageSizeListenerReturnValueLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingReturnValue } } + set { entriesWithDynamicAdaptersPageSizeListenerReturnValueLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingReturnValue = newValue } } } open var entriesWithDynamicAdaptersPageSizeListenerClosure: ((UInt32, RoomListEntriesListener) -> RoomListEntriesWithDynamicAdaptersResult)? open override func entriesWithDynamicAdapters(pageSize: UInt32, listener: RoomListEntriesListener) -> RoomListEntriesWithDynamicAdaptersResult { - entriesWithDynamicAdaptersPageSizeListenerCallsCount += 1 + entriesWithDynamicAdaptersPageSizeListenerCallsCountLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingCallsCount += 1 } entriesWithDynamicAdaptersPageSizeListenerReceivedArguments = (pageSize: pageSize, listener: listener) - DispatchQueue.main.async { - self.entriesWithDynamicAdaptersPageSizeListenerReceivedInvocations.append((pageSize: pageSize, listener: listener)) - } + entriesWithDynamicAdaptersPageSizeListenerReceivedInvocationsLock.withLock { entriesWithDynamicAdaptersPageSizeListenerUnderlyingReceivedInvocations.append((pageSize: pageSize, listener: listener)) } if let entriesWithDynamicAdaptersPageSizeListenerClosure = entriesWithDynamicAdaptersPageSizeListenerClosure { return entriesWithDynamicAdaptersPageSizeListenerClosure(pageSize, listener) } else { @@ -21219,59 +12487,33 @@ open class RoomListSDKMock: MatrixRustSDK.RoomList, @unchecked Sendable { //MARK: - loadingState open var loadingStateListenerThrowableError: Error? - open var loadingStateListenerUnderlyingCallsCount = 0 + private let loadingStateListenerCallsCountLock = NSLock() + private var loadingStateListenerUnderlyingCallsCount = 0 open var loadingStateListenerCallsCount: Int { - get { - if Thread.isMainThread { - return loadingStateListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadingStateListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadingStateListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadingStateListenerUnderlyingCallsCount = newValue - } - } - } + get { loadingStateListenerCallsCountLock.withLock { loadingStateListenerUnderlyingCallsCount } } + set { loadingStateListenerCallsCountLock.withLock { loadingStateListenerUnderlyingCallsCount = newValue } } } open var loadingStateListenerCalled: Bool { return loadingStateListenerCallsCount > 0 } - open var loadingStateListenerReceivedListener: RoomListLoadingStateListener? - open var loadingStateListenerReceivedInvocations: [RoomListLoadingStateListener] = [] + private let loadingStateListenerReceivedListenerLock = NSLock() + private var loadingStateListenerUnderlyingReceivedListener: RoomListLoadingStateListener? + open var loadingStateListenerReceivedListener: RoomListLoadingStateListener? { + get { loadingStateListenerReceivedListenerLock.withLock { loadingStateListenerUnderlyingReceivedListener } } + set { loadingStateListenerReceivedListenerLock.withLock { loadingStateListenerUnderlyingReceivedListener = newValue } } + } + private let loadingStateListenerReceivedInvocationsLock = NSLock() + private var loadingStateListenerUnderlyingReceivedInvocations: [RoomListLoadingStateListener] = [] + open var loadingStateListenerReceivedInvocations: [RoomListLoadingStateListener] { + get { loadingStateListenerReceivedInvocationsLock.withLock { loadingStateListenerUnderlyingReceivedInvocations } } + set { loadingStateListenerReceivedInvocationsLock.withLock { loadingStateListenerUnderlyingReceivedInvocations = newValue } } + } + private let loadingStateListenerReturnValueLock = NSLock() open var loadingStateListenerUnderlyingReturnValue: RoomListLoadingStateResult! open var loadingStateListenerReturnValue: RoomListLoadingStateResult! { - get { - if Thread.isMainThread { - return loadingStateListenerUnderlyingReturnValue - } else { - var returnValue: RoomListLoadingStateResult? = nil - DispatchQueue.main.sync { - returnValue = loadingStateListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadingStateListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadingStateListenerUnderlyingReturnValue = newValue - } - } - } + get { loadingStateListenerReturnValueLock.withLock { loadingStateListenerUnderlyingReturnValue } } + set { loadingStateListenerReturnValueLock.withLock { loadingStateListenerUnderlyingReturnValue = newValue } } } open var loadingStateListenerClosure: ((RoomListLoadingStateListener) throws -> RoomListLoadingStateResult)? @@ -21279,11 +12521,9 @@ open class RoomListSDKMock: MatrixRustSDK.RoomList, @unchecked Sendable { if let error = loadingStateListenerThrowableError { throw error } - loadingStateListenerCallsCount += 1 + loadingStateListenerCallsCountLock.withLock { loadingStateListenerUnderlyingCallsCount += 1 } loadingStateListenerReceivedListener = listener - DispatchQueue.main.async { - self.loadingStateListenerReceivedInvocations.append(listener) - } + loadingStateListenerReceivedInvocationsLock.withLock { loadingStateListenerUnderlyingReceivedInvocations.append(listener) } if let loadingStateListenerClosure = loadingStateListenerClosure { return try loadingStateListenerClosure(listener) } else { @@ -21294,59 +12534,33 @@ open class RoomListSDKMock: MatrixRustSDK.RoomList, @unchecked Sendable { //MARK: - room open var roomRoomIdThrowableError: Error? - open var roomRoomIdUnderlyingCallsCount = 0 + private let roomRoomIdCallsCountLock = NSLock() + private var roomRoomIdUnderlyingCallsCount = 0 open var roomRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return roomRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomRoomIdUnderlyingCallsCount = newValue - } - } - } + get { roomRoomIdCallsCountLock.withLock { roomRoomIdUnderlyingCallsCount } } + set { roomRoomIdCallsCountLock.withLock { roomRoomIdUnderlyingCallsCount = newValue } } } open var roomRoomIdCalled: Bool { return roomRoomIdCallsCount > 0 } - open var roomRoomIdReceivedRoomId: String? - open var roomRoomIdReceivedInvocations: [String] = [] + private let roomRoomIdReceivedRoomIdLock = NSLock() + private var roomRoomIdUnderlyingReceivedRoomId: String? + open var roomRoomIdReceivedRoomId: String? { + get { roomRoomIdReceivedRoomIdLock.withLock { roomRoomIdUnderlyingReceivedRoomId } } + set { roomRoomIdReceivedRoomIdLock.withLock { roomRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let roomRoomIdReceivedInvocationsLock = NSLock() + private var roomRoomIdUnderlyingReceivedInvocations: [String] = [] + open var roomRoomIdReceivedInvocations: [String] { + get { roomRoomIdReceivedInvocationsLock.withLock { roomRoomIdUnderlyingReceivedInvocations } } + set { roomRoomIdReceivedInvocationsLock.withLock { roomRoomIdUnderlyingReceivedInvocations = newValue } } + } + private let roomRoomIdReturnValueLock = NSLock() open var roomRoomIdUnderlyingReturnValue: Room! open var roomRoomIdReturnValue: Room! { - get { - if Thread.isMainThread { - return roomRoomIdUnderlyingReturnValue - } else { - var returnValue: Room? = nil - DispatchQueue.main.sync { - returnValue = roomRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomRoomIdUnderlyingReturnValue = newValue - } - } - } + get { roomRoomIdReturnValueLock.withLock { roomRoomIdUnderlyingReturnValue } } + set { roomRoomIdReturnValueLock.withLock { roomRoomIdUnderlyingReturnValue = newValue } } } open var roomRoomIdClosure: ((String) throws -> Room)? @@ -21354,11 +12568,9 @@ open class RoomListSDKMock: MatrixRustSDK.RoomList, @unchecked Sendable { if let error = roomRoomIdThrowableError { throw error } - roomRoomIdCallsCount += 1 + roomRoomIdCallsCountLock.withLock { roomRoomIdUnderlyingCallsCount += 1 } roomRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.roomRoomIdReceivedInvocations.append(roomId) - } + roomRoomIdReceivedInvocationsLock.withLock { roomRoomIdUnderlyingReceivedInvocations.append(roomId) } if let roomRoomIdClosure = roomRoomIdClosure { return try roomRoomIdClosure(roomId) } else { @@ -21383,29 +12595,11 @@ open class RoomListDynamicEntriesControllerSDKMock: MatrixRustSDK.RoomListDynami //MARK: - addOnePage - open var addOnePageUnderlyingCallsCount = 0 + private let addOnePageCallsCountLock = NSLock() + private var addOnePageUnderlyingCallsCount = 0 open var addOnePageCallsCount: Int { - get { - if Thread.isMainThread { - return addOnePageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addOnePageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addOnePageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addOnePageUnderlyingCallsCount = newValue - } - } - } + get { addOnePageCallsCountLock.withLock { addOnePageUnderlyingCallsCount } } + set { addOnePageCallsCountLock.withLock { addOnePageUnderlyingCallsCount = newValue } } } open var addOnePageCalled: Bool { return addOnePageCallsCount > 0 @@ -21413,35 +12607,17 @@ open class RoomListDynamicEntriesControllerSDKMock: MatrixRustSDK.RoomListDynami open var addOnePageClosure: (() -> Void)? open override func addOnePage() { - addOnePageCallsCount += 1 + addOnePageCallsCountLock.withLock { addOnePageUnderlyingCallsCount += 1 } addOnePageClosure?() } //MARK: - resetToOnePage - open var resetToOnePageUnderlyingCallsCount = 0 + private let resetToOnePageCallsCountLock = NSLock() + private var resetToOnePageUnderlyingCallsCount = 0 open var resetToOnePageCallsCount: Int { - get { - if Thread.isMainThread { - return resetToOnePageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetToOnePageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetToOnePageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetToOnePageUnderlyingCallsCount = newValue - } - } - } + get { resetToOnePageCallsCountLock.withLock { resetToOnePageUnderlyingCallsCount } } + set { resetToOnePageCallsCountLock.withLock { resetToOnePageUnderlyingCallsCount = newValue } } } open var resetToOnePageCalled: Bool { return resetToOnePageCallsCount > 0 @@ -21449,74 +12625,46 @@ open class RoomListDynamicEntriesControllerSDKMock: MatrixRustSDK.RoomListDynami open var resetToOnePageClosure: (() -> Void)? open override func resetToOnePage() { - resetToOnePageCallsCount += 1 + resetToOnePageCallsCountLock.withLock { resetToOnePageUnderlyingCallsCount += 1 } resetToOnePageClosure?() } //MARK: - setFilter - open var setFilterKindUnderlyingCallsCount = 0 + private let setFilterKindCallsCountLock = NSLock() + private var setFilterKindUnderlyingCallsCount = 0 open var setFilterKindCallsCount: Int { - get { - if Thread.isMainThread { - return setFilterKindUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setFilterKindUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setFilterKindUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setFilterKindUnderlyingCallsCount = newValue - } - } - } + get { setFilterKindCallsCountLock.withLock { setFilterKindUnderlyingCallsCount } } + set { setFilterKindCallsCountLock.withLock { setFilterKindUnderlyingCallsCount = newValue } } } open var setFilterKindCalled: Bool { return setFilterKindCallsCount > 0 } - open var setFilterKindReceivedKind: RoomListEntriesDynamicFilterKind? - open var setFilterKindReceivedInvocations: [RoomListEntriesDynamicFilterKind] = [] + private let setFilterKindReceivedKindLock = NSLock() + private var setFilterKindUnderlyingReceivedKind: RoomListEntriesDynamicFilterKind? + open var setFilterKindReceivedKind: RoomListEntriesDynamicFilterKind? { + get { setFilterKindReceivedKindLock.withLock { setFilterKindUnderlyingReceivedKind } } + set { setFilterKindReceivedKindLock.withLock { setFilterKindUnderlyingReceivedKind = newValue } } + } + private let setFilterKindReceivedInvocationsLock = NSLock() + private var setFilterKindUnderlyingReceivedInvocations: [RoomListEntriesDynamicFilterKind] = [] + open var setFilterKindReceivedInvocations: [RoomListEntriesDynamicFilterKind] { + get { setFilterKindReceivedInvocationsLock.withLock { setFilterKindUnderlyingReceivedInvocations } } + set { setFilterKindReceivedInvocationsLock.withLock { setFilterKindUnderlyingReceivedInvocations = newValue } } + } + private let setFilterKindReturnValueLock = NSLock() open var setFilterKindUnderlyingReturnValue: Bool! open var setFilterKindReturnValue: Bool! { - get { - if Thread.isMainThread { - return setFilterKindUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = setFilterKindUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setFilterKindUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - setFilterKindUnderlyingReturnValue = newValue - } - } - } + get { setFilterKindReturnValueLock.withLock { setFilterKindUnderlyingReturnValue } } + set { setFilterKindReturnValueLock.withLock { setFilterKindUnderlyingReturnValue = newValue } } } open var setFilterKindClosure: ((RoomListEntriesDynamicFilterKind) -> Bool)? open override func setFilter(kind: RoomListEntriesDynamicFilterKind) -> Bool { - setFilterKindCallsCount += 1 + setFilterKindCallsCountLock.withLock { setFilterKindUnderlyingCallsCount += 1 } setFilterKindReceivedKind = kind - DispatchQueue.main.async { - self.setFilterKindReceivedInvocations.append(kind) - } + setFilterKindReceivedInvocationsLock.withLock { setFilterKindUnderlyingReceivedInvocations.append(kind) } if let setFilterKindClosure = setFilterKindClosure { return setFilterKindClosure(kind) } else { @@ -21541,62 +12689,26 @@ open class RoomListEntriesWithDynamicAdaptersResultSDKMock: MatrixRustSDK.RoomLi //MARK: - controller - open var controllerUnderlyingCallsCount = 0 + private let controllerCallsCountLock = NSLock() + private var controllerUnderlyingCallsCount = 0 open var controllerCallsCount: Int { - get { - if Thread.isMainThread { - return controllerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = controllerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - controllerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - controllerUnderlyingCallsCount = newValue - } - } - } + get { controllerCallsCountLock.withLock { controllerUnderlyingCallsCount } } + set { controllerCallsCountLock.withLock { controllerUnderlyingCallsCount = newValue } } } open var controllerCalled: Bool { return controllerCallsCount > 0 } + private let controllerReturnValueLock = NSLock() open var controllerUnderlyingReturnValue: RoomListDynamicEntriesController! open var controllerReturnValue: RoomListDynamicEntriesController! { - get { - if Thread.isMainThread { - return controllerUnderlyingReturnValue - } else { - var returnValue: RoomListDynamicEntriesController? = nil - DispatchQueue.main.sync { - returnValue = controllerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - controllerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - controllerUnderlyingReturnValue = newValue - } - } - } + get { controllerReturnValueLock.withLock { controllerUnderlyingReturnValue } } + set { controllerReturnValueLock.withLock { controllerUnderlyingReturnValue = newValue } } } open var controllerClosure: (() -> RoomListDynamicEntriesController)? open override func controller() -> RoomListDynamicEntriesController { - controllerCallsCount += 1 + controllerCallsCountLock.withLock { controllerUnderlyingCallsCount += 1 } if let controllerClosure = controllerClosure { return controllerClosure() } else { @@ -21606,62 +12718,26 @@ open class RoomListEntriesWithDynamicAdaptersResultSDKMock: MatrixRustSDK.RoomLi //MARK: - entriesStream - open var entriesStreamUnderlyingCallsCount = 0 + private let entriesStreamCallsCountLock = NSLock() + private var entriesStreamUnderlyingCallsCount = 0 open var entriesStreamCallsCount: Int { - get { - if Thread.isMainThread { - return entriesStreamUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = entriesStreamUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - entriesStreamUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - entriesStreamUnderlyingCallsCount = newValue - } - } - } + get { entriesStreamCallsCountLock.withLock { entriesStreamUnderlyingCallsCount } } + set { entriesStreamCallsCountLock.withLock { entriesStreamUnderlyingCallsCount = newValue } } } open var entriesStreamCalled: Bool { return entriesStreamCallsCount > 0 } + private let entriesStreamReturnValueLock = NSLock() open var entriesStreamUnderlyingReturnValue: TaskHandle! open var entriesStreamReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return entriesStreamUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = entriesStreamUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - entriesStreamUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - entriesStreamUnderlyingReturnValue = newValue - } - } - } + get { entriesStreamReturnValueLock.withLock { entriesStreamUnderlyingReturnValue } } + set { entriesStreamReturnValueLock.withLock { entriesStreamUnderlyingReturnValue = newValue } } } open var entriesStreamClosure: (() -> TaskHandle)? open override func entriesStream() -> TaskHandle { - entriesStreamCallsCount += 1 + entriesStreamCallsCountLock.withLock { entriesStreamUnderlyingCallsCount += 1 } if let entriesStreamClosure = entriesStreamClosure { return entriesStreamClosure() } else { @@ -21687,57 +12763,21 @@ open class RoomListServiceSDKMock: MatrixRustSDK.RoomListService, @unchecked Sen //MARK: - allRooms open var allRoomsThrowableError: Error? - open var allRoomsUnderlyingCallsCount = 0 + private let allRoomsCallsCountLock = NSLock() + private var allRoomsUnderlyingCallsCount = 0 open var allRoomsCallsCount: Int { - get { - if Thread.isMainThread { - return allRoomsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = allRoomsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - allRoomsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - allRoomsUnderlyingCallsCount = newValue - } - } - } + get { allRoomsCallsCountLock.withLock { allRoomsUnderlyingCallsCount } } + set { allRoomsCallsCountLock.withLock { allRoomsUnderlyingCallsCount = newValue } } } open var allRoomsCalled: Bool { return allRoomsCallsCount > 0 } + private let allRoomsReturnValueLock = NSLock() open var allRoomsUnderlyingReturnValue: RoomList! open var allRoomsReturnValue: RoomList! { - get { - if Thread.isMainThread { - return allRoomsUnderlyingReturnValue - } else { - var returnValue: RoomList? = nil - DispatchQueue.main.sync { - returnValue = allRoomsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - allRoomsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - allRoomsUnderlyingReturnValue = newValue - } - } - } + get { allRoomsReturnValueLock.withLock { allRoomsUnderlyingReturnValue } } + set { allRoomsReturnValueLock.withLock { allRoomsUnderlyingReturnValue = newValue } } } open var allRoomsClosure: (() async throws -> RoomList)? @@ -21745,7 +12785,7 @@ open class RoomListServiceSDKMock: MatrixRustSDK.RoomListService, @unchecked Sen if let error = allRoomsThrowableError { throw error } - allRoomsCallsCount += 1 + allRoomsCallsCountLock.withLock { allRoomsUnderlyingCallsCount += 1 } if let allRoomsClosure = allRoomsClosure { return try await allRoomsClosure() } else { @@ -21756,59 +12796,33 @@ open class RoomListServiceSDKMock: MatrixRustSDK.RoomListService, @unchecked Sen //MARK: - room open var roomRoomIdThrowableError: Error? - open var roomRoomIdUnderlyingCallsCount = 0 + private let roomRoomIdCallsCountLock = NSLock() + private var roomRoomIdUnderlyingCallsCount = 0 open var roomRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return roomRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomRoomIdUnderlyingCallsCount = newValue - } - } - } + get { roomRoomIdCallsCountLock.withLock { roomRoomIdUnderlyingCallsCount } } + set { roomRoomIdCallsCountLock.withLock { roomRoomIdUnderlyingCallsCount = newValue } } } open var roomRoomIdCalled: Bool { return roomRoomIdCallsCount > 0 } - open var roomRoomIdReceivedRoomId: String? - open var roomRoomIdReceivedInvocations: [String] = [] + private let roomRoomIdReceivedRoomIdLock = NSLock() + private var roomRoomIdUnderlyingReceivedRoomId: String? + open var roomRoomIdReceivedRoomId: String? { + get { roomRoomIdReceivedRoomIdLock.withLock { roomRoomIdUnderlyingReceivedRoomId } } + set { roomRoomIdReceivedRoomIdLock.withLock { roomRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let roomRoomIdReceivedInvocationsLock = NSLock() + private var roomRoomIdUnderlyingReceivedInvocations: [String] = [] + open var roomRoomIdReceivedInvocations: [String] { + get { roomRoomIdReceivedInvocationsLock.withLock { roomRoomIdUnderlyingReceivedInvocations } } + set { roomRoomIdReceivedInvocationsLock.withLock { roomRoomIdUnderlyingReceivedInvocations = newValue } } + } + private let roomRoomIdReturnValueLock = NSLock() open var roomRoomIdUnderlyingReturnValue: Room! open var roomRoomIdReturnValue: Room! { - get { - if Thread.isMainThread { - return roomRoomIdUnderlyingReturnValue - } else { - var returnValue: Room? = nil - DispatchQueue.main.sync { - returnValue = roomRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomRoomIdUnderlyingReturnValue = newValue - } - } - } + get { roomRoomIdReturnValueLock.withLock { roomRoomIdUnderlyingReturnValue } } + set { roomRoomIdReturnValueLock.withLock { roomRoomIdUnderlyingReturnValue = newValue } } } open var roomRoomIdClosure: ((String) throws -> Room)? @@ -21816,11 +12830,9 @@ open class RoomListServiceSDKMock: MatrixRustSDK.RoomListService, @unchecked Sen if let error = roomRoomIdThrowableError { throw error } - roomRoomIdCallsCount += 1 + roomRoomIdCallsCountLock.withLock { roomRoomIdUnderlyingCallsCount += 1 } roomRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.roomRoomIdReceivedInvocations.append(roomId) - } + roomRoomIdReceivedInvocationsLock.withLock { roomRoomIdUnderlyingReceivedInvocations.append(roomId) } if let roomRoomIdClosure = roomRoomIdClosure { return try roomRoomIdClosure(roomId) } else { @@ -21830,68 +12842,40 @@ open class RoomListServiceSDKMock: MatrixRustSDK.RoomListService, @unchecked Sen //MARK: - state - open var stateListenerUnderlyingCallsCount = 0 + private let stateListenerCallsCountLock = NSLock() + private var stateListenerUnderlyingCallsCount = 0 open var stateListenerCallsCount: Int { - get { - if Thread.isMainThread { - return stateListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stateListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stateListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stateListenerUnderlyingCallsCount = newValue - } - } - } + get { stateListenerCallsCountLock.withLock { stateListenerUnderlyingCallsCount } } + set { stateListenerCallsCountLock.withLock { stateListenerUnderlyingCallsCount = newValue } } } open var stateListenerCalled: Bool { return stateListenerCallsCount > 0 } - open var stateListenerReceivedListener: RoomListServiceStateListener? - open var stateListenerReceivedInvocations: [RoomListServiceStateListener] = [] + private let stateListenerReceivedListenerLock = NSLock() + private var stateListenerUnderlyingReceivedListener: RoomListServiceStateListener? + open var stateListenerReceivedListener: RoomListServiceStateListener? { + get { stateListenerReceivedListenerLock.withLock { stateListenerUnderlyingReceivedListener } } + set { stateListenerReceivedListenerLock.withLock { stateListenerUnderlyingReceivedListener = newValue } } + } + private let stateListenerReceivedInvocationsLock = NSLock() + private var stateListenerUnderlyingReceivedInvocations: [RoomListServiceStateListener] = [] + open var stateListenerReceivedInvocations: [RoomListServiceStateListener] { + get { stateListenerReceivedInvocationsLock.withLock { stateListenerUnderlyingReceivedInvocations } } + set { stateListenerReceivedInvocationsLock.withLock { stateListenerUnderlyingReceivedInvocations = newValue } } + } + private let stateListenerReturnValueLock = NSLock() open var stateListenerUnderlyingReturnValue: TaskHandle! open var stateListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return stateListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = stateListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stateListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - stateListenerUnderlyingReturnValue = newValue - } - } - } + get { stateListenerReturnValueLock.withLock { stateListenerUnderlyingReturnValue } } + set { stateListenerReturnValueLock.withLock { stateListenerUnderlyingReturnValue = newValue } } } open var stateListenerClosure: ((RoomListServiceStateListener) -> TaskHandle)? open override func state(listener: RoomListServiceStateListener) -> TaskHandle { - stateListenerCallsCount += 1 + stateListenerCallsCountLock.withLock { stateListenerUnderlyingCallsCount += 1 } stateListenerReceivedListener = listener - DispatchQueue.main.async { - self.stateListenerReceivedInvocations.append(listener) - } + stateListenerReceivedInvocationsLock.withLock { stateListenerUnderlyingReceivedInvocations.append(listener) } if let stateListenerClosure = stateListenerClosure { return stateListenerClosure(listener) } else { @@ -21902,113 +12886,75 @@ open class RoomListServiceSDKMock: MatrixRustSDK.RoomListService, @unchecked Sen //MARK: - subscribeToRooms open var subscribeToRoomsRoomIdsThrowableError: Error? - open var subscribeToRoomsRoomIdsUnderlyingCallsCount = 0 + private let subscribeToRoomsRoomIdsCallsCountLock = NSLock() + private var subscribeToRoomsRoomIdsUnderlyingCallsCount = 0 open var subscribeToRoomsRoomIdsCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToRoomsRoomIdsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToRoomsRoomIdsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToRoomsRoomIdsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToRoomsRoomIdsUnderlyingCallsCount = newValue - } - } - } + get { subscribeToRoomsRoomIdsCallsCountLock.withLock { subscribeToRoomsRoomIdsUnderlyingCallsCount } } + set { subscribeToRoomsRoomIdsCallsCountLock.withLock { subscribeToRoomsRoomIdsUnderlyingCallsCount = newValue } } } open var subscribeToRoomsRoomIdsCalled: Bool { return subscribeToRoomsRoomIdsCallsCount > 0 } - open var subscribeToRoomsRoomIdsReceivedRoomIds: [String]? - open var subscribeToRoomsRoomIdsReceivedInvocations: [[String]] = [] + private let subscribeToRoomsRoomIdsReceivedRoomIdsLock = NSLock() + private var subscribeToRoomsRoomIdsUnderlyingReceivedRoomIds: [String]? + open var subscribeToRoomsRoomIdsReceivedRoomIds: [String]? { + get { subscribeToRoomsRoomIdsReceivedRoomIdsLock.withLock { subscribeToRoomsRoomIdsUnderlyingReceivedRoomIds } } + set { subscribeToRoomsRoomIdsReceivedRoomIdsLock.withLock { subscribeToRoomsRoomIdsUnderlyingReceivedRoomIds = newValue } } + } + private let subscribeToRoomsRoomIdsReceivedInvocationsLock = NSLock() + private var subscribeToRoomsRoomIdsUnderlyingReceivedInvocations: [[String]] = [] + open var subscribeToRoomsRoomIdsReceivedInvocations: [[String]] { + get { subscribeToRoomsRoomIdsReceivedInvocationsLock.withLock { subscribeToRoomsRoomIdsUnderlyingReceivedInvocations } } + set { subscribeToRoomsRoomIdsReceivedInvocationsLock.withLock { subscribeToRoomsRoomIdsUnderlyingReceivedInvocations = newValue } } + } open var subscribeToRoomsRoomIdsClosure: (([String]) async throws -> Void)? open override func subscribeToRooms(roomIds: [String]) async throws { if let error = subscribeToRoomsRoomIdsThrowableError { throw error } - subscribeToRoomsRoomIdsCallsCount += 1 + subscribeToRoomsRoomIdsCallsCountLock.withLock { subscribeToRoomsRoomIdsUnderlyingCallsCount += 1 } subscribeToRoomsRoomIdsReceivedRoomIds = roomIds - DispatchQueue.main.async { - self.subscribeToRoomsRoomIdsReceivedInvocations.append(roomIds) - } + subscribeToRoomsRoomIdsReceivedInvocationsLock.withLock { subscribeToRoomsRoomIdsUnderlyingReceivedInvocations.append(roomIds) } try await subscribeToRoomsRoomIdsClosure?(roomIds) } //MARK: - syncIndicator - open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount = 0 + private let syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerCallsCountLock = NSLock() + private var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount = 0 open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerCallsCount: Int { - get { - if Thread.isMainThread { - return syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount = newValue - } - } - } + get { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerCallsCountLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount } } + set { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerCallsCountLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount = newValue } } } open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerCalled: Bool { return syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerCallsCount > 0 } - open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedArguments: (delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener)? - open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedInvocations: [(delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener)] = [] + private let syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedArgumentsLock = NSLock() + private var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReceivedArguments: (delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener)? + open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedArguments: (delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener)? { + get { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedArgumentsLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReceivedArguments } } + set { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedArgumentsLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReceivedArguments = newValue } } + } + private let syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedInvocationsLock = NSLock() + private var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReceivedInvocations: [(delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener)] = [] + open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedInvocations: [(delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener)] { + get { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedInvocationsLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReceivedInvocations } } + set { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedInvocationsLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReceivedInvocations = newValue } } + } + private let syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReturnValueLock = NSLock() open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReturnValue: TaskHandle! open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReturnValue = newValue - } - } - } + get { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReturnValueLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReturnValue } } + set { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReturnValueLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReturnValue = newValue } } } open var syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerClosure: ((UInt32, UInt32, RoomListServiceSyncIndicatorListener) -> TaskHandle)? open override func syncIndicator(delayBeforeShowingInMs: UInt32, delayBeforeHidingInMs: UInt32, listener: RoomListServiceSyncIndicatorListener) -> TaskHandle { - syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerCallsCount += 1 + syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerCallsCountLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingCallsCount += 1 } syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedArguments = (delayBeforeShowingInMs: delayBeforeShowingInMs, delayBeforeHidingInMs: delayBeforeHidingInMs, listener: listener) - DispatchQueue.main.async { - self.syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedInvocations.append((delayBeforeShowingInMs: delayBeforeShowingInMs, delayBeforeHidingInMs: delayBeforeHidingInMs, listener: listener)) - } + syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerReceivedInvocationsLock.withLock { syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerUnderlyingReceivedInvocations.append((delayBeforeShowingInMs: delayBeforeShowingInMs, delayBeforeHidingInMs: delayBeforeHidingInMs, listener: listener)) } if let syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerClosure = syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerClosure { return syncIndicatorDelayBeforeShowingInMsDelayBeforeHidingInMsListenerClosure(delayBeforeShowingInMs, delayBeforeHidingInMs, listener) } else { @@ -22033,62 +12979,26 @@ open class RoomMembersIteratorSDKMock: MatrixRustSDK.RoomMembersIterator, @unche //MARK: - len - open var lenUnderlyingCallsCount = 0 + private let lenCallsCountLock = NSLock() + private var lenUnderlyingCallsCount = 0 open var lenCallsCount: Int { - get { - if Thread.isMainThread { - return lenUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = lenUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - lenUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - lenUnderlyingCallsCount = newValue - } - } - } + get { lenCallsCountLock.withLock { lenUnderlyingCallsCount } } + set { lenCallsCountLock.withLock { lenUnderlyingCallsCount = newValue } } } open var lenCalled: Bool { return lenCallsCount > 0 } + private let lenReturnValueLock = NSLock() open var lenUnderlyingReturnValue: UInt32! open var lenReturnValue: UInt32! { - get { - if Thread.isMainThread { - return lenUnderlyingReturnValue - } else { - var returnValue: UInt32? = nil - DispatchQueue.main.sync { - returnValue = lenUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - lenUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - lenUnderlyingReturnValue = newValue - } - } - } + get { lenReturnValueLock.withLock { lenUnderlyingReturnValue } } + set { lenReturnValueLock.withLock { lenUnderlyingReturnValue = newValue } } } open var lenClosure: (() -> UInt32)? open override func len() -> UInt32 { - lenCallsCount += 1 + lenCallsCountLock.withLock { lenUnderlyingCallsCount += 1 } if let lenClosure = lenClosure { return lenClosure() } else { @@ -22098,68 +13008,40 @@ open class RoomMembersIteratorSDKMock: MatrixRustSDK.RoomMembersIterator, @unche //MARK: - nextChunk - open var nextChunkChunkSizeUnderlyingCallsCount = 0 + private let nextChunkChunkSizeCallsCountLock = NSLock() + private var nextChunkChunkSizeUnderlyingCallsCount = 0 open var nextChunkChunkSizeCallsCount: Int { - get { - if Thread.isMainThread { - return nextChunkChunkSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = nextChunkChunkSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextChunkChunkSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - nextChunkChunkSizeUnderlyingCallsCount = newValue - } - } - } + get { nextChunkChunkSizeCallsCountLock.withLock { nextChunkChunkSizeUnderlyingCallsCount } } + set { nextChunkChunkSizeCallsCountLock.withLock { nextChunkChunkSizeUnderlyingCallsCount = newValue } } } open var nextChunkChunkSizeCalled: Bool { return nextChunkChunkSizeCallsCount > 0 } - open var nextChunkChunkSizeReceivedChunkSize: UInt32? - open var nextChunkChunkSizeReceivedInvocations: [UInt32] = [] + private let nextChunkChunkSizeReceivedChunkSizeLock = NSLock() + private var nextChunkChunkSizeUnderlyingReceivedChunkSize: UInt32? + open var nextChunkChunkSizeReceivedChunkSize: UInt32? { + get { nextChunkChunkSizeReceivedChunkSizeLock.withLock { nextChunkChunkSizeUnderlyingReceivedChunkSize } } + set { nextChunkChunkSizeReceivedChunkSizeLock.withLock { nextChunkChunkSizeUnderlyingReceivedChunkSize = newValue } } + } + private let nextChunkChunkSizeReceivedInvocationsLock = NSLock() + private var nextChunkChunkSizeUnderlyingReceivedInvocations: [UInt32] = [] + open var nextChunkChunkSizeReceivedInvocations: [UInt32] { + get { nextChunkChunkSizeReceivedInvocationsLock.withLock { nextChunkChunkSizeUnderlyingReceivedInvocations } } + set { nextChunkChunkSizeReceivedInvocationsLock.withLock { nextChunkChunkSizeUnderlyingReceivedInvocations = newValue } } + } + private let nextChunkChunkSizeReturnValueLock = NSLock() open var nextChunkChunkSizeUnderlyingReturnValue: [RoomMember]? open var nextChunkChunkSizeReturnValue: [RoomMember]? { - get { - if Thread.isMainThread { - return nextChunkChunkSizeUnderlyingReturnValue - } else { - var returnValue: [RoomMember]?? = nil - DispatchQueue.main.sync { - returnValue = nextChunkChunkSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextChunkChunkSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - nextChunkChunkSizeUnderlyingReturnValue = newValue - } - } - } + get { nextChunkChunkSizeReturnValueLock.withLock { nextChunkChunkSizeUnderlyingReturnValue } } + set { nextChunkChunkSizeReturnValueLock.withLock { nextChunkChunkSizeUnderlyingReturnValue = newValue } } } open var nextChunkChunkSizeClosure: ((UInt32) -> [RoomMember]?)? open override func nextChunk(chunkSize: UInt32) -> [RoomMember]? { - nextChunkChunkSizeCallsCount += 1 + nextChunkChunkSizeCallsCountLock.withLock { nextChunkChunkSizeUnderlyingCallsCount += 1 } nextChunkChunkSizeReceivedChunkSize = chunkSize - DispatchQueue.main.async { - self.nextChunkChunkSizeReceivedInvocations.append(chunkSize) - } + nextChunkChunkSizeReceivedInvocationsLock.withLock { nextChunkChunkSizeUnderlyingReceivedInvocations.append(chunkSize) } if let nextChunkChunkSizeClosure = nextChunkChunkSizeClosure { return nextChunkChunkSizeClosure(chunkSize) } else { @@ -22184,68 +13066,40 @@ open class RoomMessageEventContentWithoutRelationSDKMock: MatrixRustSDK.RoomMess //MARK: - withMentions - open var withMentionsMentionsUnderlyingCallsCount = 0 + private let withMentionsMentionsCallsCountLock = NSLock() + private var withMentionsMentionsUnderlyingCallsCount = 0 open var withMentionsMentionsCallsCount: Int { - get { - if Thread.isMainThread { - return withMentionsMentionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withMentionsMentionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withMentionsMentionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withMentionsMentionsUnderlyingCallsCount = newValue - } - } - } + get { withMentionsMentionsCallsCountLock.withLock { withMentionsMentionsUnderlyingCallsCount } } + set { withMentionsMentionsCallsCountLock.withLock { withMentionsMentionsUnderlyingCallsCount = newValue } } } open var withMentionsMentionsCalled: Bool { return withMentionsMentionsCallsCount > 0 } - open var withMentionsMentionsReceivedMentions: Mentions? - open var withMentionsMentionsReceivedInvocations: [Mentions] = [] + private let withMentionsMentionsReceivedMentionsLock = NSLock() + private var withMentionsMentionsUnderlyingReceivedMentions: Mentions? + open var withMentionsMentionsReceivedMentions: Mentions? { + get { withMentionsMentionsReceivedMentionsLock.withLock { withMentionsMentionsUnderlyingReceivedMentions } } + set { withMentionsMentionsReceivedMentionsLock.withLock { withMentionsMentionsUnderlyingReceivedMentions = newValue } } + } + private let withMentionsMentionsReceivedInvocationsLock = NSLock() + private var withMentionsMentionsUnderlyingReceivedInvocations: [Mentions] = [] + open var withMentionsMentionsReceivedInvocations: [Mentions] { + get { withMentionsMentionsReceivedInvocationsLock.withLock { withMentionsMentionsUnderlyingReceivedInvocations } } + set { withMentionsMentionsReceivedInvocationsLock.withLock { withMentionsMentionsUnderlyingReceivedInvocations = newValue } } + } + private let withMentionsMentionsReturnValueLock = NSLock() open var withMentionsMentionsUnderlyingReturnValue: RoomMessageEventContentWithoutRelation! open var withMentionsMentionsReturnValue: RoomMessageEventContentWithoutRelation! { - get { - if Thread.isMainThread { - return withMentionsMentionsUnderlyingReturnValue - } else { - var returnValue: RoomMessageEventContentWithoutRelation? = nil - DispatchQueue.main.sync { - returnValue = withMentionsMentionsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withMentionsMentionsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - withMentionsMentionsUnderlyingReturnValue = newValue - } - } - } + get { withMentionsMentionsReturnValueLock.withLock { withMentionsMentionsUnderlyingReturnValue } } + set { withMentionsMentionsReturnValueLock.withLock { withMentionsMentionsUnderlyingReturnValue = newValue } } } open var withMentionsMentionsClosure: ((Mentions) -> RoomMessageEventContentWithoutRelation)? open override func withMentions(mentions: Mentions) -> RoomMessageEventContentWithoutRelation { - withMentionsMentionsCallsCount += 1 + withMentionsMentionsCallsCountLock.withLock { withMentionsMentionsUnderlyingCallsCount += 1 } withMentionsMentionsReceivedMentions = mentions - DispatchQueue.main.async { - self.withMentionsMentionsReceivedInvocations.append(mentions) - } + withMentionsMentionsReceivedInvocationsLock.withLock { withMentionsMentionsUnderlyingReceivedInvocations.append(mentions) } if let withMentionsMentionsClosure = withMentionsMentionsClosure { return withMentionsMentionsClosure(mentions) } else { @@ -22270,62 +13124,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserBan - open var canOwnUserBanUnderlyingCallsCount = 0 + private let canOwnUserBanCallsCountLock = NSLock() + private var canOwnUserBanUnderlyingCallsCount = 0 open var canOwnUserBanCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserBanUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserBanUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserBanUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserBanUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserBanCallsCountLock.withLock { canOwnUserBanUnderlyingCallsCount } } + set { canOwnUserBanCallsCountLock.withLock { canOwnUserBanUnderlyingCallsCount = newValue } } } open var canOwnUserBanCalled: Bool { return canOwnUserBanCallsCount > 0 } + private let canOwnUserBanReturnValueLock = NSLock() open var canOwnUserBanUnderlyingReturnValue: Bool! open var canOwnUserBanReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserBanUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserBanUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserBanUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserBanUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserBanReturnValueLock.withLock { canOwnUserBanUnderlyingReturnValue } } + set { canOwnUserBanReturnValueLock.withLock { canOwnUserBanUnderlyingReturnValue = newValue } } } open var canOwnUserBanClosure: (() -> Bool)? open override func canOwnUserBan() -> Bool { - canOwnUserBanCallsCount += 1 + canOwnUserBanCallsCountLock.withLock { canOwnUserBanUnderlyingCallsCount += 1 } if let canOwnUserBanClosure = canOwnUserBanClosure { return canOwnUserBanClosure() } else { @@ -22335,62 +13153,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserInvite - open var canOwnUserInviteUnderlyingCallsCount = 0 + private let canOwnUserInviteCallsCountLock = NSLock() + private var canOwnUserInviteUnderlyingCallsCount = 0 open var canOwnUserInviteCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserInviteUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserInviteUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserInviteUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserInviteUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserInviteCallsCountLock.withLock { canOwnUserInviteUnderlyingCallsCount } } + set { canOwnUserInviteCallsCountLock.withLock { canOwnUserInviteUnderlyingCallsCount = newValue } } } open var canOwnUserInviteCalled: Bool { return canOwnUserInviteCallsCount > 0 } + private let canOwnUserInviteReturnValueLock = NSLock() open var canOwnUserInviteUnderlyingReturnValue: Bool! open var canOwnUserInviteReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserInviteUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserInviteUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserInviteUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserInviteUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserInviteReturnValueLock.withLock { canOwnUserInviteUnderlyingReturnValue } } + set { canOwnUserInviteReturnValueLock.withLock { canOwnUserInviteUnderlyingReturnValue = newValue } } } open var canOwnUserInviteClosure: (() -> Bool)? open override func canOwnUserInvite() -> Bool { - canOwnUserInviteCallsCount += 1 + canOwnUserInviteCallsCountLock.withLock { canOwnUserInviteUnderlyingCallsCount += 1 } if let canOwnUserInviteClosure = canOwnUserInviteClosure { return canOwnUserInviteClosure() } else { @@ -22400,62 +13182,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserKick - open var canOwnUserKickUnderlyingCallsCount = 0 + private let canOwnUserKickCallsCountLock = NSLock() + private var canOwnUserKickUnderlyingCallsCount = 0 open var canOwnUserKickCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserKickUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserKickUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserKickUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserKickUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserKickCallsCountLock.withLock { canOwnUserKickUnderlyingCallsCount } } + set { canOwnUserKickCallsCountLock.withLock { canOwnUserKickUnderlyingCallsCount = newValue } } } open var canOwnUserKickCalled: Bool { return canOwnUserKickCallsCount > 0 } + private let canOwnUserKickReturnValueLock = NSLock() open var canOwnUserKickUnderlyingReturnValue: Bool! open var canOwnUserKickReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserKickUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserKickUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserKickUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserKickUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserKickReturnValueLock.withLock { canOwnUserKickUnderlyingReturnValue } } + set { canOwnUserKickReturnValueLock.withLock { canOwnUserKickUnderlyingReturnValue = newValue } } } open var canOwnUserKickClosure: (() -> Bool)? open override func canOwnUserKick() -> Bool { - canOwnUserKickCallsCount += 1 + canOwnUserKickCallsCountLock.withLock { canOwnUserKickUnderlyingCallsCount += 1 } if let canOwnUserKickClosure = canOwnUserKickClosure { return canOwnUserKickClosure() } else { @@ -22465,62 +13211,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserPinUnpin - open var canOwnUserPinUnpinUnderlyingCallsCount = 0 + private let canOwnUserPinUnpinCallsCountLock = NSLock() + private var canOwnUserPinUnpinUnderlyingCallsCount = 0 open var canOwnUserPinUnpinCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserPinUnpinUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserPinUnpinUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserPinUnpinUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserPinUnpinUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserPinUnpinCallsCountLock.withLock { canOwnUserPinUnpinUnderlyingCallsCount } } + set { canOwnUserPinUnpinCallsCountLock.withLock { canOwnUserPinUnpinUnderlyingCallsCount = newValue } } } open var canOwnUserPinUnpinCalled: Bool { return canOwnUserPinUnpinCallsCount > 0 } + private let canOwnUserPinUnpinReturnValueLock = NSLock() open var canOwnUserPinUnpinUnderlyingReturnValue: Bool! open var canOwnUserPinUnpinReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserPinUnpinUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserPinUnpinUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserPinUnpinUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserPinUnpinUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserPinUnpinReturnValueLock.withLock { canOwnUserPinUnpinUnderlyingReturnValue } } + set { canOwnUserPinUnpinReturnValueLock.withLock { canOwnUserPinUnpinUnderlyingReturnValue = newValue } } } open var canOwnUserPinUnpinClosure: (() -> Bool)? open override func canOwnUserPinUnpin() -> Bool { - canOwnUserPinUnpinCallsCount += 1 + canOwnUserPinUnpinCallsCountLock.withLock { canOwnUserPinUnpinUnderlyingCallsCount += 1 } if let canOwnUserPinUnpinClosure = canOwnUserPinUnpinClosure { return canOwnUserPinUnpinClosure() } else { @@ -22530,62 +13240,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserRedactOther - open var canOwnUserRedactOtherUnderlyingCallsCount = 0 + private let canOwnUserRedactOtherCallsCountLock = NSLock() + private var canOwnUserRedactOtherUnderlyingCallsCount = 0 open var canOwnUserRedactOtherCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserRedactOtherUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserRedactOtherUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserRedactOtherUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserRedactOtherUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserRedactOtherCallsCountLock.withLock { canOwnUserRedactOtherUnderlyingCallsCount } } + set { canOwnUserRedactOtherCallsCountLock.withLock { canOwnUserRedactOtherUnderlyingCallsCount = newValue } } } open var canOwnUserRedactOtherCalled: Bool { return canOwnUserRedactOtherCallsCount > 0 } + private let canOwnUserRedactOtherReturnValueLock = NSLock() open var canOwnUserRedactOtherUnderlyingReturnValue: Bool! open var canOwnUserRedactOtherReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserRedactOtherUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserRedactOtherUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserRedactOtherUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserRedactOtherUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserRedactOtherReturnValueLock.withLock { canOwnUserRedactOtherUnderlyingReturnValue } } + set { canOwnUserRedactOtherReturnValueLock.withLock { canOwnUserRedactOtherUnderlyingReturnValue = newValue } } } open var canOwnUserRedactOtherClosure: (() -> Bool)? open override func canOwnUserRedactOther() -> Bool { - canOwnUserRedactOtherCallsCount += 1 + canOwnUserRedactOtherCallsCountLock.withLock { canOwnUserRedactOtherUnderlyingCallsCount += 1 } if let canOwnUserRedactOtherClosure = canOwnUserRedactOtherClosure { return canOwnUserRedactOtherClosure() } else { @@ -22595,62 +13269,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserRedactOwn - open var canOwnUserRedactOwnUnderlyingCallsCount = 0 + private let canOwnUserRedactOwnCallsCountLock = NSLock() + private var canOwnUserRedactOwnUnderlyingCallsCount = 0 open var canOwnUserRedactOwnCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserRedactOwnUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserRedactOwnUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserRedactOwnUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserRedactOwnUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserRedactOwnCallsCountLock.withLock { canOwnUserRedactOwnUnderlyingCallsCount } } + set { canOwnUserRedactOwnCallsCountLock.withLock { canOwnUserRedactOwnUnderlyingCallsCount = newValue } } } open var canOwnUserRedactOwnCalled: Bool { return canOwnUserRedactOwnCallsCount > 0 } + private let canOwnUserRedactOwnReturnValueLock = NSLock() open var canOwnUserRedactOwnUnderlyingReturnValue: Bool! open var canOwnUserRedactOwnReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserRedactOwnUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserRedactOwnUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserRedactOwnUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserRedactOwnUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserRedactOwnReturnValueLock.withLock { canOwnUserRedactOwnUnderlyingReturnValue } } + set { canOwnUserRedactOwnReturnValueLock.withLock { canOwnUserRedactOwnUnderlyingReturnValue = newValue } } } open var canOwnUserRedactOwnClosure: (() -> Bool)? open override func canOwnUserRedactOwn() -> Bool { - canOwnUserRedactOwnCallsCount += 1 + canOwnUserRedactOwnCallsCountLock.withLock { canOwnUserRedactOwnUnderlyingCallsCount += 1 } if let canOwnUserRedactOwnClosure = canOwnUserRedactOwnClosure { return canOwnUserRedactOwnClosure() } else { @@ -22660,68 +13298,40 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserSendMessage - open var canOwnUserSendMessageMessageUnderlyingCallsCount = 0 + private let canOwnUserSendMessageMessageCallsCountLock = NSLock() + private var canOwnUserSendMessageMessageUnderlyingCallsCount = 0 open var canOwnUserSendMessageMessageCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserSendMessageMessageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserSendMessageMessageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserSendMessageMessageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserSendMessageMessageUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserSendMessageMessageCallsCountLock.withLock { canOwnUserSendMessageMessageUnderlyingCallsCount } } + set { canOwnUserSendMessageMessageCallsCountLock.withLock { canOwnUserSendMessageMessageUnderlyingCallsCount = newValue } } } open var canOwnUserSendMessageMessageCalled: Bool { return canOwnUserSendMessageMessageCallsCount > 0 } - open var canOwnUserSendMessageMessageReceivedMessage: MessageLikeEventType? - open var canOwnUserSendMessageMessageReceivedInvocations: [MessageLikeEventType] = [] + private let canOwnUserSendMessageMessageReceivedMessageLock = NSLock() + private var canOwnUserSendMessageMessageUnderlyingReceivedMessage: MessageLikeEventType? + open var canOwnUserSendMessageMessageReceivedMessage: MessageLikeEventType? { + get { canOwnUserSendMessageMessageReceivedMessageLock.withLock { canOwnUserSendMessageMessageUnderlyingReceivedMessage } } + set { canOwnUserSendMessageMessageReceivedMessageLock.withLock { canOwnUserSendMessageMessageUnderlyingReceivedMessage = newValue } } + } + private let canOwnUserSendMessageMessageReceivedInvocationsLock = NSLock() + private var canOwnUserSendMessageMessageUnderlyingReceivedInvocations: [MessageLikeEventType] = [] + open var canOwnUserSendMessageMessageReceivedInvocations: [MessageLikeEventType] { + get { canOwnUserSendMessageMessageReceivedInvocationsLock.withLock { canOwnUserSendMessageMessageUnderlyingReceivedInvocations } } + set { canOwnUserSendMessageMessageReceivedInvocationsLock.withLock { canOwnUserSendMessageMessageUnderlyingReceivedInvocations = newValue } } + } + private let canOwnUserSendMessageMessageReturnValueLock = NSLock() open var canOwnUserSendMessageMessageUnderlyingReturnValue: Bool! open var canOwnUserSendMessageMessageReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserSendMessageMessageUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserSendMessageMessageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserSendMessageMessageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserSendMessageMessageUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserSendMessageMessageReturnValueLock.withLock { canOwnUserSendMessageMessageUnderlyingReturnValue } } + set { canOwnUserSendMessageMessageReturnValueLock.withLock { canOwnUserSendMessageMessageUnderlyingReturnValue = newValue } } } open var canOwnUserSendMessageMessageClosure: ((MessageLikeEventType) -> Bool)? open override func canOwnUserSendMessage(message: MessageLikeEventType) -> Bool { - canOwnUserSendMessageMessageCallsCount += 1 + canOwnUserSendMessageMessageCallsCountLock.withLock { canOwnUserSendMessageMessageUnderlyingCallsCount += 1 } canOwnUserSendMessageMessageReceivedMessage = message - DispatchQueue.main.async { - self.canOwnUserSendMessageMessageReceivedInvocations.append(message) - } + canOwnUserSendMessageMessageReceivedInvocationsLock.withLock { canOwnUserSendMessageMessageUnderlyingReceivedInvocations.append(message) } if let canOwnUserSendMessageMessageClosure = canOwnUserSendMessageMessageClosure { return canOwnUserSendMessageMessageClosure(message) } else { @@ -22731,68 +13341,40 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserSendState - open var canOwnUserSendStateStateEventUnderlyingCallsCount = 0 + private let canOwnUserSendStateStateEventCallsCountLock = NSLock() + private var canOwnUserSendStateStateEventUnderlyingCallsCount = 0 open var canOwnUserSendStateStateEventCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserSendStateStateEventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserSendStateStateEventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserSendStateStateEventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserSendStateStateEventUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserSendStateStateEventCallsCountLock.withLock { canOwnUserSendStateStateEventUnderlyingCallsCount } } + set { canOwnUserSendStateStateEventCallsCountLock.withLock { canOwnUserSendStateStateEventUnderlyingCallsCount = newValue } } } open var canOwnUserSendStateStateEventCalled: Bool { return canOwnUserSendStateStateEventCallsCount > 0 } - open var canOwnUserSendStateStateEventReceivedStateEvent: StateEventType? - open var canOwnUserSendStateStateEventReceivedInvocations: [StateEventType] = [] + private let canOwnUserSendStateStateEventReceivedStateEventLock = NSLock() + private var canOwnUserSendStateStateEventUnderlyingReceivedStateEvent: StateEventType? + open var canOwnUserSendStateStateEventReceivedStateEvent: StateEventType? { + get { canOwnUserSendStateStateEventReceivedStateEventLock.withLock { canOwnUserSendStateStateEventUnderlyingReceivedStateEvent } } + set { canOwnUserSendStateStateEventReceivedStateEventLock.withLock { canOwnUserSendStateStateEventUnderlyingReceivedStateEvent = newValue } } + } + private let canOwnUserSendStateStateEventReceivedInvocationsLock = NSLock() + private var canOwnUserSendStateStateEventUnderlyingReceivedInvocations: [StateEventType] = [] + open var canOwnUserSendStateStateEventReceivedInvocations: [StateEventType] { + get { canOwnUserSendStateStateEventReceivedInvocationsLock.withLock { canOwnUserSendStateStateEventUnderlyingReceivedInvocations } } + set { canOwnUserSendStateStateEventReceivedInvocationsLock.withLock { canOwnUserSendStateStateEventUnderlyingReceivedInvocations = newValue } } + } + private let canOwnUserSendStateStateEventReturnValueLock = NSLock() open var canOwnUserSendStateStateEventUnderlyingReturnValue: Bool! open var canOwnUserSendStateStateEventReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserSendStateStateEventUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserSendStateStateEventUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserSendStateStateEventUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserSendStateStateEventUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserSendStateStateEventReturnValueLock.withLock { canOwnUserSendStateStateEventUnderlyingReturnValue } } + set { canOwnUserSendStateStateEventReturnValueLock.withLock { canOwnUserSendStateStateEventUnderlyingReturnValue = newValue } } } open var canOwnUserSendStateStateEventClosure: ((StateEventType) -> Bool)? open override func canOwnUserSendState(stateEvent: StateEventType) -> Bool { - canOwnUserSendStateStateEventCallsCount += 1 + canOwnUserSendStateStateEventCallsCountLock.withLock { canOwnUserSendStateStateEventUnderlyingCallsCount += 1 } canOwnUserSendStateStateEventReceivedStateEvent = stateEvent - DispatchQueue.main.async { - self.canOwnUserSendStateStateEventReceivedInvocations.append(stateEvent) - } + canOwnUserSendStateStateEventReceivedInvocationsLock.withLock { canOwnUserSendStateStateEventUnderlyingReceivedInvocations.append(stateEvent) } if let canOwnUserSendStateStateEventClosure = canOwnUserSendStateStateEventClosure { return canOwnUserSendStateStateEventClosure(stateEvent) } else { @@ -22802,62 +13384,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canOwnUserTriggerRoomNotification - open var canOwnUserTriggerRoomNotificationUnderlyingCallsCount = 0 + private let canOwnUserTriggerRoomNotificationCallsCountLock = NSLock() + private var canOwnUserTriggerRoomNotificationUnderlyingCallsCount = 0 open var canOwnUserTriggerRoomNotificationCallsCount: Int { - get { - if Thread.isMainThread { - return canOwnUserTriggerRoomNotificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserTriggerRoomNotificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserTriggerRoomNotificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canOwnUserTriggerRoomNotificationUnderlyingCallsCount = newValue - } - } - } + get { canOwnUserTriggerRoomNotificationCallsCountLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingCallsCount } } + set { canOwnUserTriggerRoomNotificationCallsCountLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingCallsCount = newValue } } } open var canOwnUserTriggerRoomNotificationCalled: Bool { return canOwnUserTriggerRoomNotificationCallsCount > 0 } + private let canOwnUserTriggerRoomNotificationReturnValueLock = NSLock() open var canOwnUserTriggerRoomNotificationUnderlyingReturnValue: Bool! open var canOwnUserTriggerRoomNotificationReturnValue: Bool! { - get { - if Thread.isMainThread { - return canOwnUserTriggerRoomNotificationUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canOwnUserTriggerRoomNotificationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canOwnUserTriggerRoomNotificationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canOwnUserTriggerRoomNotificationUnderlyingReturnValue = newValue - } - } - } + get { canOwnUserTriggerRoomNotificationReturnValueLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingReturnValue } } + set { canOwnUserTriggerRoomNotificationReturnValueLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingReturnValue = newValue } } } open var canOwnUserTriggerRoomNotificationClosure: (() -> Bool)? open override func canOwnUserTriggerRoomNotification() -> Bool { - canOwnUserTriggerRoomNotificationCallsCount += 1 + canOwnUserTriggerRoomNotificationCallsCountLock.withLock { canOwnUserTriggerRoomNotificationUnderlyingCallsCount += 1 } if let canOwnUserTriggerRoomNotificationClosure = canOwnUserTriggerRoomNotificationClosure { return canOwnUserTriggerRoomNotificationClosure() } else { @@ -22868,59 +13414,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserBan open var canUserBanUserIdThrowableError: Error? - open var canUserBanUserIdUnderlyingCallsCount = 0 + private let canUserBanUserIdCallsCountLock = NSLock() + private var canUserBanUserIdUnderlyingCallsCount = 0 open var canUserBanUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return canUserBanUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserBanUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserBanUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserBanUserIdUnderlyingCallsCount = newValue - } - } - } + get { canUserBanUserIdCallsCountLock.withLock { canUserBanUserIdUnderlyingCallsCount } } + set { canUserBanUserIdCallsCountLock.withLock { canUserBanUserIdUnderlyingCallsCount = newValue } } } open var canUserBanUserIdCalled: Bool { return canUserBanUserIdCallsCount > 0 } - open var canUserBanUserIdReceivedUserId: String? - open var canUserBanUserIdReceivedInvocations: [String] = [] + private let canUserBanUserIdReceivedUserIdLock = NSLock() + private var canUserBanUserIdUnderlyingReceivedUserId: String? + open var canUserBanUserIdReceivedUserId: String? { + get { canUserBanUserIdReceivedUserIdLock.withLock { canUserBanUserIdUnderlyingReceivedUserId } } + set { canUserBanUserIdReceivedUserIdLock.withLock { canUserBanUserIdUnderlyingReceivedUserId = newValue } } + } + private let canUserBanUserIdReceivedInvocationsLock = NSLock() + private var canUserBanUserIdUnderlyingReceivedInvocations: [String] = [] + open var canUserBanUserIdReceivedInvocations: [String] { + get { canUserBanUserIdReceivedInvocationsLock.withLock { canUserBanUserIdUnderlyingReceivedInvocations } } + set { canUserBanUserIdReceivedInvocationsLock.withLock { canUserBanUserIdUnderlyingReceivedInvocations = newValue } } + } + private let canUserBanUserIdReturnValueLock = NSLock() open var canUserBanUserIdUnderlyingReturnValue: Bool! open var canUserBanUserIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserBanUserIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserBanUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserBanUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserBanUserIdUnderlyingReturnValue = newValue - } - } - } + get { canUserBanUserIdReturnValueLock.withLock { canUserBanUserIdUnderlyingReturnValue } } + set { canUserBanUserIdReturnValueLock.withLock { canUserBanUserIdUnderlyingReturnValue = newValue } } } open var canUserBanUserIdClosure: ((String) throws -> Bool)? @@ -22928,11 +13448,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserBanUserIdThrowableError { throw error } - canUserBanUserIdCallsCount += 1 + canUserBanUserIdCallsCountLock.withLock { canUserBanUserIdUnderlyingCallsCount += 1 } canUserBanUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.canUserBanUserIdReceivedInvocations.append(userId) - } + canUserBanUserIdReceivedInvocationsLock.withLock { canUserBanUserIdUnderlyingReceivedInvocations.append(userId) } if let canUserBanUserIdClosure = canUserBanUserIdClosure { return try canUserBanUserIdClosure(userId) } else { @@ -22943,59 +13461,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserInvite open var canUserInviteUserIdThrowableError: Error? - open var canUserInviteUserIdUnderlyingCallsCount = 0 + private let canUserInviteUserIdCallsCountLock = NSLock() + private var canUserInviteUserIdUnderlyingCallsCount = 0 open var canUserInviteUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return canUserInviteUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserInviteUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserInviteUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserInviteUserIdUnderlyingCallsCount = newValue - } - } - } + get { canUserInviteUserIdCallsCountLock.withLock { canUserInviteUserIdUnderlyingCallsCount } } + set { canUserInviteUserIdCallsCountLock.withLock { canUserInviteUserIdUnderlyingCallsCount = newValue } } } open var canUserInviteUserIdCalled: Bool { return canUserInviteUserIdCallsCount > 0 } - open var canUserInviteUserIdReceivedUserId: String? - open var canUserInviteUserIdReceivedInvocations: [String] = [] + private let canUserInviteUserIdReceivedUserIdLock = NSLock() + private var canUserInviteUserIdUnderlyingReceivedUserId: String? + open var canUserInviteUserIdReceivedUserId: String? { + get { canUserInviteUserIdReceivedUserIdLock.withLock { canUserInviteUserIdUnderlyingReceivedUserId } } + set { canUserInviteUserIdReceivedUserIdLock.withLock { canUserInviteUserIdUnderlyingReceivedUserId = newValue } } + } + private let canUserInviteUserIdReceivedInvocationsLock = NSLock() + private var canUserInviteUserIdUnderlyingReceivedInvocations: [String] = [] + open var canUserInviteUserIdReceivedInvocations: [String] { + get { canUserInviteUserIdReceivedInvocationsLock.withLock { canUserInviteUserIdUnderlyingReceivedInvocations } } + set { canUserInviteUserIdReceivedInvocationsLock.withLock { canUserInviteUserIdUnderlyingReceivedInvocations = newValue } } + } + private let canUserInviteUserIdReturnValueLock = NSLock() open var canUserInviteUserIdUnderlyingReturnValue: Bool! open var canUserInviteUserIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserInviteUserIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserInviteUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserInviteUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserInviteUserIdUnderlyingReturnValue = newValue - } - } - } + get { canUserInviteUserIdReturnValueLock.withLock { canUserInviteUserIdUnderlyingReturnValue } } + set { canUserInviteUserIdReturnValueLock.withLock { canUserInviteUserIdUnderlyingReturnValue = newValue } } } open var canUserInviteUserIdClosure: ((String) throws -> Bool)? @@ -23003,11 +13495,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserInviteUserIdThrowableError { throw error } - canUserInviteUserIdCallsCount += 1 + canUserInviteUserIdCallsCountLock.withLock { canUserInviteUserIdUnderlyingCallsCount += 1 } canUserInviteUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.canUserInviteUserIdReceivedInvocations.append(userId) - } + canUserInviteUserIdReceivedInvocationsLock.withLock { canUserInviteUserIdUnderlyingReceivedInvocations.append(userId) } if let canUserInviteUserIdClosure = canUserInviteUserIdClosure { return try canUserInviteUserIdClosure(userId) } else { @@ -23018,59 +13508,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserKick open var canUserKickUserIdThrowableError: Error? - open var canUserKickUserIdUnderlyingCallsCount = 0 + private let canUserKickUserIdCallsCountLock = NSLock() + private var canUserKickUserIdUnderlyingCallsCount = 0 open var canUserKickUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return canUserKickUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserKickUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserKickUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserKickUserIdUnderlyingCallsCount = newValue - } - } - } + get { canUserKickUserIdCallsCountLock.withLock { canUserKickUserIdUnderlyingCallsCount } } + set { canUserKickUserIdCallsCountLock.withLock { canUserKickUserIdUnderlyingCallsCount = newValue } } } open var canUserKickUserIdCalled: Bool { return canUserKickUserIdCallsCount > 0 } - open var canUserKickUserIdReceivedUserId: String? - open var canUserKickUserIdReceivedInvocations: [String] = [] + private let canUserKickUserIdReceivedUserIdLock = NSLock() + private var canUserKickUserIdUnderlyingReceivedUserId: String? + open var canUserKickUserIdReceivedUserId: String? { + get { canUserKickUserIdReceivedUserIdLock.withLock { canUserKickUserIdUnderlyingReceivedUserId } } + set { canUserKickUserIdReceivedUserIdLock.withLock { canUserKickUserIdUnderlyingReceivedUserId = newValue } } + } + private let canUserKickUserIdReceivedInvocationsLock = NSLock() + private var canUserKickUserIdUnderlyingReceivedInvocations: [String] = [] + open var canUserKickUserIdReceivedInvocations: [String] { + get { canUserKickUserIdReceivedInvocationsLock.withLock { canUserKickUserIdUnderlyingReceivedInvocations } } + set { canUserKickUserIdReceivedInvocationsLock.withLock { canUserKickUserIdUnderlyingReceivedInvocations = newValue } } + } + private let canUserKickUserIdReturnValueLock = NSLock() open var canUserKickUserIdUnderlyingReturnValue: Bool! open var canUserKickUserIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserKickUserIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserKickUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserKickUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserKickUserIdUnderlyingReturnValue = newValue - } - } - } + get { canUserKickUserIdReturnValueLock.withLock { canUserKickUserIdUnderlyingReturnValue } } + set { canUserKickUserIdReturnValueLock.withLock { canUserKickUserIdUnderlyingReturnValue = newValue } } } open var canUserKickUserIdClosure: ((String) throws -> Bool)? @@ -23078,11 +13542,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserKickUserIdThrowableError { throw error } - canUserKickUserIdCallsCount += 1 + canUserKickUserIdCallsCountLock.withLock { canUserKickUserIdUnderlyingCallsCount += 1 } canUserKickUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.canUserKickUserIdReceivedInvocations.append(userId) - } + canUserKickUserIdReceivedInvocationsLock.withLock { canUserKickUserIdUnderlyingReceivedInvocations.append(userId) } if let canUserKickUserIdClosure = canUserKickUserIdClosure { return try canUserKickUserIdClosure(userId) } else { @@ -23093,59 +13555,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserPinUnpin open var canUserPinUnpinUserIdThrowableError: Error? - open var canUserPinUnpinUserIdUnderlyingCallsCount = 0 + private let canUserPinUnpinUserIdCallsCountLock = NSLock() + private var canUserPinUnpinUserIdUnderlyingCallsCount = 0 open var canUserPinUnpinUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return canUserPinUnpinUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserPinUnpinUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserPinUnpinUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserPinUnpinUserIdUnderlyingCallsCount = newValue - } - } - } + get { canUserPinUnpinUserIdCallsCountLock.withLock { canUserPinUnpinUserIdUnderlyingCallsCount } } + set { canUserPinUnpinUserIdCallsCountLock.withLock { canUserPinUnpinUserIdUnderlyingCallsCount = newValue } } } open var canUserPinUnpinUserIdCalled: Bool { return canUserPinUnpinUserIdCallsCount > 0 } - open var canUserPinUnpinUserIdReceivedUserId: String? - open var canUserPinUnpinUserIdReceivedInvocations: [String] = [] + private let canUserPinUnpinUserIdReceivedUserIdLock = NSLock() + private var canUserPinUnpinUserIdUnderlyingReceivedUserId: String? + open var canUserPinUnpinUserIdReceivedUserId: String? { + get { canUserPinUnpinUserIdReceivedUserIdLock.withLock { canUserPinUnpinUserIdUnderlyingReceivedUserId } } + set { canUserPinUnpinUserIdReceivedUserIdLock.withLock { canUserPinUnpinUserIdUnderlyingReceivedUserId = newValue } } + } + private let canUserPinUnpinUserIdReceivedInvocationsLock = NSLock() + private var canUserPinUnpinUserIdUnderlyingReceivedInvocations: [String] = [] + open var canUserPinUnpinUserIdReceivedInvocations: [String] { + get { canUserPinUnpinUserIdReceivedInvocationsLock.withLock { canUserPinUnpinUserIdUnderlyingReceivedInvocations } } + set { canUserPinUnpinUserIdReceivedInvocationsLock.withLock { canUserPinUnpinUserIdUnderlyingReceivedInvocations = newValue } } + } + private let canUserPinUnpinUserIdReturnValueLock = NSLock() open var canUserPinUnpinUserIdUnderlyingReturnValue: Bool! open var canUserPinUnpinUserIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserPinUnpinUserIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserPinUnpinUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserPinUnpinUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserPinUnpinUserIdUnderlyingReturnValue = newValue - } - } - } + get { canUserPinUnpinUserIdReturnValueLock.withLock { canUserPinUnpinUserIdUnderlyingReturnValue } } + set { canUserPinUnpinUserIdReturnValueLock.withLock { canUserPinUnpinUserIdUnderlyingReturnValue = newValue } } } open var canUserPinUnpinUserIdClosure: ((String) throws -> Bool)? @@ -23153,11 +13589,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserPinUnpinUserIdThrowableError { throw error } - canUserPinUnpinUserIdCallsCount += 1 + canUserPinUnpinUserIdCallsCountLock.withLock { canUserPinUnpinUserIdUnderlyingCallsCount += 1 } canUserPinUnpinUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.canUserPinUnpinUserIdReceivedInvocations.append(userId) - } + canUserPinUnpinUserIdReceivedInvocationsLock.withLock { canUserPinUnpinUserIdUnderlyingReceivedInvocations.append(userId) } if let canUserPinUnpinUserIdClosure = canUserPinUnpinUserIdClosure { return try canUserPinUnpinUserIdClosure(userId) } else { @@ -23168,59 +13602,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserRedactOther open var canUserRedactOtherUserIdThrowableError: Error? - open var canUserRedactOtherUserIdUnderlyingCallsCount = 0 + private let canUserRedactOtherUserIdCallsCountLock = NSLock() + private var canUserRedactOtherUserIdUnderlyingCallsCount = 0 open var canUserRedactOtherUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return canUserRedactOtherUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserRedactOtherUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserRedactOtherUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserRedactOtherUserIdUnderlyingCallsCount = newValue - } - } - } + get { canUserRedactOtherUserIdCallsCountLock.withLock { canUserRedactOtherUserIdUnderlyingCallsCount } } + set { canUserRedactOtherUserIdCallsCountLock.withLock { canUserRedactOtherUserIdUnderlyingCallsCount = newValue } } } open var canUserRedactOtherUserIdCalled: Bool { return canUserRedactOtherUserIdCallsCount > 0 } - open var canUserRedactOtherUserIdReceivedUserId: String? - open var canUserRedactOtherUserIdReceivedInvocations: [String] = [] + private let canUserRedactOtherUserIdReceivedUserIdLock = NSLock() + private var canUserRedactOtherUserIdUnderlyingReceivedUserId: String? + open var canUserRedactOtherUserIdReceivedUserId: String? { + get { canUserRedactOtherUserIdReceivedUserIdLock.withLock { canUserRedactOtherUserIdUnderlyingReceivedUserId } } + set { canUserRedactOtherUserIdReceivedUserIdLock.withLock { canUserRedactOtherUserIdUnderlyingReceivedUserId = newValue } } + } + private let canUserRedactOtherUserIdReceivedInvocationsLock = NSLock() + private var canUserRedactOtherUserIdUnderlyingReceivedInvocations: [String] = [] + open var canUserRedactOtherUserIdReceivedInvocations: [String] { + get { canUserRedactOtherUserIdReceivedInvocationsLock.withLock { canUserRedactOtherUserIdUnderlyingReceivedInvocations } } + set { canUserRedactOtherUserIdReceivedInvocationsLock.withLock { canUserRedactOtherUserIdUnderlyingReceivedInvocations = newValue } } + } + private let canUserRedactOtherUserIdReturnValueLock = NSLock() open var canUserRedactOtherUserIdUnderlyingReturnValue: Bool! open var canUserRedactOtherUserIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserRedactOtherUserIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserRedactOtherUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserRedactOtherUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserRedactOtherUserIdUnderlyingReturnValue = newValue - } - } - } + get { canUserRedactOtherUserIdReturnValueLock.withLock { canUserRedactOtherUserIdUnderlyingReturnValue } } + set { canUserRedactOtherUserIdReturnValueLock.withLock { canUserRedactOtherUserIdUnderlyingReturnValue = newValue } } } open var canUserRedactOtherUserIdClosure: ((String) throws -> Bool)? @@ -23228,11 +13636,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserRedactOtherUserIdThrowableError { throw error } - canUserRedactOtherUserIdCallsCount += 1 + canUserRedactOtherUserIdCallsCountLock.withLock { canUserRedactOtherUserIdUnderlyingCallsCount += 1 } canUserRedactOtherUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.canUserRedactOtherUserIdReceivedInvocations.append(userId) - } + canUserRedactOtherUserIdReceivedInvocationsLock.withLock { canUserRedactOtherUserIdUnderlyingReceivedInvocations.append(userId) } if let canUserRedactOtherUserIdClosure = canUserRedactOtherUserIdClosure { return try canUserRedactOtherUserIdClosure(userId) } else { @@ -23243,59 +13649,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserRedactOwn open var canUserRedactOwnUserIdThrowableError: Error? - open var canUserRedactOwnUserIdUnderlyingCallsCount = 0 + private let canUserRedactOwnUserIdCallsCountLock = NSLock() + private var canUserRedactOwnUserIdUnderlyingCallsCount = 0 open var canUserRedactOwnUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return canUserRedactOwnUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserRedactOwnUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserRedactOwnUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserRedactOwnUserIdUnderlyingCallsCount = newValue - } - } - } + get { canUserRedactOwnUserIdCallsCountLock.withLock { canUserRedactOwnUserIdUnderlyingCallsCount } } + set { canUserRedactOwnUserIdCallsCountLock.withLock { canUserRedactOwnUserIdUnderlyingCallsCount = newValue } } } open var canUserRedactOwnUserIdCalled: Bool { return canUserRedactOwnUserIdCallsCount > 0 } - open var canUserRedactOwnUserIdReceivedUserId: String? - open var canUserRedactOwnUserIdReceivedInvocations: [String] = [] + private let canUserRedactOwnUserIdReceivedUserIdLock = NSLock() + private var canUserRedactOwnUserIdUnderlyingReceivedUserId: String? + open var canUserRedactOwnUserIdReceivedUserId: String? { + get { canUserRedactOwnUserIdReceivedUserIdLock.withLock { canUserRedactOwnUserIdUnderlyingReceivedUserId } } + set { canUserRedactOwnUserIdReceivedUserIdLock.withLock { canUserRedactOwnUserIdUnderlyingReceivedUserId = newValue } } + } + private let canUserRedactOwnUserIdReceivedInvocationsLock = NSLock() + private var canUserRedactOwnUserIdUnderlyingReceivedInvocations: [String] = [] + open var canUserRedactOwnUserIdReceivedInvocations: [String] { + get { canUserRedactOwnUserIdReceivedInvocationsLock.withLock { canUserRedactOwnUserIdUnderlyingReceivedInvocations } } + set { canUserRedactOwnUserIdReceivedInvocationsLock.withLock { canUserRedactOwnUserIdUnderlyingReceivedInvocations = newValue } } + } + private let canUserRedactOwnUserIdReturnValueLock = NSLock() open var canUserRedactOwnUserIdUnderlyingReturnValue: Bool! open var canUserRedactOwnUserIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserRedactOwnUserIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserRedactOwnUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserRedactOwnUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserRedactOwnUserIdUnderlyingReturnValue = newValue - } - } - } + get { canUserRedactOwnUserIdReturnValueLock.withLock { canUserRedactOwnUserIdUnderlyingReturnValue } } + set { canUserRedactOwnUserIdReturnValueLock.withLock { canUserRedactOwnUserIdUnderlyingReturnValue = newValue } } } open var canUserRedactOwnUserIdClosure: ((String) throws -> Bool)? @@ -23303,11 +13683,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserRedactOwnUserIdThrowableError { throw error } - canUserRedactOwnUserIdCallsCount += 1 + canUserRedactOwnUserIdCallsCountLock.withLock { canUserRedactOwnUserIdUnderlyingCallsCount += 1 } canUserRedactOwnUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.canUserRedactOwnUserIdReceivedInvocations.append(userId) - } + canUserRedactOwnUserIdReceivedInvocationsLock.withLock { canUserRedactOwnUserIdUnderlyingReceivedInvocations.append(userId) } if let canUserRedactOwnUserIdClosure = canUserRedactOwnUserIdClosure { return try canUserRedactOwnUserIdClosure(userId) } else { @@ -23318,59 +13696,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserSendMessage open var canUserSendMessageUserIdMessageThrowableError: Error? - open var canUserSendMessageUserIdMessageUnderlyingCallsCount = 0 + private let canUserSendMessageUserIdMessageCallsCountLock = NSLock() + private var canUserSendMessageUserIdMessageUnderlyingCallsCount = 0 open var canUserSendMessageUserIdMessageCallsCount: Int { - get { - if Thread.isMainThread { - return canUserSendMessageUserIdMessageUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserSendMessageUserIdMessageUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserSendMessageUserIdMessageUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserSendMessageUserIdMessageUnderlyingCallsCount = newValue - } - } - } + get { canUserSendMessageUserIdMessageCallsCountLock.withLock { canUserSendMessageUserIdMessageUnderlyingCallsCount } } + set { canUserSendMessageUserIdMessageCallsCountLock.withLock { canUserSendMessageUserIdMessageUnderlyingCallsCount = newValue } } } open var canUserSendMessageUserIdMessageCalled: Bool { return canUserSendMessageUserIdMessageCallsCount > 0 } - open var canUserSendMessageUserIdMessageReceivedArguments: (userId: String, message: MessageLikeEventType)? - open var canUserSendMessageUserIdMessageReceivedInvocations: [(userId: String, message: MessageLikeEventType)] = [] + private let canUserSendMessageUserIdMessageReceivedArgumentsLock = NSLock() + private var canUserSendMessageUserIdMessageUnderlyingReceivedArguments: (userId: String, message: MessageLikeEventType)? + open var canUserSendMessageUserIdMessageReceivedArguments: (userId: String, message: MessageLikeEventType)? { + get { canUserSendMessageUserIdMessageReceivedArgumentsLock.withLock { canUserSendMessageUserIdMessageUnderlyingReceivedArguments } } + set { canUserSendMessageUserIdMessageReceivedArgumentsLock.withLock { canUserSendMessageUserIdMessageUnderlyingReceivedArguments = newValue } } + } + private let canUserSendMessageUserIdMessageReceivedInvocationsLock = NSLock() + private var canUserSendMessageUserIdMessageUnderlyingReceivedInvocations: [(userId: String, message: MessageLikeEventType)] = [] + open var canUserSendMessageUserIdMessageReceivedInvocations: [(userId: String, message: MessageLikeEventType)] { + get { canUserSendMessageUserIdMessageReceivedInvocationsLock.withLock { canUserSendMessageUserIdMessageUnderlyingReceivedInvocations } } + set { canUserSendMessageUserIdMessageReceivedInvocationsLock.withLock { canUserSendMessageUserIdMessageUnderlyingReceivedInvocations = newValue } } + } + private let canUserSendMessageUserIdMessageReturnValueLock = NSLock() open var canUserSendMessageUserIdMessageUnderlyingReturnValue: Bool! open var canUserSendMessageUserIdMessageReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserSendMessageUserIdMessageUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserSendMessageUserIdMessageUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserSendMessageUserIdMessageUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserSendMessageUserIdMessageUnderlyingReturnValue = newValue - } - } - } + get { canUserSendMessageUserIdMessageReturnValueLock.withLock { canUserSendMessageUserIdMessageUnderlyingReturnValue } } + set { canUserSendMessageUserIdMessageReturnValueLock.withLock { canUserSendMessageUserIdMessageUnderlyingReturnValue = newValue } } } open var canUserSendMessageUserIdMessageClosure: ((String, MessageLikeEventType) throws -> Bool)? @@ -23378,11 +13730,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserSendMessageUserIdMessageThrowableError { throw error } - canUserSendMessageUserIdMessageCallsCount += 1 + canUserSendMessageUserIdMessageCallsCountLock.withLock { canUserSendMessageUserIdMessageUnderlyingCallsCount += 1 } canUserSendMessageUserIdMessageReceivedArguments = (userId: userId, message: message) - DispatchQueue.main.async { - self.canUserSendMessageUserIdMessageReceivedInvocations.append((userId: userId, message: message)) - } + canUserSendMessageUserIdMessageReceivedInvocationsLock.withLock { canUserSendMessageUserIdMessageUnderlyingReceivedInvocations.append((userId: userId, message: message)) } if let canUserSendMessageUserIdMessageClosure = canUserSendMessageUserIdMessageClosure { return try canUserSendMessageUserIdMessageClosure(userId, message) } else { @@ -23393,59 +13743,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserSendState open var canUserSendStateUserIdStateEventThrowableError: Error? - open var canUserSendStateUserIdStateEventUnderlyingCallsCount = 0 + private let canUserSendStateUserIdStateEventCallsCountLock = NSLock() + private var canUserSendStateUserIdStateEventUnderlyingCallsCount = 0 open var canUserSendStateUserIdStateEventCallsCount: Int { - get { - if Thread.isMainThread { - return canUserSendStateUserIdStateEventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserSendStateUserIdStateEventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserSendStateUserIdStateEventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserSendStateUserIdStateEventUnderlyingCallsCount = newValue - } - } - } + get { canUserSendStateUserIdStateEventCallsCountLock.withLock { canUserSendStateUserIdStateEventUnderlyingCallsCount } } + set { canUserSendStateUserIdStateEventCallsCountLock.withLock { canUserSendStateUserIdStateEventUnderlyingCallsCount = newValue } } } open var canUserSendStateUserIdStateEventCalled: Bool { return canUserSendStateUserIdStateEventCallsCount > 0 } - open var canUserSendStateUserIdStateEventReceivedArguments: (userId: String, stateEvent: StateEventType)? - open var canUserSendStateUserIdStateEventReceivedInvocations: [(userId: String, stateEvent: StateEventType)] = [] + private let canUserSendStateUserIdStateEventReceivedArgumentsLock = NSLock() + private var canUserSendStateUserIdStateEventUnderlyingReceivedArguments: (userId: String, stateEvent: StateEventType)? + open var canUserSendStateUserIdStateEventReceivedArguments: (userId: String, stateEvent: StateEventType)? { + get { canUserSendStateUserIdStateEventReceivedArgumentsLock.withLock { canUserSendStateUserIdStateEventUnderlyingReceivedArguments } } + set { canUserSendStateUserIdStateEventReceivedArgumentsLock.withLock { canUserSendStateUserIdStateEventUnderlyingReceivedArguments = newValue } } + } + private let canUserSendStateUserIdStateEventReceivedInvocationsLock = NSLock() + private var canUserSendStateUserIdStateEventUnderlyingReceivedInvocations: [(userId: String, stateEvent: StateEventType)] = [] + open var canUserSendStateUserIdStateEventReceivedInvocations: [(userId: String, stateEvent: StateEventType)] { + get { canUserSendStateUserIdStateEventReceivedInvocationsLock.withLock { canUserSendStateUserIdStateEventUnderlyingReceivedInvocations } } + set { canUserSendStateUserIdStateEventReceivedInvocationsLock.withLock { canUserSendStateUserIdStateEventUnderlyingReceivedInvocations = newValue } } + } + private let canUserSendStateUserIdStateEventReturnValueLock = NSLock() open var canUserSendStateUserIdStateEventUnderlyingReturnValue: Bool! open var canUserSendStateUserIdStateEventReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserSendStateUserIdStateEventUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserSendStateUserIdStateEventUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserSendStateUserIdStateEventUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserSendStateUserIdStateEventUnderlyingReturnValue = newValue - } - } - } + get { canUserSendStateUserIdStateEventReturnValueLock.withLock { canUserSendStateUserIdStateEventUnderlyingReturnValue } } + set { canUserSendStateUserIdStateEventReturnValueLock.withLock { canUserSendStateUserIdStateEventUnderlyingReturnValue = newValue } } } open var canUserSendStateUserIdStateEventClosure: ((String, StateEventType) throws -> Bool)? @@ -23453,11 +13777,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserSendStateUserIdStateEventThrowableError { throw error } - canUserSendStateUserIdStateEventCallsCount += 1 + canUserSendStateUserIdStateEventCallsCountLock.withLock { canUserSendStateUserIdStateEventUnderlyingCallsCount += 1 } canUserSendStateUserIdStateEventReceivedArguments = (userId: userId, stateEvent: stateEvent) - DispatchQueue.main.async { - self.canUserSendStateUserIdStateEventReceivedInvocations.append((userId: userId, stateEvent: stateEvent)) - } + canUserSendStateUserIdStateEventReceivedInvocationsLock.withLock { canUserSendStateUserIdStateEventUnderlyingReceivedInvocations.append((userId: userId, stateEvent: stateEvent)) } if let canUserSendStateUserIdStateEventClosure = canUserSendStateUserIdStateEventClosure { return try canUserSendStateUserIdStateEventClosure(userId, stateEvent) } else { @@ -23468,59 +13790,33 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - canUserTriggerRoomNotification open var canUserTriggerRoomNotificationUserIdThrowableError: Error? - open var canUserTriggerRoomNotificationUserIdUnderlyingCallsCount = 0 + private let canUserTriggerRoomNotificationUserIdCallsCountLock = NSLock() + private var canUserTriggerRoomNotificationUserIdUnderlyingCallsCount = 0 open var canUserTriggerRoomNotificationUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return canUserTriggerRoomNotificationUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = canUserTriggerRoomNotificationUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserTriggerRoomNotificationUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - canUserTriggerRoomNotificationUserIdUnderlyingCallsCount = newValue - } - } - } + get { canUserTriggerRoomNotificationUserIdCallsCountLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingCallsCount } } + set { canUserTriggerRoomNotificationUserIdCallsCountLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingCallsCount = newValue } } } open var canUserTriggerRoomNotificationUserIdCalled: Bool { return canUserTriggerRoomNotificationUserIdCallsCount > 0 } - open var canUserTriggerRoomNotificationUserIdReceivedUserId: String? - open var canUserTriggerRoomNotificationUserIdReceivedInvocations: [String] = [] + private let canUserTriggerRoomNotificationUserIdReceivedUserIdLock = NSLock() + private var canUserTriggerRoomNotificationUserIdUnderlyingReceivedUserId: String? + open var canUserTriggerRoomNotificationUserIdReceivedUserId: String? { + get { canUserTriggerRoomNotificationUserIdReceivedUserIdLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingReceivedUserId } } + set { canUserTriggerRoomNotificationUserIdReceivedUserIdLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingReceivedUserId = newValue } } + } + private let canUserTriggerRoomNotificationUserIdReceivedInvocationsLock = NSLock() + private var canUserTriggerRoomNotificationUserIdUnderlyingReceivedInvocations: [String] = [] + open var canUserTriggerRoomNotificationUserIdReceivedInvocations: [String] { + get { canUserTriggerRoomNotificationUserIdReceivedInvocationsLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingReceivedInvocations } } + set { canUserTriggerRoomNotificationUserIdReceivedInvocationsLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingReceivedInvocations = newValue } } + } + private let canUserTriggerRoomNotificationUserIdReturnValueLock = NSLock() open var canUserTriggerRoomNotificationUserIdUnderlyingReturnValue: Bool! open var canUserTriggerRoomNotificationUserIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return canUserTriggerRoomNotificationUserIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = canUserTriggerRoomNotificationUserIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - canUserTriggerRoomNotificationUserIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - canUserTriggerRoomNotificationUserIdUnderlyingReturnValue = newValue - } - } - } + get { canUserTriggerRoomNotificationUserIdReturnValueLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingReturnValue } } + set { canUserTriggerRoomNotificationUserIdReturnValueLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingReturnValue = newValue } } } open var canUserTriggerRoomNotificationUserIdClosure: ((String) throws -> Bool)? @@ -23528,11 +13824,9 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen if let error = canUserTriggerRoomNotificationUserIdThrowableError { throw error } - canUserTriggerRoomNotificationUserIdCallsCount += 1 + canUserTriggerRoomNotificationUserIdCallsCountLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingCallsCount += 1 } canUserTriggerRoomNotificationUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.canUserTriggerRoomNotificationUserIdReceivedInvocations.append(userId) - } + canUserTriggerRoomNotificationUserIdReceivedInvocationsLock.withLock { canUserTriggerRoomNotificationUserIdUnderlyingReceivedInvocations.append(userId) } if let canUserTriggerRoomNotificationUserIdClosure = canUserTriggerRoomNotificationUserIdClosure { return try canUserTriggerRoomNotificationUserIdClosure(userId) } else { @@ -23542,62 +13836,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - events - open var eventsUnderlyingCallsCount = 0 + private let eventsCallsCountLock = NSLock() + private var eventsUnderlyingCallsCount = 0 open var eventsCallsCount: Int { - get { - if Thread.isMainThread { - return eventsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = eventsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - eventsUnderlyingCallsCount = newValue - } - } - } + get { eventsCallsCountLock.withLock { eventsUnderlyingCallsCount } } + set { eventsCallsCountLock.withLock { eventsUnderlyingCallsCount = newValue } } } open var eventsCalled: Bool { return eventsCallsCount > 0 } + private let eventsReturnValueLock = NSLock() open var eventsUnderlyingReturnValue: [TimelineEventType: Int64]! open var eventsReturnValue: [TimelineEventType: Int64]! { - get { - if Thread.isMainThread { - return eventsUnderlyingReturnValue - } else { - var returnValue: [TimelineEventType: Int64]? = nil - DispatchQueue.main.sync { - returnValue = eventsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - eventsUnderlyingReturnValue = newValue - } - } - } + get { eventsReturnValueLock.withLock { eventsUnderlyingReturnValue } } + set { eventsReturnValueLock.withLock { eventsUnderlyingReturnValue = newValue } } } open var eventsClosure: (() -> [TimelineEventType: Int64])? open override func events() -> [TimelineEventType: Int64] { - eventsCallsCount += 1 + eventsCallsCountLock.withLock { eventsUnderlyingCallsCount += 1 } if let eventsClosure = eventsClosure { return eventsClosure() } else { @@ -23607,62 +13865,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - userPowerLevels - open var userPowerLevelsUnderlyingCallsCount = 0 + private let userPowerLevelsCallsCountLock = NSLock() + private var userPowerLevelsUnderlyingCallsCount = 0 open var userPowerLevelsCallsCount: Int { - get { - if Thread.isMainThread { - return userPowerLevelsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = userPowerLevelsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userPowerLevelsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - userPowerLevelsUnderlyingCallsCount = newValue - } - } - } + get { userPowerLevelsCallsCountLock.withLock { userPowerLevelsUnderlyingCallsCount } } + set { userPowerLevelsCallsCountLock.withLock { userPowerLevelsUnderlyingCallsCount = newValue } } } open var userPowerLevelsCalled: Bool { return userPowerLevelsCallsCount > 0 } + private let userPowerLevelsReturnValueLock = NSLock() open var userPowerLevelsUnderlyingReturnValue: [String: Int64]! open var userPowerLevelsReturnValue: [String: Int64]! { - get { - if Thread.isMainThread { - return userPowerLevelsUnderlyingReturnValue - } else { - var returnValue: [String: Int64]? = nil - DispatchQueue.main.sync { - returnValue = userPowerLevelsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - userPowerLevelsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - userPowerLevelsUnderlyingReturnValue = newValue - } - } - } + get { userPowerLevelsReturnValueLock.withLock { userPowerLevelsUnderlyingReturnValue } } + set { userPowerLevelsReturnValueLock.withLock { userPowerLevelsUnderlyingReturnValue = newValue } } } open var userPowerLevelsClosure: (() -> [String: Int64])? open override func userPowerLevels() -> [String: Int64] { - userPowerLevelsCallsCount += 1 + userPowerLevelsCallsCountLock.withLock { userPowerLevelsUnderlyingCallsCount += 1 } if let userPowerLevelsClosure = userPowerLevelsClosure { return userPowerLevelsClosure() } else { @@ -23672,62 +13894,26 @@ open class RoomPowerLevelsSDKMock: MatrixRustSDK.RoomPowerLevels, @unchecked Sen //MARK: - values - open var valuesUnderlyingCallsCount = 0 + private let valuesCallsCountLock = NSLock() + private var valuesUnderlyingCallsCount = 0 open var valuesCallsCount: Int { - get { - if Thread.isMainThread { - return valuesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = valuesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - valuesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - valuesUnderlyingCallsCount = newValue - } - } - } + get { valuesCallsCountLock.withLock { valuesUnderlyingCallsCount } } + set { valuesCallsCountLock.withLock { valuesUnderlyingCallsCount = newValue } } } open var valuesCalled: Bool { return valuesCallsCount > 0 } + private let valuesReturnValueLock = NSLock() open var valuesUnderlyingReturnValue: RoomPowerLevelsValues! open var valuesReturnValue: RoomPowerLevelsValues! { - get { - if Thread.isMainThread { - return valuesUnderlyingReturnValue - } else { - var returnValue: RoomPowerLevelsValues? = nil - DispatchQueue.main.sync { - returnValue = valuesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - valuesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - valuesUnderlyingReturnValue = newValue - } - } - } + get { valuesReturnValueLock.withLock { valuesUnderlyingReturnValue } } + set { valuesReturnValueLock.withLock { valuesUnderlyingReturnValue = newValue } } } open var valuesClosure: (() -> RoomPowerLevelsValues)? open override func values() -> RoomPowerLevelsValues { - valuesCallsCount += 1 + valuesCallsCountLock.withLock { valuesUnderlyingCallsCount += 1 } if let valuesClosure = valuesClosure { return valuesClosure() } else { @@ -23753,29 +13939,11 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable { //MARK: - forget open var forgetThrowableError: Error? - open var forgetUnderlyingCallsCount = 0 + private let forgetCallsCountLock = NSLock() + private var forgetUnderlyingCallsCount = 0 open var forgetCallsCount: Int { - get { - if Thread.isMainThread { - return forgetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = forgetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - forgetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - forgetUnderlyingCallsCount = newValue - } - } - } + get { forgetCallsCountLock.withLock { forgetUnderlyingCallsCount } } + set { forgetCallsCountLock.withLock { forgetUnderlyingCallsCount = newValue } } } open var forgetCalled: Bool { return forgetCallsCount > 0 @@ -23786,68 +13954,32 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable { if let error = forgetThrowableError { throw error } - forgetCallsCount += 1 + forgetCallsCountLock.withLock { forgetUnderlyingCallsCount += 1 } try await forgetClosure?() } //MARK: - info - open var infoUnderlyingCallsCount = 0 + private let infoCallsCountLock = NSLock() + private var infoUnderlyingCallsCount = 0 open var infoCallsCount: Int { - get { - if Thread.isMainThread { - return infoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = infoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - infoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - infoUnderlyingCallsCount = newValue - } - } - } + get { infoCallsCountLock.withLock { infoUnderlyingCallsCount } } + set { infoCallsCountLock.withLock { infoUnderlyingCallsCount = newValue } } } open var infoCalled: Bool { return infoCallsCount > 0 } + private let infoReturnValueLock = NSLock() open var infoUnderlyingReturnValue: RoomPreviewInfo! open var infoReturnValue: RoomPreviewInfo! { - get { - if Thread.isMainThread { - return infoUnderlyingReturnValue - } else { - var returnValue: RoomPreviewInfo? = nil - DispatchQueue.main.sync { - returnValue = infoUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - infoUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - infoUnderlyingReturnValue = newValue - } - } - } + get { infoReturnValueLock.withLock { infoUnderlyingReturnValue } } + set { infoReturnValueLock.withLock { infoUnderlyingReturnValue = newValue } } } open var infoClosure: (() -> RoomPreviewInfo)? open override func info() -> RoomPreviewInfo { - infoCallsCount += 1 + infoCallsCountLock.withLock { infoUnderlyingCallsCount += 1 } if let infoClosure = infoClosure { return infoClosure() } else { @@ -23857,62 +13989,26 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable { //MARK: - inviter - open var inviterUnderlyingCallsCount = 0 + private let inviterCallsCountLock = NSLock() + private var inviterUnderlyingCallsCount = 0 open var inviterCallsCount: Int { - get { - if Thread.isMainThread { - return inviterUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = inviterUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inviterUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - inviterUnderlyingCallsCount = newValue - } - } - } + get { inviterCallsCountLock.withLock { inviterUnderlyingCallsCount } } + set { inviterCallsCountLock.withLock { inviterUnderlyingCallsCount = newValue } } } open var inviterCalled: Bool { return inviterCallsCount > 0 } + private let inviterReturnValueLock = NSLock() open var inviterUnderlyingReturnValue: RoomMember? open var inviterReturnValue: RoomMember? { - get { - if Thread.isMainThread { - return inviterUnderlyingReturnValue - } else { - var returnValue: RoomMember?? = nil - DispatchQueue.main.sync { - returnValue = inviterUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - inviterUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - inviterUnderlyingReturnValue = newValue - } - } - } + get { inviterReturnValueLock.withLock { inviterUnderlyingReturnValue } } + set { inviterReturnValueLock.withLock { inviterUnderlyingReturnValue = newValue } } } open var inviterClosure: (() async -> RoomMember?)? open override func inviter() async -> RoomMember? { - inviterCallsCount += 1 + inviterCallsCountLock.withLock { inviterUnderlyingCallsCount += 1 } if let inviterClosure = inviterClosure { return await inviterClosure() } else { @@ -23923,29 +14019,11 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable { //MARK: - leave open var leaveThrowableError: Error? - open var leaveUnderlyingCallsCount = 0 + private let leaveCallsCountLock = NSLock() + private var leaveUnderlyingCallsCount = 0 open var leaveCallsCount: Int { - get { - if Thread.isMainThread { - return leaveUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = leaveUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - leaveUnderlyingCallsCount = newValue - } - } - } + get { leaveCallsCountLock.withLock { leaveUnderlyingCallsCount } } + set { leaveCallsCountLock.withLock { leaveUnderlyingCallsCount = newValue } } } open var leaveCalled: Bool { return leaveCallsCount > 0 @@ -23956,68 +14034,32 @@ open class RoomPreviewSDKMock: MatrixRustSDK.RoomPreview, @unchecked Sendable { if let error = leaveThrowableError { throw error } - leaveCallsCount += 1 + leaveCallsCountLock.withLock { leaveUnderlyingCallsCount += 1 } try await leaveClosure?() } //MARK: - ownMembershipDetails - open var ownMembershipDetailsUnderlyingCallsCount = 0 + private let ownMembershipDetailsCallsCountLock = NSLock() + private var ownMembershipDetailsUnderlyingCallsCount = 0 open var ownMembershipDetailsCallsCount: Int { - get { - if Thread.isMainThread { - return ownMembershipDetailsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = ownMembershipDetailsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ownMembershipDetailsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - ownMembershipDetailsUnderlyingCallsCount = newValue - } - } - } + get { ownMembershipDetailsCallsCountLock.withLock { ownMembershipDetailsUnderlyingCallsCount } } + set { ownMembershipDetailsCallsCountLock.withLock { ownMembershipDetailsUnderlyingCallsCount = newValue } } } open var ownMembershipDetailsCalled: Bool { return ownMembershipDetailsCallsCount > 0 } + private let ownMembershipDetailsReturnValueLock = NSLock() open var ownMembershipDetailsUnderlyingReturnValue: RoomMemberWithSenderInfo? open var ownMembershipDetailsReturnValue: RoomMemberWithSenderInfo? { - get { - if Thread.isMainThread { - return ownMembershipDetailsUnderlyingReturnValue - } else { - var returnValue: RoomMemberWithSenderInfo?? = nil - DispatchQueue.main.sync { - returnValue = ownMembershipDetailsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - ownMembershipDetailsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - ownMembershipDetailsUnderlyingReturnValue = newValue - } - } - } + get { ownMembershipDetailsReturnValueLock.withLock { ownMembershipDetailsUnderlyingReturnValue } } + set { ownMembershipDetailsReturnValueLock.withLock { ownMembershipDetailsUnderlyingReturnValue = newValue } } } open var ownMembershipDetailsClosure: (() async -> RoomMemberWithSenderInfo?)? open override func ownMembershipDetails() async -> RoomMemberWithSenderInfo? { - ownMembershipDetailsCallsCount += 1 + ownMembershipDetailsCallsCountLock.withLock { ownMembershipDetailsUnderlyingCallsCount += 1 } if let ownMembershipDetailsClosure = ownMembershipDetailsClosure { return await ownMembershipDetailsClosure() } else { @@ -24043,57 +14085,21 @@ open class RoomSearchIteratorSDKMock: MatrixRustSDK.RoomSearchIterator, @uncheck //MARK: - nextEvents open var nextEventsThrowableError: Error? - open var nextEventsUnderlyingCallsCount = 0 + private let nextEventsCallsCountLock = NSLock() + private var nextEventsUnderlyingCallsCount = 0 open var nextEventsCallsCount: Int { - get { - if Thread.isMainThread { - return nextEventsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = nextEventsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextEventsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - nextEventsUnderlyingCallsCount = newValue - } - } - } + get { nextEventsCallsCountLock.withLock { nextEventsUnderlyingCallsCount } } + set { nextEventsCallsCountLock.withLock { nextEventsUnderlyingCallsCount = newValue } } } open var nextEventsCalled: Bool { return nextEventsCallsCount > 0 } + private let nextEventsReturnValueLock = NSLock() open var nextEventsUnderlyingReturnValue: [RoomSearchResult]? open var nextEventsReturnValue: [RoomSearchResult]? { - get { - if Thread.isMainThread { - return nextEventsUnderlyingReturnValue - } else { - var returnValue: [RoomSearchResult]?? = nil - DispatchQueue.main.sync { - returnValue = nextEventsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - nextEventsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - nextEventsUnderlyingReturnValue = newValue - } - } - } + get { nextEventsReturnValueLock.withLock { nextEventsUnderlyingReturnValue } } + set { nextEventsReturnValueLock.withLock { nextEventsUnderlyingReturnValue = newValue } } } open var nextEventsClosure: (() async throws -> [RoomSearchResult]?)? @@ -24101,7 +14107,7 @@ open class RoomSearchIteratorSDKMock: MatrixRustSDK.RoomSearchIterator, @uncheck if let error = nextEventsThrowableError { throw error } - nextEventsCallsCount += 1 + nextEventsCallsCountLock.withLock { nextEventsUnderlyingCallsCount += 1 } if let nextEventsClosure = nextEventsClosure { return try await nextEventsClosure() } else { @@ -24109,6 +14115,21 @@ open class RoomSearchIteratorSDKMock: MatrixRustSDK.RoomSearchIterator, @uncheck } } } +open class SecretsBundleSDKMock: MatrixRustSDK.SecretsBundle, @unchecked Sendable { + public init() { + super.init(noHandle: .init()) + } + + public required init(unsafeFromHandle handle: UInt64) { + fatalError("init(unsafeFromHandle:) has not been implemented") + } + + fileprivate var handle: UInt64 { + get { return underlyingHandle } + set(value) { underlyingHandle = value } + } + fileprivate var underlyingHandle: UInt64! +} open class SecretsBundleWithUserIdSDKMock: MatrixRustSDK.SecretsBundleWithUserId, @unchecked Sendable { public init() { super.init(noHandle: .init()) @@ -24129,62 +14150,26 @@ open class SecretsBundleWithUserIdSDKMock: MatrixRustSDK.SecretsBundleWithUserId //MARK: - containsBackupKey - open var containsBackupKeyUnderlyingCallsCount = 0 + private let containsBackupKeyCallsCountLock = NSLock() + private var containsBackupKeyUnderlyingCallsCount = 0 open var containsBackupKeyCallsCount: Int { - get { - if Thread.isMainThread { - return containsBackupKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = containsBackupKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsBackupKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - containsBackupKeyUnderlyingCallsCount = newValue - } - } - } + get { containsBackupKeyCallsCountLock.withLock { containsBackupKeyUnderlyingCallsCount } } + set { containsBackupKeyCallsCountLock.withLock { containsBackupKeyUnderlyingCallsCount = newValue } } } open var containsBackupKeyCalled: Bool { return containsBackupKeyCallsCount > 0 } + private let containsBackupKeyReturnValueLock = NSLock() open var containsBackupKeyUnderlyingReturnValue: Bool! open var containsBackupKeyReturnValue: Bool! { - get { - if Thread.isMainThread { - return containsBackupKeyUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = containsBackupKeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - containsBackupKeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - containsBackupKeyUnderlyingReturnValue = newValue - } - } - } + get { containsBackupKeyReturnValueLock.withLock { containsBackupKeyUnderlyingReturnValue } } + set { containsBackupKeyReturnValueLock.withLock { containsBackupKeyUnderlyingReturnValue = newValue } } } open var containsBackupKeyClosure: (() -> Bool)? open override func containsBackupKey() -> Bool { - containsBackupKeyCallsCount += 1 + containsBackupKeyCallsCountLock.withLock { containsBackupKeyUnderlyingCallsCount += 1 } if let containsBackupKeyClosure = containsBackupKeyClosure { return containsBackupKeyClosure() } else { @@ -24209,29 +14194,11 @@ open class SendAttachmentJoinHandleSDKMock: MatrixRustSDK.SendAttachmentJoinHand //MARK: - cancel - open var cancelUnderlyingCallsCount = 0 + private let cancelCallsCountLock = NSLock() + private var cancelUnderlyingCallsCount = 0 open var cancelCallsCount: Int { - get { - if Thread.isMainThread { - return cancelUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cancelUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cancelUnderlyingCallsCount = newValue - } - } - } + get { cancelCallsCountLock.withLock { cancelUnderlyingCallsCount } } + set { cancelCallsCountLock.withLock { cancelUnderlyingCallsCount = newValue } } } open var cancelCalled: Bool { return cancelCallsCount > 0 @@ -24239,36 +14206,18 @@ open class SendAttachmentJoinHandleSDKMock: MatrixRustSDK.SendAttachmentJoinHand open var cancelClosure: (() -> Void)? open override func cancel() { - cancelCallsCount += 1 + cancelCallsCountLock.withLock { cancelUnderlyingCallsCount += 1 } cancelClosure?() } //MARK: - join open var joinThrowableError: Error? - open var joinUnderlyingCallsCount = 0 + private let joinCallsCountLock = NSLock() + private var joinUnderlyingCallsCount = 0 open var joinCallsCount: Int { - get { - if Thread.isMainThread { - return joinUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinUnderlyingCallsCount = newValue - } - } - } + get { joinCallsCountLock.withLock { joinUnderlyingCallsCount } } + set { joinCallsCountLock.withLock { joinUnderlyingCallsCount = newValue } } } open var joinCalled: Bool { return joinCallsCount > 0 @@ -24279,7 +14228,7 @@ open class SendAttachmentJoinHandleSDKMock: MatrixRustSDK.SendAttachmentJoinHand if let error = joinThrowableError { throw error } - joinCallsCount += 1 + joinCallsCountLock.withLock { joinUnderlyingCallsCount += 1 } try await joinClosure?() } } @@ -24300,29 +14249,11 @@ open class SendGalleryJoinHandleSDKMock: MatrixRustSDK.SendGalleryJoinHandle, @u //MARK: - cancel - open var cancelUnderlyingCallsCount = 0 + private let cancelCallsCountLock = NSLock() + private var cancelUnderlyingCallsCount = 0 open var cancelCallsCount: Int { - get { - if Thread.isMainThread { - return cancelUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cancelUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cancelUnderlyingCallsCount = newValue - } - } - } + get { cancelCallsCountLock.withLock { cancelUnderlyingCallsCount } } + set { cancelCallsCountLock.withLock { cancelUnderlyingCallsCount = newValue } } } open var cancelCalled: Bool { return cancelCallsCount > 0 @@ -24330,36 +14261,18 @@ open class SendGalleryJoinHandleSDKMock: MatrixRustSDK.SendGalleryJoinHandle, @u open var cancelClosure: (() -> Void)? open override func cancel() { - cancelCallsCount += 1 + cancelCallsCountLock.withLock { cancelUnderlyingCallsCount += 1 } cancelClosure?() } //MARK: - join open var joinThrowableError: Error? - open var joinUnderlyingCallsCount = 0 + private let joinCallsCountLock = NSLock() + private var joinUnderlyingCallsCount = 0 open var joinCallsCount: Int { - get { - if Thread.isMainThread { - return joinUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinUnderlyingCallsCount = newValue - } - } - } + get { joinCallsCountLock.withLock { joinUnderlyingCallsCount } } + set { joinCallsCountLock.withLock { joinUnderlyingCallsCount = newValue } } } open var joinCalled: Bool { return joinCallsCount > 0 @@ -24370,7 +14283,7 @@ open class SendGalleryJoinHandleSDKMock: MatrixRustSDK.SendGalleryJoinHandle, @u if let error = joinThrowableError { throw error } - joinCallsCount += 1 + joinCallsCountLock.withLock { joinUnderlyingCallsCount += 1 } try await joinClosure?() } } @@ -24392,57 +14305,21 @@ open class SendHandleSDKMock: MatrixRustSDK.SendHandle, @unchecked Sendable { //MARK: - abort open var abortThrowableError: Error? - open var abortUnderlyingCallsCount = 0 + private let abortCallsCountLock = NSLock() + private var abortUnderlyingCallsCount = 0 open var abortCallsCount: Int { - get { - if Thread.isMainThread { - return abortUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = abortUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - abortUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - abortUnderlyingCallsCount = newValue - } - } - } + get { abortCallsCountLock.withLock { abortUnderlyingCallsCount } } + set { abortCallsCountLock.withLock { abortUnderlyingCallsCount = newValue } } } open var abortCalled: Bool { return abortCallsCount > 0 } + private let abortReturnValueLock = NSLock() open var abortUnderlyingReturnValue: Bool! open var abortReturnValue: Bool! { - get { - if Thread.isMainThread { - return abortUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = abortUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - abortUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - abortUnderlyingReturnValue = newValue - } - } - } + get { abortReturnValueLock.withLock { abortUnderlyingReturnValue } } + set { abortReturnValueLock.withLock { abortUnderlyingReturnValue = newValue } } } open var abortClosure: (() async throws -> Bool)? @@ -24450,7 +14327,7 @@ open class SendHandleSDKMock: MatrixRustSDK.SendHandle, @unchecked Sendable { if let error = abortThrowableError { throw error } - abortCallsCount += 1 + abortCallsCountLock.withLock { abortUnderlyingCallsCount += 1 } if let abortClosure = abortClosure { return try await abortClosure() } else { @@ -24461,29 +14338,11 @@ open class SendHandleSDKMock: MatrixRustSDK.SendHandle, @unchecked Sendable { //MARK: - tryResend open var tryResendThrowableError: Error? - open var tryResendUnderlyingCallsCount = 0 + private let tryResendCallsCountLock = NSLock() + private var tryResendUnderlyingCallsCount = 0 open var tryResendCallsCount: Int { - get { - if Thread.isMainThread { - return tryResendUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = tryResendUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - tryResendUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - tryResendUnderlyingCallsCount = newValue - } - } - } + get { tryResendCallsCountLock.withLock { tryResendUnderlyingCallsCount } } + set { tryResendCallsCountLock.withLock { tryResendUnderlyingCallsCount = newValue } } } open var tryResendCalled: Bool { return tryResendCallsCount > 0 @@ -24494,7 +14353,7 @@ open class SendHandleSDKMock: MatrixRustSDK.SendHandle, @unchecked Sendable { if let error = tryResendThrowableError { throw error } - tryResendCallsCount += 1 + tryResendCallsCountLock.withLock { tryResendUnderlyingCallsCount += 1 } try await tryResendClosure?() } } @@ -24516,29 +14375,11 @@ open class SessionVerificationControllerSDKMock: MatrixRustSDK.SessionVerificati //MARK: - acceptVerificationRequest open var acceptVerificationRequestThrowableError: Error? - open var acceptVerificationRequestUnderlyingCallsCount = 0 + private let acceptVerificationRequestCallsCountLock = NSLock() + private var acceptVerificationRequestUnderlyingCallsCount = 0 open var acceptVerificationRequestCallsCount: Int { - get { - if Thread.isMainThread { - return acceptVerificationRequestUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = acceptVerificationRequestUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acceptVerificationRequestUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - acceptVerificationRequestUnderlyingCallsCount = newValue - } - } - } + get { acceptVerificationRequestCallsCountLock.withLock { acceptVerificationRequestUnderlyingCallsCount } } + set { acceptVerificationRequestCallsCountLock.withLock { acceptVerificationRequestUnderlyingCallsCount = newValue } } } open var acceptVerificationRequestCalled: Bool { return acceptVerificationRequestCallsCount > 0 @@ -24549,82 +14390,54 @@ open class SessionVerificationControllerSDKMock: MatrixRustSDK.SessionVerificati if let error = acceptVerificationRequestThrowableError { throw error } - acceptVerificationRequestCallsCount += 1 + acceptVerificationRequestCallsCountLock.withLock { acceptVerificationRequestUnderlyingCallsCount += 1 } try await acceptVerificationRequestClosure?() } //MARK: - acknowledgeVerificationRequest open var acknowledgeVerificationRequestSenderIdFlowIdThrowableError: Error? - open var acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount = 0 + private let acknowledgeVerificationRequestSenderIdFlowIdCallsCountLock = NSLock() + private var acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount = 0 open var acknowledgeVerificationRequestSenderIdFlowIdCallsCount: Int { - get { - if Thread.isMainThread { - return acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount = newValue - } - } - } + get { acknowledgeVerificationRequestSenderIdFlowIdCallsCountLock.withLock { acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount } } + set { acknowledgeVerificationRequestSenderIdFlowIdCallsCountLock.withLock { acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount = newValue } } } open var acknowledgeVerificationRequestSenderIdFlowIdCalled: Bool { return acknowledgeVerificationRequestSenderIdFlowIdCallsCount > 0 } - open var acknowledgeVerificationRequestSenderIdFlowIdReceivedArguments: (senderId: String, flowId: String)? - open var acknowledgeVerificationRequestSenderIdFlowIdReceivedInvocations: [(senderId: String, flowId: String)] = [] + private let acknowledgeVerificationRequestSenderIdFlowIdReceivedArgumentsLock = NSLock() + private var acknowledgeVerificationRequestSenderIdFlowIdUnderlyingReceivedArguments: (senderId: String, flowId: String)? + open var acknowledgeVerificationRequestSenderIdFlowIdReceivedArguments: (senderId: String, flowId: String)? { + get { acknowledgeVerificationRequestSenderIdFlowIdReceivedArgumentsLock.withLock { acknowledgeVerificationRequestSenderIdFlowIdUnderlyingReceivedArguments } } + set { acknowledgeVerificationRequestSenderIdFlowIdReceivedArgumentsLock.withLock { acknowledgeVerificationRequestSenderIdFlowIdUnderlyingReceivedArguments = newValue } } + } + private let acknowledgeVerificationRequestSenderIdFlowIdReceivedInvocationsLock = NSLock() + private var acknowledgeVerificationRequestSenderIdFlowIdUnderlyingReceivedInvocations: [(senderId: String, flowId: String)] = [] + open var acknowledgeVerificationRequestSenderIdFlowIdReceivedInvocations: [(senderId: String, flowId: String)] { + get { acknowledgeVerificationRequestSenderIdFlowIdReceivedInvocationsLock.withLock { acknowledgeVerificationRequestSenderIdFlowIdUnderlyingReceivedInvocations } } + set { acknowledgeVerificationRequestSenderIdFlowIdReceivedInvocationsLock.withLock { acknowledgeVerificationRequestSenderIdFlowIdUnderlyingReceivedInvocations = newValue } } + } open var acknowledgeVerificationRequestSenderIdFlowIdClosure: ((String, String) async throws -> Void)? open override func acknowledgeVerificationRequest(senderId: String, flowId: String) async throws { if let error = acknowledgeVerificationRequestSenderIdFlowIdThrowableError { throw error } - acknowledgeVerificationRequestSenderIdFlowIdCallsCount += 1 + acknowledgeVerificationRequestSenderIdFlowIdCallsCountLock.withLock { acknowledgeVerificationRequestSenderIdFlowIdUnderlyingCallsCount += 1 } acknowledgeVerificationRequestSenderIdFlowIdReceivedArguments = (senderId: senderId, flowId: flowId) - DispatchQueue.main.async { - self.acknowledgeVerificationRequestSenderIdFlowIdReceivedInvocations.append((senderId: senderId, flowId: flowId)) - } + acknowledgeVerificationRequestSenderIdFlowIdReceivedInvocationsLock.withLock { acknowledgeVerificationRequestSenderIdFlowIdUnderlyingReceivedInvocations.append((senderId: senderId, flowId: flowId)) } try await acknowledgeVerificationRequestSenderIdFlowIdClosure?(senderId, flowId) } //MARK: - approveVerification open var approveVerificationThrowableError: Error? - open var approveVerificationUnderlyingCallsCount = 0 + private let approveVerificationCallsCountLock = NSLock() + private var approveVerificationUnderlyingCallsCount = 0 open var approveVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return approveVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = approveVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - approveVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - approveVerificationUnderlyingCallsCount = newValue - } - } - } + get { approveVerificationCallsCountLock.withLock { approveVerificationUnderlyingCallsCount } } + set { approveVerificationCallsCountLock.withLock { approveVerificationUnderlyingCallsCount = newValue } } } open var approveVerificationCalled: Bool { return approveVerificationCallsCount > 0 @@ -24635,36 +14448,18 @@ open class SessionVerificationControllerSDKMock: MatrixRustSDK.SessionVerificati if let error = approveVerificationThrowableError { throw error } - approveVerificationCallsCount += 1 + approveVerificationCallsCountLock.withLock { approveVerificationUnderlyingCallsCount += 1 } try await approveVerificationClosure?() } //MARK: - cancelVerification open var cancelVerificationThrowableError: Error? - open var cancelVerificationUnderlyingCallsCount = 0 + private let cancelVerificationCallsCountLock = NSLock() + private var cancelVerificationUnderlyingCallsCount = 0 open var cancelVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return cancelVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cancelVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cancelVerificationUnderlyingCallsCount = newValue - } - } - } + get { cancelVerificationCallsCountLock.withLock { cancelVerificationUnderlyingCallsCount } } + set { cancelVerificationCallsCountLock.withLock { cancelVerificationUnderlyingCallsCount = newValue } } } open var cancelVerificationCalled: Bool { return cancelVerificationCallsCount > 0 @@ -24675,36 +14470,18 @@ open class SessionVerificationControllerSDKMock: MatrixRustSDK.SessionVerificati if let error = cancelVerificationThrowableError { throw error } - cancelVerificationCallsCount += 1 + cancelVerificationCallsCountLock.withLock { cancelVerificationUnderlyingCallsCount += 1 } try await cancelVerificationClosure?() } //MARK: - declineVerification open var declineVerificationThrowableError: Error? - open var declineVerificationUnderlyingCallsCount = 0 + private let declineVerificationCallsCountLock = NSLock() + private var declineVerificationUnderlyingCallsCount = 0 open var declineVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return declineVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = declineVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - declineVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - declineVerificationUnderlyingCallsCount = newValue - } - } - } + get { declineVerificationCallsCountLock.withLock { declineVerificationUnderlyingCallsCount } } + set { declineVerificationCallsCountLock.withLock { declineVerificationUnderlyingCallsCount = newValue } } } open var declineVerificationCalled: Bool { return declineVerificationCallsCount > 0 @@ -24715,36 +14492,18 @@ open class SessionVerificationControllerSDKMock: MatrixRustSDK.SessionVerificati if let error = declineVerificationThrowableError { throw error } - declineVerificationCallsCount += 1 + declineVerificationCallsCountLock.withLock { declineVerificationUnderlyingCallsCount += 1 } try await declineVerificationClosure?() } //MARK: - requestDeviceVerification open var requestDeviceVerificationThrowableError: Error? - open var requestDeviceVerificationUnderlyingCallsCount = 0 + private let requestDeviceVerificationCallsCountLock = NSLock() + private var requestDeviceVerificationUnderlyingCallsCount = 0 open var requestDeviceVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return requestDeviceVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestDeviceVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestDeviceVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestDeviceVerificationUnderlyingCallsCount = newValue - } - } - } + get { requestDeviceVerificationCallsCountLock.withLock { requestDeviceVerificationUnderlyingCallsCount } } + set { requestDeviceVerificationCallsCountLock.withLock { requestDeviceVerificationUnderlyingCallsCount = newValue } } } open var requestDeviceVerificationCalled: Bool { return requestDeviceVerificationCallsCount > 0 @@ -24755,124 +14514,86 @@ open class SessionVerificationControllerSDKMock: MatrixRustSDK.SessionVerificati if let error = requestDeviceVerificationThrowableError { throw error } - requestDeviceVerificationCallsCount += 1 + requestDeviceVerificationCallsCountLock.withLock { requestDeviceVerificationUnderlyingCallsCount += 1 } try await requestDeviceVerificationClosure?() } //MARK: - requestUserVerification open var requestUserVerificationUserIdThrowableError: Error? - open var requestUserVerificationUserIdUnderlyingCallsCount = 0 + private let requestUserVerificationUserIdCallsCountLock = NSLock() + private var requestUserVerificationUserIdUnderlyingCallsCount = 0 open var requestUserVerificationUserIdCallsCount: Int { - get { - if Thread.isMainThread { - return requestUserVerificationUserIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = requestUserVerificationUserIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - requestUserVerificationUserIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - requestUserVerificationUserIdUnderlyingCallsCount = newValue - } - } - } + get { requestUserVerificationUserIdCallsCountLock.withLock { requestUserVerificationUserIdUnderlyingCallsCount } } + set { requestUserVerificationUserIdCallsCountLock.withLock { requestUserVerificationUserIdUnderlyingCallsCount = newValue } } } open var requestUserVerificationUserIdCalled: Bool { return requestUserVerificationUserIdCallsCount > 0 } - open var requestUserVerificationUserIdReceivedUserId: String? - open var requestUserVerificationUserIdReceivedInvocations: [String] = [] + private let requestUserVerificationUserIdReceivedUserIdLock = NSLock() + private var requestUserVerificationUserIdUnderlyingReceivedUserId: String? + open var requestUserVerificationUserIdReceivedUserId: String? { + get { requestUserVerificationUserIdReceivedUserIdLock.withLock { requestUserVerificationUserIdUnderlyingReceivedUserId } } + set { requestUserVerificationUserIdReceivedUserIdLock.withLock { requestUserVerificationUserIdUnderlyingReceivedUserId = newValue } } + } + private let requestUserVerificationUserIdReceivedInvocationsLock = NSLock() + private var requestUserVerificationUserIdUnderlyingReceivedInvocations: [String] = [] + open var requestUserVerificationUserIdReceivedInvocations: [String] { + get { requestUserVerificationUserIdReceivedInvocationsLock.withLock { requestUserVerificationUserIdUnderlyingReceivedInvocations } } + set { requestUserVerificationUserIdReceivedInvocationsLock.withLock { requestUserVerificationUserIdUnderlyingReceivedInvocations = newValue } } + } open var requestUserVerificationUserIdClosure: ((String) async throws -> Void)? open override func requestUserVerification(userId: String) async throws { if let error = requestUserVerificationUserIdThrowableError { throw error } - requestUserVerificationUserIdCallsCount += 1 + requestUserVerificationUserIdCallsCountLock.withLock { requestUserVerificationUserIdUnderlyingCallsCount += 1 } requestUserVerificationUserIdReceivedUserId = userId - DispatchQueue.main.async { - self.requestUserVerificationUserIdReceivedInvocations.append(userId) - } + requestUserVerificationUserIdReceivedInvocationsLock.withLock { requestUserVerificationUserIdUnderlyingReceivedInvocations.append(userId) } try await requestUserVerificationUserIdClosure?(userId) } //MARK: - setDelegate - open var setDelegateDelegateUnderlyingCallsCount = 0 + private let setDelegateDelegateCallsCountLock = NSLock() + private var setDelegateDelegateUnderlyingCallsCount = 0 open var setDelegateDelegateCallsCount: Int { - get { - if Thread.isMainThread { - return setDelegateDelegateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = setDelegateDelegateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - setDelegateDelegateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - setDelegateDelegateUnderlyingCallsCount = newValue - } - } - } + get { setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount } } + set { setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount = newValue } } } open var setDelegateDelegateCalled: Bool { return setDelegateDelegateCallsCount > 0 } - open var setDelegateDelegateReceivedDelegate: SessionVerificationControllerDelegate? - open var setDelegateDelegateReceivedInvocations: [SessionVerificationControllerDelegate?] = [] + private let setDelegateDelegateReceivedDelegateLock = NSLock() + private var setDelegateDelegateUnderlyingReceivedDelegate: SessionVerificationControllerDelegate? + open var setDelegateDelegateReceivedDelegate: SessionVerificationControllerDelegate? { + get { setDelegateDelegateReceivedDelegateLock.withLock { setDelegateDelegateUnderlyingReceivedDelegate } } + set { setDelegateDelegateReceivedDelegateLock.withLock { setDelegateDelegateUnderlyingReceivedDelegate = newValue } } + } + private let setDelegateDelegateReceivedInvocationsLock = NSLock() + private var setDelegateDelegateUnderlyingReceivedInvocations: [SessionVerificationControllerDelegate?] = [] + open var setDelegateDelegateReceivedInvocations: [SessionVerificationControllerDelegate?] { + get { setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations } } + set { setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations = newValue } } + } open var setDelegateDelegateClosure: ((SessionVerificationControllerDelegate?) -> Void)? open override func setDelegate(delegate: SessionVerificationControllerDelegate?) { - setDelegateDelegateCallsCount += 1 + setDelegateDelegateCallsCountLock.withLock { setDelegateDelegateUnderlyingCallsCount += 1 } setDelegateDelegateReceivedDelegate = delegate - DispatchQueue.main.async { - self.setDelegateDelegateReceivedInvocations.append(delegate) - } + setDelegateDelegateReceivedInvocationsLock.withLock { setDelegateDelegateUnderlyingReceivedInvocations.append(delegate) } setDelegateDelegateClosure?(delegate) } //MARK: - startSasVerification open var startSasVerificationThrowableError: Error? - open var startSasVerificationUnderlyingCallsCount = 0 + private let startSasVerificationCallsCountLock = NSLock() + private var startSasVerificationUnderlyingCallsCount = 0 open var startSasVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return startSasVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startSasVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startSasVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startSasVerificationUnderlyingCallsCount = newValue - } - } - } + get { startSasVerificationCallsCountLock.withLock { startSasVerificationUnderlyingCallsCount } } + set { startSasVerificationCallsCountLock.withLock { startSasVerificationUnderlyingCallsCount = newValue } } } open var startSasVerificationCalled: Bool { return startSasVerificationCallsCount > 0 @@ -24883,7 +14604,7 @@ open class SessionVerificationControllerSDKMock: MatrixRustSDK.SessionVerificati if let error = startSasVerificationThrowableError { throw error } - startSasVerificationCallsCount += 1 + startSasVerificationCallsCountLock.withLock { startSasVerificationUnderlyingCallsCount += 1 } try await startSasVerificationClosure?() } } @@ -24904,62 +14625,26 @@ open class SessionVerificationEmojiSDKMock: MatrixRustSDK.SessionVerificationEmo //MARK: - description - open var descriptionUnderlyingCallsCount = 0 + private let descriptionCallsCountLock = NSLock() + private var descriptionUnderlyingCallsCount = 0 open var descriptionCallsCount: Int { - get { - if Thread.isMainThread { - return descriptionUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = descriptionUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - descriptionUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - descriptionUnderlyingCallsCount = newValue - } - } - } + get { descriptionCallsCountLock.withLock { descriptionUnderlyingCallsCount } } + set { descriptionCallsCountLock.withLock { descriptionUnderlyingCallsCount = newValue } } } open var descriptionCalled: Bool { return descriptionCallsCount > 0 } + private let descriptionReturnValueLock = NSLock() open var descriptionUnderlyingReturnValue: String! open var descriptionReturnValue: String! { - get { - if Thread.isMainThread { - return descriptionUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = descriptionUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - descriptionUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - descriptionUnderlyingReturnValue = newValue - } - } - } + get { descriptionReturnValueLock.withLock { descriptionUnderlyingReturnValue } } + set { descriptionReturnValueLock.withLock { descriptionUnderlyingReturnValue = newValue } } } open var descriptionClosure: (() -> String)? open override func description() -> String { - descriptionCallsCount += 1 + descriptionCallsCountLock.withLock { descriptionUnderlyingCallsCount += 1 } if let descriptionClosure = descriptionClosure { return descriptionClosure() } else { @@ -24969,62 +14654,26 @@ open class SessionVerificationEmojiSDKMock: MatrixRustSDK.SessionVerificationEmo //MARK: - symbol - open var symbolUnderlyingCallsCount = 0 + private let symbolCallsCountLock = NSLock() + private var symbolUnderlyingCallsCount = 0 open var symbolCallsCount: Int { - get { - if Thread.isMainThread { - return symbolUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = symbolUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - symbolUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - symbolUnderlyingCallsCount = newValue - } - } - } + get { symbolCallsCountLock.withLock { symbolUnderlyingCallsCount } } + set { symbolCallsCountLock.withLock { symbolUnderlyingCallsCount = newValue } } } open var symbolCalled: Bool { return symbolCallsCount > 0 } + private let symbolReturnValueLock = NSLock() open var symbolUnderlyingReturnValue: String! open var symbolReturnValue: String! { - get { - if Thread.isMainThread { - return symbolUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = symbolUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - symbolUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - symbolUnderlyingReturnValue = newValue - } - } - } + get { symbolReturnValueLock.withLock { symbolUnderlyingReturnValue } } + set { symbolReturnValueLock.withLock { symbolUnderlyingReturnValue = newValue } } } open var symbolClosure: (() -> String)? open override func symbol() -> String { - symbolCallsCount += 1 + symbolCallsCountLock.withLock { symbolUnderlyingCallsCount += 1 } if let symbolClosure = symbolClosure { return symbolClosure() } else { @@ -25050,29 +14699,11 @@ open class SpaceRoomListSDKMock: MatrixRustSDK.SpaceRoomList, @unchecked Sendabl //MARK: - paginate open var paginateThrowableError: Error? - open var paginateUnderlyingCallsCount = 0 + private let paginateCallsCountLock = NSLock() + private var paginateUnderlyingCallsCount = 0 open var paginateCallsCount: Int { - get { - if Thread.isMainThread { - return paginateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateUnderlyingCallsCount = newValue - } - } - } + get { paginateCallsCountLock.withLock { paginateUnderlyingCallsCount } } + set { paginateCallsCountLock.withLock { paginateUnderlyingCallsCount = newValue } } } open var paginateCalled: Bool { return paginateCallsCount > 0 @@ -25083,68 +14714,32 @@ open class SpaceRoomListSDKMock: MatrixRustSDK.SpaceRoomList, @unchecked Sendabl if let error = paginateThrowableError { throw error } - paginateCallsCount += 1 + paginateCallsCountLock.withLock { paginateUnderlyingCallsCount += 1 } try await paginateClosure?() } //MARK: - paginationState - open var paginationStateUnderlyingCallsCount = 0 + private let paginationStateCallsCountLock = NSLock() + private var paginationStateUnderlyingCallsCount = 0 open var paginationStateCallsCount: Int { - get { - if Thread.isMainThread { - return paginationStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginationStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginationStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginationStateUnderlyingCallsCount = newValue - } - } - } + get { paginationStateCallsCountLock.withLock { paginationStateUnderlyingCallsCount } } + set { paginationStateCallsCountLock.withLock { paginationStateUnderlyingCallsCount = newValue } } } open var paginationStateCalled: Bool { return paginationStateCallsCount > 0 } + private let paginationStateReturnValueLock = NSLock() open var paginationStateUnderlyingReturnValue: SpaceRoomListPaginationState! open var paginationStateReturnValue: SpaceRoomListPaginationState! { - get { - if Thread.isMainThread { - return paginationStateUnderlyingReturnValue - } else { - var returnValue: SpaceRoomListPaginationState? = nil - DispatchQueue.main.sync { - returnValue = paginationStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginationStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginationStateUnderlyingReturnValue = newValue - } - } - } + get { paginationStateReturnValueLock.withLock { paginationStateUnderlyingReturnValue } } + set { paginationStateReturnValueLock.withLock { paginationStateUnderlyingReturnValue = newValue } } } open var paginationStateClosure: (() -> SpaceRoomListPaginationState)? open override func paginationState() -> SpaceRoomListPaginationState { - paginationStateCallsCount += 1 + paginationStateCallsCountLock.withLock { paginationStateUnderlyingCallsCount += 1 } if let paginationStateClosure = paginationStateClosure { return paginationStateClosure() } else { @@ -25154,29 +14749,11 @@ open class SpaceRoomListSDKMock: MatrixRustSDK.SpaceRoomList, @unchecked Sendabl //MARK: - reset - open var resetUnderlyingCallsCount = 0 + private let resetCallsCountLock = NSLock() + private var resetUnderlyingCallsCount = 0 open var resetCallsCount: Int { - get { - if Thread.isMainThread { - return resetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetUnderlyingCallsCount = newValue - } - } - } + get { resetCallsCountLock.withLock { resetUnderlyingCallsCount } } + set { resetCallsCountLock.withLock { resetUnderlyingCallsCount = newValue } } } open var resetCalled: Bool { return resetCallsCount > 0 @@ -25184,68 +14761,32 @@ open class SpaceRoomListSDKMock: MatrixRustSDK.SpaceRoomList, @unchecked Sendabl open var resetClosure: (() async -> Void)? open override func reset() async { - resetCallsCount += 1 + resetCallsCountLock.withLock { resetUnderlyingCallsCount += 1 } await resetClosure?() } //MARK: - rooms - open var roomsUnderlyingCallsCount = 0 + private let roomsCallsCountLock = NSLock() + private var roomsUnderlyingCallsCount = 0 open var roomsCallsCount: Int { - get { - if Thread.isMainThread { - return roomsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomsUnderlyingCallsCount = newValue - } - } - } + get { roomsCallsCountLock.withLock { roomsUnderlyingCallsCount } } + set { roomsCallsCountLock.withLock { roomsUnderlyingCallsCount = newValue } } } open var roomsCalled: Bool { return roomsCallsCount > 0 } + private let roomsReturnValueLock = NSLock() open var roomsUnderlyingReturnValue: [SpaceRoom]! open var roomsReturnValue: [SpaceRoom]! { - get { - if Thread.isMainThread { - return roomsUnderlyingReturnValue - } else { - var returnValue: [SpaceRoom]? = nil - DispatchQueue.main.sync { - returnValue = roomsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomsUnderlyingReturnValue = newValue - } - } - } + get { roomsReturnValueLock.withLock { roomsUnderlyingReturnValue } } + set { roomsReturnValueLock.withLock { roomsUnderlyingReturnValue = newValue } } } open var roomsClosure: (() async -> [SpaceRoom])? open override func rooms() async -> [SpaceRoom] { - roomsCallsCount += 1 + roomsCallsCountLock.withLock { roomsUnderlyingCallsCount += 1 } if let roomsClosure = roomsClosure { return await roomsClosure() } else { @@ -25255,62 +14796,26 @@ open class SpaceRoomListSDKMock: MatrixRustSDK.SpaceRoomList, @unchecked Sendabl //MARK: - space - open var spaceUnderlyingCallsCount = 0 + private let spaceCallsCountLock = NSLock() + private var spaceUnderlyingCallsCount = 0 open var spaceCallsCount: Int { - get { - if Thread.isMainThread { - return spaceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = spaceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - spaceUnderlyingCallsCount = newValue - } - } - } + get { spaceCallsCountLock.withLock { spaceUnderlyingCallsCount } } + set { spaceCallsCountLock.withLock { spaceUnderlyingCallsCount = newValue } } } open var spaceCalled: Bool { return spaceCallsCount > 0 } + private let spaceReturnValueLock = NSLock() open var spaceUnderlyingReturnValue: SpaceRoom? open var spaceReturnValue: SpaceRoom? { - get { - if Thread.isMainThread { - return spaceUnderlyingReturnValue - } else { - var returnValue: SpaceRoom?? = nil - DispatchQueue.main.sync { - returnValue = spaceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - spaceUnderlyingReturnValue = newValue - } - } - } + get { spaceReturnValueLock.withLock { spaceUnderlyingReturnValue } } + set { spaceReturnValueLock.withLock { spaceUnderlyingReturnValue = newValue } } } open var spaceClosure: (() -> SpaceRoom?)? open override func space() -> SpaceRoom? { - spaceCallsCount += 1 + spaceCallsCountLock.withLock { spaceUnderlyingCallsCount += 1 } if let spaceClosure = spaceClosure { return spaceClosure() } else { @@ -25320,68 +14825,40 @@ open class SpaceRoomListSDKMock: MatrixRustSDK.SpaceRoomList, @unchecked Sendabl //MARK: - subscribeToPaginationStateUpdates - open var subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = 0 + private let subscribeToPaginationStateUpdatesListenerCallsCountLock = NSLock() + private var subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = 0 open var subscribeToPaginationStateUpdatesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToPaginationStateUpdatesListenerCallsCountLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount } } + set { subscribeToPaginationStateUpdatesListenerCallsCountLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = newValue } } } open var subscribeToPaginationStateUpdatesListenerCalled: Bool { return subscribeToPaginationStateUpdatesListenerCallsCount > 0 } - open var subscribeToPaginationStateUpdatesListenerReceivedListener: SpaceRoomListPaginationStateListener? - open var subscribeToPaginationStateUpdatesListenerReceivedInvocations: [SpaceRoomListPaginationStateListener] = [] + private let subscribeToPaginationStateUpdatesListenerReceivedListenerLock = NSLock() + private var subscribeToPaginationStateUpdatesListenerUnderlyingReceivedListener: SpaceRoomListPaginationStateListener? + open var subscribeToPaginationStateUpdatesListenerReceivedListener: SpaceRoomListPaginationStateListener? { + get { subscribeToPaginationStateUpdatesListenerReceivedListenerLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedListener } } + set { subscribeToPaginationStateUpdatesListenerReceivedListenerLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToPaginationStateUpdatesListenerReceivedInvocationsLock = NSLock() + private var subscribeToPaginationStateUpdatesListenerUnderlyingReceivedInvocations: [SpaceRoomListPaginationStateListener] = [] + open var subscribeToPaginationStateUpdatesListenerReceivedInvocations: [SpaceRoomListPaginationStateListener] { + get { subscribeToPaginationStateUpdatesListenerReceivedInvocationsLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedInvocations } } + set { subscribeToPaginationStateUpdatesListenerReceivedInvocationsLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToPaginationStateUpdatesListenerReturnValueLock = NSLock() open var subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToPaginationStateUpdatesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToPaginationStateUpdatesListenerReturnValueLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue } } + set { subscribeToPaginationStateUpdatesListenerReturnValueLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue = newValue } } } open var subscribeToPaginationStateUpdatesListenerClosure: ((SpaceRoomListPaginationStateListener) -> TaskHandle)? open override func subscribeToPaginationStateUpdates(listener: SpaceRoomListPaginationStateListener) -> TaskHandle { - subscribeToPaginationStateUpdatesListenerCallsCount += 1 + subscribeToPaginationStateUpdatesListenerCallsCountLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount += 1 } subscribeToPaginationStateUpdatesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToPaginationStateUpdatesListenerReceivedInvocations.append(listener) - } + subscribeToPaginationStateUpdatesListenerReceivedInvocationsLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToPaginationStateUpdatesListenerClosure = subscribeToPaginationStateUpdatesListenerClosure { return subscribeToPaginationStateUpdatesListenerClosure(listener) } else { @@ -25391,68 +14868,40 @@ open class SpaceRoomListSDKMock: MatrixRustSDK.SpaceRoomList, @unchecked Sendabl //MARK: - subscribeToRoomUpdate - open var subscribeToRoomUpdateListenerUnderlyingCallsCount = 0 + private let subscribeToRoomUpdateListenerCallsCountLock = NSLock() + private var subscribeToRoomUpdateListenerUnderlyingCallsCount = 0 open var subscribeToRoomUpdateListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToRoomUpdateListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToRoomUpdateListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToRoomUpdateListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToRoomUpdateListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToRoomUpdateListenerCallsCountLock.withLock { subscribeToRoomUpdateListenerUnderlyingCallsCount } } + set { subscribeToRoomUpdateListenerCallsCountLock.withLock { subscribeToRoomUpdateListenerUnderlyingCallsCount = newValue } } } open var subscribeToRoomUpdateListenerCalled: Bool { return subscribeToRoomUpdateListenerCallsCount > 0 } - open var subscribeToRoomUpdateListenerReceivedListener: SpaceRoomListEntriesListener? - open var subscribeToRoomUpdateListenerReceivedInvocations: [SpaceRoomListEntriesListener] = [] + private let subscribeToRoomUpdateListenerReceivedListenerLock = NSLock() + private var subscribeToRoomUpdateListenerUnderlyingReceivedListener: SpaceRoomListEntriesListener? + open var subscribeToRoomUpdateListenerReceivedListener: SpaceRoomListEntriesListener? { + get { subscribeToRoomUpdateListenerReceivedListenerLock.withLock { subscribeToRoomUpdateListenerUnderlyingReceivedListener } } + set { subscribeToRoomUpdateListenerReceivedListenerLock.withLock { subscribeToRoomUpdateListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToRoomUpdateListenerReceivedInvocationsLock = NSLock() + private var subscribeToRoomUpdateListenerUnderlyingReceivedInvocations: [SpaceRoomListEntriesListener] = [] + open var subscribeToRoomUpdateListenerReceivedInvocations: [SpaceRoomListEntriesListener] { + get { subscribeToRoomUpdateListenerReceivedInvocationsLock.withLock { subscribeToRoomUpdateListenerUnderlyingReceivedInvocations } } + set { subscribeToRoomUpdateListenerReceivedInvocationsLock.withLock { subscribeToRoomUpdateListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToRoomUpdateListenerReturnValueLock = NSLock() open var subscribeToRoomUpdateListenerUnderlyingReturnValue: TaskHandle! open var subscribeToRoomUpdateListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToRoomUpdateListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToRoomUpdateListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToRoomUpdateListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToRoomUpdateListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToRoomUpdateListenerReturnValueLock.withLock { subscribeToRoomUpdateListenerUnderlyingReturnValue } } + set { subscribeToRoomUpdateListenerReturnValueLock.withLock { subscribeToRoomUpdateListenerUnderlyingReturnValue = newValue } } } open var subscribeToRoomUpdateListenerClosure: ((SpaceRoomListEntriesListener) async -> TaskHandle)? open override func subscribeToRoomUpdate(listener: SpaceRoomListEntriesListener) async -> TaskHandle { - subscribeToRoomUpdateListenerCallsCount += 1 + subscribeToRoomUpdateListenerCallsCountLock.withLock { subscribeToRoomUpdateListenerUnderlyingCallsCount += 1 } subscribeToRoomUpdateListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToRoomUpdateListenerReceivedInvocations.append(listener) - } + subscribeToRoomUpdateListenerReceivedInvocationsLock.withLock { subscribeToRoomUpdateListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToRoomUpdateListenerClosure = subscribeToRoomUpdateListenerClosure { return await subscribeToRoomUpdateListenerClosure(listener) } else { @@ -25462,68 +14911,40 @@ open class SpaceRoomListSDKMock: MatrixRustSDK.SpaceRoomList, @unchecked Sendabl //MARK: - subscribeToSpaceUpdates - open var subscribeToSpaceUpdatesListenerUnderlyingCallsCount = 0 + private let subscribeToSpaceUpdatesListenerCallsCountLock = NSLock() + private var subscribeToSpaceUpdatesListenerUnderlyingCallsCount = 0 open var subscribeToSpaceUpdatesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToSpaceUpdatesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSpaceUpdatesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSpaceUpdatesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToSpaceUpdatesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToSpaceUpdatesListenerCallsCountLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingCallsCount } } + set { subscribeToSpaceUpdatesListenerCallsCountLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingCallsCount = newValue } } } open var subscribeToSpaceUpdatesListenerCalled: Bool { return subscribeToSpaceUpdatesListenerCallsCount > 0 } - open var subscribeToSpaceUpdatesListenerReceivedListener: SpaceRoomListSpaceListener? - open var subscribeToSpaceUpdatesListenerReceivedInvocations: [SpaceRoomListSpaceListener] = [] + private let subscribeToSpaceUpdatesListenerReceivedListenerLock = NSLock() + private var subscribeToSpaceUpdatesListenerUnderlyingReceivedListener: SpaceRoomListSpaceListener? + open var subscribeToSpaceUpdatesListenerReceivedListener: SpaceRoomListSpaceListener? { + get { subscribeToSpaceUpdatesListenerReceivedListenerLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingReceivedListener } } + set { subscribeToSpaceUpdatesListenerReceivedListenerLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToSpaceUpdatesListenerReceivedInvocationsLock = NSLock() + private var subscribeToSpaceUpdatesListenerUnderlyingReceivedInvocations: [SpaceRoomListSpaceListener] = [] + open var subscribeToSpaceUpdatesListenerReceivedInvocations: [SpaceRoomListSpaceListener] { + get { subscribeToSpaceUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingReceivedInvocations } } + set { subscribeToSpaceUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToSpaceUpdatesListenerReturnValueLock = NSLock() open var subscribeToSpaceUpdatesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToSpaceUpdatesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToSpaceUpdatesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSpaceUpdatesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSpaceUpdatesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToSpaceUpdatesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToSpaceUpdatesListenerReturnValueLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingReturnValue } } + set { subscribeToSpaceUpdatesListenerReturnValueLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingReturnValue = newValue } } } open var subscribeToSpaceUpdatesListenerClosure: ((SpaceRoomListSpaceListener) -> TaskHandle)? open override func subscribeToSpaceUpdates(listener: SpaceRoomListSpaceListener) -> TaskHandle { - subscribeToSpaceUpdatesListenerCallsCount += 1 + subscribeToSpaceUpdatesListenerCallsCountLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingCallsCount += 1 } subscribeToSpaceUpdatesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToSpaceUpdatesListenerReceivedInvocations.append(listener) - } + subscribeToSpaceUpdatesListenerReceivedInvocationsLock.withLock { subscribeToSpaceUpdatesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToSpaceUpdatesListenerClosure = subscribeToSpaceUpdatesListenerClosure { return subscribeToSpaceUpdatesListenerClosure(listener) } else { @@ -25549,107 +14970,61 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - addChildToSpace open var addChildToSpaceChildIdSpaceIdThrowableError: Error? - open var addChildToSpaceChildIdSpaceIdUnderlyingCallsCount = 0 + private let addChildToSpaceChildIdSpaceIdCallsCountLock = NSLock() + private var addChildToSpaceChildIdSpaceIdUnderlyingCallsCount = 0 open var addChildToSpaceChildIdSpaceIdCallsCount: Int { - get { - if Thread.isMainThread { - return addChildToSpaceChildIdSpaceIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addChildToSpaceChildIdSpaceIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addChildToSpaceChildIdSpaceIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addChildToSpaceChildIdSpaceIdUnderlyingCallsCount = newValue - } - } - } + get { addChildToSpaceChildIdSpaceIdCallsCountLock.withLock { addChildToSpaceChildIdSpaceIdUnderlyingCallsCount } } + set { addChildToSpaceChildIdSpaceIdCallsCountLock.withLock { addChildToSpaceChildIdSpaceIdUnderlyingCallsCount = newValue } } } open var addChildToSpaceChildIdSpaceIdCalled: Bool { return addChildToSpaceChildIdSpaceIdCallsCount > 0 } - open var addChildToSpaceChildIdSpaceIdReceivedArguments: (childId: String, spaceId: String)? - open var addChildToSpaceChildIdSpaceIdReceivedInvocations: [(childId: String, spaceId: String)] = [] + private let addChildToSpaceChildIdSpaceIdReceivedArgumentsLock = NSLock() + private var addChildToSpaceChildIdSpaceIdUnderlyingReceivedArguments: (childId: String, spaceId: String)? + open var addChildToSpaceChildIdSpaceIdReceivedArguments: (childId: String, spaceId: String)? { + get { addChildToSpaceChildIdSpaceIdReceivedArgumentsLock.withLock { addChildToSpaceChildIdSpaceIdUnderlyingReceivedArguments } } + set { addChildToSpaceChildIdSpaceIdReceivedArgumentsLock.withLock { addChildToSpaceChildIdSpaceIdUnderlyingReceivedArguments = newValue } } + } + private let addChildToSpaceChildIdSpaceIdReceivedInvocationsLock = NSLock() + private var addChildToSpaceChildIdSpaceIdUnderlyingReceivedInvocations: [(childId: String, spaceId: String)] = [] + open var addChildToSpaceChildIdSpaceIdReceivedInvocations: [(childId: String, spaceId: String)] { + get { addChildToSpaceChildIdSpaceIdReceivedInvocationsLock.withLock { addChildToSpaceChildIdSpaceIdUnderlyingReceivedInvocations } } + set { addChildToSpaceChildIdSpaceIdReceivedInvocationsLock.withLock { addChildToSpaceChildIdSpaceIdUnderlyingReceivedInvocations = newValue } } + } open var addChildToSpaceChildIdSpaceIdClosure: ((String, String) async throws -> Void)? open override func addChildToSpace(childId: String, spaceId: String) async throws { if let error = addChildToSpaceChildIdSpaceIdThrowableError { throw error } - addChildToSpaceChildIdSpaceIdCallsCount += 1 + addChildToSpaceChildIdSpaceIdCallsCountLock.withLock { addChildToSpaceChildIdSpaceIdUnderlyingCallsCount += 1 } addChildToSpaceChildIdSpaceIdReceivedArguments = (childId: childId, spaceId: spaceId) - DispatchQueue.main.async { - self.addChildToSpaceChildIdSpaceIdReceivedInvocations.append((childId: childId, spaceId: spaceId)) - } + addChildToSpaceChildIdSpaceIdReceivedInvocationsLock.withLock { addChildToSpaceChildIdSpaceIdUnderlyingReceivedInvocations.append((childId: childId, spaceId: spaceId)) } try await addChildToSpaceChildIdSpaceIdClosure?(childId, spaceId) } //MARK: - editableSpaces - open var editableSpacesUnderlyingCallsCount = 0 + private let editableSpacesCallsCountLock = NSLock() + private var editableSpacesUnderlyingCallsCount = 0 open var editableSpacesCallsCount: Int { - get { - if Thread.isMainThread { - return editableSpacesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editableSpacesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editableSpacesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editableSpacesUnderlyingCallsCount = newValue - } - } - } + get { editableSpacesCallsCountLock.withLock { editableSpacesUnderlyingCallsCount } } + set { editableSpacesCallsCountLock.withLock { editableSpacesUnderlyingCallsCount = newValue } } } open var editableSpacesCalled: Bool { return editableSpacesCallsCount > 0 } + private let editableSpacesReturnValueLock = NSLock() open var editableSpacesUnderlyingReturnValue: [SpaceRoom]! open var editableSpacesReturnValue: [SpaceRoom]! { - get { - if Thread.isMainThread { - return editableSpacesUnderlyingReturnValue - } else { - var returnValue: [SpaceRoom]? = nil - DispatchQueue.main.sync { - returnValue = editableSpacesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editableSpacesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - editableSpacesUnderlyingReturnValue = newValue - } - } - } + get { editableSpacesReturnValueLock.withLock { editableSpacesUnderlyingReturnValue } } + set { editableSpacesReturnValueLock.withLock { editableSpacesUnderlyingReturnValue = newValue } } } open var editableSpacesClosure: (() async -> [SpaceRoom])? open override func editableSpaces() async -> [SpaceRoom] { - editableSpacesCallsCount += 1 + editableSpacesCallsCountLock.withLock { editableSpacesUnderlyingCallsCount += 1 } if let editableSpacesClosure = editableSpacesClosure { return await editableSpacesClosure() } else { @@ -25660,59 +15035,33 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - getSpaceRoom open var getSpaceRoomRoomIdThrowableError: Error? - open var getSpaceRoomRoomIdUnderlyingCallsCount = 0 + private let getSpaceRoomRoomIdCallsCountLock = NSLock() + private var getSpaceRoomRoomIdUnderlyingCallsCount = 0 open var getSpaceRoomRoomIdCallsCount: Int { - get { - if Thread.isMainThread { - return getSpaceRoomRoomIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getSpaceRoomRoomIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getSpaceRoomRoomIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getSpaceRoomRoomIdUnderlyingCallsCount = newValue - } - } - } + get { getSpaceRoomRoomIdCallsCountLock.withLock { getSpaceRoomRoomIdUnderlyingCallsCount } } + set { getSpaceRoomRoomIdCallsCountLock.withLock { getSpaceRoomRoomIdUnderlyingCallsCount = newValue } } } open var getSpaceRoomRoomIdCalled: Bool { return getSpaceRoomRoomIdCallsCount > 0 } - open var getSpaceRoomRoomIdReceivedRoomId: String? - open var getSpaceRoomRoomIdReceivedInvocations: [String] = [] + private let getSpaceRoomRoomIdReceivedRoomIdLock = NSLock() + private var getSpaceRoomRoomIdUnderlyingReceivedRoomId: String? + open var getSpaceRoomRoomIdReceivedRoomId: String? { + get { getSpaceRoomRoomIdReceivedRoomIdLock.withLock { getSpaceRoomRoomIdUnderlyingReceivedRoomId } } + set { getSpaceRoomRoomIdReceivedRoomIdLock.withLock { getSpaceRoomRoomIdUnderlyingReceivedRoomId = newValue } } + } + private let getSpaceRoomRoomIdReceivedInvocationsLock = NSLock() + private var getSpaceRoomRoomIdUnderlyingReceivedInvocations: [String] = [] + open var getSpaceRoomRoomIdReceivedInvocations: [String] { + get { getSpaceRoomRoomIdReceivedInvocationsLock.withLock { getSpaceRoomRoomIdUnderlyingReceivedInvocations } } + set { getSpaceRoomRoomIdReceivedInvocationsLock.withLock { getSpaceRoomRoomIdUnderlyingReceivedInvocations = newValue } } + } + private let getSpaceRoomRoomIdReturnValueLock = NSLock() open var getSpaceRoomRoomIdUnderlyingReturnValue: SpaceRoom? open var getSpaceRoomRoomIdReturnValue: SpaceRoom? { - get { - if Thread.isMainThread { - return getSpaceRoomRoomIdUnderlyingReturnValue - } else { - var returnValue: SpaceRoom?? = nil - DispatchQueue.main.sync { - returnValue = getSpaceRoomRoomIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getSpaceRoomRoomIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getSpaceRoomRoomIdUnderlyingReturnValue = newValue - } - } - } + get { getSpaceRoomRoomIdReturnValueLock.withLock { getSpaceRoomRoomIdUnderlyingReturnValue } } + set { getSpaceRoomRoomIdReturnValueLock.withLock { getSpaceRoomRoomIdUnderlyingReturnValue = newValue } } } open var getSpaceRoomRoomIdClosure: ((String) async throws -> SpaceRoom?)? @@ -25720,11 +15069,9 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable if let error = getSpaceRoomRoomIdThrowableError { throw error } - getSpaceRoomRoomIdCallsCount += 1 + getSpaceRoomRoomIdCallsCountLock.withLock { getSpaceRoomRoomIdUnderlyingCallsCount += 1 } getSpaceRoomRoomIdReceivedRoomId = roomId - DispatchQueue.main.async { - self.getSpaceRoomRoomIdReceivedInvocations.append(roomId) - } + getSpaceRoomRoomIdReceivedInvocationsLock.withLock { getSpaceRoomRoomIdUnderlyingReceivedInvocations.append(roomId) } if let getSpaceRoomRoomIdClosure = getSpaceRoomRoomIdClosure { return try await getSpaceRoomRoomIdClosure(roomId) } else { @@ -25735,59 +15082,33 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - joinedParentsOfChild open var joinedParentsOfChildChildIdThrowableError: Error? - open var joinedParentsOfChildChildIdUnderlyingCallsCount = 0 + private let joinedParentsOfChildChildIdCallsCountLock = NSLock() + private var joinedParentsOfChildChildIdUnderlyingCallsCount = 0 open var joinedParentsOfChildChildIdCallsCount: Int { - get { - if Thread.isMainThread { - return joinedParentsOfChildChildIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = joinedParentsOfChildChildIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinedParentsOfChildChildIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - joinedParentsOfChildChildIdUnderlyingCallsCount = newValue - } - } - } + get { joinedParentsOfChildChildIdCallsCountLock.withLock { joinedParentsOfChildChildIdUnderlyingCallsCount } } + set { joinedParentsOfChildChildIdCallsCountLock.withLock { joinedParentsOfChildChildIdUnderlyingCallsCount = newValue } } } open var joinedParentsOfChildChildIdCalled: Bool { return joinedParentsOfChildChildIdCallsCount > 0 } - open var joinedParentsOfChildChildIdReceivedChildId: String? - open var joinedParentsOfChildChildIdReceivedInvocations: [String] = [] + private let joinedParentsOfChildChildIdReceivedChildIdLock = NSLock() + private var joinedParentsOfChildChildIdUnderlyingReceivedChildId: String? + open var joinedParentsOfChildChildIdReceivedChildId: String? { + get { joinedParentsOfChildChildIdReceivedChildIdLock.withLock { joinedParentsOfChildChildIdUnderlyingReceivedChildId } } + set { joinedParentsOfChildChildIdReceivedChildIdLock.withLock { joinedParentsOfChildChildIdUnderlyingReceivedChildId = newValue } } + } + private let joinedParentsOfChildChildIdReceivedInvocationsLock = NSLock() + private var joinedParentsOfChildChildIdUnderlyingReceivedInvocations: [String] = [] + open var joinedParentsOfChildChildIdReceivedInvocations: [String] { + get { joinedParentsOfChildChildIdReceivedInvocationsLock.withLock { joinedParentsOfChildChildIdUnderlyingReceivedInvocations } } + set { joinedParentsOfChildChildIdReceivedInvocationsLock.withLock { joinedParentsOfChildChildIdUnderlyingReceivedInvocations = newValue } } + } + private let joinedParentsOfChildChildIdReturnValueLock = NSLock() open var joinedParentsOfChildChildIdUnderlyingReturnValue: [SpaceRoom]! open var joinedParentsOfChildChildIdReturnValue: [SpaceRoom]! { - get { - if Thread.isMainThread { - return joinedParentsOfChildChildIdUnderlyingReturnValue - } else { - var returnValue: [SpaceRoom]? = nil - DispatchQueue.main.sync { - returnValue = joinedParentsOfChildChildIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - joinedParentsOfChildChildIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - joinedParentsOfChildChildIdUnderlyingReturnValue = newValue - } - } - } + get { joinedParentsOfChildChildIdReturnValueLock.withLock { joinedParentsOfChildChildIdUnderlyingReturnValue } } + set { joinedParentsOfChildChildIdReturnValueLock.withLock { joinedParentsOfChildChildIdUnderlyingReturnValue = newValue } } } open var joinedParentsOfChildChildIdClosure: ((String) async throws -> [SpaceRoom])? @@ -25795,11 +15116,9 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable if let error = joinedParentsOfChildChildIdThrowableError { throw error } - joinedParentsOfChildChildIdCallsCount += 1 + joinedParentsOfChildChildIdCallsCountLock.withLock { joinedParentsOfChildChildIdUnderlyingCallsCount += 1 } joinedParentsOfChildChildIdReceivedChildId = childId - DispatchQueue.main.async { - self.joinedParentsOfChildChildIdReceivedInvocations.append(childId) - } + joinedParentsOfChildChildIdReceivedInvocationsLock.withLock { joinedParentsOfChildChildIdUnderlyingReceivedInvocations.append(childId) } if let joinedParentsOfChildChildIdClosure = joinedParentsOfChildChildIdClosure { return try await joinedParentsOfChildChildIdClosure(childId) } else { @@ -25810,59 +15129,33 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - leaveSpace open var leaveSpaceSpaceIdThrowableError: Error? - open var leaveSpaceSpaceIdUnderlyingCallsCount = 0 + private let leaveSpaceSpaceIdCallsCountLock = NSLock() + private var leaveSpaceSpaceIdUnderlyingCallsCount = 0 open var leaveSpaceSpaceIdCallsCount: Int { - get { - if Thread.isMainThread { - return leaveSpaceSpaceIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = leaveSpaceSpaceIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveSpaceSpaceIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - leaveSpaceSpaceIdUnderlyingCallsCount = newValue - } - } - } + get { leaveSpaceSpaceIdCallsCountLock.withLock { leaveSpaceSpaceIdUnderlyingCallsCount } } + set { leaveSpaceSpaceIdCallsCountLock.withLock { leaveSpaceSpaceIdUnderlyingCallsCount = newValue } } } open var leaveSpaceSpaceIdCalled: Bool { return leaveSpaceSpaceIdCallsCount > 0 } - open var leaveSpaceSpaceIdReceivedSpaceId: String? - open var leaveSpaceSpaceIdReceivedInvocations: [String] = [] + private let leaveSpaceSpaceIdReceivedSpaceIdLock = NSLock() + private var leaveSpaceSpaceIdUnderlyingReceivedSpaceId: String? + open var leaveSpaceSpaceIdReceivedSpaceId: String? { + get { leaveSpaceSpaceIdReceivedSpaceIdLock.withLock { leaveSpaceSpaceIdUnderlyingReceivedSpaceId } } + set { leaveSpaceSpaceIdReceivedSpaceIdLock.withLock { leaveSpaceSpaceIdUnderlyingReceivedSpaceId = newValue } } + } + private let leaveSpaceSpaceIdReceivedInvocationsLock = NSLock() + private var leaveSpaceSpaceIdUnderlyingReceivedInvocations: [String] = [] + open var leaveSpaceSpaceIdReceivedInvocations: [String] { + get { leaveSpaceSpaceIdReceivedInvocationsLock.withLock { leaveSpaceSpaceIdUnderlyingReceivedInvocations } } + set { leaveSpaceSpaceIdReceivedInvocationsLock.withLock { leaveSpaceSpaceIdUnderlyingReceivedInvocations = newValue } } + } + private let leaveSpaceSpaceIdReturnValueLock = NSLock() open var leaveSpaceSpaceIdUnderlyingReturnValue: LeaveSpaceHandle! open var leaveSpaceSpaceIdReturnValue: LeaveSpaceHandle! { - get { - if Thread.isMainThread { - return leaveSpaceSpaceIdUnderlyingReturnValue - } else { - var returnValue: LeaveSpaceHandle? = nil - DispatchQueue.main.sync { - returnValue = leaveSpaceSpaceIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - leaveSpaceSpaceIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - leaveSpaceSpaceIdUnderlyingReturnValue = newValue - } - } - } + get { leaveSpaceSpaceIdReturnValueLock.withLock { leaveSpaceSpaceIdUnderlyingReturnValue } } + set { leaveSpaceSpaceIdReturnValueLock.withLock { leaveSpaceSpaceIdUnderlyingReturnValue = newValue } } } open var leaveSpaceSpaceIdClosure: ((String) async throws -> LeaveSpaceHandle)? @@ -25870,11 +15163,9 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable if let error = leaveSpaceSpaceIdThrowableError { throw error } - leaveSpaceSpaceIdCallsCount += 1 + leaveSpaceSpaceIdCallsCountLock.withLock { leaveSpaceSpaceIdUnderlyingCallsCount += 1 } leaveSpaceSpaceIdReceivedSpaceId = spaceId - DispatchQueue.main.async { - self.leaveSpaceSpaceIdReceivedInvocations.append(spaceId) - } + leaveSpaceSpaceIdReceivedInvocationsLock.withLock { leaveSpaceSpaceIdUnderlyingReceivedInvocations.append(spaceId) } if let leaveSpaceSpaceIdClosure = leaveSpaceSpaceIdClosure { return try await leaveSpaceSpaceIdClosure(spaceId) } else { @@ -25885,107 +15176,61 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - removeChildFromSpace open var removeChildFromSpaceChildIdSpaceIdThrowableError: Error? - open var removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount = 0 + private let removeChildFromSpaceChildIdSpaceIdCallsCountLock = NSLock() + private var removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount = 0 open var removeChildFromSpaceChildIdSpaceIdCallsCount: Int { - get { - if Thread.isMainThread { - return removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount = newValue - } - } - } + get { removeChildFromSpaceChildIdSpaceIdCallsCountLock.withLock { removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount } } + set { removeChildFromSpaceChildIdSpaceIdCallsCountLock.withLock { removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount = newValue } } } open var removeChildFromSpaceChildIdSpaceIdCalled: Bool { return removeChildFromSpaceChildIdSpaceIdCallsCount > 0 } - open var removeChildFromSpaceChildIdSpaceIdReceivedArguments: (childId: String, spaceId: String)? - open var removeChildFromSpaceChildIdSpaceIdReceivedInvocations: [(childId: String, spaceId: String)] = [] + private let removeChildFromSpaceChildIdSpaceIdReceivedArgumentsLock = NSLock() + private var removeChildFromSpaceChildIdSpaceIdUnderlyingReceivedArguments: (childId: String, spaceId: String)? + open var removeChildFromSpaceChildIdSpaceIdReceivedArguments: (childId: String, spaceId: String)? { + get { removeChildFromSpaceChildIdSpaceIdReceivedArgumentsLock.withLock { removeChildFromSpaceChildIdSpaceIdUnderlyingReceivedArguments } } + set { removeChildFromSpaceChildIdSpaceIdReceivedArgumentsLock.withLock { removeChildFromSpaceChildIdSpaceIdUnderlyingReceivedArguments = newValue } } + } + private let removeChildFromSpaceChildIdSpaceIdReceivedInvocationsLock = NSLock() + private var removeChildFromSpaceChildIdSpaceIdUnderlyingReceivedInvocations: [(childId: String, spaceId: String)] = [] + open var removeChildFromSpaceChildIdSpaceIdReceivedInvocations: [(childId: String, spaceId: String)] { + get { removeChildFromSpaceChildIdSpaceIdReceivedInvocationsLock.withLock { removeChildFromSpaceChildIdSpaceIdUnderlyingReceivedInvocations } } + set { removeChildFromSpaceChildIdSpaceIdReceivedInvocationsLock.withLock { removeChildFromSpaceChildIdSpaceIdUnderlyingReceivedInvocations = newValue } } + } open var removeChildFromSpaceChildIdSpaceIdClosure: ((String, String) async throws -> Void)? open override func removeChildFromSpace(childId: String, spaceId: String) async throws { if let error = removeChildFromSpaceChildIdSpaceIdThrowableError { throw error } - removeChildFromSpaceChildIdSpaceIdCallsCount += 1 + removeChildFromSpaceChildIdSpaceIdCallsCountLock.withLock { removeChildFromSpaceChildIdSpaceIdUnderlyingCallsCount += 1 } removeChildFromSpaceChildIdSpaceIdReceivedArguments = (childId: childId, spaceId: spaceId) - DispatchQueue.main.async { - self.removeChildFromSpaceChildIdSpaceIdReceivedInvocations.append((childId: childId, spaceId: spaceId)) - } + removeChildFromSpaceChildIdSpaceIdReceivedInvocationsLock.withLock { removeChildFromSpaceChildIdSpaceIdUnderlyingReceivedInvocations.append((childId: childId, spaceId: spaceId)) } try await removeChildFromSpaceChildIdSpaceIdClosure?(childId, spaceId) } //MARK: - spaceFilters - open var spaceFiltersUnderlyingCallsCount = 0 + private let spaceFiltersCallsCountLock = NSLock() + private var spaceFiltersUnderlyingCallsCount = 0 open var spaceFiltersCallsCount: Int { - get { - if Thread.isMainThread { - return spaceFiltersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = spaceFiltersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceFiltersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - spaceFiltersUnderlyingCallsCount = newValue - } - } - } + get { spaceFiltersCallsCountLock.withLock { spaceFiltersUnderlyingCallsCount } } + set { spaceFiltersCallsCountLock.withLock { spaceFiltersUnderlyingCallsCount = newValue } } } open var spaceFiltersCalled: Bool { return spaceFiltersCallsCount > 0 } + private let spaceFiltersReturnValueLock = NSLock() open var spaceFiltersUnderlyingReturnValue: [SpaceFilter]! open var spaceFiltersReturnValue: [SpaceFilter]! { - get { - if Thread.isMainThread { - return spaceFiltersUnderlyingReturnValue - } else { - var returnValue: [SpaceFilter]? = nil - DispatchQueue.main.sync { - returnValue = spaceFiltersUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceFiltersUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - spaceFiltersUnderlyingReturnValue = newValue - } - } - } + get { spaceFiltersReturnValueLock.withLock { spaceFiltersUnderlyingReturnValue } } + set { spaceFiltersReturnValueLock.withLock { spaceFiltersUnderlyingReturnValue = newValue } } } open var spaceFiltersClosure: (() async -> [SpaceFilter])? open override func spaceFilters() async -> [SpaceFilter] { - spaceFiltersCallsCount += 1 + spaceFiltersCallsCountLock.withLock { spaceFiltersUnderlyingCallsCount += 1 } if let spaceFiltersClosure = spaceFiltersClosure { return await spaceFiltersClosure() } else { @@ -25996,59 +15241,33 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - spaceRoomList open var spaceRoomListSpaceIdThrowableError: Error? - open var spaceRoomListSpaceIdUnderlyingCallsCount = 0 + private let spaceRoomListSpaceIdCallsCountLock = NSLock() + private var spaceRoomListSpaceIdUnderlyingCallsCount = 0 open var spaceRoomListSpaceIdCallsCount: Int { - get { - if Thread.isMainThread { - return spaceRoomListSpaceIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = spaceRoomListSpaceIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceRoomListSpaceIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - spaceRoomListSpaceIdUnderlyingCallsCount = newValue - } - } - } + get { spaceRoomListSpaceIdCallsCountLock.withLock { spaceRoomListSpaceIdUnderlyingCallsCount } } + set { spaceRoomListSpaceIdCallsCountLock.withLock { spaceRoomListSpaceIdUnderlyingCallsCount = newValue } } } open var spaceRoomListSpaceIdCalled: Bool { return spaceRoomListSpaceIdCallsCount > 0 } - open var spaceRoomListSpaceIdReceivedSpaceId: String? - open var spaceRoomListSpaceIdReceivedInvocations: [String] = [] + private let spaceRoomListSpaceIdReceivedSpaceIdLock = NSLock() + private var spaceRoomListSpaceIdUnderlyingReceivedSpaceId: String? + open var spaceRoomListSpaceIdReceivedSpaceId: String? { + get { spaceRoomListSpaceIdReceivedSpaceIdLock.withLock { spaceRoomListSpaceIdUnderlyingReceivedSpaceId } } + set { spaceRoomListSpaceIdReceivedSpaceIdLock.withLock { spaceRoomListSpaceIdUnderlyingReceivedSpaceId = newValue } } + } + private let spaceRoomListSpaceIdReceivedInvocationsLock = NSLock() + private var spaceRoomListSpaceIdUnderlyingReceivedInvocations: [String] = [] + open var spaceRoomListSpaceIdReceivedInvocations: [String] { + get { spaceRoomListSpaceIdReceivedInvocationsLock.withLock { spaceRoomListSpaceIdUnderlyingReceivedInvocations } } + set { spaceRoomListSpaceIdReceivedInvocationsLock.withLock { spaceRoomListSpaceIdUnderlyingReceivedInvocations = newValue } } + } + private let spaceRoomListSpaceIdReturnValueLock = NSLock() open var spaceRoomListSpaceIdUnderlyingReturnValue: SpaceRoomList! open var spaceRoomListSpaceIdReturnValue: SpaceRoomList! { - get { - if Thread.isMainThread { - return spaceRoomListSpaceIdUnderlyingReturnValue - } else { - var returnValue: SpaceRoomList? = nil - DispatchQueue.main.sync { - returnValue = spaceRoomListSpaceIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - spaceRoomListSpaceIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - spaceRoomListSpaceIdUnderlyingReturnValue = newValue - } - } - } + get { spaceRoomListSpaceIdReturnValueLock.withLock { spaceRoomListSpaceIdUnderlyingReturnValue } } + set { spaceRoomListSpaceIdReturnValueLock.withLock { spaceRoomListSpaceIdUnderlyingReturnValue = newValue } } } open var spaceRoomListSpaceIdClosure: ((String) async throws -> SpaceRoomList)? @@ -26056,11 +15275,9 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable if let error = spaceRoomListSpaceIdThrowableError { throw error } - spaceRoomListSpaceIdCallsCount += 1 + spaceRoomListSpaceIdCallsCountLock.withLock { spaceRoomListSpaceIdUnderlyingCallsCount += 1 } spaceRoomListSpaceIdReceivedSpaceId = spaceId - DispatchQueue.main.async { - self.spaceRoomListSpaceIdReceivedInvocations.append(spaceId) - } + spaceRoomListSpaceIdReceivedInvocationsLock.withLock { spaceRoomListSpaceIdUnderlyingReceivedInvocations.append(spaceId) } if let spaceRoomListSpaceIdClosure = spaceRoomListSpaceIdClosure { return try await spaceRoomListSpaceIdClosure(spaceId) } else { @@ -26070,68 +15287,40 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - subscribeToSpaceFilters - open var subscribeToSpaceFiltersListenerUnderlyingCallsCount = 0 + private let subscribeToSpaceFiltersListenerCallsCountLock = NSLock() + private var subscribeToSpaceFiltersListenerUnderlyingCallsCount = 0 open var subscribeToSpaceFiltersListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToSpaceFiltersListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSpaceFiltersListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSpaceFiltersListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToSpaceFiltersListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToSpaceFiltersListenerCallsCountLock.withLock { subscribeToSpaceFiltersListenerUnderlyingCallsCount } } + set { subscribeToSpaceFiltersListenerCallsCountLock.withLock { subscribeToSpaceFiltersListenerUnderlyingCallsCount = newValue } } } open var subscribeToSpaceFiltersListenerCalled: Bool { return subscribeToSpaceFiltersListenerCallsCount > 0 } - open var subscribeToSpaceFiltersListenerReceivedListener: SpaceServiceSpaceFiltersListener? - open var subscribeToSpaceFiltersListenerReceivedInvocations: [SpaceServiceSpaceFiltersListener] = [] + private let subscribeToSpaceFiltersListenerReceivedListenerLock = NSLock() + private var subscribeToSpaceFiltersListenerUnderlyingReceivedListener: SpaceServiceSpaceFiltersListener? + open var subscribeToSpaceFiltersListenerReceivedListener: SpaceServiceSpaceFiltersListener? { + get { subscribeToSpaceFiltersListenerReceivedListenerLock.withLock { subscribeToSpaceFiltersListenerUnderlyingReceivedListener } } + set { subscribeToSpaceFiltersListenerReceivedListenerLock.withLock { subscribeToSpaceFiltersListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToSpaceFiltersListenerReceivedInvocationsLock = NSLock() + private var subscribeToSpaceFiltersListenerUnderlyingReceivedInvocations: [SpaceServiceSpaceFiltersListener] = [] + open var subscribeToSpaceFiltersListenerReceivedInvocations: [SpaceServiceSpaceFiltersListener] { + get { subscribeToSpaceFiltersListenerReceivedInvocationsLock.withLock { subscribeToSpaceFiltersListenerUnderlyingReceivedInvocations } } + set { subscribeToSpaceFiltersListenerReceivedInvocationsLock.withLock { subscribeToSpaceFiltersListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToSpaceFiltersListenerReturnValueLock = NSLock() open var subscribeToSpaceFiltersListenerUnderlyingReturnValue: TaskHandle! open var subscribeToSpaceFiltersListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToSpaceFiltersListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToSpaceFiltersListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToSpaceFiltersListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToSpaceFiltersListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToSpaceFiltersListenerReturnValueLock.withLock { subscribeToSpaceFiltersListenerUnderlyingReturnValue } } + set { subscribeToSpaceFiltersListenerReturnValueLock.withLock { subscribeToSpaceFiltersListenerUnderlyingReturnValue = newValue } } } open var subscribeToSpaceFiltersListenerClosure: ((SpaceServiceSpaceFiltersListener) async -> TaskHandle)? open override func subscribeToSpaceFilters(listener: SpaceServiceSpaceFiltersListener) async -> TaskHandle { - subscribeToSpaceFiltersListenerCallsCount += 1 + subscribeToSpaceFiltersListenerCallsCountLock.withLock { subscribeToSpaceFiltersListenerUnderlyingCallsCount += 1 } subscribeToSpaceFiltersListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToSpaceFiltersListenerReceivedInvocations.append(listener) - } + subscribeToSpaceFiltersListenerReceivedInvocationsLock.withLock { subscribeToSpaceFiltersListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToSpaceFiltersListenerClosure = subscribeToSpaceFiltersListenerClosure { return await subscribeToSpaceFiltersListenerClosure(listener) } else { @@ -26141,68 +15330,40 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - subscribeToTopLevelJoinedSpaces - open var subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount = 0 + private let subscribeToTopLevelJoinedSpacesListenerCallsCountLock = NSLock() + private var subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount = 0 open var subscribeToTopLevelJoinedSpacesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToTopLevelJoinedSpacesListenerCallsCountLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount } } + set { subscribeToTopLevelJoinedSpacesListenerCallsCountLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount = newValue } } } open var subscribeToTopLevelJoinedSpacesListenerCalled: Bool { return subscribeToTopLevelJoinedSpacesListenerCallsCount > 0 } - open var subscribeToTopLevelJoinedSpacesListenerReceivedListener: SpaceServiceJoinedSpacesListener? - open var subscribeToTopLevelJoinedSpacesListenerReceivedInvocations: [SpaceServiceJoinedSpacesListener] = [] + private let subscribeToTopLevelJoinedSpacesListenerReceivedListenerLock = NSLock() + private var subscribeToTopLevelJoinedSpacesListenerUnderlyingReceivedListener: SpaceServiceJoinedSpacesListener? + open var subscribeToTopLevelJoinedSpacesListenerReceivedListener: SpaceServiceJoinedSpacesListener? { + get { subscribeToTopLevelJoinedSpacesListenerReceivedListenerLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingReceivedListener } } + set { subscribeToTopLevelJoinedSpacesListenerReceivedListenerLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToTopLevelJoinedSpacesListenerReceivedInvocationsLock = NSLock() + private var subscribeToTopLevelJoinedSpacesListenerUnderlyingReceivedInvocations: [SpaceServiceJoinedSpacesListener] = [] + open var subscribeToTopLevelJoinedSpacesListenerReceivedInvocations: [SpaceServiceJoinedSpacesListener] { + get { subscribeToTopLevelJoinedSpacesListenerReceivedInvocationsLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingReceivedInvocations } } + set { subscribeToTopLevelJoinedSpacesListenerReceivedInvocationsLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToTopLevelJoinedSpacesListenerReturnValueLock = NSLock() open var subscribeToTopLevelJoinedSpacesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToTopLevelJoinedSpacesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToTopLevelJoinedSpacesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToTopLevelJoinedSpacesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToTopLevelJoinedSpacesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToTopLevelJoinedSpacesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToTopLevelJoinedSpacesListenerReturnValueLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingReturnValue } } + set { subscribeToTopLevelJoinedSpacesListenerReturnValueLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingReturnValue = newValue } } } open var subscribeToTopLevelJoinedSpacesListenerClosure: ((SpaceServiceJoinedSpacesListener) async -> TaskHandle)? open override func subscribeToTopLevelJoinedSpaces(listener: SpaceServiceJoinedSpacesListener) async -> TaskHandle { - subscribeToTopLevelJoinedSpacesListenerCallsCount += 1 + subscribeToTopLevelJoinedSpacesListenerCallsCountLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingCallsCount += 1 } subscribeToTopLevelJoinedSpacesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToTopLevelJoinedSpacesListenerReceivedInvocations.append(listener) - } + subscribeToTopLevelJoinedSpacesListenerReceivedInvocationsLock.withLock { subscribeToTopLevelJoinedSpacesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToTopLevelJoinedSpacesListenerClosure = subscribeToTopLevelJoinedSpacesListenerClosure { return await subscribeToTopLevelJoinedSpacesListenerClosure(listener) } else { @@ -26212,62 +15373,26 @@ open class SpaceServiceSDKMock: MatrixRustSDK.SpaceService, @unchecked Sendable //MARK: - topLevelJoinedSpaces - open var topLevelJoinedSpacesUnderlyingCallsCount = 0 + private let topLevelJoinedSpacesCallsCountLock = NSLock() + private var topLevelJoinedSpacesUnderlyingCallsCount = 0 open var topLevelJoinedSpacesCallsCount: Int { - get { - if Thread.isMainThread { - return topLevelJoinedSpacesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = topLevelJoinedSpacesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - topLevelJoinedSpacesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - topLevelJoinedSpacesUnderlyingCallsCount = newValue - } - } - } + get { topLevelJoinedSpacesCallsCountLock.withLock { topLevelJoinedSpacesUnderlyingCallsCount } } + set { topLevelJoinedSpacesCallsCountLock.withLock { topLevelJoinedSpacesUnderlyingCallsCount = newValue } } } open var topLevelJoinedSpacesCalled: Bool { return topLevelJoinedSpacesCallsCount > 0 } + private let topLevelJoinedSpacesReturnValueLock = NSLock() open var topLevelJoinedSpacesUnderlyingReturnValue: [SpaceRoom]! open var topLevelJoinedSpacesReturnValue: [SpaceRoom]! { - get { - if Thread.isMainThread { - return topLevelJoinedSpacesUnderlyingReturnValue - } else { - var returnValue: [SpaceRoom]? = nil - DispatchQueue.main.sync { - returnValue = topLevelJoinedSpacesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - topLevelJoinedSpacesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - topLevelJoinedSpacesUnderlyingReturnValue = newValue - } - } - } + get { topLevelJoinedSpacesReturnValueLock.withLock { topLevelJoinedSpacesUnderlyingReturnValue } } + set { topLevelJoinedSpacesReturnValueLock.withLock { topLevelJoinedSpacesUnderlyingReturnValue = newValue } } } open var topLevelJoinedSpacesClosure: (() async -> [SpaceRoom])? open override func topLevelJoinedSpaces() async -> [SpaceRoom] { - topLevelJoinedSpacesCallsCount += 1 + topLevelJoinedSpacesCallsCountLock.withLock { topLevelJoinedSpacesUnderlyingCallsCount += 1 } if let topLevelJoinedSpacesClosure = topLevelJoinedSpacesClosure { return await topLevelJoinedSpacesClosure() } else { @@ -26295,29 +15420,11 @@ open class SpanSDKMock: MatrixRustSDK.Span, @unchecked Sendable { //MARK: - enter - open var enterUnderlyingCallsCount = 0 + private let enterCallsCountLock = NSLock() + private var enterUnderlyingCallsCount = 0 open var enterCallsCount: Int { - get { - if Thread.isMainThread { - return enterUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = enterUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - enterUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - enterUnderlyingCallsCount = newValue - } - } - } + get { enterCallsCountLock.withLock { enterUnderlyingCallsCount } } + set { enterCallsCountLock.withLock { enterUnderlyingCallsCount = newValue } } } open var enterCalled: Bool { return enterCallsCount > 0 @@ -26325,35 +15432,17 @@ open class SpanSDKMock: MatrixRustSDK.Span, @unchecked Sendable { open var enterClosure: (() -> Void)? open override func enter() { - enterCallsCount += 1 + enterCallsCountLock.withLock { enterUnderlyingCallsCount += 1 } enterClosure?() } //MARK: - exit - open var exitUnderlyingCallsCount = 0 + private let exitCallsCountLock = NSLock() + private var exitUnderlyingCallsCount = 0 open var exitCallsCount: Int { - get { - if Thread.isMainThread { - return exitUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = exitUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - exitUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - exitUnderlyingCallsCount = newValue - } - } - } + get { exitCallsCountLock.withLock { exitUnderlyingCallsCount } } + set { exitCallsCountLock.withLock { exitUnderlyingCallsCount = newValue } } } open var exitCalled: Bool { return exitCallsCount > 0 @@ -26361,68 +15450,32 @@ open class SpanSDKMock: MatrixRustSDK.Span, @unchecked Sendable { open var exitClosure: (() -> Void)? open override func exit() { - exitCallsCount += 1 + exitCallsCountLock.withLock { exitUnderlyingCallsCount += 1 } exitClosure?() } //MARK: - isNone - open var isNoneUnderlyingCallsCount = 0 + private let isNoneCallsCountLock = NSLock() + private var isNoneUnderlyingCallsCount = 0 open var isNoneCallsCount: Int { - get { - if Thread.isMainThread { - return isNoneUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isNoneUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isNoneUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isNoneUnderlyingCallsCount = newValue - } - } - } + get { isNoneCallsCountLock.withLock { isNoneUnderlyingCallsCount } } + set { isNoneCallsCountLock.withLock { isNoneUnderlyingCallsCount = newValue } } } open var isNoneCalled: Bool { return isNoneCallsCount > 0 } + private let isNoneReturnValueLock = NSLock() open var isNoneUnderlyingReturnValue: Bool! open var isNoneReturnValue: Bool! { - get { - if Thread.isMainThread { - return isNoneUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isNoneUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isNoneUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isNoneUnderlyingReturnValue = newValue - } - } - } + get { isNoneReturnValueLock.withLock { isNoneUnderlyingReturnValue } } + set { isNoneReturnValueLock.withLock { isNoneUnderlyingReturnValue = newValue } } } open var isNoneClosure: (() -> Bool)? open override func isNone() -> Bool { - isNoneCallsCount += 1 + isNoneCallsCountLock.withLock { isNoneUnderlyingCallsCount += 1 } if let isNoneClosure = isNoneClosure { return isNoneClosure() } else { @@ -26447,68 +15500,40 @@ open class SqliteStoreBuilderSDKMock: MatrixRustSDK.SqliteStoreBuilder, @uncheck //MARK: - cacheSize - open var cacheSizeCacheSizeUnderlyingCallsCount = 0 + private let cacheSizeCacheSizeCallsCountLock = NSLock() + private var cacheSizeCacheSizeUnderlyingCallsCount = 0 open var cacheSizeCacheSizeCallsCount: Int { - get { - if Thread.isMainThread { - return cacheSizeCacheSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cacheSizeCacheSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cacheSizeCacheSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cacheSizeCacheSizeUnderlyingCallsCount = newValue - } - } - } + get { cacheSizeCacheSizeCallsCountLock.withLock { cacheSizeCacheSizeUnderlyingCallsCount } } + set { cacheSizeCacheSizeCallsCountLock.withLock { cacheSizeCacheSizeUnderlyingCallsCount = newValue } } } open var cacheSizeCacheSizeCalled: Bool { return cacheSizeCacheSizeCallsCount > 0 } - open var cacheSizeCacheSizeReceivedCacheSize: UInt32? - open var cacheSizeCacheSizeReceivedInvocations: [UInt32?] = [] + private let cacheSizeCacheSizeReceivedCacheSizeLock = NSLock() + private var cacheSizeCacheSizeUnderlyingReceivedCacheSize: UInt32? + open var cacheSizeCacheSizeReceivedCacheSize: UInt32? { + get { cacheSizeCacheSizeReceivedCacheSizeLock.withLock { cacheSizeCacheSizeUnderlyingReceivedCacheSize } } + set { cacheSizeCacheSizeReceivedCacheSizeLock.withLock { cacheSizeCacheSizeUnderlyingReceivedCacheSize = newValue } } + } + private let cacheSizeCacheSizeReceivedInvocationsLock = NSLock() + private var cacheSizeCacheSizeUnderlyingReceivedInvocations: [UInt32?] = [] + open var cacheSizeCacheSizeReceivedInvocations: [UInt32?] { + get { cacheSizeCacheSizeReceivedInvocationsLock.withLock { cacheSizeCacheSizeUnderlyingReceivedInvocations } } + set { cacheSizeCacheSizeReceivedInvocationsLock.withLock { cacheSizeCacheSizeUnderlyingReceivedInvocations = newValue } } + } + private let cacheSizeCacheSizeReturnValueLock = NSLock() open var cacheSizeCacheSizeUnderlyingReturnValue: SqliteStoreBuilder! open var cacheSizeCacheSizeReturnValue: SqliteStoreBuilder! { - get { - if Thread.isMainThread { - return cacheSizeCacheSizeUnderlyingReturnValue - } else { - var returnValue: SqliteStoreBuilder? = nil - DispatchQueue.main.sync { - returnValue = cacheSizeCacheSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cacheSizeCacheSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - cacheSizeCacheSizeUnderlyingReturnValue = newValue - } - } - } + get { cacheSizeCacheSizeReturnValueLock.withLock { cacheSizeCacheSizeUnderlyingReturnValue } } + set { cacheSizeCacheSizeReturnValueLock.withLock { cacheSizeCacheSizeUnderlyingReturnValue = newValue } } } open var cacheSizeCacheSizeClosure: ((UInt32?) -> SqliteStoreBuilder)? open override func cacheSize(cacheSize: UInt32?) -> SqliteStoreBuilder { - cacheSizeCacheSizeCallsCount += 1 + cacheSizeCacheSizeCallsCountLock.withLock { cacheSizeCacheSizeUnderlyingCallsCount += 1 } cacheSizeCacheSizeReceivedCacheSize = cacheSize - DispatchQueue.main.async { - self.cacheSizeCacheSizeReceivedInvocations.append(cacheSize) - } + cacheSizeCacheSizeReceivedInvocationsLock.withLock { cacheSizeCacheSizeUnderlyingReceivedInvocations.append(cacheSize) } if let cacheSizeCacheSizeClosure = cacheSizeCacheSizeClosure { return cacheSizeCacheSizeClosure(cacheSize) } else { @@ -26518,68 +15543,40 @@ open class SqliteStoreBuilderSDKMock: MatrixRustSDK.SqliteStoreBuilder, @uncheck //MARK: - journalSizeLimit - open var journalSizeLimitLimitUnderlyingCallsCount = 0 + private let journalSizeLimitLimitCallsCountLock = NSLock() + private var journalSizeLimitLimitUnderlyingCallsCount = 0 open var journalSizeLimitLimitCallsCount: Int { - get { - if Thread.isMainThread { - return journalSizeLimitLimitUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = journalSizeLimitLimitUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - journalSizeLimitLimitUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - journalSizeLimitLimitUnderlyingCallsCount = newValue - } - } - } + get { journalSizeLimitLimitCallsCountLock.withLock { journalSizeLimitLimitUnderlyingCallsCount } } + set { journalSizeLimitLimitCallsCountLock.withLock { journalSizeLimitLimitUnderlyingCallsCount = newValue } } } open var journalSizeLimitLimitCalled: Bool { return journalSizeLimitLimitCallsCount > 0 } - open var journalSizeLimitLimitReceivedLimit: UInt32? - open var journalSizeLimitLimitReceivedInvocations: [UInt32?] = [] + private let journalSizeLimitLimitReceivedLimitLock = NSLock() + private var journalSizeLimitLimitUnderlyingReceivedLimit: UInt32? + open var journalSizeLimitLimitReceivedLimit: UInt32? { + get { journalSizeLimitLimitReceivedLimitLock.withLock { journalSizeLimitLimitUnderlyingReceivedLimit } } + set { journalSizeLimitLimitReceivedLimitLock.withLock { journalSizeLimitLimitUnderlyingReceivedLimit = newValue } } + } + private let journalSizeLimitLimitReceivedInvocationsLock = NSLock() + private var journalSizeLimitLimitUnderlyingReceivedInvocations: [UInt32?] = [] + open var journalSizeLimitLimitReceivedInvocations: [UInt32?] { + get { journalSizeLimitLimitReceivedInvocationsLock.withLock { journalSizeLimitLimitUnderlyingReceivedInvocations } } + set { journalSizeLimitLimitReceivedInvocationsLock.withLock { journalSizeLimitLimitUnderlyingReceivedInvocations = newValue } } + } + private let journalSizeLimitLimitReturnValueLock = NSLock() open var journalSizeLimitLimitUnderlyingReturnValue: SqliteStoreBuilder! open var journalSizeLimitLimitReturnValue: SqliteStoreBuilder! { - get { - if Thread.isMainThread { - return journalSizeLimitLimitUnderlyingReturnValue - } else { - var returnValue: SqliteStoreBuilder? = nil - DispatchQueue.main.sync { - returnValue = journalSizeLimitLimitUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - journalSizeLimitLimitUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - journalSizeLimitLimitUnderlyingReturnValue = newValue - } - } - } + get { journalSizeLimitLimitReturnValueLock.withLock { journalSizeLimitLimitUnderlyingReturnValue } } + set { journalSizeLimitLimitReturnValueLock.withLock { journalSizeLimitLimitUnderlyingReturnValue = newValue } } } open var journalSizeLimitLimitClosure: ((UInt32?) -> SqliteStoreBuilder)? open override func journalSizeLimit(limit: UInt32?) -> SqliteStoreBuilder { - journalSizeLimitLimitCallsCount += 1 + journalSizeLimitLimitCallsCountLock.withLock { journalSizeLimitLimitUnderlyingCallsCount += 1 } journalSizeLimitLimitReceivedLimit = limit - DispatchQueue.main.async { - self.journalSizeLimitLimitReceivedInvocations.append(limit) - } + journalSizeLimitLimitReceivedInvocationsLock.withLock { journalSizeLimitLimitUnderlyingReceivedInvocations.append(limit) } if let journalSizeLimitLimitClosure = journalSizeLimitLimitClosure { return journalSizeLimitLimitClosure(limit) } else { @@ -26589,68 +15586,40 @@ open class SqliteStoreBuilderSDKMock: MatrixRustSDK.SqliteStoreBuilder, @uncheck //MARK: - key - open var keyKeyUnderlyingCallsCount = 0 + private let keyKeyCallsCountLock = NSLock() + private var keyKeyUnderlyingCallsCount = 0 open var keyKeyCallsCount: Int { - get { - if Thread.isMainThread { - return keyKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = keyKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - keyKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - keyKeyUnderlyingCallsCount = newValue - } - } - } + get { keyKeyCallsCountLock.withLock { keyKeyUnderlyingCallsCount } } + set { keyKeyCallsCountLock.withLock { keyKeyUnderlyingCallsCount = newValue } } } open var keyKeyCalled: Bool { return keyKeyCallsCount > 0 } - open var keyKeyReceivedKey: Data? - open var keyKeyReceivedInvocations: [Data?] = [] + private let keyKeyReceivedKeyLock = NSLock() + private var keyKeyUnderlyingReceivedKey: Data? + open var keyKeyReceivedKey: Data? { + get { keyKeyReceivedKeyLock.withLock { keyKeyUnderlyingReceivedKey } } + set { keyKeyReceivedKeyLock.withLock { keyKeyUnderlyingReceivedKey = newValue } } + } + private let keyKeyReceivedInvocationsLock = NSLock() + private var keyKeyUnderlyingReceivedInvocations: [Data?] = [] + open var keyKeyReceivedInvocations: [Data?] { + get { keyKeyReceivedInvocationsLock.withLock { keyKeyUnderlyingReceivedInvocations } } + set { keyKeyReceivedInvocationsLock.withLock { keyKeyUnderlyingReceivedInvocations = newValue } } + } + private let keyKeyReturnValueLock = NSLock() open var keyKeyUnderlyingReturnValue: SqliteStoreBuilder! open var keyKeyReturnValue: SqliteStoreBuilder! { - get { - if Thread.isMainThread { - return keyKeyUnderlyingReturnValue - } else { - var returnValue: SqliteStoreBuilder? = nil - DispatchQueue.main.sync { - returnValue = keyKeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - keyKeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - keyKeyUnderlyingReturnValue = newValue - } - } - } + get { keyKeyReturnValueLock.withLock { keyKeyUnderlyingReturnValue } } + set { keyKeyReturnValueLock.withLock { keyKeyUnderlyingReturnValue = newValue } } } open var keyKeyClosure: ((Data?) -> SqliteStoreBuilder)? open override func key(key: Data?) -> SqliteStoreBuilder { - keyKeyCallsCount += 1 + keyKeyCallsCountLock.withLock { keyKeyUnderlyingCallsCount += 1 } keyKeyReceivedKey = key - DispatchQueue.main.async { - self.keyKeyReceivedInvocations.append(key) - } + keyKeyReceivedInvocationsLock.withLock { keyKeyUnderlyingReceivedInvocations.append(key) } if let keyKeyClosure = keyKeyClosure { return keyKeyClosure(key) } else { @@ -26660,68 +15629,40 @@ open class SqliteStoreBuilderSDKMock: MatrixRustSDK.SqliteStoreBuilder, @uncheck //MARK: - passphrase - open var passphrasePassphraseUnderlyingCallsCount = 0 + private let passphrasePassphraseCallsCountLock = NSLock() + private var passphrasePassphraseUnderlyingCallsCount = 0 open var passphrasePassphraseCallsCount: Int { - get { - if Thread.isMainThread { - return passphrasePassphraseUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = passphrasePassphraseUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - passphrasePassphraseUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - passphrasePassphraseUnderlyingCallsCount = newValue - } - } - } + get { passphrasePassphraseCallsCountLock.withLock { passphrasePassphraseUnderlyingCallsCount } } + set { passphrasePassphraseCallsCountLock.withLock { passphrasePassphraseUnderlyingCallsCount = newValue } } } open var passphrasePassphraseCalled: Bool { return passphrasePassphraseCallsCount > 0 } - open var passphrasePassphraseReceivedPassphrase: String? - open var passphrasePassphraseReceivedInvocations: [String?] = [] + private let passphrasePassphraseReceivedPassphraseLock = NSLock() + private var passphrasePassphraseUnderlyingReceivedPassphrase: String? + open var passphrasePassphraseReceivedPassphrase: String? { + get { passphrasePassphraseReceivedPassphraseLock.withLock { passphrasePassphraseUnderlyingReceivedPassphrase } } + set { passphrasePassphraseReceivedPassphraseLock.withLock { passphrasePassphraseUnderlyingReceivedPassphrase = newValue } } + } + private let passphrasePassphraseReceivedInvocationsLock = NSLock() + private var passphrasePassphraseUnderlyingReceivedInvocations: [String?] = [] + open var passphrasePassphraseReceivedInvocations: [String?] { + get { passphrasePassphraseReceivedInvocationsLock.withLock { passphrasePassphraseUnderlyingReceivedInvocations } } + set { passphrasePassphraseReceivedInvocationsLock.withLock { passphrasePassphraseUnderlyingReceivedInvocations = newValue } } + } + private let passphrasePassphraseReturnValueLock = NSLock() open var passphrasePassphraseUnderlyingReturnValue: SqliteStoreBuilder! open var passphrasePassphraseReturnValue: SqliteStoreBuilder! { - get { - if Thread.isMainThread { - return passphrasePassphraseUnderlyingReturnValue - } else { - var returnValue: SqliteStoreBuilder? = nil - DispatchQueue.main.sync { - returnValue = passphrasePassphraseUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - passphrasePassphraseUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - passphrasePassphraseUnderlyingReturnValue = newValue - } - } - } + get { passphrasePassphraseReturnValueLock.withLock { passphrasePassphraseUnderlyingReturnValue } } + set { passphrasePassphraseReturnValueLock.withLock { passphrasePassphraseUnderlyingReturnValue = newValue } } } open var passphrasePassphraseClosure: ((String?) -> SqliteStoreBuilder)? open override func passphrase(passphrase: String?) -> SqliteStoreBuilder { - passphrasePassphraseCallsCount += 1 + passphrasePassphraseCallsCountLock.withLock { passphrasePassphraseUnderlyingCallsCount += 1 } passphrasePassphraseReceivedPassphrase = passphrase - DispatchQueue.main.async { - self.passphrasePassphraseReceivedInvocations.append(passphrase) - } + passphrasePassphraseReceivedInvocationsLock.withLock { passphrasePassphraseUnderlyingReceivedInvocations.append(passphrase) } if let passphrasePassphraseClosure = passphrasePassphraseClosure { return passphrasePassphraseClosure(passphrase) } else { @@ -26731,68 +15672,40 @@ open class SqliteStoreBuilderSDKMock: MatrixRustSDK.SqliteStoreBuilder, @uncheck //MARK: - poolMaxSize - open var poolMaxSizePoolMaxSizeUnderlyingCallsCount = 0 + private let poolMaxSizePoolMaxSizeCallsCountLock = NSLock() + private var poolMaxSizePoolMaxSizeUnderlyingCallsCount = 0 open var poolMaxSizePoolMaxSizeCallsCount: Int { - get { - if Thread.isMainThread { - return poolMaxSizePoolMaxSizeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = poolMaxSizePoolMaxSizeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - poolMaxSizePoolMaxSizeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - poolMaxSizePoolMaxSizeUnderlyingCallsCount = newValue - } - } - } + get { poolMaxSizePoolMaxSizeCallsCountLock.withLock { poolMaxSizePoolMaxSizeUnderlyingCallsCount } } + set { poolMaxSizePoolMaxSizeCallsCountLock.withLock { poolMaxSizePoolMaxSizeUnderlyingCallsCount = newValue } } } open var poolMaxSizePoolMaxSizeCalled: Bool { return poolMaxSizePoolMaxSizeCallsCount > 0 } - open var poolMaxSizePoolMaxSizeReceivedPoolMaxSize: UInt32? - open var poolMaxSizePoolMaxSizeReceivedInvocations: [UInt32?] = [] + private let poolMaxSizePoolMaxSizeReceivedPoolMaxSizeLock = NSLock() + private var poolMaxSizePoolMaxSizeUnderlyingReceivedPoolMaxSize: UInt32? + open var poolMaxSizePoolMaxSizeReceivedPoolMaxSize: UInt32? { + get { poolMaxSizePoolMaxSizeReceivedPoolMaxSizeLock.withLock { poolMaxSizePoolMaxSizeUnderlyingReceivedPoolMaxSize } } + set { poolMaxSizePoolMaxSizeReceivedPoolMaxSizeLock.withLock { poolMaxSizePoolMaxSizeUnderlyingReceivedPoolMaxSize = newValue } } + } + private let poolMaxSizePoolMaxSizeReceivedInvocationsLock = NSLock() + private var poolMaxSizePoolMaxSizeUnderlyingReceivedInvocations: [UInt32?] = [] + open var poolMaxSizePoolMaxSizeReceivedInvocations: [UInt32?] { + get { poolMaxSizePoolMaxSizeReceivedInvocationsLock.withLock { poolMaxSizePoolMaxSizeUnderlyingReceivedInvocations } } + set { poolMaxSizePoolMaxSizeReceivedInvocationsLock.withLock { poolMaxSizePoolMaxSizeUnderlyingReceivedInvocations = newValue } } + } + private let poolMaxSizePoolMaxSizeReturnValueLock = NSLock() open var poolMaxSizePoolMaxSizeUnderlyingReturnValue: SqliteStoreBuilder! open var poolMaxSizePoolMaxSizeReturnValue: SqliteStoreBuilder! { - get { - if Thread.isMainThread { - return poolMaxSizePoolMaxSizeUnderlyingReturnValue - } else { - var returnValue: SqliteStoreBuilder? = nil - DispatchQueue.main.sync { - returnValue = poolMaxSizePoolMaxSizeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - poolMaxSizePoolMaxSizeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - poolMaxSizePoolMaxSizeUnderlyingReturnValue = newValue - } - } - } + get { poolMaxSizePoolMaxSizeReturnValueLock.withLock { poolMaxSizePoolMaxSizeUnderlyingReturnValue } } + set { poolMaxSizePoolMaxSizeReturnValueLock.withLock { poolMaxSizePoolMaxSizeUnderlyingReturnValue = newValue } } } open var poolMaxSizePoolMaxSizeClosure: ((UInt32?) -> SqliteStoreBuilder)? open override func poolMaxSize(poolMaxSize: UInt32?) -> SqliteStoreBuilder { - poolMaxSizePoolMaxSizeCallsCount += 1 + poolMaxSizePoolMaxSizeCallsCountLock.withLock { poolMaxSizePoolMaxSizeUnderlyingCallsCount += 1 } poolMaxSizePoolMaxSizeReceivedPoolMaxSize = poolMaxSize - DispatchQueue.main.async { - self.poolMaxSizePoolMaxSizeReceivedInvocations.append(poolMaxSize) - } + poolMaxSizePoolMaxSizeReceivedInvocationsLock.withLock { poolMaxSizePoolMaxSizeUnderlyingReceivedInvocations.append(poolMaxSize) } if let poolMaxSizePoolMaxSizeClosure = poolMaxSizePoolMaxSizeClosure { return poolMaxSizePoolMaxSizeClosure(poolMaxSize) } else { @@ -26802,62 +15715,26 @@ open class SqliteStoreBuilderSDKMock: MatrixRustSDK.SqliteStoreBuilder, @uncheck //MARK: - systemIsMemoryConstrained - open var systemIsMemoryConstrainedUnderlyingCallsCount = 0 + private let systemIsMemoryConstrainedCallsCountLock = NSLock() + private var systemIsMemoryConstrainedUnderlyingCallsCount = 0 open var systemIsMemoryConstrainedCallsCount: Int { - get { - if Thread.isMainThread { - return systemIsMemoryConstrainedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = systemIsMemoryConstrainedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - systemIsMemoryConstrainedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - systemIsMemoryConstrainedUnderlyingCallsCount = newValue - } - } - } + get { systemIsMemoryConstrainedCallsCountLock.withLock { systemIsMemoryConstrainedUnderlyingCallsCount } } + set { systemIsMemoryConstrainedCallsCountLock.withLock { systemIsMemoryConstrainedUnderlyingCallsCount = newValue } } } open var systemIsMemoryConstrainedCalled: Bool { return systemIsMemoryConstrainedCallsCount > 0 } + private let systemIsMemoryConstrainedReturnValueLock = NSLock() open var systemIsMemoryConstrainedUnderlyingReturnValue: SqliteStoreBuilder! open var systemIsMemoryConstrainedReturnValue: SqliteStoreBuilder! { - get { - if Thread.isMainThread { - return systemIsMemoryConstrainedUnderlyingReturnValue - } else { - var returnValue: SqliteStoreBuilder? = nil - DispatchQueue.main.sync { - returnValue = systemIsMemoryConstrainedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - systemIsMemoryConstrainedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - systemIsMemoryConstrainedUnderlyingReturnValue = newValue - } - } - } + get { systemIsMemoryConstrainedReturnValueLock.withLock { systemIsMemoryConstrainedUnderlyingReturnValue } } + set { systemIsMemoryConstrainedReturnValueLock.withLock { systemIsMemoryConstrainedUnderlyingReturnValue = newValue } } } open var systemIsMemoryConstrainedClosure: (() -> SqliteStoreBuilder)? open override func systemIsMemoryConstrained() -> SqliteStoreBuilder { - systemIsMemoryConstrainedCallsCount += 1 + systemIsMemoryConstrainedCallsCountLock.withLock { systemIsMemoryConstrainedUnderlyingCallsCount += 1 } if let systemIsMemoryConstrainedClosure = systemIsMemoryConstrainedClosure { return systemIsMemoryConstrainedClosure() } else { @@ -26883,107 +15760,61 @@ open class SsoHandlerSDKMock: MatrixRustSDK.SsoHandler, @unchecked Sendable { //MARK: - finish open var finishCallbackUrlThrowableError: Error? - open var finishCallbackUrlUnderlyingCallsCount = 0 + private let finishCallbackUrlCallsCountLock = NSLock() + private var finishCallbackUrlUnderlyingCallsCount = 0 open var finishCallbackUrlCallsCount: Int { - get { - if Thread.isMainThread { - return finishCallbackUrlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = finishCallbackUrlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - finishCallbackUrlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - finishCallbackUrlUnderlyingCallsCount = newValue - } - } - } + get { finishCallbackUrlCallsCountLock.withLock { finishCallbackUrlUnderlyingCallsCount } } + set { finishCallbackUrlCallsCountLock.withLock { finishCallbackUrlUnderlyingCallsCount = newValue } } } open var finishCallbackUrlCalled: Bool { return finishCallbackUrlCallsCount > 0 } - open var finishCallbackUrlReceivedCallbackUrl: String? - open var finishCallbackUrlReceivedInvocations: [String] = [] + private let finishCallbackUrlReceivedCallbackUrlLock = NSLock() + private var finishCallbackUrlUnderlyingReceivedCallbackUrl: String? + open var finishCallbackUrlReceivedCallbackUrl: String? { + get { finishCallbackUrlReceivedCallbackUrlLock.withLock { finishCallbackUrlUnderlyingReceivedCallbackUrl } } + set { finishCallbackUrlReceivedCallbackUrlLock.withLock { finishCallbackUrlUnderlyingReceivedCallbackUrl = newValue } } + } + private let finishCallbackUrlReceivedInvocationsLock = NSLock() + private var finishCallbackUrlUnderlyingReceivedInvocations: [String] = [] + open var finishCallbackUrlReceivedInvocations: [String] { + get { finishCallbackUrlReceivedInvocationsLock.withLock { finishCallbackUrlUnderlyingReceivedInvocations } } + set { finishCallbackUrlReceivedInvocationsLock.withLock { finishCallbackUrlUnderlyingReceivedInvocations = newValue } } + } open var finishCallbackUrlClosure: ((String) async throws -> Void)? open override func finish(callbackUrl: String) async throws { if let error = finishCallbackUrlThrowableError { throw error } - finishCallbackUrlCallsCount += 1 + finishCallbackUrlCallsCountLock.withLock { finishCallbackUrlUnderlyingCallsCount += 1 } finishCallbackUrlReceivedCallbackUrl = callbackUrl - DispatchQueue.main.async { - self.finishCallbackUrlReceivedInvocations.append(callbackUrl) - } + finishCallbackUrlReceivedInvocationsLock.withLock { finishCallbackUrlUnderlyingReceivedInvocations.append(callbackUrl) } try await finishCallbackUrlClosure?(callbackUrl) } //MARK: - url - open var urlUnderlyingCallsCount = 0 + private let urlCallsCountLock = NSLock() + private var urlUnderlyingCallsCount = 0 open var urlCallsCount: Int { - get { - if Thread.isMainThread { - return urlUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = urlUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - urlUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - urlUnderlyingCallsCount = newValue - } - } - } + get { urlCallsCountLock.withLock { urlUnderlyingCallsCount } } + set { urlCallsCountLock.withLock { urlUnderlyingCallsCount = newValue } } } open var urlCalled: Bool { return urlCallsCount > 0 } + private let urlReturnValueLock = NSLock() open var urlUnderlyingReturnValue: String! open var urlReturnValue: String! { - get { - if Thread.isMainThread { - return urlUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = urlUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - urlUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - urlUnderlyingReturnValue = newValue - } - } - } + get { urlReturnValueLock.withLock { urlUnderlyingReturnValue } } + set { urlReturnValueLock.withLock { urlUnderlyingReturnValue = newValue } } } open var urlClosure: (() -> String)? open override func url() -> String { - urlCallsCount += 1 + urlCallsCountLock.withLock { urlUnderlyingCallsCount += 1 } if let urlClosure = urlClosure { return urlClosure() } else { @@ -27008,29 +15839,11 @@ open class SyncServiceSDKMock: MatrixRustSDK.SyncService, @unchecked Sendable { //MARK: - expireSessions - open var expireSessionsUnderlyingCallsCount = 0 + private let expireSessionsCallsCountLock = NSLock() + private var expireSessionsUnderlyingCallsCount = 0 open var expireSessionsCallsCount: Int { - get { - if Thread.isMainThread { - return expireSessionsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = expireSessionsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - expireSessionsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - expireSessionsUnderlyingCallsCount = newValue - } - } - } + get { expireSessionsCallsCountLock.withLock { expireSessionsUnderlyingCallsCount } } + set { expireSessionsCallsCountLock.withLock { expireSessionsUnderlyingCallsCount = newValue } } } open var expireSessionsCalled: Bool { return expireSessionsCallsCount > 0 @@ -27038,68 +15851,32 @@ open class SyncServiceSDKMock: MatrixRustSDK.SyncService, @unchecked Sendable { open var expireSessionsClosure: (() async -> Void)? open override func expireSessions() async { - expireSessionsCallsCount += 1 + expireSessionsCallsCountLock.withLock { expireSessionsUnderlyingCallsCount += 1 } await expireSessionsClosure?() } //MARK: - roomListService - open var roomListServiceUnderlyingCallsCount = 0 + private let roomListServiceCallsCountLock = NSLock() + private var roomListServiceUnderlyingCallsCount = 0 open var roomListServiceCallsCount: Int { - get { - if Thread.isMainThread { - return roomListServiceUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = roomListServiceUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomListServiceUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - roomListServiceUnderlyingCallsCount = newValue - } - } - } + get { roomListServiceCallsCountLock.withLock { roomListServiceUnderlyingCallsCount } } + set { roomListServiceCallsCountLock.withLock { roomListServiceUnderlyingCallsCount = newValue } } } open var roomListServiceCalled: Bool { return roomListServiceCallsCount > 0 } + private let roomListServiceReturnValueLock = NSLock() open var roomListServiceUnderlyingReturnValue: RoomListService! open var roomListServiceReturnValue: RoomListService! { - get { - if Thread.isMainThread { - return roomListServiceUnderlyingReturnValue - } else { - var returnValue: RoomListService? = nil - DispatchQueue.main.sync { - returnValue = roomListServiceUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - roomListServiceUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - roomListServiceUnderlyingReturnValue = newValue - } - } - } + get { roomListServiceReturnValueLock.withLock { roomListServiceUnderlyingReturnValue } } + set { roomListServiceReturnValueLock.withLock { roomListServiceUnderlyingReturnValue = newValue } } } open var roomListServiceClosure: (() -> RoomListService)? open override func roomListService() -> RoomListService { - roomListServiceCallsCount += 1 + roomListServiceCallsCountLock.withLock { roomListServiceUnderlyingCallsCount += 1 } if let roomListServiceClosure = roomListServiceClosure { return roomListServiceClosure() } else { @@ -27109,29 +15886,11 @@ open class SyncServiceSDKMock: MatrixRustSDK.SyncService, @unchecked Sendable { //MARK: - start - open var startUnderlyingCallsCount = 0 + private let startCallsCountLock = NSLock() + private var startUnderlyingCallsCount = 0 open var startCallsCount: Int { - get { - if Thread.isMainThread { - return startUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = startUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - startUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - startUnderlyingCallsCount = newValue - } - } - } + get { startCallsCountLock.withLock { startUnderlyingCallsCount } } + set { startCallsCountLock.withLock { startUnderlyingCallsCount = newValue } } } open var startCalled: Bool { return startCallsCount > 0 @@ -27139,74 +15898,46 @@ open class SyncServiceSDKMock: MatrixRustSDK.SyncService, @unchecked Sendable { open var startClosure: (() async -> Void)? open override func start() async { - startCallsCount += 1 + startCallsCountLock.withLock { startUnderlyingCallsCount += 1 } await startClosure?() } //MARK: - state - open var stateListenerUnderlyingCallsCount = 0 + private let stateListenerCallsCountLock = NSLock() + private var stateListenerUnderlyingCallsCount = 0 open var stateListenerCallsCount: Int { - get { - if Thread.isMainThread { - return stateListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stateListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stateListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stateListenerUnderlyingCallsCount = newValue - } - } - } + get { stateListenerCallsCountLock.withLock { stateListenerUnderlyingCallsCount } } + set { stateListenerCallsCountLock.withLock { stateListenerUnderlyingCallsCount = newValue } } } open var stateListenerCalled: Bool { return stateListenerCallsCount > 0 } - open var stateListenerReceivedListener: SyncServiceStateObserver? - open var stateListenerReceivedInvocations: [SyncServiceStateObserver] = [] + private let stateListenerReceivedListenerLock = NSLock() + private var stateListenerUnderlyingReceivedListener: SyncServiceStateObserver? + open var stateListenerReceivedListener: SyncServiceStateObserver? { + get { stateListenerReceivedListenerLock.withLock { stateListenerUnderlyingReceivedListener } } + set { stateListenerReceivedListenerLock.withLock { stateListenerUnderlyingReceivedListener = newValue } } + } + private let stateListenerReceivedInvocationsLock = NSLock() + private var stateListenerUnderlyingReceivedInvocations: [SyncServiceStateObserver] = [] + open var stateListenerReceivedInvocations: [SyncServiceStateObserver] { + get { stateListenerReceivedInvocationsLock.withLock { stateListenerUnderlyingReceivedInvocations } } + set { stateListenerReceivedInvocationsLock.withLock { stateListenerUnderlyingReceivedInvocations = newValue } } + } + private let stateListenerReturnValueLock = NSLock() open var stateListenerUnderlyingReturnValue: TaskHandle! open var stateListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return stateListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = stateListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stateListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - stateListenerUnderlyingReturnValue = newValue - } - } - } + get { stateListenerReturnValueLock.withLock { stateListenerUnderlyingReturnValue } } + set { stateListenerReturnValueLock.withLock { stateListenerUnderlyingReturnValue = newValue } } } open var stateListenerClosure: ((SyncServiceStateObserver) -> TaskHandle)? open override func state(listener: SyncServiceStateObserver) -> TaskHandle { - stateListenerCallsCount += 1 + stateListenerCallsCountLock.withLock { stateListenerUnderlyingCallsCount += 1 } stateListenerReceivedListener = listener - DispatchQueue.main.async { - self.stateListenerReceivedInvocations.append(listener) - } + stateListenerReceivedInvocationsLock.withLock { stateListenerUnderlyingReceivedInvocations.append(listener) } if let stateListenerClosure = stateListenerClosure { return stateListenerClosure(listener) } else { @@ -27216,29 +15947,11 @@ open class SyncServiceSDKMock: MatrixRustSDK.SyncService, @unchecked Sendable { //MARK: - stop - open var stopUnderlyingCallsCount = 0 + private let stopCallsCountLock = NSLock() + private var stopUnderlyingCallsCount = 0 open var stopCallsCount: Int { - get { - if Thread.isMainThread { - return stopUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = stopUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - stopUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - stopUnderlyingCallsCount = newValue - } - } - } + get { stopCallsCountLock.withLock { stopUnderlyingCallsCount } } + set { stopCallsCountLock.withLock { stopUnderlyingCallsCount = newValue } } } open var stopCalled: Bool { return stopCallsCount > 0 @@ -27246,7 +15959,7 @@ open class SyncServiceSDKMock: MatrixRustSDK.SyncService, @unchecked Sendable { open var stopClosure: (() async -> Void)? open override func stop() async { - stopCallsCount += 1 + stopCallsCountLock.withLock { stopUnderlyingCallsCount += 1 } await stopClosure?() } } @@ -27268,57 +15981,21 @@ open class SyncServiceBuilderSDKMock: MatrixRustSDK.SyncServiceBuilder, @uncheck //MARK: - finish open var finishThrowableError: Error? - open var finishUnderlyingCallsCount = 0 + private let finishCallsCountLock = NSLock() + private var finishUnderlyingCallsCount = 0 open var finishCallsCount: Int { - get { - if Thread.isMainThread { - return finishUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = finishUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - finishUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - finishUnderlyingCallsCount = newValue - } - } - } + get { finishCallsCountLock.withLock { finishUnderlyingCallsCount } } + set { finishCallsCountLock.withLock { finishUnderlyingCallsCount = newValue } } } open var finishCalled: Bool { return finishCallsCount > 0 } + private let finishReturnValueLock = NSLock() open var finishUnderlyingReturnValue: SyncService! open var finishReturnValue: SyncService! { - get { - if Thread.isMainThread { - return finishUnderlyingReturnValue - } else { - var returnValue: SyncService? = nil - DispatchQueue.main.sync { - returnValue = finishUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - finishUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - finishUnderlyingReturnValue = newValue - } - } - } + get { finishReturnValueLock.withLock { finishUnderlyingReturnValue } } + set { finishReturnValueLock.withLock { finishUnderlyingReturnValue = newValue } } } open var finishClosure: (() async throws -> SyncService)? @@ -27326,7 +16003,7 @@ open class SyncServiceBuilderSDKMock: MatrixRustSDK.SyncServiceBuilder, @uncheck if let error = finishThrowableError { throw error } - finishCallsCount += 1 + finishCallsCountLock.withLock { finishUnderlyingCallsCount += 1 } if let finishClosure = finishClosure { return try await finishClosure() } else { @@ -27336,62 +16013,26 @@ open class SyncServiceBuilderSDKMock: MatrixRustSDK.SyncServiceBuilder, @uncheck //MARK: - withOfflineMode - open var withOfflineModeUnderlyingCallsCount = 0 + private let withOfflineModeCallsCountLock = NSLock() + private var withOfflineModeUnderlyingCallsCount = 0 open var withOfflineModeCallsCount: Int { - get { - if Thread.isMainThread { - return withOfflineModeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withOfflineModeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withOfflineModeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withOfflineModeUnderlyingCallsCount = newValue - } - } - } + get { withOfflineModeCallsCountLock.withLock { withOfflineModeUnderlyingCallsCount } } + set { withOfflineModeCallsCountLock.withLock { withOfflineModeUnderlyingCallsCount = newValue } } } open var withOfflineModeCalled: Bool { return withOfflineModeCallsCount > 0 } + private let withOfflineModeReturnValueLock = NSLock() open var withOfflineModeUnderlyingReturnValue: SyncServiceBuilder! open var withOfflineModeReturnValue: SyncServiceBuilder! { - get { - if Thread.isMainThread { - return withOfflineModeUnderlyingReturnValue - } else { - var returnValue: SyncServiceBuilder? = nil - DispatchQueue.main.sync { - returnValue = withOfflineModeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withOfflineModeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - withOfflineModeUnderlyingReturnValue = newValue - } - } - } + get { withOfflineModeReturnValueLock.withLock { withOfflineModeUnderlyingReturnValue } } + set { withOfflineModeReturnValueLock.withLock { withOfflineModeUnderlyingReturnValue = newValue } } } open var withOfflineModeClosure: (() -> SyncServiceBuilder)? open override func withOfflineMode() -> SyncServiceBuilder { - withOfflineModeCallsCount += 1 + withOfflineModeCallsCountLock.withLock { withOfflineModeUnderlyingCallsCount += 1 } if let withOfflineModeClosure = withOfflineModeClosure { return withOfflineModeClosure() } else { @@ -27401,68 +16042,40 @@ open class SyncServiceBuilderSDKMock: MatrixRustSDK.SyncServiceBuilder, @uncheck //MARK: - withRoomListConnectionId - open var withRoomListConnectionIdConnectionIdUnderlyingCallsCount = 0 + private let withRoomListConnectionIdConnectionIdCallsCountLock = NSLock() + private var withRoomListConnectionIdConnectionIdUnderlyingCallsCount = 0 open var withRoomListConnectionIdConnectionIdCallsCount: Int { - get { - if Thread.isMainThread { - return withRoomListConnectionIdConnectionIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withRoomListConnectionIdConnectionIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withRoomListConnectionIdConnectionIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withRoomListConnectionIdConnectionIdUnderlyingCallsCount = newValue - } - } - } + get { withRoomListConnectionIdConnectionIdCallsCountLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingCallsCount } } + set { withRoomListConnectionIdConnectionIdCallsCountLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingCallsCount = newValue } } } open var withRoomListConnectionIdConnectionIdCalled: Bool { return withRoomListConnectionIdConnectionIdCallsCount > 0 } - open var withRoomListConnectionIdConnectionIdReceivedConnectionId: String? - open var withRoomListConnectionIdConnectionIdReceivedInvocations: [String] = [] + private let withRoomListConnectionIdConnectionIdReceivedConnectionIdLock = NSLock() + private var withRoomListConnectionIdConnectionIdUnderlyingReceivedConnectionId: String? + open var withRoomListConnectionIdConnectionIdReceivedConnectionId: String? { + get { withRoomListConnectionIdConnectionIdReceivedConnectionIdLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingReceivedConnectionId } } + set { withRoomListConnectionIdConnectionIdReceivedConnectionIdLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingReceivedConnectionId = newValue } } + } + private let withRoomListConnectionIdConnectionIdReceivedInvocationsLock = NSLock() + private var withRoomListConnectionIdConnectionIdUnderlyingReceivedInvocations: [String] = [] + open var withRoomListConnectionIdConnectionIdReceivedInvocations: [String] { + get { withRoomListConnectionIdConnectionIdReceivedInvocationsLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingReceivedInvocations } } + set { withRoomListConnectionIdConnectionIdReceivedInvocationsLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingReceivedInvocations = newValue } } + } + private let withRoomListConnectionIdConnectionIdReturnValueLock = NSLock() open var withRoomListConnectionIdConnectionIdUnderlyingReturnValue: SyncServiceBuilder! open var withRoomListConnectionIdConnectionIdReturnValue: SyncServiceBuilder! { - get { - if Thread.isMainThread { - return withRoomListConnectionIdConnectionIdUnderlyingReturnValue - } else { - var returnValue: SyncServiceBuilder? = nil - DispatchQueue.main.sync { - returnValue = withRoomListConnectionIdConnectionIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withRoomListConnectionIdConnectionIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - withRoomListConnectionIdConnectionIdUnderlyingReturnValue = newValue - } - } - } + get { withRoomListConnectionIdConnectionIdReturnValueLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingReturnValue } } + set { withRoomListConnectionIdConnectionIdReturnValueLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingReturnValue = newValue } } } open var withRoomListConnectionIdConnectionIdClosure: ((String) -> SyncServiceBuilder)? open override func withRoomListConnectionId(connectionId: String) -> SyncServiceBuilder { - withRoomListConnectionIdConnectionIdCallsCount += 1 + withRoomListConnectionIdConnectionIdCallsCountLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingCallsCount += 1 } withRoomListConnectionIdConnectionIdReceivedConnectionId = connectionId - DispatchQueue.main.async { - self.withRoomListConnectionIdConnectionIdReceivedInvocations.append(connectionId) - } + withRoomListConnectionIdConnectionIdReceivedInvocationsLock.withLock { withRoomListConnectionIdConnectionIdUnderlyingReceivedInvocations.append(connectionId) } if let withRoomListConnectionIdConnectionIdClosure = withRoomListConnectionIdConnectionIdClosure { return withRoomListConnectionIdConnectionIdClosure(connectionId) } else { @@ -27472,68 +16085,40 @@ open class SyncServiceBuilderSDKMock: MatrixRustSDK.SyncServiceBuilder, @uncheck //MARK: - withRoomListTimelineLimit - open var withRoomListTimelineLimitLimitUnderlyingCallsCount = 0 + private let withRoomListTimelineLimitLimitCallsCountLock = NSLock() + private var withRoomListTimelineLimitLimitUnderlyingCallsCount = 0 open var withRoomListTimelineLimitLimitCallsCount: Int { - get { - if Thread.isMainThread { - return withRoomListTimelineLimitLimitUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withRoomListTimelineLimitLimitUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withRoomListTimelineLimitLimitUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withRoomListTimelineLimitLimitUnderlyingCallsCount = newValue - } - } - } + get { withRoomListTimelineLimitLimitCallsCountLock.withLock { withRoomListTimelineLimitLimitUnderlyingCallsCount } } + set { withRoomListTimelineLimitLimitCallsCountLock.withLock { withRoomListTimelineLimitLimitUnderlyingCallsCount = newValue } } } open var withRoomListTimelineLimitLimitCalled: Bool { return withRoomListTimelineLimitLimitCallsCount > 0 } - open var withRoomListTimelineLimitLimitReceivedLimit: UInt32? - open var withRoomListTimelineLimitLimitReceivedInvocations: [UInt32] = [] + private let withRoomListTimelineLimitLimitReceivedLimitLock = NSLock() + private var withRoomListTimelineLimitLimitUnderlyingReceivedLimit: UInt32? + open var withRoomListTimelineLimitLimitReceivedLimit: UInt32? { + get { withRoomListTimelineLimitLimitReceivedLimitLock.withLock { withRoomListTimelineLimitLimitUnderlyingReceivedLimit } } + set { withRoomListTimelineLimitLimitReceivedLimitLock.withLock { withRoomListTimelineLimitLimitUnderlyingReceivedLimit = newValue } } + } + private let withRoomListTimelineLimitLimitReceivedInvocationsLock = NSLock() + private var withRoomListTimelineLimitLimitUnderlyingReceivedInvocations: [UInt32] = [] + open var withRoomListTimelineLimitLimitReceivedInvocations: [UInt32] { + get { withRoomListTimelineLimitLimitReceivedInvocationsLock.withLock { withRoomListTimelineLimitLimitUnderlyingReceivedInvocations } } + set { withRoomListTimelineLimitLimitReceivedInvocationsLock.withLock { withRoomListTimelineLimitLimitUnderlyingReceivedInvocations = newValue } } + } + private let withRoomListTimelineLimitLimitReturnValueLock = NSLock() open var withRoomListTimelineLimitLimitUnderlyingReturnValue: SyncServiceBuilder! open var withRoomListTimelineLimitLimitReturnValue: SyncServiceBuilder! { - get { - if Thread.isMainThread { - return withRoomListTimelineLimitLimitUnderlyingReturnValue - } else { - var returnValue: SyncServiceBuilder? = nil - DispatchQueue.main.sync { - returnValue = withRoomListTimelineLimitLimitUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withRoomListTimelineLimitLimitUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - withRoomListTimelineLimitLimitUnderlyingReturnValue = newValue - } - } - } + get { withRoomListTimelineLimitLimitReturnValueLock.withLock { withRoomListTimelineLimitLimitUnderlyingReturnValue } } + set { withRoomListTimelineLimitLimitReturnValueLock.withLock { withRoomListTimelineLimitLimitUnderlyingReturnValue = newValue } } } open var withRoomListTimelineLimitLimitClosure: ((UInt32) -> SyncServiceBuilder)? open override func withRoomListTimelineLimit(limit: UInt32) -> SyncServiceBuilder { - withRoomListTimelineLimitLimitCallsCount += 1 + withRoomListTimelineLimitLimitCallsCountLock.withLock { withRoomListTimelineLimitLimitUnderlyingCallsCount += 1 } withRoomListTimelineLimitLimitReceivedLimit = limit - DispatchQueue.main.async { - self.withRoomListTimelineLimitLimitReceivedInvocations.append(limit) - } + withRoomListTimelineLimitLimitReceivedInvocationsLock.withLock { withRoomListTimelineLimitLimitUnderlyingReceivedInvocations.append(limit) } if let withRoomListTimelineLimitLimitClosure = withRoomListTimelineLimitLimitClosure { return withRoomListTimelineLimitLimitClosure(limit) } else { @@ -27543,68 +16128,40 @@ open class SyncServiceBuilderSDKMock: MatrixRustSDK.SyncServiceBuilder, @uncheck //MARK: - withSharePos - open var withSharePosEnableUnderlyingCallsCount = 0 + private let withSharePosEnableCallsCountLock = NSLock() + private var withSharePosEnableUnderlyingCallsCount = 0 open var withSharePosEnableCallsCount: Int { - get { - if Thread.isMainThread { - return withSharePosEnableUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withSharePosEnableUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withSharePosEnableUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withSharePosEnableUnderlyingCallsCount = newValue - } - } - } + get { withSharePosEnableCallsCountLock.withLock { withSharePosEnableUnderlyingCallsCount } } + set { withSharePosEnableCallsCountLock.withLock { withSharePosEnableUnderlyingCallsCount = newValue } } } open var withSharePosEnableCalled: Bool { return withSharePosEnableCallsCount > 0 } - open var withSharePosEnableReceivedEnable: Bool? - open var withSharePosEnableReceivedInvocations: [Bool] = [] + private let withSharePosEnableReceivedEnableLock = NSLock() + private var withSharePosEnableUnderlyingReceivedEnable: Bool? + open var withSharePosEnableReceivedEnable: Bool? { + get { withSharePosEnableReceivedEnableLock.withLock { withSharePosEnableUnderlyingReceivedEnable } } + set { withSharePosEnableReceivedEnableLock.withLock { withSharePosEnableUnderlyingReceivedEnable = newValue } } + } + private let withSharePosEnableReceivedInvocationsLock = NSLock() + private var withSharePosEnableUnderlyingReceivedInvocations: [Bool] = [] + open var withSharePosEnableReceivedInvocations: [Bool] { + get { withSharePosEnableReceivedInvocationsLock.withLock { withSharePosEnableUnderlyingReceivedInvocations } } + set { withSharePosEnableReceivedInvocationsLock.withLock { withSharePosEnableUnderlyingReceivedInvocations = newValue } } + } + private let withSharePosEnableReturnValueLock = NSLock() open var withSharePosEnableUnderlyingReturnValue: SyncServiceBuilder! open var withSharePosEnableReturnValue: SyncServiceBuilder! { - get { - if Thread.isMainThread { - return withSharePosEnableUnderlyingReturnValue - } else { - var returnValue: SyncServiceBuilder? = nil - DispatchQueue.main.sync { - returnValue = withSharePosEnableUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withSharePosEnableUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - withSharePosEnableUnderlyingReturnValue = newValue - } - } - } + get { withSharePosEnableReturnValueLock.withLock { withSharePosEnableUnderlyingReturnValue } } + set { withSharePosEnableReturnValueLock.withLock { withSharePosEnableUnderlyingReturnValue = newValue } } } open var withSharePosEnableClosure: ((Bool) -> SyncServiceBuilder)? open override func withSharePos(enable: Bool) -> SyncServiceBuilder { - withSharePosEnableCallsCount += 1 + withSharePosEnableCallsCountLock.withLock { withSharePosEnableUnderlyingCallsCount += 1 } withSharePosEnableReceivedEnable = enable - DispatchQueue.main.async { - self.withSharePosEnableReceivedInvocations.append(enable) - } + withSharePosEnableReceivedInvocationsLock.withLock { withSharePosEnableUnderlyingReceivedInvocations.append(enable) } if let withSharePosEnableClosure = withSharePosEnableClosure { return withSharePosEnableClosure(enable) } else { @@ -27629,29 +16186,11 @@ open class TaskHandleSDKMock: MatrixRustSDK.TaskHandle, @unchecked Sendable { //MARK: - cancel - open var cancelUnderlyingCallsCount = 0 + private let cancelCallsCountLock = NSLock() + private var cancelUnderlyingCallsCount = 0 open var cancelCallsCount: Int { - get { - if Thread.isMainThread { - return cancelUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = cancelUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - cancelUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - cancelUnderlyingCallsCount = newValue - } - } - } + get { cancelCallsCountLock.withLock { cancelUnderlyingCallsCount } } + set { cancelCallsCountLock.withLock { cancelUnderlyingCallsCount = newValue } } } open var cancelCalled: Bool { return cancelCallsCount > 0 @@ -27659,68 +16198,32 @@ open class TaskHandleSDKMock: MatrixRustSDK.TaskHandle, @unchecked Sendable { open var cancelClosure: (() -> Void)? open override func cancel() { - cancelCallsCount += 1 + cancelCallsCountLock.withLock { cancelUnderlyingCallsCount += 1 } cancelClosure?() } //MARK: - isFinished - open var isFinishedUnderlyingCallsCount = 0 + private let isFinishedCallsCountLock = NSLock() + private var isFinishedUnderlyingCallsCount = 0 open var isFinishedCallsCount: Int { - get { - if Thread.isMainThread { - return isFinishedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isFinishedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isFinishedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isFinishedUnderlyingCallsCount = newValue - } - } - } + get { isFinishedCallsCountLock.withLock { isFinishedUnderlyingCallsCount } } + set { isFinishedCallsCountLock.withLock { isFinishedUnderlyingCallsCount = newValue } } } open var isFinishedCalled: Bool { return isFinishedCallsCount > 0 } + private let isFinishedReturnValueLock = NSLock() open var isFinishedUnderlyingReturnValue: Bool! open var isFinishedReturnValue: Bool! { - get { - if Thread.isMainThread { - return isFinishedUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isFinishedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isFinishedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isFinishedUnderlyingReturnValue = newValue - } - } - } + get { isFinishedReturnValueLock.withLock { isFinishedUnderlyingReturnValue } } + set { isFinishedReturnValueLock.withLock { isFinishedUnderlyingReturnValue = newValue } } } open var isFinishedClosure: (() -> Bool)? open override func isFinished() -> Bool { - isFinishedCallsCount += 1 + isFinishedCallsCountLock.withLock { isFinishedUnderlyingCallsCount += 1 } if let isFinishedClosure = isFinishedClosure { return isFinishedClosure() } else { @@ -27745,62 +16248,26 @@ open class ThreadListServiceSDKMock: MatrixRustSDK.ThreadListService, @unchecked //MARK: - items - open var itemsUnderlyingCallsCount = 0 + private let itemsCallsCountLock = NSLock() + private var itemsUnderlyingCallsCount = 0 open var itemsCallsCount: Int { - get { - if Thread.isMainThread { - return itemsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = itemsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - itemsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - itemsUnderlyingCallsCount = newValue - } - } - } + get { itemsCallsCountLock.withLock { itemsUnderlyingCallsCount } } + set { itemsCallsCountLock.withLock { itemsUnderlyingCallsCount = newValue } } } open var itemsCalled: Bool { return itemsCallsCount > 0 } + private let itemsReturnValueLock = NSLock() open var itemsUnderlyingReturnValue: [ThreadListItem]! open var itemsReturnValue: [ThreadListItem]! { - get { - if Thread.isMainThread { - return itemsUnderlyingReturnValue - } else { - var returnValue: [ThreadListItem]? = nil - DispatchQueue.main.sync { - returnValue = itemsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - itemsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - itemsUnderlyingReturnValue = newValue - } - } - } + get { itemsReturnValueLock.withLock { itemsUnderlyingReturnValue } } + set { itemsReturnValueLock.withLock { itemsUnderlyingReturnValue = newValue } } } open var itemsClosure: (() -> [ThreadListItem])? open override func items() -> [ThreadListItem] { - itemsCallsCount += 1 + itemsCallsCountLock.withLock { itemsUnderlyingCallsCount += 1 } if let itemsClosure = itemsClosure { return itemsClosure() } else { @@ -27811,29 +16278,11 @@ open class ThreadListServiceSDKMock: MatrixRustSDK.ThreadListService, @unchecked //MARK: - paginate open var paginateThrowableError: Error? - open var paginateUnderlyingCallsCount = 0 + private let paginateCallsCountLock = NSLock() + private var paginateUnderlyingCallsCount = 0 open var paginateCallsCount: Int { - get { - if Thread.isMainThread { - return paginateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateUnderlyingCallsCount = newValue - } - } - } + get { paginateCallsCountLock.withLock { paginateUnderlyingCallsCount } } + set { paginateCallsCountLock.withLock { paginateUnderlyingCallsCount = newValue } } } open var paginateCalled: Bool { return paginateCallsCount > 0 @@ -27844,68 +16293,32 @@ open class ThreadListServiceSDKMock: MatrixRustSDK.ThreadListService, @unchecked if let error = paginateThrowableError { throw error } - paginateCallsCount += 1 + paginateCallsCountLock.withLock { paginateUnderlyingCallsCount += 1 } try await paginateClosure?() } //MARK: - paginationState - open var paginationStateUnderlyingCallsCount = 0 + private let paginationStateCallsCountLock = NSLock() + private var paginationStateUnderlyingCallsCount = 0 open var paginationStateCallsCount: Int { - get { - if Thread.isMainThread { - return paginationStateUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginationStateUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginationStateUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginationStateUnderlyingCallsCount = newValue - } - } - } + get { paginationStateCallsCountLock.withLock { paginationStateUnderlyingCallsCount } } + set { paginationStateCallsCountLock.withLock { paginationStateUnderlyingCallsCount = newValue } } } open var paginationStateCalled: Bool { return paginationStateCallsCount > 0 } + private let paginationStateReturnValueLock = NSLock() open var paginationStateUnderlyingReturnValue: ThreadListPaginationState! open var paginationStateReturnValue: ThreadListPaginationState! { - get { - if Thread.isMainThread { - return paginationStateUnderlyingReturnValue - } else { - var returnValue: ThreadListPaginationState? = nil - DispatchQueue.main.sync { - returnValue = paginationStateUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginationStateUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginationStateUnderlyingReturnValue = newValue - } - } - } + get { paginationStateReturnValueLock.withLock { paginationStateUnderlyingReturnValue } } + set { paginationStateReturnValueLock.withLock { paginationStateUnderlyingReturnValue = newValue } } } open var paginationStateClosure: (() -> ThreadListPaginationState)? open override func paginationState() -> ThreadListPaginationState { - paginationStateCallsCount += 1 + paginationStateCallsCountLock.withLock { paginationStateUnderlyingCallsCount += 1 } if let paginationStateClosure = paginationStateClosure { return paginationStateClosure() } else { @@ -27915,29 +16328,11 @@ open class ThreadListServiceSDKMock: MatrixRustSDK.ThreadListService, @unchecked //MARK: - reset - open var resetUnderlyingCallsCount = 0 + private let resetCallsCountLock = NSLock() + private var resetUnderlyingCallsCount = 0 open var resetCallsCount: Int { - get { - if Thread.isMainThread { - return resetUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = resetUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - resetUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - resetUnderlyingCallsCount = newValue - } - } - } + get { resetCallsCountLock.withLock { resetUnderlyingCallsCount } } + set { resetCallsCountLock.withLock { resetUnderlyingCallsCount = newValue } } } open var resetCalled: Bool { return resetCallsCount > 0 @@ -27945,74 +16340,46 @@ open class ThreadListServiceSDKMock: MatrixRustSDK.ThreadListService, @unchecked open var resetClosure: (() async -> Void)? open override func reset() async { - resetCallsCount += 1 + resetCallsCountLock.withLock { resetUnderlyingCallsCount += 1 } await resetClosure?() } //MARK: - subscribeToItemsUpdates - open var subscribeToItemsUpdatesListenerUnderlyingCallsCount = 0 + private let subscribeToItemsUpdatesListenerCallsCountLock = NSLock() + private var subscribeToItemsUpdatesListenerUnderlyingCallsCount = 0 open var subscribeToItemsUpdatesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToItemsUpdatesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToItemsUpdatesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToItemsUpdatesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToItemsUpdatesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToItemsUpdatesListenerCallsCountLock.withLock { subscribeToItemsUpdatesListenerUnderlyingCallsCount } } + set { subscribeToItemsUpdatesListenerCallsCountLock.withLock { subscribeToItemsUpdatesListenerUnderlyingCallsCount = newValue } } } open var subscribeToItemsUpdatesListenerCalled: Bool { return subscribeToItemsUpdatesListenerCallsCount > 0 } - open var subscribeToItemsUpdatesListenerReceivedListener: ThreadListEntriesListener? - open var subscribeToItemsUpdatesListenerReceivedInvocations: [ThreadListEntriesListener] = [] + private let subscribeToItemsUpdatesListenerReceivedListenerLock = NSLock() + private var subscribeToItemsUpdatesListenerUnderlyingReceivedListener: ThreadListEntriesListener? + open var subscribeToItemsUpdatesListenerReceivedListener: ThreadListEntriesListener? { + get { subscribeToItemsUpdatesListenerReceivedListenerLock.withLock { subscribeToItemsUpdatesListenerUnderlyingReceivedListener } } + set { subscribeToItemsUpdatesListenerReceivedListenerLock.withLock { subscribeToItemsUpdatesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToItemsUpdatesListenerReceivedInvocationsLock = NSLock() + private var subscribeToItemsUpdatesListenerUnderlyingReceivedInvocations: [ThreadListEntriesListener] = [] + open var subscribeToItemsUpdatesListenerReceivedInvocations: [ThreadListEntriesListener] { + get { subscribeToItemsUpdatesListenerReceivedInvocationsLock.withLock { subscribeToItemsUpdatesListenerUnderlyingReceivedInvocations } } + set { subscribeToItemsUpdatesListenerReceivedInvocationsLock.withLock { subscribeToItemsUpdatesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToItemsUpdatesListenerReturnValueLock = NSLock() open var subscribeToItemsUpdatesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToItemsUpdatesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToItemsUpdatesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToItemsUpdatesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToItemsUpdatesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToItemsUpdatesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToItemsUpdatesListenerReturnValueLock.withLock { subscribeToItemsUpdatesListenerUnderlyingReturnValue } } + set { subscribeToItemsUpdatesListenerReturnValueLock.withLock { subscribeToItemsUpdatesListenerUnderlyingReturnValue = newValue } } } open var subscribeToItemsUpdatesListenerClosure: ((ThreadListEntriesListener) -> TaskHandle)? open override func subscribeToItemsUpdates(listener: ThreadListEntriesListener) -> TaskHandle { - subscribeToItemsUpdatesListenerCallsCount += 1 + subscribeToItemsUpdatesListenerCallsCountLock.withLock { subscribeToItemsUpdatesListenerUnderlyingCallsCount += 1 } subscribeToItemsUpdatesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToItemsUpdatesListenerReceivedInvocations.append(listener) - } + subscribeToItemsUpdatesListenerReceivedInvocationsLock.withLock { subscribeToItemsUpdatesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToItemsUpdatesListenerClosure = subscribeToItemsUpdatesListenerClosure { return subscribeToItemsUpdatesListenerClosure(listener) } else { @@ -28022,68 +16389,40 @@ open class ThreadListServiceSDKMock: MatrixRustSDK.ThreadListService, @unchecked //MARK: - subscribeToPaginationStateUpdates - open var subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = 0 + private let subscribeToPaginationStateUpdatesListenerCallsCountLock = NSLock() + private var subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = 0 open var subscribeToPaginationStateUpdatesListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToPaginationStateUpdatesListenerCallsCountLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount } } + set { subscribeToPaginationStateUpdatesListenerCallsCountLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount = newValue } } } open var subscribeToPaginationStateUpdatesListenerCalled: Bool { return subscribeToPaginationStateUpdatesListenerCallsCount > 0 } - open var subscribeToPaginationStateUpdatesListenerReceivedListener: ThreadListPaginationStateListener? - open var subscribeToPaginationStateUpdatesListenerReceivedInvocations: [ThreadListPaginationStateListener] = [] + private let subscribeToPaginationStateUpdatesListenerReceivedListenerLock = NSLock() + private var subscribeToPaginationStateUpdatesListenerUnderlyingReceivedListener: ThreadListPaginationStateListener? + open var subscribeToPaginationStateUpdatesListenerReceivedListener: ThreadListPaginationStateListener? { + get { subscribeToPaginationStateUpdatesListenerReceivedListenerLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedListener } } + set { subscribeToPaginationStateUpdatesListenerReceivedListenerLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToPaginationStateUpdatesListenerReceivedInvocationsLock = NSLock() + private var subscribeToPaginationStateUpdatesListenerUnderlyingReceivedInvocations: [ThreadListPaginationStateListener] = [] + open var subscribeToPaginationStateUpdatesListenerReceivedInvocations: [ThreadListPaginationStateListener] { + get { subscribeToPaginationStateUpdatesListenerReceivedInvocationsLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedInvocations } } + set { subscribeToPaginationStateUpdatesListenerReceivedInvocationsLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToPaginationStateUpdatesListenerReturnValueLock = NSLock() open var subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue: TaskHandle! open var subscribeToPaginationStateUpdatesListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToPaginationStateUpdatesListenerReturnValueLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue } } + set { subscribeToPaginationStateUpdatesListenerReturnValueLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReturnValue = newValue } } } open var subscribeToPaginationStateUpdatesListenerClosure: ((ThreadListPaginationStateListener) -> TaskHandle)? open override func subscribeToPaginationStateUpdates(listener: ThreadListPaginationStateListener) -> TaskHandle { - subscribeToPaginationStateUpdatesListenerCallsCount += 1 + subscribeToPaginationStateUpdatesListenerCallsCountLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingCallsCount += 1 } subscribeToPaginationStateUpdatesListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToPaginationStateUpdatesListenerReceivedInvocations.append(listener) - } + subscribeToPaginationStateUpdatesListenerReceivedInvocationsLock.withLock { subscribeToPaginationStateUpdatesListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToPaginationStateUpdatesListenerClosure = subscribeToPaginationStateUpdatesListenerClosure { return subscribeToPaginationStateUpdatesListenerClosure(listener) } else { @@ -28108,62 +16447,26 @@ open class ThreadSummarySDKMock: MatrixRustSDK.ThreadSummary, @unchecked Sendabl //MARK: - latestEvent - open var latestEventUnderlyingCallsCount = 0 + private let latestEventCallsCountLock = NSLock() + private var latestEventUnderlyingCallsCount = 0 open var latestEventCallsCount: Int { - get { - if Thread.isMainThread { - return latestEventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = latestEventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestEventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - latestEventUnderlyingCallsCount = newValue - } - } - } + get { latestEventCallsCountLock.withLock { latestEventUnderlyingCallsCount } } + set { latestEventCallsCountLock.withLock { latestEventUnderlyingCallsCount = newValue } } } open var latestEventCalled: Bool { return latestEventCallsCount > 0 } + private let latestEventReturnValueLock = NSLock() open var latestEventUnderlyingReturnValue: EmbeddedEventDetails! open var latestEventReturnValue: EmbeddedEventDetails! { - get { - if Thread.isMainThread { - return latestEventUnderlyingReturnValue - } else { - var returnValue: EmbeddedEventDetails? = nil - DispatchQueue.main.sync { - returnValue = latestEventUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestEventUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - latestEventUnderlyingReturnValue = newValue - } - } - } + get { latestEventReturnValueLock.withLock { latestEventUnderlyingReturnValue } } + set { latestEventReturnValueLock.withLock { latestEventUnderlyingReturnValue = newValue } } } open var latestEventClosure: (() -> EmbeddedEventDetails)? open override func latestEvent() -> EmbeddedEventDetails { - latestEventCallsCount += 1 + latestEventCallsCountLock.withLock { latestEventUnderlyingCallsCount += 1 } if let latestEventClosure = latestEventClosure { return latestEventClosure() } else { @@ -28173,62 +16476,26 @@ open class ThreadSummarySDKMock: MatrixRustSDK.ThreadSummary, @unchecked Sendabl //MARK: - numReplies - open var numRepliesUnderlyingCallsCount = 0 + private let numRepliesCallsCountLock = NSLock() + private var numRepliesUnderlyingCallsCount = 0 open var numRepliesCallsCount: Int { - get { - if Thread.isMainThread { - return numRepliesUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = numRepliesUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - numRepliesUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - numRepliesUnderlyingCallsCount = newValue - } - } - } + get { numRepliesCallsCountLock.withLock { numRepliesUnderlyingCallsCount } } + set { numRepliesCallsCountLock.withLock { numRepliesUnderlyingCallsCount = newValue } } } open var numRepliesCalled: Bool { return numRepliesCallsCount > 0 } + private let numRepliesReturnValueLock = NSLock() open var numRepliesUnderlyingReturnValue: UInt64! open var numRepliesReturnValue: UInt64! { - get { - if Thread.isMainThread { - return numRepliesUnderlyingReturnValue - } else { - var returnValue: UInt64? = nil - DispatchQueue.main.sync { - returnValue = numRepliesUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - numRepliesUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - numRepliesUnderlyingReturnValue = newValue - } - } - } + get { numRepliesReturnValueLock.withLock { numRepliesUnderlyingReturnValue } } + set { numRepliesReturnValueLock.withLock { numRepliesUnderlyingReturnValue = newValue } } } open var numRepliesClosure: (() -> UInt64)? open override func numReplies() -> UInt64 { - numRepliesCallsCount += 1 + numRepliesCallsCountLock.withLock { numRepliesUnderlyingCallsCount += 1 } if let numRepliesClosure = numRepliesClosure { return numRepliesClosure() } else { @@ -28253,68 +16520,40 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - addListener - open var addListenerListenerUnderlyingCallsCount = 0 + private let addListenerListenerCallsCountLock = NSLock() + private var addListenerListenerUnderlyingCallsCount = 0 open var addListenerListenerCallsCount: Int { - get { - if Thread.isMainThread { - return addListenerListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = addListenerListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addListenerListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - addListenerListenerUnderlyingCallsCount = newValue - } - } - } + get { addListenerListenerCallsCountLock.withLock { addListenerListenerUnderlyingCallsCount } } + set { addListenerListenerCallsCountLock.withLock { addListenerListenerUnderlyingCallsCount = newValue } } } open var addListenerListenerCalled: Bool { return addListenerListenerCallsCount > 0 } - open var addListenerListenerReceivedListener: TimelineListener? - open var addListenerListenerReceivedInvocations: [TimelineListener] = [] + private let addListenerListenerReceivedListenerLock = NSLock() + private var addListenerListenerUnderlyingReceivedListener: TimelineListener? + open var addListenerListenerReceivedListener: TimelineListener? { + get { addListenerListenerReceivedListenerLock.withLock { addListenerListenerUnderlyingReceivedListener } } + set { addListenerListenerReceivedListenerLock.withLock { addListenerListenerUnderlyingReceivedListener = newValue } } + } + private let addListenerListenerReceivedInvocationsLock = NSLock() + private var addListenerListenerUnderlyingReceivedInvocations: [TimelineListener] = [] + open var addListenerListenerReceivedInvocations: [TimelineListener] { + get { addListenerListenerReceivedInvocationsLock.withLock { addListenerListenerUnderlyingReceivedInvocations } } + set { addListenerListenerReceivedInvocationsLock.withLock { addListenerListenerUnderlyingReceivedInvocations = newValue } } + } + private let addListenerListenerReturnValueLock = NSLock() open var addListenerListenerUnderlyingReturnValue: TaskHandle! open var addListenerListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return addListenerListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = addListenerListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - addListenerListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - addListenerListenerUnderlyingReturnValue = newValue - } - } - } + get { addListenerListenerReturnValueLock.withLock { addListenerListenerUnderlyingReturnValue } } + set { addListenerListenerReturnValueLock.withLock { addListenerListenerUnderlyingReturnValue = newValue } } } open var addListenerListenerClosure: ((TimelineListener) async -> TaskHandle)? open override func addListener(listener: TimelineListener) async -> TaskHandle { - addListenerListenerCallsCount += 1 + addListenerListenerCallsCountLock.withLock { addListenerListenerUnderlyingCallsCount += 1 } addListenerListenerReceivedListener = listener - DispatchQueue.main.async { - self.addListenerListenerReceivedInvocations.append(listener) - } + addListenerListenerReceivedInvocationsLock.withLock { addListenerListenerUnderlyingReceivedInvocations.append(listener) } if let addListenerListenerClosure = addListenerListenerClosure { return await addListenerListenerClosure(listener) } else { @@ -28324,68 +16563,40 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - createMessageContent - open var createMessageContentMsgTypeUnderlyingCallsCount = 0 + private let createMessageContentMsgTypeCallsCountLock = NSLock() + private var createMessageContentMsgTypeUnderlyingCallsCount = 0 open var createMessageContentMsgTypeCallsCount: Int { - get { - if Thread.isMainThread { - return createMessageContentMsgTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = createMessageContentMsgTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createMessageContentMsgTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - createMessageContentMsgTypeUnderlyingCallsCount = newValue - } - } - } + get { createMessageContentMsgTypeCallsCountLock.withLock { createMessageContentMsgTypeUnderlyingCallsCount } } + set { createMessageContentMsgTypeCallsCountLock.withLock { createMessageContentMsgTypeUnderlyingCallsCount = newValue } } } open var createMessageContentMsgTypeCalled: Bool { return createMessageContentMsgTypeCallsCount > 0 } - open var createMessageContentMsgTypeReceivedMsgType: MessageType? - open var createMessageContentMsgTypeReceivedInvocations: [MessageType] = [] + private let createMessageContentMsgTypeReceivedMsgTypeLock = NSLock() + private var createMessageContentMsgTypeUnderlyingReceivedMsgType: MessageType? + open var createMessageContentMsgTypeReceivedMsgType: MessageType? { + get { createMessageContentMsgTypeReceivedMsgTypeLock.withLock { createMessageContentMsgTypeUnderlyingReceivedMsgType } } + set { createMessageContentMsgTypeReceivedMsgTypeLock.withLock { createMessageContentMsgTypeUnderlyingReceivedMsgType = newValue } } + } + private let createMessageContentMsgTypeReceivedInvocationsLock = NSLock() + private var createMessageContentMsgTypeUnderlyingReceivedInvocations: [MessageType] = [] + open var createMessageContentMsgTypeReceivedInvocations: [MessageType] { + get { createMessageContentMsgTypeReceivedInvocationsLock.withLock { createMessageContentMsgTypeUnderlyingReceivedInvocations } } + set { createMessageContentMsgTypeReceivedInvocationsLock.withLock { createMessageContentMsgTypeUnderlyingReceivedInvocations = newValue } } + } + private let createMessageContentMsgTypeReturnValueLock = NSLock() open var createMessageContentMsgTypeUnderlyingReturnValue: RoomMessageEventContentWithoutRelation? open var createMessageContentMsgTypeReturnValue: RoomMessageEventContentWithoutRelation? { - get { - if Thread.isMainThread { - return createMessageContentMsgTypeUnderlyingReturnValue - } else { - var returnValue: RoomMessageEventContentWithoutRelation?? = nil - DispatchQueue.main.sync { - returnValue = createMessageContentMsgTypeUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createMessageContentMsgTypeUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - createMessageContentMsgTypeUnderlyingReturnValue = newValue - } - } - } + get { createMessageContentMsgTypeReturnValueLock.withLock { createMessageContentMsgTypeUnderlyingReturnValue } } + set { createMessageContentMsgTypeReturnValueLock.withLock { createMessageContentMsgTypeUnderlyingReturnValue = newValue } } } open var createMessageContentMsgTypeClosure: ((MessageType) -> RoomMessageEventContentWithoutRelation?)? open override func createMessageContent(msgType: MessageType) -> RoomMessageEventContentWithoutRelation? { - createMessageContentMsgTypeCallsCount += 1 + createMessageContentMsgTypeCallsCountLock.withLock { createMessageContentMsgTypeUnderlyingCallsCount += 1 } createMessageContentMsgTypeReceivedMsgType = msgType - DispatchQueue.main.async { - self.createMessageContentMsgTypeReceivedInvocations.append(msgType) - } + createMessageContentMsgTypeReceivedInvocationsLock.withLock { createMessageContentMsgTypeUnderlyingReceivedInvocations.append(msgType) } if let createMessageContentMsgTypeClosure = createMessageContentMsgTypeClosure { return createMessageContentMsgTypeClosure(msgType) } else { @@ -28396,212 +16607,154 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - createPoll open var createPollQuestionAnswersMaxSelectionsPollKindThrowableError: Error? - open var createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount = 0 + private let createPollQuestionAnswersMaxSelectionsPollKindCallsCountLock = NSLock() + private var createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount = 0 open var createPollQuestionAnswersMaxSelectionsPollKindCallsCount: Int { - get { - if Thread.isMainThread { - return createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount = newValue - } - } - } + get { createPollQuestionAnswersMaxSelectionsPollKindCallsCountLock.withLock { createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount } } + set { createPollQuestionAnswersMaxSelectionsPollKindCallsCountLock.withLock { createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount = newValue } } } open var createPollQuestionAnswersMaxSelectionsPollKindCalled: Bool { return createPollQuestionAnswersMaxSelectionsPollKindCallsCount > 0 } - open var createPollQuestionAnswersMaxSelectionsPollKindReceivedArguments: (question: String, answers: [String], maxSelections: UInt8, pollKind: PollKind)? - open var createPollQuestionAnswersMaxSelectionsPollKindReceivedInvocations: [(question: String, answers: [String], maxSelections: UInt8, pollKind: PollKind)] = [] + private let createPollQuestionAnswersMaxSelectionsPollKindReceivedArgumentsLock = NSLock() + private var createPollQuestionAnswersMaxSelectionsPollKindUnderlyingReceivedArguments: (question: String, answers: [String], maxSelections: UInt8, pollKind: PollKind)? + open var createPollQuestionAnswersMaxSelectionsPollKindReceivedArguments: (question: String, answers: [String], maxSelections: UInt8, pollKind: PollKind)? { + get { createPollQuestionAnswersMaxSelectionsPollKindReceivedArgumentsLock.withLock { createPollQuestionAnswersMaxSelectionsPollKindUnderlyingReceivedArguments } } + set { createPollQuestionAnswersMaxSelectionsPollKindReceivedArgumentsLock.withLock { createPollQuestionAnswersMaxSelectionsPollKindUnderlyingReceivedArguments = newValue } } + } + private let createPollQuestionAnswersMaxSelectionsPollKindReceivedInvocationsLock = NSLock() + private var createPollQuestionAnswersMaxSelectionsPollKindUnderlyingReceivedInvocations: [(question: String, answers: [String], maxSelections: UInt8, pollKind: PollKind)] = [] + open var createPollQuestionAnswersMaxSelectionsPollKindReceivedInvocations: [(question: String, answers: [String], maxSelections: UInt8, pollKind: PollKind)] { + get { createPollQuestionAnswersMaxSelectionsPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersMaxSelectionsPollKindUnderlyingReceivedInvocations } } + set { createPollQuestionAnswersMaxSelectionsPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersMaxSelectionsPollKindUnderlyingReceivedInvocations = newValue } } + } open var createPollQuestionAnswersMaxSelectionsPollKindClosure: ((String, [String], UInt8, PollKind) async throws -> Void)? open override func createPoll(question: String, answers: [String], maxSelections: UInt8, pollKind: PollKind) async throws { if let error = createPollQuestionAnswersMaxSelectionsPollKindThrowableError { throw error } - createPollQuestionAnswersMaxSelectionsPollKindCallsCount += 1 + createPollQuestionAnswersMaxSelectionsPollKindCallsCountLock.withLock { createPollQuestionAnswersMaxSelectionsPollKindUnderlyingCallsCount += 1 } createPollQuestionAnswersMaxSelectionsPollKindReceivedArguments = (question: question, answers: answers, maxSelections: maxSelections, pollKind: pollKind) - DispatchQueue.main.async { - self.createPollQuestionAnswersMaxSelectionsPollKindReceivedInvocations.append((question: question, answers: answers, maxSelections: maxSelections, pollKind: pollKind)) - } + createPollQuestionAnswersMaxSelectionsPollKindReceivedInvocationsLock.withLock { createPollQuestionAnswersMaxSelectionsPollKindUnderlyingReceivedInvocations.append((question: question, answers: answers, maxSelections: maxSelections, pollKind: pollKind)) } try await createPollQuestionAnswersMaxSelectionsPollKindClosure?(question, answers, maxSelections, pollKind) } //MARK: - edit open var editEventOrTransactionIdNewContentThrowableError: Error? - open var editEventOrTransactionIdNewContentUnderlyingCallsCount = 0 + private let editEventOrTransactionIdNewContentCallsCountLock = NSLock() + private var editEventOrTransactionIdNewContentUnderlyingCallsCount = 0 open var editEventOrTransactionIdNewContentCallsCount: Int { - get { - if Thread.isMainThread { - return editEventOrTransactionIdNewContentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = editEventOrTransactionIdNewContentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - editEventOrTransactionIdNewContentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - editEventOrTransactionIdNewContentUnderlyingCallsCount = newValue - } - } - } + get { editEventOrTransactionIdNewContentCallsCountLock.withLock { editEventOrTransactionIdNewContentUnderlyingCallsCount } } + set { editEventOrTransactionIdNewContentCallsCountLock.withLock { editEventOrTransactionIdNewContentUnderlyingCallsCount = newValue } } } open var editEventOrTransactionIdNewContentCalled: Bool { return editEventOrTransactionIdNewContentCallsCount > 0 } - open var editEventOrTransactionIdNewContentReceivedArguments: (eventOrTransactionId: EventOrTransactionId, newContent: EditedContent)? - open var editEventOrTransactionIdNewContentReceivedInvocations: [(eventOrTransactionId: EventOrTransactionId, newContent: EditedContent)] = [] + private let editEventOrTransactionIdNewContentReceivedArgumentsLock = NSLock() + private var editEventOrTransactionIdNewContentUnderlyingReceivedArguments: (eventOrTransactionId: EventOrTransactionId, newContent: EditedContent)? + open var editEventOrTransactionIdNewContentReceivedArguments: (eventOrTransactionId: EventOrTransactionId, newContent: EditedContent)? { + get { editEventOrTransactionIdNewContentReceivedArgumentsLock.withLock { editEventOrTransactionIdNewContentUnderlyingReceivedArguments } } + set { editEventOrTransactionIdNewContentReceivedArgumentsLock.withLock { editEventOrTransactionIdNewContentUnderlyingReceivedArguments = newValue } } + } + private let editEventOrTransactionIdNewContentReceivedInvocationsLock = NSLock() + private var editEventOrTransactionIdNewContentUnderlyingReceivedInvocations: [(eventOrTransactionId: EventOrTransactionId, newContent: EditedContent)] = [] + open var editEventOrTransactionIdNewContentReceivedInvocations: [(eventOrTransactionId: EventOrTransactionId, newContent: EditedContent)] { + get { editEventOrTransactionIdNewContentReceivedInvocationsLock.withLock { editEventOrTransactionIdNewContentUnderlyingReceivedInvocations } } + set { editEventOrTransactionIdNewContentReceivedInvocationsLock.withLock { editEventOrTransactionIdNewContentUnderlyingReceivedInvocations = newValue } } + } open var editEventOrTransactionIdNewContentClosure: ((EventOrTransactionId, EditedContent) async throws -> Void)? open override func edit(eventOrTransactionId: EventOrTransactionId, newContent: EditedContent) async throws { if let error = editEventOrTransactionIdNewContentThrowableError { throw error } - editEventOrTransactionIdNewContentCallsCount += 1 + editEventOrTransactionIdNewContentCallsCountLock.withLock { editEventOrTransactionIdNewContentUnderlyingCallsCount += 1 } editEventOrTransactionIdNewContentReceivedArguments = (eventOrTransactionId: eventOrTransactionId, newContent: newContent) - DispatchQueue.main.async { - self.editEventOrTransactionIdNewContentReceivedInvocations.append((eventOrTransactionId: eventOrTransactionId, newContent: newContent)) - } + editEventOrTransactionIdNewContentReceivedInvocationsLock.withLock { editEventOrTransactionIdNewContentUnderlyingReceivedInvocations.append((eventOrTransactionId: eventOrTransactionId, newContent: newContent)) } try await editEventOrTransactionIdNewContentClosure?(eventOrTransactionId, newContent) } //MARK: - endPoll open var endPollPollStartEventIdTextThrowableError: Error? - open var endPollPollStartEventIdTextUnderlyingCallsCount = 0 + private let endPollPollStartEventIdTextCallsCountLock = NSLock() + private var endPollPollStartEventIdTextUnderlyingCallsCount = 0 open var endPollPollStartEventIdTextCallsCount: Int { - get { - if Thread.isMainThread { - return endPollPollStartEventIdTextUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = endPollPollStartEventIdTextUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - endPollPollStartEventIdTextUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - endPollPollStartEventIdTextUnderlyingCallsCount = newValue - } - } - } + get { endPollPollStartEventIdTextCallsCountLock.withLock { endPollPollStartEventIdTextUnderlyingCallsCount } } + set { endPollPollStartEventIdTextCallsCountLock.withLock { endPollPollStartEventIdTextUnderlyingCallsCount = newValue } } } open var endPollPollStartEventIdTextCalled: Bool { return endPollPollStartEventIdTextCallsCount > 0 } - open var endPollPollStartEventIdTextReceivedArguments: (pollStartEventId: String, text: String)? - open var endPollPollStartEventIdTextReceivedInvocations: [(pollStartEventId: String, text: String)] = [] + private let endPollPollStartEventIdTextReceivedArgumentsLock = NSLock() + private var endPollPollStartEventIdTextUnderlyingReceivedArguments: (pollStartEventId: String, text: String)? + open var endPollPollStartEventIdTextReceivedArguments: (pollStartEventId: String, text: String)? { + get { endPollPollStartEventIdTextReceivedArgumentsLock.withLock { endPollPollStartEventIdTextUnderlyingReceivedArguments } } + set { endPollPollStartEventIdTextReceivedArgumentsLock.withLock { endPollPollStartEventIdTextUnderlyingReceivedArguments = newValue } } + } + private let endPollPollStartEventIdTextReceivedInvocationsLock = NSLock() + private var endPollPollStartEventIdTextUnderlyingReceivedInvocations: [(pollStartEventId: String, text: String)] = [] + open var endPollPollStartEventIdTextReceivedInvocations: [(pollStartEventId: String, text: String)] { + get { endPollPollStartEventIdTextReceivedInvocationsLock.withLock { endPollPollStartEventIdTextUnderlyingReceivedInvocations } } + set { endPollPollStartEventIdTextReceivedInvocationsLock.withLock { endPollPollStartEventIdTextUnderlyingReceivedInvocations = newValue } } + } open var endPollPollStartEventIdTextClosure: ((String, String) async throws -> Void)? open override func endPoll(pollStartEventId: String, text: String) async throws { if let error = endPollPollStartEventIdTextThrowableError { throw error } - endPollPollStartEventIdTextCallsCount += 1 + endPollPollStartEventIdTextCallsCountLock.withLock { endPollPollStartEventIdTextUnderlyingCallsCount += 1 } endPollPollStartEventIdTextReceivedArguments = (pollStartEventId: pollStartEventId, text: text) - DispatchQueue.main.async { - self.endPollPollStartEventIdTextReceivedInvocations.append((pollStartEventId: pollStartEventId, text: text)) - } + endPollPollStartEventIdTextReceivedInvocationsLock.withLock { endPollPollStartEventIdTextUnderlyingReceivedInvocations.append((pollStartEventId: pollStartEventId, text: text)) } try await endPollPollStartEventIdTextClosure?(pollStartEventId, text) } //MARK: - fetchDetailsForEvent open var fetchDetailsForEventEventIdThrowableError: Error? - open var fetchDetailsForEventEventIdUnderlyingCallsCount = 0 + private let fetchDetailsForEventEventIdCallsCountLock = NSLock() + private var fetchDetailsForEventEventIdUnderlyingCallsCount = 0 open var fetchDetailsForEventEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return fetchDetailsForEventEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = fetchDetailsForEventEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchDetailsForEventEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - fetchDetailsForEventEventIdUnderlyingCallsCount = newValue - } - } - } + get { fetchDetailsForEventEventIdCallsCountLock.withLock { fetchDetailsForEventEventIdUnderlyingCallsCount } } + set { fetchDetailsForEventEventIdCallsCountLock.withLock { fetchDetailsForEventEventIdUnderlyingCallsCount = newValue } } } open var fetchDetailsForEventEventIdCalled: Bool { return fetchDetailsForEventEventIdCallsCount > 0 } - open var fetchDetailsForEventEventIdReceivedEventId: String? - open var fetchDetailsForEventEventIdReceivedInvocations: [String] = [] + private let fetchDetailsForEventEventIdReceivedEventIdLock = NSLock() + private var fetchDetailsForEventEventIdUnderlyingReceivedEventId: String? + open var fetchDetailsForEventEventIdReceivedEventId: String? { + get { fetchDetailsForEventEventIdReceivedEventIdLock.withLock { fetchDetailsForEventEventIdUnderlyingReceivedEventId } } + set { fetchDetailsForEventEventIdReceivedEventIdLock.withLock { fetchDetailsForEventEventIdUnderlyingReceivedEventId = newValue } } + } + private let fetchDetailsForEventEventIdReceivedInvocationsLock = NSLock() + private var fetchDetailsForEventEventIdUnderlyingReceivedInvocations: [String] = [] + open var fetchDetailsForEventEventIdReceivedInvocations: [String] { + get { fetchDetailsForEventEventIdReceivedInvocationsLock.withLock { fetchDetailsForEventEventIdUnderlyingReceivedInvocations } } + set { fetchDetailsForEventEventIdReceivedInvocationsLock.withLock { fetchDetailsForEventEventIdUnderlyingReceivedInvocations = newValue } } + } open var fetchDetailsForEventEventIdClosure: ((String) async throws -> Void)? open override func fetchDetailsForEvent(eventId: String) async throws { if let error = fetchDetailsForEventEventIdThrowableError { throw error } - fetchDetailsForEventEventIdCallsCount += 1 + fetchDetailsForEventEventIdCallsCountLock.withLock { fetchDetailsForEventEventIdUnderlyingCallsCount += 1 } fetchDetailsForEventEventIdReceivedEventId = eventId - DispatchQueue.main.async { - self.fetchDetailsForEventEventIdReceivedInvocations.append(eventId) - } + fetchDetailsForEventEventIdReceivedInvocationsLock.withLock { fetchDetailsForEventEventIdUnderlyingReceivedInvocations.append(eventId) } try await fetchDetailsForEventEventIdClosure?(eventId) } //MARK: - fetchMembers - open var fetchMembersUnderlyingCallsCount = 0 + private let fetchMembersCallsCountLock = NSLock() + private var fetchMembersUnderlyingCallsCount = 0 open var fetchMembersCallsCount: Int { - get { - if Thread.isMainThread { - return fetchMembersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = fetchMembersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fetchMembersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - fetchMembersUnderlyingCallsCount = newValue - } - } - } + get { fetchMembersCallsCountLock.withLock { fetchMembersUnderlyingCallsCount } } + set { fetchMembersCallsCountLock.withLock { fetchMembersUnderlyingCallsCount = newValue } } } open var fetchMembersCalled: Bool { return fetchMembersCallsCount > 0 @@ -28609,66 +16762,40 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { open var fetchMembersClosure: (() async -> Void)? open override func fetchMembers() async { - fetchMembersCallsCount += 1 + fetchMembersCallsCountLock.withLock { fetchMembersUnderlyingCallsCount += 1 } await fetchMembersClosure?() } //MARK: - getEventTimelineItemByEventId open var getEventTimelineItemByEventIdEventIdThrowableError: Error? - open var getEventTimelineItemByEventIdEventIdUnderlyingCallsCount = 0 + private let getEventTimelineItemByEventIdEventIdCallsCountLock = NSLock() + private var getEventTimelineItemByEventIdEventIdUnderlyingCallsCount = 0 open var getEventTimelineItemByEventIdEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return getEventTimelineItemByEventIdEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = getEventTimelineItemByEventIdEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getEventTimelineItemByEventIdEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - getEventTimelineItemByEventIdEventIdUnderlyingCallsCount = newValue - } - } - } + get { getEventTimelineItemByEventIdEventIdCallsCountLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingCallsCount } } + set { getEventTimelineItemByEventIdEventIdCallsCountLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingCallsCount = newValue } } } open var getEventTimelineItemByEventIdEventIdCalled: Bool { return getEventTimelineItemByEventIdEventIdCallsCount > 0 } - open var getEventTimelineItemByEventIdEventIdReceivedEventId: String? - open var getEventTimelineItemByEventIdEventIdReceivedInvocations: [String] = [] + private let getEventTimelineItemByEventIdEventIdReceivedEventIdLock = NSLock() + private var getEventTimelineItemByEventIdEventIdUnderlyingReceivedEventId: String? + open var getEventTimelineItemByEventIdEventIdReceivedEventId: String? { + get { getEventTimelineItemByEventIdEventIdReceivedEventIdLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingReceivedEventId } } + set { getEventTimelineItemByEventIdEventIdReceivedEventIdLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingReceivedEventId = newValue } } + } + private let getEventTimelineItemByEventIdEventIdReceivedInvocationsLock = NSLock() + private var getEventTimelineItemByEventIdEventIdUnderlyingReceivedInvocations: [String] = [] + open var getEventTimelineItemByEventIdEventIdReceivedInvocations: [String] { + get { getEventTimelineItemByEventIdEventIdReceivedInvocationsLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingReceivedInvocations } } + set { getEventTimelineItemByEventIdEventIdReceivedInvocationsLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingReceivedInvocations = newValue } } + } + private let getEventTimelineItemByEventIdEventIdReturnValueLock = NSLock() open var getEventTimelineItemByEventIdEventIdUnderlyingReturnValue: EventTimelineItem! open var getEventTimelineItemByEventIdEventIdReturnValue: EventTimelineItem! { - get { - if Thread.isMainThread { - return getEventTimelineItemByEventIdEventIdUnderlyingReturnValue - } else { - var returnValue: EventTimelineItem? = nil - DispatchQueue.main.sync { - returnValue = getEventTimelineItemByEventIdEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - getEventTimelineItemByEventIdEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - getEventTimelineItemByEventIdEventIdUnderlyingReturnValue = newValue - } - } - } + get { getEventTimelineItemByEventIdEventIdReturnValueLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingReturnValue } } + set { getEventTimelineItemByEventIdEventIdReturnValueLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingReturnValue = newValue } } } open var getEventTimelineItemByEventIdEventIdClosure: ((String) async throws -> EventTimelineItem)? @@ -28676,11 +16803,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = getEventTimelineItemByEventIdEventIdThrowableError { throw error } - getEventTimelineItemByEventIdEventIdCallsCount += 1 + getEventTimelineItemByEventIdEventIdCallsCountLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingCallsCount += 1 } getEventTimelineItemByEventIdEventIdReceivedEventId = eventId - DispatchQueue.main.async { - self.getEventTimelineItemByEventIdEventIdReceivedInvocations.append(eventId) - } + getEventTimelineItemByEventIdEventIdReceivedInvocationsLock.withLock { getEventTimelineItemByEventIdEventIdUnderlyingReceivedInvocations.append(eventId) } if let getEventTimelineItemByEventIdEventIdClosure = getEventTimelineItemByEventIdEventIdClosure { return try await getEventTimelineItemByEventIdEventIdClosure(eventId) } else { @@ -28690,62 +16815,26 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - latestEventId - open var latestEventIdUnderlyingCallsCount = 0 + private let latestEventIdCallsCountLock = NSLock() + private var latestEventIdUnderlyingCallsCount = 0 open var latestEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return latestEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = latestEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - latestEventIdUnderlyingCallsCount = newValue - } - } - } + get { latestEventIdCallsCountLock.withLock { latestEventIdUnderlyingCallsCount } } + set { latestEventIdCallsCountLock.withLock { latestEventIdUnderlyingCallsCount = newValue } } } open var latestEventIdCalled: Bool { return latestEventIdCallsCount > 0 } + private let latestEventIdReturnValueLock = NSLock() open var latestEventIdUnderlyingReturnValue: String? open var latestEventIdReturnValue: String? { - get { - if Thread.isMainThread { - return latestEventIdUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = latestEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - latestEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - latestEventIdUnderlyingReturnValue = newValue - } - } - } + get { latestEventIdReturnValueLock.withLock { latestEventIdUnderlyingReturnValue } } + set { latestEventIdReturnValueLock.withLock { latestEventIdUnderlyingReturnValue = newValue } } } open var latestEventIdClosure: (() async -> String?)? open override func latestEventId() async -> String? { - latestEventIdCallsCount += 1 + latestEventIdCallsCountLock.withLock { latestEventIdUnderlyingCallsCount += 1 } if let latestEventIdClosure = latestEventIdClosure { return await latestEventIdClosure() } else { @@ -28756,59 +16845,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - loadReplyDetails open var loadReplyDetailsEventIdStrThrowableError: Error? - open var loadReplyDetailsEventIdStrUnderlyingCallsCount = 0 + private let loadReplyDetailsEventIdStrCallsCountLock = NSLock() + private var loadReplyDetailsEventIdStrUnderlyingCallsCount = 0 open var loadReplyDetailsEventIdStrCallsCount: Int { - get { - if Thread.isMainThread { - return loadReplyDetailsEventIdStrUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = loadReplyDetailsEventIdStrUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadReplyDetailsEventIdStrUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - loadReplyDetailsEventIdStrUnderlyingCallsCount = newValue - } - } - } + get { loadReplyDetailsEventIdStrCallsCountLock.withLock { loadReplyDetailsEventIdStrUnderlyingCallsCount } } + set { loadReplyDetailsEventIdStrCallsCountLock.withLock { loadReplyDetailsEventIdStrUnderlyingCallsCount = newValue } } } open var loadReplyDetailsEventIdStrCalled: Bool { return loadReplyDetailsEventIdStrCallsCount > 0 } - open var loadReplyDetailsEventIdStrReceivedEventIdStr: String? - open var loadReplyDetailsEventIdStrReceivedInvocations: [String] = [] + private let loadReplyDetailsEventIdStrReceivedEventIdStrLock = NSLock() + private var loadReplyDetailsEventIdStrUnderlyingReceivedEventIdStr: String? + open var loadReplyDetailsEventIdStrReceivedEventIdStr: String? { + get { loadReplyDetailsEventIdStrReceivedEventIdStrLock.withLock { loadReplyDetailsEventIdStrUnderlyingReceivedEventIdStr } } + set { loadReplyDetailsEventIdStrReceivedEventIdStrLock.withLock { loadReplyDetailsEventIdStrUnderlyingReceivedEventIdStr = newValue } } + } + private let loadReplyDetailsEventIdStrReceivedInvocationsLock = NSLock() + private var loadReplyDetailsEventIdStrUnderlyingReceivedInvocations: [String] = [] + open var loadReplyDetailsEventIdStrReceivedInvocations: [String] { + get { loadReplyDetailsEventIdStrReceivedInvocationsLock.withLock { loadReplyDetailsEventIdStrUnderlyingReceivedInvocations } } + set { loadReplyDetailsEventIdStrReceivedInvocationsLock.withLock { loadReplyDetailsEventIdStrUnderlyingReceivedInvocations = newValue } } + } + private let loadReplyDetailsEventIdStrReturnValueLock = NSLock() open var loadReplyDetailsEventIdStrUnderlyingReturnValue: InReplyToDetails! open var loadReplyDetailsEventIdStrReturnValue: InReplyToDetails! { - get { - if Thread.isMainThread { - return loadReplyDetailsEventIdStrUnderlyingReturnValue - } else { - var returnValue: InReplyToDetails? = nil - DispatchQueue.main.sync { - returnValue = loadReplyDetailsEventIdStrUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - loadReplyDetailsEventIdStrUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - loadReplyDetailsEventIdStrUnderlyingReturnValue = newValue - } - } - } + get { loadReplyDetailsEventIdStrReturnValueLock.withLock { loadReplyDetailsEventIdStrUnderlyingReturnValue } } + set { loadReplyDetailsEventIdStrReturnValueLock.withLock { loadReplyDetailsEventIdStrUnderlyingReturnValue = newValue } } } open var loadReplyDetailsEventIdStrClosure: ((String) async throws -> InReplyToDetails)? @@ -28816,11 +16879,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = loadReplyDetailsEventIdStrThrowableError { throw error } - loadReplyDetailsEventIdStrCallsCount += 1 + loadReplyDetailsEventIdStrCallsCountLock.withLock { loadReplyDetailsEventIdStrUnderlyingCallsCount += 1 } loadReplyDetailsEventIdStrReceivedEventIdStr = eventIdStr - DispatchQueue.main.async { - self.loadReplyDetailsEventIdStrReceivedInvocations.append(eventIdStr) - } + loadReplyDetailsEventIdStrReceivedInvocationsLock.withLock { loadReplyDetailsEventIdStrUnderlyingReceivedInvocations.append(eventIdStr) } if let loadReplyDetailsEventIdStrClosure = loadReplyDetailsEventIdStrClosure { return try await loadReplyDetailsEventIdStrClosure(eventIdStr) } else { @@ -28831,105 +16892,69 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - markAsRead open var markAsReadReceiptTypeThrowableError: Error? - open var markAsReadReceiptTypeUnderlyingCallsCount = 0 + private let markAsReadReceiptTypeCallsCountLock = NSLock() + private var markAsReadReceiptTypeUnderlyingCallsCount = 0 open var markAsReadReceiptTypeCallsCount: Int { - get { - if Thread.isMainThread { - return markAsReadReceiptTypeUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = markAsReadReceiptTypeUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - markAsReadReceiptTypeUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - markAsReadReceiptTypeUnderlyingCallsCount = newValue - } - } - } + get { markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount } } + set { markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount = newValue } } } open var markAsReadReceiptTypeCalled: Bool { return markAsReadReceiptTypeCallsCount > 0 } - open var markAsReadReceiptTypeReceivedReceiptType: ReceiptType? - open var markAsReadReceiptTypeReceivedInvocations: [ReceiptType] = [] + private let markAsReadReceiptTypeReceivedReceiptTypeLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReceivedReceiptType: ReceiptType? + open var markAsReadReceiptTypeReceivedReceiptType: ReceiptType? { + get { markAsReadReceiptTypeReceivedReceiptTypeLock.withLock { markAsReadReceiptTypeUnderlyingReceivedReceiptType } } + set { markAsReadReceiptTypeReceivedReceiptTypeLock.withLock { markAsReadReceiptTypeUnderlyingReceivedReceiptType = newValue } } + } + private let markAsReadReceiptTypeReceivedInvocationsLock = NSLock() + private var markAsReadReceiptTypeUnderlyingReceivedInvocations: [ReceiptType] = [] + open var markAsReadReceiptTypeReceivedInvocations: [ReceiptType] { + get { markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations } } + set { markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations = newValue } } + } open var markAsReadReceiptTypeClosure: ((ReceiptType) async throws -> Void)? open override func markAsRead(receiptType: ReceiptType) async throws { if let error = markAsReadReceiptTypeThrowableError { throw error } - markAsReadReceiptTypeCallsCount += 1 + markAsReadReceiptTypeCallsCountLock.withLock { markAsReadReceiptTypeUnderlyingCallsCount += 1 } markAsReadReceiptTypeReceivedReceiptType = receiptType - DispatchQueue.main.async { - self.markAsReadReceiptTypeReceivedInvocations.append(receiptType) - } + markAsReadReceiptTypeReceivedInvocationsLock.withLock { markAsReadReceiptTypeUnderlyingReceivedInvocations.append(receiptType) } try await markAsReadReceiptTypeClosure?(receiptType) } //MARK: - paginateBackwards open var paginateBackwardsNumEventsThrowableError: Error? - open var paginateBackwardsNumEventsUnderlyingCallsCount = 0 + private let paginateBackwardsNumEventsCallsCountLock = NSLock() + private var paginateBackwardsNumEventsUnderlyingCallsCount = 0 open var paginateBackwardsNumEventsCallsCount: Int { - get { - if Thread.isMainThread { - return paginateBackwardsNumEventsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateBackwardsNumEventsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateBackwardsNumEventsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateBackwardsNumEventsUnderlyingCallsCount = newValue - } - } - } + get { paginateBackwardsNumEventsCallsCountLock.withLock { paginateBackwardsNumEventsUnderlyingCallsCount } } + set { paginateBackwardsNumEventsCallsCountLock.withLock { paginateBackwardsNumEventsUnderlyingCallsCount = newValue } } } open var paginateBackwardsNumEventsCalled: Bool { return paginateBackwardsNumEventsCallsCount > 0 } - open var paginateBackwardsNumEventsReceivedNumEvents: UInt16? - open var paginateBackwardsNumEventsReceivedInvocations: [UInt16] = [] + private let paginateBackwardsNumEventsReceivedNumEventsLock = NSLock() + private var paginateBackwardsNumEventsUnderlyingReceivedNumEvents: UInt16? + open var paginateBackwardsNumEventsReceivedNumEvents: UInt16? { + get { paginateBackwardsNumEventsReceivedNumEventsLock.withLock { paginateBackwardsNumEventsUnderlyingReceivedNumEvents } } + set { paginateBackwardsNumEventsReceivedNumEventsLock.withLock { paginateBackwardsNumEventsUnderlyingReceivedNumEvents = newValue } } + } + private let paginateBackwardsNumEventsReceivedInvocationsLock = NSLock() + private var paginateBackwardsNumEventsUnderlyingReceivedInvocations: [UInt16] = [] + open var paginateBackwardsNumEventsReceivedInvocations: [UInt16] { + get { paginateBackwardsNumEventsReceivedInvocationsLock.withLock { paginateBackwardsNumEventsUnderlyingReceivedInvocations } } + set { paginateBackwardsNumEventsReceivedInvocationsLock.withLock { paginateBackwardsNumEventsUnderlyingReceivedInvocations = newValue } } + } + private let paginateBackwardsNumEventsReturnValueLock = NSLock() open var paginateBackwardsNumEventsUnderlyingReturnValue: Bool! open var paginateBackwardsNumEventsReturnValue: Bool! { - get { - if Thread.isMainThread { - return paginateBackwardsNumEventsUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = paginateBackwardsNumEventsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateBackwardsNumEventsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginateBackwardsNumEventsUnderlyingReturnValue = newValue - } - } - } + get { paginateBackwardsNumEventsReturnValueLock.withLock { paginateBackwardsNumEventsUnderlyingReturnValue } } + set { paginateBackwardsNumEventsReturnValueLock.withLock { paginateBackwardsNumEventsUnderlyingReturnValue = newValue } } } open var paginateBackwardsNumEventsClosure: ((UInt16) async throws -> Bool)? @@ -28937,11 +16962,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = paginateBackwardsNumEventsThrowableError { throw error } - paginateBackwardsNumEventsCallsCount += 1 + paginateBackwardsNumEventsCallsCountLock.withLock { paginateBackwardsNumEventsUnderlyingCallsCount += 1 } paginateBackwardsNumEventsReceivedNumEvents = numEvents - DispatchQueue.main.async { - self.paginateBackwardsNumEventsReceivedInvocations.append(numEvents) - } + paginateBackwardsNumEventsReceivedInvocationsLock.withLock { paginateBackwardsNumEventsUnderlyingReceivedInvocations.append(numEvents) } if let paginateBackwardsNumEventsClosure = paginateBackwardsNumEventsClosure { return try await paginateBackwardsNumEventsClosure(numEvents) } else { @@ -28952,59 +16975,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - paginateForwards open var paginateForwardsNumEventsThrowableError: Error? - open var paginateForwardsNumEventsUnderlyingCallsCount = 0 + private let paginateForwardsNumEventsCallsCountLock = NSLock() + private var paginateForwardsNumEventsUnderlyingCallsCount = 0 open var paginateForwardsNumEventsCallsCount: Int { - get { - if Thread.isMainThread { - return paginateForwardsNumEventsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = paginateForwardsNumEventsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateForwardsNumEventsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - paginateForwardsNumEventsUnderlyingCallsCount = newValue - } - } - } + get { paginateForwardsNumEventsCallsCountLock.withLock { paginateForwardsNumEventsUnderlyingCallsCount } } + set { paginateForwardsNumEventsCallsCountLock.withLock { paginateForwardsNumEventsUnderlyingCallsCount = newValue } } } open var paginateForwardsNumEventsCalled: Bool { return paginateForwardsNumEventsCallsCount > 0 } - open var paginateForwardsNumEventsReceivedNumEvents: UInt16? - open var paginateForwardsNumEventsReceivedInvocations: [UInt16] = [] + private let paginateForwardsNumEventsReceivedNumEventsLock = NSLock() + private var paginateForwardsNumEventsUnderlyingReceivedNumEvents: UInt16? + open var paginateForwardsNumEventsReceivedNumEvents: UInt16? { + get { paginateForwardsNumEventsReceivedNumEventsLock.withLock { paginateForwardsNumEventsUnderlyingReceivedNumEvents } } + set { paginateForwardsNumEventsReceivedNumEventsLock.withLock { paginateForwardsNumEventsUnderlyingReceivedNumEvents = newValue } } + } + private let paginateForwardsNumEventsReceivedInvocationsLock = NSLock() + private var paginateForwardsNumEventsUnderlyingReceivedInvocations: [UInt16] = [] + open var paginateForwardsNumEventsReceivedInvocations: [UInt16] { + get { paginateForwardsNumEventsReceivedInvocationsLock.withLock { paginateForwardsNumEventsUnderlyingReceivedInvocations } } + set { paginateForwardsNumEventsReceivedInvocationsLock.withLock { paginateForwardsNumEventsUnderlyingReceivedInvocations = newValue } } + } + private let paginateForwardsNumEventsReturnValueLock = NSLock() open var paginateForwardsNumEventsUnderlyingReturnValue: Bool! open var paginateForwardsNumEventsReturnValue: Bool! { - get { - if Thread.isMainThread { - return paginateForwardsNumEventsUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = paginateForwardsNumEventsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - paginateForwardsNumEventsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - paginateForwardsNumEventsUnderlyingReturnValue = newValue - } - } - } + get { paginateForwardsNumEventsReturnValueLock.withLock { paginateForwardsNumEventsUnderlyingReturnValue } } + set { paginateForwardsNumEventsReturnValueLock.withLock { paginateForwardsNumEventsUnderlyingReturnValue = newValue } } } open var paginateForwardsNumEventsClosure: ((UInt16) async throws -> Bool)? @@ -29012,11 +17009,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = paginateForwardsNumEventsThrowableError { throw error } - paginateForwardsNumEventsCallsCount += 1 + paginateForwardsNumEventsCallsCountLock.withLock { paginateForwardsNumEventsUnderlyingCallsCount += 1 } paginateForwardsNumEventsReceivedNumEvents = numEvents - DispatchQueue.main.async { - self.paginateForwardsNumEventsReceivedInvocations.append(numEvents) - } + paginateForwardsNumEventsReceivedInvocationsLock.withLock { paginateForwardsNumEventsUnderlyingReceivedInvocations.append(numEvents) } if let paginateForwardsNumEventsClosure = paginateForwardsNumEventsClosure { return try await paginateForwardsNumEventsClosure(numEvents) } else { @@ -29027,59 +17022,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - pinEvent open var pinEventEventIdThrowableError: Error? - open var pinEventEventIdUnderlyingCallsCount = 0 + private let pinEventEventIdCallsCountLock = NSLock() + private var pinEventEventIdUnderlyingCallsCount = 0 open var pinEventEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return pinEventEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pinEventEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinEventEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pinEventEventIdUnderlyingCallsCount = newValue - } - } - } + get { pinEventEventIdCallsCountLock.withLock { pinEventEventIdUnderlyingCallsCount } } + set { pinEventEventIdCallsCountLock.withLock { pinEventEventIdUnderlyingCallsCount = newValue } } } open var pinEventEventIdCalled: Bool { return pinEventEventIdCallsCount > 0 } - open var pinEventEventIdReceivedEventId: String? - open var pinEventEventIdReceivedInvocations: [String] = [] + private let pinEventEventIdReceivedEventIdLock = NSLock() + private var pinEventEventIdUnderlyingReceivedEventId: String? + open var pinEventEventIdReceivedEventId: String? { + get { pinEventEventIdReceivedEventIdLock.withLock { pinEventEventIdUnderlyingReceivedEventId } } + set { pinEventEventIdReceivedEventIdLock.withLock { pinEventEventIdUnderlyingReceivedEventId = newValue } } + } + private let pinEventEventIdReceivedInvocationsLock = NSLock() + private var pinEventEventIdUnderlyingReceivedInvocations: [String] = [] + open var pinEventEventIdReceivedInvocations: [String] { + get { pinEventEventIdReceivedInvocationsLock.withLock { pinEventEventIdUnderlyingReceivedInvocations } } + set { pinEventEventIdReceivedInvocationsLock.withLock { pinEventEventIdUnderlyingReceivedInvocations = newValue } } + } + private let pinEventEventIdReturnValueLock = NSLock() open var pinEventEventIdUnderlyingReturnValue: Bool! open var pinEventEventIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return pinEventEventIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = pinEventEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinEventEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - pinEventEventIdUnderlyingReturnValue = newValue - } - } - } + get { pinEventEventIdReturnValueLock.withLock { pinEventEventIdUnderlyingReturnValue } } + set { pinEventEventIdReturnValueLock.withLock { pinEventEventIdUnderlyingReturnValue = newValue } } } open var pinEventEventIdClosure: ((String) async throws -> Bool)? @@ -29087,11 +17056,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = pinEventEventIdThrowableError { throw error } - pinEventEventIdCallsCount += 1 + pinEventEventIdCallsCountLock.withLock { pinEventEventIdUnderlyingCallsCount += 1 } pinEventEventIdReceivedEventId = eventId - DispatchQueue.main.async { - self.pinEventEventIdReceivedInvocations.append(eventId) - } + pinEventEventIdReceivedInvocationsLock.withLock { pinEventEventIdUnderlyingReceivedInvocations.append(eventId) } if let pinEventEventIdClosure = pinEventEventIdClosure { return try await pinEventEventIdClosure(eventId) } else { @@ -29102,147 +17069,101 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - redactEvent open var redactEventEventOrTransactionIdReasonThrowableError: Error? - open var redactEventEventOrTransactionIdReasonUnderlyingCallsCount = 0 + private let redactEventEventOrTransactionIdReasonCallsCountLock = NSLock() + private var redactEventEventOrTransactionIdReasonUnderlyingCallsCount = 0 open var redactEventEventOrTransactionIdReasonCallsCount: Int { - get { - if Thread.isMainThread { - return redactEventEventOrTransactionIdReasonUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = redactEventEventOrTransactionIdReasonUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - redactEventEventOrTransactionIdReasonUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - redactEventEventOrTransactionIdReasonUnderlyingCallsCount = newValue - } - } - } + get { redactEventEventOrTransactionIdReasonCallsCountLock.withLock { redactEventEventOrTransactionIdReasonUnderlyingCallsCount } } + set { redactEventEventOrTransactionIdReasonCallsCountLock.withLock { redactEventEventOrTransactionIdReasonUnderlyingCallsCount = newValue } } } open var redactEventEventOrTransactionIdReasonCalled: Bool { return redactEventEventOrTransactionIdReasonCallsCount > 0 } - open var redactEventEventOrTransactionIdReasonReceivedArguments: (eventOrTransactionId: EventOrTransactionId, reason: String?)? - open var redactEventEventOrTransactionIdReasonReceivedInvocations: [(eventOrTransactionId: EventOrTransactionId, reason: String?)] = [] + private let redactEventEventOrTransactionIdReasonReceivedArgumentsLock = NSLock() + private var redactEventEventOrTransactionIdReasonUnderlyingReceivedArguments: (eventOrTransactionId: EventOrTransactionId, reason: String?)? + open var redactEventEventOrTransactionIdReasonReceivedArguments: (eventOrTransactionId: EventOrTransactionId, reason: String?)? { + get { redactEventEventOrTransactionIdReasonReceivedArgumentsLock.withLock { redactEventEventOrTransactionIdReasonUnderlyingReceivedArguments } } + set { redactEventEventOrTransactionIdReasonReceivedArgumentsLock.withLock { redactEventEventOrTransactionIdReasonUnderlyingReceivedArguments = newValue } } + } + private let redactEventEventOrTransactionIdReasonReceivedInvocationsLock = NSLock() + private var redactEventEventOrTransactionIdReasonUnderlyingReceivedInvocations: [(eventOrTransactionId: EventOrTransactionId, reason: String?)] = [] + open var redactEventEventOrTransactionIdReasonReceivedInvocations: [(eventOrTransactionId: EventOrTransactionId, reason: String?)] { + get { redactEventEventOrTransactionIdReasonReceivedInvocationsLock.withLock { redactEventEventOrTransactionIdReasonUnderlyingReceivedInvocations } } + set { redactEventEventOrTransactionIdReasonReceivedInvocationsLock.withLock { redactEventEventOrTransactionIdReasonUnderlyingReceivedInvocations = newValue } } + } open var redactEventEventOrTransactionIdReasonClosure: ((EventOrTransactionId, String?) async throws -> Void)? open override func redactEvent(eventOrTransactionId: EventOrTransactionId, reason: String?) async throws { if let error = redactEventEventOrTransactionIdReasonThrowableError { throw error } - redactEventEventOrTransactionIdReasonCallsCount += 1 + redactEventEventOrTransactionIdReasonCallsCountLock.withLock { redactEventEventOrTransactionIdReasonUnderlyingCallsCount += 1 } redactEventEventOrTransactionIdReasonReceivedArguments = (eventOrTransactionId: eventOrTransactionId, reason: reason) - DispatchQueue.main.async { - self.redactEventEventOrTransactionIdReasonReceivedInvocations.append((eventOrTransactionId: eventOrTransactionId, reason: reason)) - } + redactEventEventOrTransactionIdReasonReceivedInvocationsLock.withLock { redactEventEventOrTransactionIdReasonUnderlyingReceivedInvocations.append((eventOrTransactionId: eventOrTransactionId, reason: reason)) } try await redactEventEventOrTransactionIdReasonClosure?(eventOrTransactionId, reason) } //MARK: - retryDecryption - open var retryDecryptionSessionIdsUnderlyingCallsCount = 0 + private let retryDecryptionSessionIdsCallsCountLock = NSLock() + private var retryDecryptionSessionIdsUnderlyingCallsCount = 0 open var retryDecryptionSessionIdsCallsCount: Int { - get { - if Thread.isMainThread { - return retryDecryptionSessionIdsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = retryDecryptionSessionIdsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - retryDecryptionSessionIdsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - retryDecryptionSessionIdsUnderlyingCallsCount = newValue - } - } - } + get { retryDecryptionSessionIdsCallsCountLock.withLock { retryDecryptionSessionIdsUnderlyingCallsCount } } + set { retryDecryptionSessionIdsCallsCountLock.withLock { retryDecryptionSessionIdsUnderlyingCallsCount = newValue } } } open var retryDecryptionSessionIdsCalled: Bool { return retryDecryptionSessionIdsCallsCount > 0 } - open var retryDecryptionSessionIdsReceivedSessionIds: [String]? - open var retryDecryptionSessionIdsReceivedInvocations: [[String]] = [] + private let retryDecryptionSessionIdsReceivedSessionIdsLock = NSLock() + private var retryDecryptionSessionIdsUnderlyingReceivedSessionIds: [String]? + open var retryDecryptionSessionIdsReceivedSessionIds: [String]? { + get { retryDecryptionSessionIdsReceivedSessionIdsLock.withLock { retryDecryptionSessionIdsUnderlyingReceivedSessionIds } } + set { retryDecryptionSessionIdsReceivedSessionIdsLock.withLock { retryDecryptionSessionIdsUnderlyingReceivedSessionIds = newValue } } + } + private let retryDecryptionSessionIdsReceivedInvocationsLock = NSLock() + private var retryDecryptionSessionIdsUnderlyingReceivedInvocations: [[String]] = [] + open var retryDecryptionSessionIdsReceivedInvocations: [[String]] { + get { retryDecryptionSessionIdsReceivedInvocationsLock.withLock { retryDecryptionSessionIdsUnderlyingReceivedInvocations } } + set { retryDecryptionSessionIdsReceivedInvocationsLock.withLock { retryDecryptionSessionIdsUnderlyingReceivedInvocations = newValue } } + } open var retryDecryptionSessionIdsClosure: (([String]) -> Void)? open override func retryDecryption(sessionIds: [String]) { - retryDecryptionSessionIdsCallsCount += 1 + retryDecryptionSessionIdsCallsCountLock.withLock { retryDecryptionSessionIdsUnderlyingCallsCount += 1 } retryDecryptionSessionIdsReceivedSessionIds = sessionIds - DispatchQueue.main.async { - self.retryDecryptionSessionIdsReceivedInvocations.append(sessionIds) - } + retryDecryptionSessionIdsReceivedInvocationsLock.withLock { retryDecryptionSessionIdsUnderlyingReceivedInvocations.append(sessionIds) } retryDecryptionSessionIdsClosure?(sessionIds) } //MARK: - send open var sendMsgThrowableError: Error? - open var sendMsgUnderlyingCallsCount = 0 + private let sendMsgCallsCountLock = NSLock() + private var sendMsgUnderlyingCallsCount = 0 open var sendMsgCallsCount: Int { - get { - if Thread.isMainThread { - return sendMsgUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendMsgUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMsgUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendMsgUnderlyingCallsCount = newValue - } - } - } + get { sendMsgCallsCountLock.withLock { sendMsgUnderlyingCallsCount } } + set { sendMsgCallsCountLock.withLock { sendMsgUnderlyingCallsCount = newValue } } } open var sendMsgCalled: Bool { return sendMsgCallsCount > 0 } - open var sendMsgReceivedMsg: RoomMessageEventContentWithoutRelation? - open var sendMsgReceivedInvocations: [RoomMessageEventContentWithoutRelation] = [] + private let sendMsgReceivedMsgLock = NSLock() + private var sendMsgUnderlyingReceivedMsg: RoomMessageEventContentWithoutRelation? + open var sendMsgReceivedMsg: RoomMessageEventContentWithoutRelation? { + get { sendMsgReceivedMsgLock.withLock { sendMsgUnderlyingReceivedMsg } } + set { sendMsgReceivedMsgLock.withLock { sendMsgUnderlyingReceivedMsg = newValue } } + } + private let sendMsgReceivedInvocationsLock = NSLock() + private var sendMsgUnderlyingReceivedInvocations: [RoomMessageEventContentWithoutRelation] = [] + open var sendMsgReceivedInvocations: [RoomMessageEventContentWithoutRelation] { + get { sendMsgReceivedInvocationsLock.withLock { sendMsgUnderlyingReceivedInvocations } } + set { sendMsgReceivedInvocationsLock.withLock { sendMsgUnderlyingReceivedInvocations = newValue } } + } + private let sendMsgReturnValueLock = NSLock() open var sendMsgUnderlyingReturnValue: SendHandle! open var sendMsgReturnValue: SendHandle! { - get { - if Thread.isMainThread { - return sendMsgUnderlyingReturnValue - } else { - var returnValue: SendHandle? = nil - DispatchQueue.main.sync { - returnValue = sendMsgUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMsgUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendMsgUnderlyingReturnValue = newValue - } - } - } + get { sendMsgReturnValueLock.withLock { sendMsgUnderlyingReturnValue } } + set { sendMsgReturnValueLock.withLock { sendMsgUnderlyingReturnValue = newValue } } } open var sendMsgClosure: ((RoomMessageEventContentWithoutRelation) async throws -> SendHandle)? @@ -29250,11 +17171,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = sendMsgThrowableError { throw error } - sendMsgCallsCount += 1 + sendMsgCallsCountLock.withLock { sendMsgUnderlyingCallsCount += 1 } sendMsgReceivedMsg = msg - DispatchQueue.main.async { - self.sendMsgReceivedInvocations.append(msg) - } + sendMsgReceivedInvocationsLock.withLock { sendMsgUnderlyingReceivedInvocations.append(msg) } if let sendMsgClosure = sendMsgClosure { return try await sendMsgClosure(msg) } else { @@ -29265,59 +17184,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - sendAudio open var sendAudioParamsAudioInfoThrowableError: Error? - open var sendAudioParamsAudioInfoUnderlyingCallsCount = 0 + private let sendAudioParamsAudioInfoCallsCountLock = NSLock() + private var sendAudioParamsAudioInfoUnderlyingCallsCount = 0 open var sendAudioParamsAudioInfoCallsCount: Int { - get { - if Thread.isMainThread { - return sendAudioParamsAudioInfoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendAudioParamsAudioInfoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendAudioParamsAudioInfoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendAudioParamsAudioInfoUnderlyingCallsCount = newValue - } - } - } + get { sendAudioParamsAudioInfoCallsCountLock.withLock { sendAudioParamsAudioInfoUnderlyingCallsCount } } + set { sendAudioParamsAudioInfoCallsCountLock.withLock { sendAudioParamsAudioInfoUnderlyingCallsCount = newValue } } } open var sendAudioParamsAudioInfoCalled: Bool { return sendAudioParamsAudioInfoCallsCount > 0 } - open var sendAudioParamsAudioInfoReceivedArguments: (params: UploadParameters, audioInfo: AudioInfo)? - open var sendAudioParamsAudioInfoReceivedInvocations: [(params: UploadParameters, audioInfo: AudioInfo)] = [] + private let sendAudioParamsAudioInfoReceivedArgumentsLock = NSLock() + private var sendAudioParamsAudioInfoUnderlyingReceivedArguments: (params: UploadParameters, audioInfo: AudioInfo)? + open var sendAudioParamsAudioInfoReceivedArguments: (params: UploadParameters, audioInfo: AudioInfo)? { + get { sendAudioParamsAudioInfoReceivedArgumentsLock.withLock { sendAudioParamsAudioInfoUnderlyingReceivedArguments } } + set { sendAudioParamsAudioInfoReceivedArgumentsLock.withLock { sendAudioParamsAudioInfoUnderlyingReceivedArguments = newValue } } + } + private let sendAudioParamsAudioInfoReceivedInvocationsLock = NSLock() + private var sendAudioParamsAudioInfoUnderlyingReceivedInvocations: [(params: UploadParameters, audioInfo: AudioInfo)] = [] + open var sendAudioParamsAudioInfoReceivedInvocations: [(params: UploadParameters, audioInfo: AudioInfo)] { + get { sendAudioParamsAudioInfoReceivedInvocationsLock.withLock { sendAudioParamsAudioInfoUnderlyingReceivedInvocations } } + set { sendAudioParamsAudioInfoReceivedInvocationsLock.withLock { sendAudioParamsAudioInfoUnderlyingReceivedInvocations = newValue } } + } + private let sendAudioParamsAudioInfoReturnValueLock = NSLock() open var sendAudioParamsAudioInfoUnderlyingReturnValue: SendAttachmentJoinHandle! open var sendAudioParamsAudioInfoReturnValue: SendAttachmentJoinHandle! { - get { - if Thread.isMainThread { - return sendAudioParamsAudioInfoUnderlyingReturnValue - } else { - var returnValue: SendAttachmentJoinHandle? = nil - DispatchQueue.main.sync { - returnValue = sendAudioParamsAudioInfoUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendAudioParamsAudioInfoUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendAudioParamsAudioInfoUnderlyingReturnValue = newValue - } - } - } + get { sendAudioParamsAudioInfoReturnValueLock.withLock { sendAudioParamsAudioInfoUnderlyingReturnValue } } + set { sendAudioParamsAudioInfoReturnValueLock.withLock { sendAudioParamsAudioInfoUnderlyingReturnValue = newValue } } } open var sendAudioParamsAudioInfoClosure: ((UploadParameters, AudioInfo) throws -> SendAttachmentJoinHandle)? @@ -29325,11 +17218,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = sendAudioParamsAudioInfoThrowableError { throw error } - sendAudioParamsAudioInfoCallsCount += 1 + sendAudioParamsAudioInfoCallsCountLock.withLock { sendAudioParamsAudioInfoUnderlyingCallsCount += 1 } sendAudioParamsAudioInfoReceivedArguments = (params: params, audioInfo: audioInfo) - DispatchQueue.main.async { - self.sendAudioParamsAudioInfoReceivedInvocations.append((params: params, audioInfo: audioInfo)) - } + sendAudioParamsAudioInfoReceivedInvocationsLock.withLock { sendAudioParamsAudioInfoUnderlyingReceivedInvocations.append((params: params, audioInfo: audioInfo)) } if let sendAudioParamsAudioInfoClosure = sendAudioParamsAudioInfoClosure { return try sendAudioParamsAudioInfoClosure(params, audioInfo) } else { @@ -29340,59 +17231,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - sendFile open var sendFileParamsFileInfoThrowableError: Error? - open var sendFileParamsFileInfoUnderlyingCallsCount = 0 + private let sendFileParamsFileInfoCallsCountLock = NSLock() + private var sendFileParamsFileInfoUnderlyingCallsCount = 0 open var sendFileParamsFileInfoCallsCount: Int { - get { - if Thread.isMainThread { - return sendFileParamsFileInfoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendFileParamsFileInfoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendFileParamsFileInfoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendFileParamsFileInfoUnderlyingCallsCount = newValue - } - } - } + get { sendFileParamsFileInfoCallsCountLock.withLock { sendFileParamsFileInfoUnderlyingCallsCount } } + set { sendFileParamsFileInfoCallsCountLock.withLock { sendFileParamsFileInfoUnderlyingCallsCount = newValue } } } open var sendFileParamsFileInfoCalled: Bool { return sendFileParamsFileInfoCallsCount > 0 } - open var sendFileParamsFileInfoReceivedArguments: (params: UploadParameters, fileInfo: FileInfo)? - open var sendFileParamsFileInfoReceivedInvocations: [(params: UploadParameters, fileInfo: FileInfo)] = [] + private let sendFileParamsFileInfoReceivedArgumentsLock = NSLock() + private var sendFileParamsFileInfoUnderlyingReceivedArguments: (params: UploadParameters, fileInfo: FileInfo)? + open var sendFileParamsFileInfoReceivedArguments: (params: UploadParameters, fileInfo: FileInfo)? { + get { sendFileParamsFileInfoReceivedArgumentsLock.withLock { sendFileParamsFileInfoUnderlyingReceivedArguments } } + set { sendFileParamsFileInfoReceivedArgumentsLock.withLock { sendFileParamsFileInfoUnderlyingReceivedArguments = newValue } } + } + private let sendFileParamsFileInfoReceivedInvocationsLock = NSLock() + private var sendFileParamsFileInfoUnderlyingReceivedInvocations: [(params: UploadParameters, fileInfo: FileInfo)] = [] + open var sendFileParamsFileInfoReceivedInvocations: [(params: UploadParameters, fileInfo: FileInfo)] { + get { sendFileParamsFileInfoReceivedInvocationsLock.withLock { sendFileParamsFileInfoUnderlyingReceivedInvocations } } + set { sendFileParamsFileInfoReceivedInvocationsLock.withLock { sendFileParamsFileInfoUnderlyingReceivedInvocations = newValue } } + } + private let sendFileParamsFileInfoReturnValueLock = NSLock() open var sendFileParamsFileInfoUnderlyingReturnValue: SendAttachmentJoinHandle! open var sendFileParamsFileInfoReturnValue: SendAttachmentJoinHandle! { - get { - if Thread.isMainThread { - return sendFileParamsFileInfoUnderlyingReturnValue - } else { - var returnValue: SendAttachmentJoinHandle? = nil - DispatchQueue.main.sync { - returnValue = sendFileParamsFileInfoUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendFileParamsFileInfoUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendFileParamsFileInfoUnderlyingReturnValue = newValue - } - } - } + get { sendFileParamsFileInfoReturnValueLock.withLock { sendFileParamsFileInfoUnderlyingReturnValue } } + set { sendFileParamsFileInfoReturnValueLock.withLock { sendFileParamsFileInfoUnderlyingReturnValue = newValue } } } open var sendFileParamsFileInfoClosure: ((UploadParameters, FileInfo) throws -> SendAttachmentJoinHandle)? @@ -29400,11 +17265,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = sendFileParamsFileInfoThrowableError { throw error } - sendFileParamsFileInfoCallsCount += 1 + sendFileParamsFileInfoCallsCountLock.withLock { sendFileParamsFileInfoUnderlyingCallsCount += 1 } sendFileParamsFileInfoReceivedArguments = (params: params, fileInfo: fileInfo) - DispatchQueue.main.async { - self.sendFileParamsFileInfoReceivedInvocations.append((params: params, fileInfo: fileInfo)) - } + sendFileParamsFileInfoReceivedInvocationsLock.withLock { sendFileParamsFileInfoUnderlyingReceivedInvocations.append((params: params, fileInfo: fileInfo)) } if let sendFileParamsFileInfoClosure = sendFileParamsFileInfoClosure { return try sendFileParamsFileInfoClosure(params, fileInfo) } else { @@ -29415,59 +17278,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - sendImage open var sendImageParamsThumbnailSourceImageInfoThrowableError: Error? - open var sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount = 0 + private let sendImageParamsThumbnailSourceImageInfoCallsCountLock = NSLock() + private var sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount = 0 open var sendImageParamsThumbnailSourceImageInfoCallsCount: Int { - get { - if Thread.isMainThread { - return sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount = newValue - } - } - } + get { sendImageParamsThumbnailSourceImageInfoCallsCountLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount } } + set { sendImageParamsThumbnailSourceImageInfoCallsCountLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount = newValue } } } open var sendImageParamsThumbnailSourceImageInfoCalled: Bool { return sendImageParamsThumbnailSourceImageInfoCallsCount > 0 } - open var sendImageParamsThumbnailSourceImageInfoReceivedArguments: (params: UploadParameters, thumbnailSource: UploadSource?, imageInfo: ImageInfo)? - open var sendImageParamsThumbnailSourceImageInfoReceivedInvocations: [(params: UploadParameters, thumbnailSource: UploadSource?, imageInfo: ImageInfo)] = [] + private let sendImageParamsThumbnailSourceImageInfoReceivedArgumentsLock = NSLock() + private var sendImageParamsThumbnailSourceImageInfoUnderlyingReceivedArguments: (params: UploadParameters, thumbnailSource: UploadSource?, imageInfo: ImageInfo)? + open var sendImageParamsThumbnailSourceImageInfoReceivedArguments: (params: UploadParameters, thumbnailSource: UploadSource?, imageInfo: ImageInfo)? { + get { sendImageParamsThumbnailSourceImageInfoReceivedArgumentsLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingReceivedArguments } } + set { sendImageParamsThumbnailSourceImageInfoReceivedArgumentsLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingReceivedArguments = newValue } } + } + private let sendImageParamsThumbnailSourceImageInfoReceivedInvocationsLock = NSLock() + private var sendImageParamsThumbnailSourceImageInfoUnderlyingReceivedInvocations: [(params: UploadParameters, thumbnailSource: UploadSource?, imageInfo: ImageInfo)] = [] + open var sendImageParamsThumbnailSourceImageInfoReceivedInvocations: [(params: UploadParameters, thumbnailSource: UploadSource?, imageInfo: ImageInfo)] { + get { sendImageParamsThumbnailSourceImageInfoReceivedInvocationsLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingReceivedInvocations } } + set { sendImageParamsThumbnailSourceImageInfoReceivedInvocationsLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingReceivedInvocations = newValue } } + } + private let sendImageParamsThumbnailSourceImageInfoReturnValueLock = NSLock() open var sendImageParamsThumbnailSourceImageInfoUnderlyingReturnValue: SendAttachmentJoinHandle! open var sendImageParamsThumbnailSourceImageInfoReturnValue: SendAttachmentJoinHandle! { - get { - if Thread.isMainThread { - return sendImageParamsThumbnailSourceImageInfoUnderlyingReturnValue - } else { - var returnValue: SendAttachmentJoinHandle? = nil - DispatchQueue.main.sync { - returnValue = sendImageParamsThumbnailSourceImageInfoUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendImageParamsThumbnailSourceImageInfoUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendImageParamsThumbnailSourceImageInfoUnderlyingReturnValue = newValue - } - } - } + get { sendImageParamsThumbnailSourceImageInfoReturnValueLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingReturnValue } } + set { sendImageParamsThumbnailSourceImageInfoReturnValueLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingReturnValue = newValue } } } open var sendImageParamsThumbnailSourceImageInfoClosure: ((UploadParameters, UploadSource?, ImageInfo) throws -> SendAttachmentJoinHandle)? @@ -29475,11 +17312,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = sendImageParamsThumbnailSourceImageInfoThrowableError { throw error } - sendImageParamsThumbnailSourceImageInfoCallsCount += 1 + sendImageParamsThumbnailSourceImageInfoCallsCountLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingCallsCount += 1 } sendImageParamsThumbnailSourceImageInfoReceivedArguments = (params: params, thumbnailSource: thumbnailSource, imageInfo: imageInfo) - DispatchQueue.main.async { - self.sendImageParamsThumbnailSourceImageInfoReceivedInvocations.append((params: params, thumbnailSource: thumbnailSource, imageInfo: imageInfo)) - } + sendImageParamsThumbnailSourceImageInfoReceivedInvocationsLock.withLock { sendImageParamsThumbnailSourceImageInfoUnderlyingReceivedInvocations.append((params: params, thumbnailSource: thumbnailSource, imageInfo: imageInfo)) } if let sendImageParamsThumbnailSourceImageInfoClosure = sendImageParamsThumbnailSourceImageInfoClosure { return try sendImageParamsThumbnailSourceImageInfoClosure(params, thumbnailSource, imageInfo) } else { @@ -29490,243 +17325,177 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - sendLocation open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdThrowableError: Error? - open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount = 0 + private let sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdCallsCountLock = NSLock() + private var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount = 0 open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount = newValue - } - } - } + get { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdCallsCountLock.withLock { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount } } + set { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdCallsCountLock.withLock { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount = newValue } } } open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdCalled: Bool { return sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdCallsCount > 0 } - open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedArguments: (body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, repliedToEventId: String?)? - open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedInvocations: [(body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, repliedToEventId: String?)] = [] + private let sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedArgumentsLock = NSLock() + private var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingReceivedArguments: (body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, repliedToEventId: String?)? + open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedArguments: (body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, repliedToEventId: String?)? { + get { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedArgumentsLock.withLock { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingReceivedArguments } } + set { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedArgumentsLock.withLock { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingReceivedArguments = newValue } } + } + private let sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedInvocationsLock = NSLock() + private var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingReceivedInvocations: [(body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, repliedToEventId: String?)] = [] + open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedInvocations: [(body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, repliedToEventId: String?)] { + get { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedInvocationsLock.withLock { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingReceivedInvocations } } + set { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedInvocationsLock.withLock { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingReceivedInvocations = newValue } } + } open var sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdClosure: ((String, String, String?, UInt8?, AssetType?, String?) async throws -> Void)? open override func sendLocation(body: String, geoUri: String, description: String?, zoomLevel: UInt8?, assetType: AssetType?, repliedToEventId: String?) async throws { if let error = sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdThrowableError { throw error } - sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdCallsCount += 1 + sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdCallsCountLock.withLock { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingCallsCount += 1 } sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedArguments = (body: body, geoUri: geoUri, description: description, zoomLevel: zoomLevel, assetType: assetType, repliedToEventId: repliedToEventId) - DispatchQueue.main.async { - self.sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedInvocations.append((body: body, geoUri: geoUri, description: description, zoomLevel: zoomLevel, assetType: assetType, repliedToEventId: repliedToEventId)) - } + sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdReceivedInvocationsLock.withLock { sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdUnderlyingReceivedInvocations.append((body: body, geoUri: geoUri, description: description, zoomLevel: zoomLevel, assetType: assetType, repliedToEventId: repliedToEventId)) } try await sendLocationBodyGeoUriDescriptionZoomLevelAssetTypeRepliedToEventIdClosure?(body, geoUri, description, zoomLevel, assetType, repliedToEventId) } //MARK: - sendPollResponse open var sendPollResponsePollStartEventIdAnswersThrowableError: Error? - open var sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount = 0 + private let sendPollResponsePollStartEventIdAnswersCallsCountLock = NSLock() + private var sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount = 0 open var sendPollResponsePollStartEventIdAnswersCallsCount: Int { - get { - if Thread.isMainThread { - return sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount = newValue - } - } - } + get { sendPollResponsePollStartEventIdAnswersCallsCountLock.withLock { sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount } } + set { sendPollResponsePollStartEventIdAnswersCallsCountLock.withLock { sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount = newValue } } } open var sendPollResponsePollStartEventIdAnswersCalled: Bool { return sendPollResponsePollStartEventIdAnswersCallsCount > 0 } - open var sendPollResponsePollStartEventIdAnswersReceivedArguments: (pollStartEventId: String, answers: [String])? - open var sendPollResponsePollStartEventIdAnswersReceivedInvocations: [(pollStartEventId: String, answers: [String])] = [] + private let sendPollResponsePollStartEventIdAnswersReceivedArgumentsLock = NSLock() + private var sendPollResponsePollStartEventIdAnswersUnderlyingReceivedArguments: (pollStartEventId: String, answers: [String])? + open var sendPollResponsePollStartEventIdAnswersReceivedArguments: (pollStartEventId: String, answers: [String])? { + get { sendPollResponsePollStartEventIdAnswersReceivedArgumentsLock.withLock { sendPollResponsePollStartEventIdAnswersUnderlyingReceivedArguments } } + set { sendPollResponsePollStartEventIdAnswersReceivedArgumentsLock.withLock { sendPollResponsePollStartEventIdAnswersUnderlyingReceivedArguments = newValue } } + } + private let sendPollResponsePollStartEventIdAnswersReceivedInvocationsLock = NSLock() + private var sendPollResponsePollStartEventIdAnswersUnderlyingReceivedInvocations: [(pollStartEventId: String, answers: [String])] = [] + open var sendPollResponsePollStartEventIdAnswersReceivedInvocations: [(pollStartEventId: String, answers: [String])] { + get { sendPollResponsePollStartEventIdAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartEventIdAnswersUnderlyingReceivedInvocations } } + set { sendPollResponsePollStartEventIdAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartEventIdAnswersUnderlyingReceivedInvocations = newValue } } + } open var sendPollResponsePollStartEventIdAnswersClosure: ((String, [String]) async throws -> Void)? open override func sendPollResponse(pollStartEventId: String, answers: [String]) async throws { if let error = sendPollResponsePollStartEventIdAnswersThrowableError { throw error } - sendPollResponsePollStartEventIdAnswersCallsCount += 1 + sendPollResponsePollStartEventIdAnswersCallsCountLock.withLock { sendPollResponsePollStartEventIdAnswersUnderlyingCallsCount += 1 } sendPollResponsePollStartEventIdAnswersReceivedArguments = (pollStartEventId: pollStartEventId, answers: answers) - DispatchQueue.main.async { - self.sendPollResponsePollStartEventIdAnswersReceivedInvocations.append((pollStartEventId: pollStartEventId, answers: answers)) - } + sendPollResponsePollStartEventIdAnswersReceivedInvocationsLock.withLock { sendPollResponsePollStartEventIdAnswersUnderlyingReceivedInvocations.append((pollStartEventId: pollStartEventId, answers: answers)) } try await sendPollResponsePollStartEventIdAnswersClosure?(pollStartEventId, answers) } //MARK: - sendReadReceipt open var sendReadReceiptReceiptTypeEventIdThrowableError: Error? - open var sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount = 0 + private let sendReadReceiptReceiptTypeEventIdCallsCountLock = NSLock() + private var sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount = 0 open var sendReadReceiptReceiptTypeEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount = newValue - } - } - } + get { sendReadReceiptReceiptTypeEventIdCallsCountLock.withLock { sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount } } + set { sendReadReceiptReceiptTypeEventIdCallsCountLock.withLock { sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount = newValue } } } open var sendReadReceiptReceiptTypeEventIdCalled: Bool { return sendReadReceiptReceiptTypeEventIdCallsCount > 0 } - open var sendReadReceiptReceiptTypeEventIdReceivedArguments: (receiptType: ReceiptType, eventId: String)? - open var sendReadReceiptReceiptTypeEventIdReceivedInvocations: [(receiptType: ReceiptType, eventId: String)] = [] + private let sendReadReceiptReceiptTypeEventIdReceivedArgumentsLock = NSLock() + private var sendReadReceiptReceiptTypeEventIdUnderlyingReceivedArguments: (receiptType: ReceiptType, eventId: String)? + open var sendReadReceiptReceiptTypeEventIdReceivedArguments: (receiptType: ReceiptType, eventId: String)? { + get { sendReadReceiptReceiptTypeEventIdReceivedArgumentsLock.withLock { sendReadReceiptReceiptTypeEventIdUnderlyingReceivedArguments } } + set { sendReadReceiptReceiptTypeEventIdReceivedArgumentsLock.withLock { sendReadReceiptReceiptTypeEventIdUnderlyingReceivedArguments = newValue } } + } + private let sendReadReceiptReceiptTypeEventIdReceivedInvocationsLock = NSLock() + private var sendReadReceiptReceiptTypeEventIdUnderlyingReceivedInvocations: [(receiptType: ReceiptType, eventId: String)] = [] + open var sendReadReceiptReceiptTypeEventIdReceivedInvocations: [(receiptType: ReceiptType, eventId: String)] { + get { sendReadReceiptReceiptTypeEventIdReceivedInvocationsLock.withLock { sendReadReceiptReceiptTypeEventIdUnderlyingReceivedInvocations } } + set { sendReadReceiptReceiptTypeEventIdReceivedInvocationsLock.withLock { sendReadReceiptReceiptTypeEventIdUnderlyingReceivedInvocations = newValue } } + } open var sendReadReceiptReceiptTypeEventIdClosure: ((ReceiptType, String) async throws -> Void)? open override func sendReadReceipt(receiptType: ReceiptType, eventId: String) async throws { if let error = sendReadReceiptReceiptTypeEventIdThrowableError { throw error } - sendReadReceiptReceiptTypeEventIdCallsCount += 1 + sendReadReceiptReceiptTypeEventIdCallsCountLock.withLock { sendReadReceiptReceiptTypeEventIdUnderlyingCallsCount += 1 } sendReadReceiptReceiptTypeEventIdReceivedArguments = (receiptType: receiptType, eventId: eventId) - DispatchQueue.main.async { - self.sendReadReceiptReceiptTypeEventIdReceivedInvocations.append((receiptType: receiptType, eventId: eventId)) - } + sendReadReceiptReceiptTypeEventIdReceivedInvocationsLock.withLock { sendReadReceiptReceiptTypeEventIdUnderlyingReceivedInvocations.append((receiptType: receiptType, eventId: eventId)) } try await sendReadReceiptReceiptTypeEventIdClosure?(receiptType, eventId) } //MARK: - sendReply open var sendReplyMsgEventIdThrowableError: Error? - open var sendReplyMsgEventIdUnderlyingCallsCount = 0 + private let sendReplyMsgEventIdCallsCountLock = NSLock() + private var sendReplyMsgEventIdUnderlyingCallsCount = 0 open var sendReplyMsgEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return sendReplyMsgEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendReplyMsgEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendReplyMsgEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendReplyMsgEventIdUnderlyingCallsCount = newValue - } - } - } + get { sendReplyMsgEventIdCallsCountLock.withLock { sendReplyMsgEventIdUnderlyingCallsCount } } + set { sendReplyMsgEventIdCallsCountLock.withLock { sendReplyMsgEventIdUnderlyingCallsCount = newValue } } } open var sendReplyMsgEventIdCalled: Bool { return sendReplyMsgEventIdCallsCount > 0 } - open var sendReplyMsgEventIdReceivedArguments: (msg: RoomMessageEventContentWithoutRelation, eventId: String)? - open var sendReplyMsgEventIdReceivedInvocations: [(msg: RoomMessageEventContentWithoutRelation, eventId: String)] = [] + private let sendReplyMsgEventIdReceivedArgumentsLock = NSLock() + private var sendReplyMsgEventIdUnderlyingReceivedArguments: (msg: RoomMessageEventContentWithoutRelation, eventId: String)? + open var sendReplyMsgEventIdReceivedArguments: (msg: RoomMessageEventContentWithoutRelation, eventId: String)? { + get { sendReplyMsgEventIdReceivedArgumentsLock.withLock { sendReplyMsgEventIdUnderlyingReceivedArguments } } + set { sendReplyMsgEventIdReceivedArgumentsLock.withLock { sendReplyMsgEventIdUnderlyingReceivedArguments = newValue } } + } + private let sendReplyMsgEventIdReceivedInvocationsLock = NSLock() + private var sendReplyMsgEventIdUnderlyingReceivedInvocations: [(msg: RoomMessageEventContentWithoutRelation, eventId: String)] = [] + open var sendReplyMsgEventIdReceivedInvocations: [(msg: RoomMessageEventContentWithoutRelation, eventId: String)] { + get { sendReplyMsgEventIdReceivedInvocationsLock.withLock { sendReplyMsgEventIdUnderlyingReceivedInvocations } } + set { sendReplyMsgEventIdReceivedInvocationsLock.withLock { sendReplyMsgEventIdUnderlyingReceivedInvocations = newValue } } + } open var sendReplyMsgEventIdClosure: ((RoomMessageEventContentWithoutRelation, String) async throws -> Void)? open override func sendReply(msg: RoomMessageEventContentWithoutRelation, eventId: String) async throws { if let error = sendReplyMsgEventIdThrowableError { throw error } - sendReplyMsgEventIdCallsCount += 1 + sendReplyMsgEventIdCallsCountLock.withLock { sendReplyMsgEventIdUnderlyingCallsCount += 1 } sendReplyMsgEventIdReceivedArguments = (msg: msg, eventId: eventId) - DispatchQueue.main.async { - self.sendReplyMsgEventIdReceivedInvocations.append((msg: msg, eventId: eventId)) - } + sendReplyMsgEventIdReceivedInvocationsLock.withLock { sendReplyMsgEventIdUnderlyingReceivedInvocations.append((msg: msg, eventId: eventId)) } try await sendReplyMsgEventIdClosure?(msg, eventId) } //MARK: - sendVideo open var sendVideoParamsThumbnailSourceVideoInfoThrowableError: Error? - open var sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount = 0 + private let sendVideoParamsThumbnailSourceVideoInfoCallsCountLock = NSLock() + private var sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount = 0 open var sendVideoParamsThumbnailSourceVideoInfoCallsCount: Int { - get { - if Thread.isMainThread { - return sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount = newValue - } - } - } + get { sendVideoParamsThumbnailSourceVideoInfoCallsCountLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount } } + set { sendVideoParamsThumbnailSourceVideoInfoCallsCountLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount = newValue } } } open var sendVideoParamsThumbnailSourceVideoInfoCalled: Bool { return sendVideoParamsThumbnailSourceVideoInfoCallsCount > 0 } - open var sendVideoParamsThumbnailSourceVideoInfoReceivedArguments: (params: UploadParameters, thumbnailSource: UploadSource?, videoInfo: VideoInfo)? - open var sendVideoParamsThumbnailSourceVideoInfoReceivedInvocations: [(params: UploadParameters, thumbnailSource: UploadSource?, videoInfo: VideoInfo)] = [] + private let sendVideoParamsThumbnailSourceVideoInfoReceivedArgumentsLock = NSLock() + private var sendVideoParamsThumbnailSourceVideoInfoUnderlyingReceivedArguments: (params: UploadParameters, thumbnailSource: UploadSource?, videoInfo: VideoInfo)? + open var sendVideoParamsThumbnailSourceVideoInfoReceivedArguments: (params: UploadParameters, thumbnailSource: UploadSource?, videoInfo: VideoInfo)? { + get { sendVideoParamsThumbnailSourceVideoInfoReceivedArgumentsLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingReceivedArguments } } + set { sendVideoParamsThumbnailSourceVideoInfoReceivedArgumentsLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingReceivedArguments = newValue } } + } + private let sendVideoParamsThumbnailSourceVideoInfoReceivedInvocationsLock = NSLock() + private var sendVideoParamsThumbnailSourceVideoInfoUnderlyingReceivedInvocations: [(params: UploadParameters, thumbnailSource: UploadSource?, videoInfo: VideoInfo)] = [] + open var sendVideoParamsThumbnailSourceVideoInfoReceivedInvocations: [(params: UploadParameters, thumbnailSource: UploadSource?, videoInfo: VideoInfo)] { + get { sendVideoParamsThumbnailSourceVideoInfoReceivedInvocationsLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingReceivedInvocations } } + set { sendVideoParamsThumbnailSourceVideoInfoReceivedInvocationsLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingReceivedInvocations = newValue } } + } + private let sendVideoParamsThumbnailSourceVideoInfoReturnValueLock = NSLock() open var sendVideoParamsThumbnailSourceVideoInfoUnderlyingReturnValue: SendAttachmentJoinHandle! open var sendVideoParamsThumbnailSourceVideoInfoReturnValue: SendAttachmentJoinHandle! { - get { - if Thread.isMainThread { - return sendVideoParamsThumbnailSourceVideoInfoUnderlyingReturnValue - } else { - var returnValue: SendAttachmentJoinHandle? = nil - DispatchQueue.main.sync { - returnValue = sendVideoParamsThumbnailSourceVideoInfoUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVideoParamsThumbnailSourceVideoInfoUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendVideoParamsThumbnailSourceVideoInfoUnderlyingReturnValue = newValue - } - } - } + get { sendVideoParamsThumbnailSourceVideoInfoReturnValueLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingReturnValue } } + set { sendVideoParamsThumbnailSourceVideoInfoReturnValueLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingReturnValue = newValue } } } open var sendVideoParamsThumbnailSourceVideoInfoClosure: ((UploadParameters, UploadSource?, VideoInfo) throws -> SendAttachmentJoinHandle)? @@ -29734,11 +17503,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = sendVideoParamsThumbnailSourceVideoInfoThrowableError { throw error } - sendVideoParamsThumbnailSourceVideoInfoCallsCount += 1 + sendVideoParamsThumbnailSourceVideoInfoCallsCountLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingCallsCount += 1 } sendVideoParamsThumbnailSourceVideoInfoReceivedArguments = (params: params, thumbnailSource: thumbnailSource, videoInfo: videoInfo) - DispatchQueue.main.async { - self.sendVideoParamsThumbnailSourceVideoInfoReceivedInvocations.append((params: params, thumbnailSource: thumbnailSource, videoInfo: videoInfo)) - } + sendVideoParamsThumbnailSourceVideoInfoReceivedInvocationsLock.withLock { sendVideoParamsThumbnailSourceVideoInfoUnderlyingReceivedInvocations.append((params: params, thumbnailSource: thumbnailSource, videoInfo: videoInfo)) } if let sendVideoParamsThumbnailSourceVideoInfoClosure = sendVideoParamsThumbnailSourceVideoInfoClosure { return try sendVideoParamsThumbnailSourceVideoInfoClosure(params, thumbnailSource, videoInfo) } else { @@ -29749,59 +17516,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - sendVoiceMessage open var sendVoiceMessageParamsAudioInfoWaveformThrowableError: Error? - open var sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount = 0 + private let sendVoiceMessageParamsAudioInfoWaveformCallsCountLock = NSLock() + private var sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount = 0 open var sendVoiceMessageParamsAudioInfoWaveformCallsCount: Int { - get { - if Thread.isMainThread { - return sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount = newValue - } - } - } + get { sendVoiceMessageParamsAudioInfoWaveformCallsCountLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount } } + set { sendVoiceMessageParamsAudioInfoWaveformCallsCountLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount = newValue } } } open var sendVoiceMessageParamsAudioInfoWaveformCalled: Bool { return sendVoiceMessageParamsAudioInfoWaveformCallsCount > 0 } - open var sendVoiceMessageParamsAudioInfoWaveformReceivedArguments: (params: UploadParameters, audioInfo: AudioInfo, waveform: [Float])? - open var sendVoiceMessageParamsAudioInfoWaveformReceivedInvocations: [(params: UploadParameters, audioInfo: AudioInfo, waveform: [Float])] = [] + private let sendVoiceMessageParamsAudioInfoWaveformReceivedArgumentsLock = NSLock() + private var sendVoiceMessageParamsAudioInfoWaveformUnderlyingReceivedArguments: (params: UploadParameters, audioInfo: AudioInfo, waveform: [Float])? + open var sendVoiceMessageParamsAudioInfoWaveformReceivedArguments: (params: UploadParameters, audioInfo: AudioInfo, waveform: [Float])? { + get { sendVoiceMessageParamsAudioInfoWaveformReceivedArgumentsLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingReceivedArguments } } + set { sendVoiceMessageParamsAudioInfoWaveformReceivedArgumentsLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingReceivedArguments = newValue } } + } + private let sendVoiceMessageParamsAudioInfoWaveformReceivedInvocationsLock = NSLock() + private var sendVoiceMessageParamsAudioInfoWaveformUnderlyingReceivedInvocations: [(params: UploadParameters, audioInfo: AudioInfo, waveform: [Float])] = [] + open var sendVoiceMessageParamsAudioInfoWaveformReceivedInvocations: [(params: UploadParameters, audioInfo: AudioInfo, waveform: [Float])] { + get { sendVoiceMessageParamsAudioInfoWaveformReceivedInvocationsLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingReceivedInvocations } } + set { sendVoiceMessageParamsAudioInfoWaveformReceivedInvocationsLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingReceivedInvocations = newValue } } + } + private let sendVoiceMessageParamsAudioInfoWaveformReturnValueLock = NSLock() open var sendVoiceMessageParamsAudioInfoWaveformUnderlyingReturnValue: SendAttachmentJoinHandle! open var sendVoiceMessageParamsAudioInfoWaveformReturnValue: SendAttachmentJoinHandle! { - get { - if Thread.isMainThread { - return sendVoiceMessageParamsAudioInfoWaveformUnderlyingReturnValue - } else { - var returnValue: SendAttachmentJoinHandle? = nil - DispatchQueue.main.sync { - returnValue = sendVoiceMessageParamsAudioInfoWaveformUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendVoiceMessageParamsAudioInfoWaveformUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendVoiceMessageParamsAudioInfoWaveformUnderlyingReturnValue = newValue - } - } - } + get { sendVoiceMessageParamsAudioInfoWaveformReturnValueLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingReturnValue } } + set { sendVoiceMessageParamsAudioInfoWaveformReturnValueLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingReturnValue = newValue } } } open var sendVoiceMessageParamsAudioInfoWaveformClosure: ((UploadParameters, AudioInfo, [Float]) throws -> SendAttachmentJoinHandle)? @@ -29809,11 +17550,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = sendVoiceMessageParamsAudioInfoWaveformThrowableError { throw error } - sendVoiceMessageParamsAudioInfoWaveformCallsCount += 1 + sendVoiceMessageParamsAudioInfoWaveformCallsCountLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingCallsCount += 1 } sendVoiceMessageParamsAudioInfoWaveformReceivedArguments = (params: params, audioInfo: audioInfo, waveform: waveform) - DispatchQueue.main.async { - self.sendVoiceMessageParamsAudioInfoWaveformReceivedInvocations.append((params: params, audioInfo: audioInfo, waveform: waveform)) - } + sendVoiceMessageParamsAudioInfoWaveformReceivedInvocationsLock.withLock { sendVoiceMessageParamsAudioInfoWaveformUnderlyingReceivedInvocations.append((params: params, audioInfo: audioInfo, waveform: waveform)) } if let sendVoiceMessageParamsAudioInfoWaveformClosure = sendVoiceMessageParamsAudioInfoWaveformClosure { return try sendVoiceMessageParamsAudioInfoWaveformClosure(params, audioInfo, waveform) } else { @@ -29824,59 +17563,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - subscribeToBackPaginationStatus open var subscribeToBackPaginationStatusListenerThrowableError: Error? - open var subscribeToBackPaginationStatusListenerUnderlyingCallsCount = 0 + private let subscribeToBackPaginationStatusListenerCallsCountLock = NSLock() + private var subscribeToBackPaginationStatusListenerUnderlyingCallsCount = 0 open var subscribeToBackPaginationStatusListenerCallsCount: Int { - get { - if Thread.isMainThread { - return subscribeToBackPaginationStatusListenerUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = subscribeToBackPaginationStatusListenerUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToBackPaginationStatusListenerUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - subscribeToBackPaginationStatusListenerUnderlyingCallsCount = newValue - } - } - } + get { subscribeToBackPaginationStatusListenerCallsCountLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingCallsCount } } + set { subscribeToBackPaginationStatusListenerCallsCountLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingCallsCount = newValue } } } open var subscribeToBackPaginationStatusListenerCalled: Bool { return subscribeToBackPaginationStatusListenerCallsCount > 0 } - open var subscribeToBackPaginationStatusListenerReceivedListener: PaginationStatusListener? - open var subscribeToBackPaginationStatusListenerReceivedInvocations: [PaginationStatusListener] = [] + private let subscribeToBackPaginationStatusListenerReceivedListenerLock = NSLock() + private var subscribeToBackPaginationStatusListenerUnderlyingReceivedListener: PaginationStatusListener? + open var subscribeToBackPaginationStatusListenerReceivedListener: PaginationStatusListener? { + get { subscribeToBackPaginationStatusListenerReceivedListenerLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingReceivedListener } } + set { subscribeToBackPaginationStatusListenerReceivedListenerLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingReceivedListener = newValue } } + } + private let subscribeToBackPaginationStatusListenerReceivedInvocationsLock = NSLock() + private var subscribeToBackPaginationStatusListenerUnderlyingReceivedInvocations: [PaginationStatusListener] = [] + open var subscribeToBackPaginationStatusListenerReceivedInvocations: [PaginationStatusListener] { + get { subscribeToBackPaginationStatusListenerReceivedInvocationsLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingReceivedInvocations } } + set { subscribeToBackPaginationStatusListenerReceivedInvocationsLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingReceivedInvocations = newValue } } + } + private let subscribeToBackPaginationStatusListenerReturnValueLock = NSLock() open var subscribeToBackPaginationStatusListenerUnderlyingReturnValue: TaskHandle! open var subscribeToBackPaginationStatusListenerReturnValue: TaskHandle! { - get { - if Thread.isMainThread { - return subscribeToBackPaginationStatusListenerUnderlyingReturnValue - } else { - var returnValue: TaskHandle? = nil - DispatchQueue.main.sync { - returnValue = subscribeToBackPaginationStatusListenerUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - subscribeToBackPaginationStatusListenerUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - subscribeToBackPaginationStatusListenerUnderlyingReturnValue = newValue - } - } - } + get { subscribeToBackPaginationStatusListenerReturnValueLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingReturnValue } } + set { subscribeToBackPaginationStatusListenerReturnValueLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingReturnValue = newValue } } } open var subscribeToBackPaginationStatusListenerClosure: ((PaginationStatusListener) async throws -> TaskHandle)? @@ -29884,11 +17597,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = subscribeToBackPaginationStatusListenerThrowableError { throw error } - subscribeToBackPaginationStatusListenerCallsCount += 1 + subscribeToBackPaginationStatusListenerCallsCountLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingCallsCount += 1 } subscribeToBackPaginationStatusListenerReceivedListener = listener - DispatchQueue.main.async { - self.subscribeToBackPaginationStatusListenerReceivedInvocations.append(listener) - } + subscribeToBackPaginationStatusListenerReceivedInvocationsLock.withLock { subscribeToBackPaginationStatusListenerUnderlyingReceivedInvocations.append(listener) } if let subscribeToBackPaginationStatusListenerClosure = subscribeToBackPaginationStatusListenerClosure { return try await subscribeToBackPaginationStatusListenerClosure(listener) } else { @@ -29899,59 +17610,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - toggleReaction open var toggleReactionItemIdKeyThrowableError: Error? - open var toggleReactionItemIdKeyUnderlyingCallsCount = 0 + private let toggleReactionItemIdKeyCallsCountLock = NSLock() + private var toggleReactionItemIdKeyUnderlyingCallsCount = 0 open var toggleReactionItemIdKeyCallsCount: Int { - get { - if Thread.isMainThread { - return toggleReactionItemIdKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = toggleReactionItemIdKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toggleReactionItemIdKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - toggleReactionItemIdKeyUnderlyingCallsCount = newValue - } - } - } + get { toggleReactionItemIdKeyCallsCountLock.withLock { toggleReactionItemIdKeyUnderlyingCallsCount } } + set { toggleReactionItemIdKeyCallsCountLock.withLock { toggleReactionItemIdKeyUnderlyingCallsCount = newValue } } } open var toggleReactionItemIdKeyCalled: Bool { return toggleReactionItemIdKeyCallsCount > 0 } - open var toggleReactionItemIdKeyReceivedArguments: (itemId: EventOrTransactionId, key: String)? - open var toggleReactionItemIdKeyReceivedInvocations: [(itemId: EventOrTransactionId, key: String)] = [] + private let toggleReactionItemIdKeyReceivedArgumentsLock = NSLock() + private var toggleReactionItemIdKeyUnderlyingReceivedArguments: (itemId: EventOrTransactionId, key: String)? + open var toggleReactionItemIdKeyReceivedArguments: (itemId: EventOrTransactionId, key: String)? { + get { toggleReactionItemIdKeyReceivedArgumentsLock.withLock { toggleReactionItemIdKeyUnderlyingReceivedArguments } } + set { toggleReactionItemIdKeyReceivedArgumentsLock.withLock { toggleReactionItemIdKeyUnderlyingReceivedArguments = newValue } } + } + private let toggleReactionItemIdKeyReceivedInvocationsLock = NSLock() + private var toggleReactionItemIdKeyUnderlyingReceivedInvocations: [(itemId: EventOrTransactionId, key: String)] = [] + open var toggleReactionItemIdKeyReceivedInvocations: [(itemId: EventOrTransactionId, key: String)] { + get { toggleReactionItemIdKeyReceivedInvocationsLock.withLock { toggleReactionItemIdKeyUnderlyingReceivedInvocations } } + set { toggleReactionItemIdKeyReceivedInvocationsLock.withLock { toggleReactionItemIdKeyUnderlyingReceivedInvocations = newValue } } + } + private let toggleReactionItemIdKeyReturnValueLock = NSLock() open var toggleReactionItemIdKeyUnderlyingReturnValue: Bool! open var toggleReactionItemIdKeyReturnValue: Bool! { - get { - if Thread.isMainThread { - return toggleReactionItemIdKeyUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = toggleReactionItemIdKeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - toggleReactionItemIdKeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - toggleReactionItemIdKeyUnderlyingReturnValue = newValue - } - } - } + get { toggleReactionItemIdKeyReturnValueLock.withLock { toggleReactionItemIdKeyUnderlyingReturnValue } } + set { toggleReactionItemIdKeyReturnValueLock.withLock { toggleReactionItemIdKeyUnderlyingReturnValue = newValue } } } open var toggleReactionItemIdKeyClosure: ((EventOrTransactionId, String) async throws -> Bool)? @@ -29959,11 +17644,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = toggleReactionItemIdKeyThrowableError { throw error } - toggleReactionItemIdKeyCallsCount += 1 + toggleReactionItemIdKeyCallsCountLock.withLock { toggleReactionItemIdKeyUnderlyingCallsCount += 1 } toggleReactionItemIdKeyReceivedArguments = (itemId: itemId, key: key) - DispatchQueue.main.async { - self.toggleReactionItemIdKeyReceivedInvocations.append((itemId: itemId, key: key)) - } + toggleReactionItemIdKeyReceivedInvocationsLock.withLock { toggleReactionItemIdKeyUnderlyingReceivedInvocations.append((itemId: itemId, key: key)) } if let toggleReactionItemIdKeyClosure = toggleReactionItemIdKeyClosure { return try await toggleReactionItemIdKeyClosure(itemId, key) } else { @@ -29974,59 +17657,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - unpinEvent open var unpinEventEventIdThrowableError: Error? - open var unpinEventEventIdUnderlyingCallsCount = 0 + private let unpinEventEventIdCallsCountLock = NSLock() + private var unpinEventEventIdUnderlyingCallsCount = 0 open var unpinEventEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return unpinEventEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = unpinEventEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unpinEventEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - unpinEventEventIdUnderlyingCallsCount = newValue - } - } - } + get { unpinEventEventIdCallsCountLock.withLock { unpinEventEventIdUnderlyingCallsCount } } + set { unpinEventEventIdCallsCountLock.withLock { unpinEventEventIdUnderlyingCallsCount = newValue } } } open var unpinEventEventIdCalled: Bool { return unpinEventEventIdCallsCount > 0 } - open var unpinEventEventIdReceivedEventId: String? - open var unpinEventEventIdReceivedInvocations: [String] = [] + private let unpinEventEventIdReceivedEventIdLock = NSLock() + private var unpinEventEventIdUnderlyingReceivedEventId: String? + open var unpinEventEventIdReceivedEventId: String? { + get { unpinEventEventIdReceivedEventIdLock.withLock { unpinEventEventIdUnderlyingReceivedEventId } } + set { unpinEventEventIdReceivedEventIdLock.withLock { unpinEventEventIdUnderlyingReceivedEventId = newValue } } + } + private let unpinEventEventIdReceivedInvocationsLock = NSLock() + private var unpinEventEventIdUnderlyingReceivedInvocations: [String] = [] + open var unpinEventEventIdReceivedInvocations: [String] { + get { unpinEventEventIdReceivedInvocationsLock.withLock { unpinEventEventIdUnderlyingReceivedInvocations } } + set { unpinEventEventIdReceivedInvocationsLock.withLock { unpinEventEventIdUnderlyingReceivedInvocations = newValue } } + } + private let unpinEventEventIdReturnValueLock = NSLock() open var unpinEventEventIdUnderlyingReturnValue: Bool! open var unpinEventEventIdReturnValue: Bool! { - get { - if Thread.isMainThread { - return unpinEventEventIdUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = unpinEventEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - unpinEventEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - unpinEventEventIdUnderlyingReturnValue = newValue - } - } - } + get { unpinEventEventIdReturnValueLock.withLock { unpinEventEventIdUnderlyingReturnValue } } + set { unpinEventEventIdReturnValueLock.withLock { unpinEventEventIdUnderlyingReturnValue = newValue } } } open var unpinEventEventIdClosure: ((String) async throws -> Bool)? @@ -30034,11 +17691,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = unpinEventEventIdThrowableError { throw error } - unpinEventEventIdCallsCount += 1 + unpinEventEventIdCallsCountLock.withLock { unpinEventEventIdUnderlyingCallsCount += 1 } unpinEventEventIdReceivedEventId = eventId - DispatchQueue.main.async { - self.unpinEventEventIdReceivedInvocations.append(eventId) - } + unpinEventEventIdReceivedInvocationsLock.withLock { unpinEventEventIdUnderlyingReceivedInvocations.append(eventId) } if let unpinEventEventIdClosure = unpinEventEventIdClosure { return try await unpinEventEventIdClosure(eventId) } else { @@ -30049,59 +17704,33 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { //MARK: - sendGallery open var sendGalleryParamsItemInfosThrowableError: Error? - open var sendGalleryParamsItemInfosUnderlyingCallsCount = 0 + private let sendGalleryParamsItemInfosCallsCountLock = NSLock() + private var sendGalleryParamsItemInfosUnderlyingCallsCount = 0 open var sendGalleryParamsItemInfosCallsCount: Int { - get { - if Thread.isMainThread { - return sendGalleryParamsItemInfosUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendGalleryParamsItemInfosUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendGalleryParamsItemInfosUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendGalleryParamsItemInfosUnderlyingCallsCount = newValue - } - } - } + get { sendGalleryParamsItemInfosCallsCountLock.withLock { sendGalleryParamsItemInfosUnderlyingCallsCount } } + set { sendGalleryParamsItemInfosCallsCountLock.withLock { sendGalleryParamsItemInfosUnderlyingCallsCount = newValue } } } open var sendGalleryParamsItemInfosCalled: Bool { return sendGalleryParamsItemInfosCallsCount > 0 } - open var sendGalleryParamsItemInfosReceivedArguments: (params: GalleryUploadParameters, itemInfos: [GalleryItemInfo])? - open var sendGalleryParamsItemInfosReceivedInvocations: [(params: GalleryUploadParameters, itemInfos: [GalleryItemInfo])] = [] + private let sendGalleryParamsItemInfosReceivedArgumentsLock = NSLock() + private var sendGalleryParamsItemInfosUnderlyingReceivedArguments: (params: GalleryUploadParameters, itemInfos: [GalleryItemInfo])? + open var sendGalleryParamsItemInfosReceivedArguments: (params: GalleryUploadParameters, itemInfos: [GalleryItemInfo])? { + get { sendGalleryParamsItemInfosReceivedArgumentsLock.withLock { sendGalleryParamsItemInfosUnderlyingReceivedArguments } } + set { sendGalleryParamsItemInfosReceivedArgumentsLock.withLock { sendGalleryParamsItemInfosUnderlyingReceivedArguments = newValue } } + } + private let sendGalleryParamsItemInfosReceivedInvocationsLock = NSLock() + private var sendGalleryParamsItemInfosUnderlyingReceivedInvocations: [(params: GalleryUploadParameters, itemInfos: [GalleryItemInfo])] = [] + open var sendGalleryParamsItemInfosReceivedInvocations: [(params: GalleryUploadParameters, itemInfos: [GalleryItemInfo])] { + get { sendGalleryParamsItemInfosReceivedInvocationsLock.withLock { sendGalleryParamsItemInfosUnderlyingReceivedInvocations } } + set { sendGalleryParamsItemInfosReceivedInvocationsLock.withLock { sendGalleryParamsItemInfosUnderlyingReceivedInvocations = newValue } } + } + private let sendGalleryParamsItemInfosReturnValueLock = NSLock() open var sendGalleryParamsItemInfosUnderlyingReturnValue: SendGalleryJoinHandle! open var sendGalleryParamsItemInfosReturnValue: SendGalleryJoinHandle! { - get { - if Thread.isMainThread { - return sendGalleryParamsItemInfosUnderlyingReturnValue - } else { - var returnValue: SendGalleryJoinHandle? = nil - DispatchQueue.main.sync { - returnValue = sendGalleryParamsItemInfosUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendGalleryParamsItemInfosUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendGalleryParamsItemInfosUnderlyingReturnValue = newValue - } - } - } + get { sendGalleryParamsItemInfosReturnValueLock.withLock { sendGalleryParamsItemInfosUnderlyingReturnValue } } + set { sendGalleryParamsItemInfosReturnValueLock.withLock { sendGalleryParamsItemInfosUnderlyingReturnValue = newValue } } } open var sendGalleryParamsItemInfosClosure: ((GalleryUploadParameters, [GalleryItemInfo]) throws -> SendGalleryJoinHandle)? @@ -30109,11 +17738,9 @@ open class TimelineSDKMock: MatrixRustSDK.Timeline, @unchecked Sendable { if let error = sendGalleryParamsItemInfosThrowableError { throw error } - sendGalleryParamsItemInfosCallsCount += 1 + sendGalleryParamsItemInfosCallsCountLock.withLock { sendGalleryParamsItemInfosUnderlyingCallsCount += 1 } sendGalleryParamsItemInfosReceivedArguments = (params: params, itemInfos: itemInfos) - DispatchQueue.main.async { - self.sendGalleryParamsItemInfosReceivedInvocations.append((params: params, itemInfos: itemInfos)) - } + sendGalleryParamsItemInfosReceivedInvocationsLock.withLock { sendGalleryParamsItemInfosUnderlyingReceivedInvocations.append((params: params, itemInfos: itemInfos)) } if let sendGalleryParamsItemInfosClosure = sendGalleryParamsItemInfosClosure { return try sendGalleryParamsItemInfosClosure(params, itemInfos) } else { @@ -30139,57 +17766,21 @@ open class TimelineEventSDKMock: MatrixRustSDK.TimelineEvent, @unchecked Sendabl //MARK: - content open var contentThrowableError: Error? - open var contentUnderlyingCallsCount = 0 + private let contentCallsCountLock = NSLock() + private var contentUnderlyingCallsCount = 0 open var contentCallsCount: Int { - get { - if Thread.isMainThread { - return contentUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = contentUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - contentUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - contentUnderlyingCallsCount = newValue - } - } - } + get { contentCallsCountLock.withLock { contentUnderlyingCallsCount } } + set { contentCallsCountLock.withLock { contentUnderlyingCallsCount = newValue } } } open var contentCalled: Bool { return contentCallsCount > 0 } + private let contentReturnValueLock = NSLock() open var contentUnderlyingReturnValue: TimelineEventContent! open var contentReturnValue: TimelineEventContent! { - get { - if Thread.isMainThread { - return contentUnderlyingReturnValue - } else { - var returnValue: TimelineEventContent? = nil - DispatchQueue.main.sync { - returnValue = contentUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - contentUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - contentUnderlyingReturnValue = newValue - } - } - } + get { contentReturnValueLock.withLock { contentUnderlyingReturnValue } } + set { contentReturnValueLock.withLock { contentUnderlyingReturnValue = newValue } } } open var contentClosure: (() throws -> TimelineEventContent)? @@ -30197,7 +17788,7 @@ open class TimelineEventSDKMock: MatrixRustSDK.TimelineEvent, @unchecked Sendabl if let error = contentThrowableError { throw error } - contentCallsCount += 1 + contentCallsCountLock.withLock { contentUnderlyingCallsCount += 1 } if let contentClosure = contentClosure { return try contentClosure() } else { @@ -30207,62 +17798,26 @@ open class TimelineEventSDKMock: MatrixRustSDK.TimelineEvent, @unchecked Sendabl //MARK: - eventId - open var eventIdUnderlyingCallsCount = 0 + private let eventIdCallsCountLock = NSLock() + private var eventIdUnderlyingCallsCount = 0 open var eventIdCallsCount: Int { - get { - if Thread.isMainThread { - return eventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = eventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - eventIdUnderlyingCallsCount = newValue - } - } - } + get { eventIdCallsCountLock.withLock { eventIdUnderlyingCallsCount } } + set { eventIdCallsCountLock.withLock { eventIdUnderlyingCallsCount = newValue } } } open var eventIdCalled: Bool { return eventIdCallsCount > 0 } + private let eventIdReturnValueLock = NSLock() open var eventIdUnderlyingReturnValue: String! open var eventIdReturnValue: String! { - get { - if Thread.isMainThread { - return eventIdUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = eventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - eventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - eventIdUnderlyingReturnValue = newValue - } - } - } + get { eventIdReturnValueLock.withLock { eventIdUnderlyingReturnValue } } + set { eventIdReturnValueLock.withLock { eventIdUnderlyingReturnValue = newValue } } } open var eventIdClosure: (() -> String)? open override func eventId() -> String { - eventIdCallsCount += 1 + eventIdCallsCountLock.withLock { eventIdUnderlyingCallsCount += 1 } if let eventIdClosure = eventIdClosure { return eventIdClosure() } else { @@ -30272,62 +17827,26 @@ open class TimelineEventSDKMock: MatrixRustSDK.TimelineEvent, @unchecked Sendabl //MARK: - senderId - open var senderIdUnderlyingCallsCount = 0 + private let senderIdCallsCountLock = NSLock() + private var senderIdUnderlyingCallsCount = 0 open var senderIdCallsCount: Int { - get { - if Thread.isMainThread { - return senderIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = senderIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - senderIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - senderIdUnderlyingCallsCount = newValue - } - } - } + get { senderIdCallsCountLock.withLock { senderIdUnderlyingCallsCount } } + set { senderIdCallsCountLock.withLock { senderIdUnderlyingCallsCount = newValue } } } open var senderIdCalled: Bool { return senderIdCallsCount > 0 } + private let senderIdReturnValueLock = NSLock() open var senderIdUnderlyingReturnValue: String! open var senderIdReturnValue: String! { - get { - if Thread.isMainThread { - return senderIdUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = senderIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - senderIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - senderIdUnderlyingReturnValue = newValue - } - } - } + get { senderIdReturnValueLock.withLock { senderIdUnderlyingReturnValue } } + set { senderIdReturnValueLock.withLock { senderIdUnderlyingReturnValue = newValue } } } open var senderIdClosure: (() -> String)? open override func senderId() -> String { - senderIdCallsCount += 1 + senderIdCallsCountLock.withLock { senderIdUnderlyingCallsCount += 1 } if let senderIdClosure = senderIdClosure { return senderIdClosure() } else { @@ -30337,62 +17856,26 @@ open class TimelineEventSDKMock: MatrixRustSDK.TimelineEvent, @unchecked Sendabl //MARK: - threadRootEventId - open var threadRootEventIdUnderlyingCallsCount = 0 + private let threadRootEventIdCallsCountLock = NSLock() + private var threadRootEventIdUnderlyingCallsCount = 0 open var threadRootEventIdCallsCount: Int { - get { - if Thread.isMainThread { - return threadRootEventIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = threadRootEventIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadRootEventIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - threadRootEventIdUnderlyingCallsCount = newValue - } - } - } + get { threadRootEventIdCallsCountLock.withLock { threadRootEventIdUnderlyingCallsCount } } + set { threadRootEventIdCallsCountLock.withLock { threadRootEventIdUnderlyingCallsCount = newValue } } } open var threadRootEventIdCalled: Bool { return threadRootEventIdCallsCount > 0 } + private let threadRootEventIdReturnValueLock = NSLock() open var threadRootEventIdUnderlyingReturnValue: String? open var threadRootEventIdReturnValue: String? { - get { - if Thread.isMainThread { - return threadRootEventIdUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = threadRootEventIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - threadRootEventIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - threadRootEventIdUnderlyingReturnValue = newValue - } - } - } + get { threadRootEventIdReturnValueLock.withLock { threadRootEventIdUnderlyingReturnValue } } + set { threadRootEventIdReturnValueLock.withLock { threadRootEventIdUnderlyingReturnValue = newValue } } } open var threadRootEventIdClosure: (() -> String?)? open override func threadRootEventId() -> String? { - threadRootEventIdCallsCount += 1 + threadRootEventIdCallsCountLock.withLock { threadRootEventIdUnderlyingCallsCount += 1 } if let threadRootEventIdClosure = threadRootEventIdClosure { return threadRootEventIdClosure() } else { @@ -30402,62 +17885,26 @@ open class TimelineEventSDKMock: MatrixRustSDK.TimelineEvent, @unchecked Sendabl //MARK: - timestamp - open var timestampUnderlyingCallsCount = 0 + private let timestampCallsCountLock = NSLock() + private var timestampUnderlyingCallsCount = 0 open var timestampCallsCount: Int { - get { - if Thread.isMainThread { - return timestampUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = timestampUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - timestampUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - timestampUnderlyingCallsCount = newValue - } - } - } + get { timestampCallsCountLock.withLock { timestampUnderlyingCallsCount } } + set { timestampCallsCountLock.withLock { timestampUnderlyingCallsCount = newValue } } } open var timestampCalled: Bool { return timestampCallsCount > 0 } + private let timestampReturnValueLock = NSLock() open var timestampUnderlyingReturnValue: Timestamp! open var timestampReturnValue: Timestamp! { - get { - if Thread.isMainThread { - return timestampUnderlyingReturnValue - } else { - var returnValue: Timestamp? = nil - DispatchQueue.main.sync { - returnValue = timestampUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - timestampUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - timestampUnderlyingReturnValue = newValue - } - } - } + get { timestampReturnValueLock.withLock { timestampUnderlyingReturnValue } } + set { timestampReturnValueLock.withLock { timestampUnderlyingReturnValue = newValue } } } open var timestampClosure: (() -> Timestamp)? open override func timestamp() -> Timestamp { - timestampCallsCount += 1 + timestampCallsCountLock.withLock { timestampUnderlyingCallsCount += 1 } if let timestampClosure = timestampClosure { return timestampClosure() } else { @@ -30500,62 +17947,26 @@ open class TimelineItemSDKMock: MatrixRustSDK.TimelineItem, @unchecked Sendable //MARK: - asEvent - open var asEventUnderlyingCallsCount = 0 + private let asEventCallsCountLock = NSLock() + private var asEventUnderlyingCallsCount = 0 open var asEventCallsCount: Int { - get { - if Thread.isMainThread { - return asEventUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = asEventUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - asEventUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - asEventUnderlyingCallsCount = newValue - } - } - } + get { asEventCallsCountLock.withLock { asEventUnderlyingCallsCount } } + set { asEventCallsCountLock.withLock { asEventUnderlyingCallsCount = newValue } } } open var asEventCalled: Bool { return asEventCallsCount > 0 } + private let asEventReturnValueLock = NSLock() open var asEventUnderlyingReturnValue: EventTimelineItem? open var asEventReturnValue: EventTimelineItem? { - get { - if Thread.isMainThread { - return asEventUnderlyingReturnValue - } else { - var returnValue: EventTimelineItem?? = nil - DispatchQueue.main.sync { - returnValue = asEventUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - asEventUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - asEventUnderlyingReturnValue = newValue - } - } - } + get { asEventReturnValueLock.withLock { asEventUnderlyingReturnValue } } + set { asEventReturnValueLock.withLock { asEventUnderlyingReturnValue = newValue } } } open var asEventClosure: (() -> EventTimelineItem?)? open override func asEvent() -> EventTimelineItem? { - asEventCallsCount += 1 + asEventCallsCountLock.withLock { asEventUnderlyingCallsCount += 1 } if let asEventClosure = asEventClosure { return asEventClosure() } else { @@ -30565,62 +17976,26 @@ open class TimelineItemSDKMock: MatrixRustSDK.TimelineItem, @unchecked Sendable //MARK: - asVirtual - open var asVirtualUnderlyingCallsCount = 0 + private let asVirtualCallsCountLock = NSLock() + private var asVirtualUnderlyingCallsCount = 0 open var asVirtualCallsCount: Int { - get { - if Thread.isMainThread { - return asVirtualUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = asVirtualUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - asVirtualUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - asVirtualUnderlyingCallsCount = newValue - } - } - } + get { asVirtualCallsCountLock.withLock { asVirtualUnderlyingCallsCount } } + set { asVirtualCallsCountLock.withLock { asVirtualUnderlyingCallsCount = newValue } } } open var asVirtualCalled: Bool { return asVirtualCallsCount > 0 } + private let asVirtualReturnValueLock = NSLock() open var asVirtualUnderlyingReturnValue: VirtualTimelineItem? open var asVirtualReturnValue: VirtualTimelineItem? { - get { - if Thread.isMainThread { - return asVirtualUnderlyingReturnValue - } else { - var returnValue: VirtualTimelineItem?? = nil - DispatchQueue.main.sync { - returnValue = asVirtualUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - asVirtualUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - asVirtualUnderlyingReturnValue = newValue - } - } - } + get { asVirtualReturnValueLock.withLock { asVirtualUnderlyingReturnValue } } + set { asVirtualReturnValueLock.withLock { asVirtualUnderlyingReturnValue = newValue } } } open var asVirtualClosure: (() -> VirtualTimelineItem?)? open override func asVirtual() -> VirtualTimelineItem? { - asVirtualCallsCount += 1 + asVirtualCallsCountLock.withLock { asVirtualUnderlyingCallsCount += 1 } if let asVirtualClosure = asVirtualClosure { return asVirtualClosure() } else { @@ -30630,62 +18005,26 @@ open class TimelineItemSDKMock: MatrixRustSDK.TimelineItem, @unchecked Sendable //MARK: - fmtDebug - open var fmtDebugUnderlyingCallsCount = 0 + private let fmtDebugCallsCountLock = NSLock() + private var fmtDebugUnderlyingCallsCount = 0 open var fmtDebugCallsCount: Int { - get { - if Thread.isMainThread { - return fmtDebugUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = fmtDebugUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fmtDebugUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - fmtDebugUnderlyingCallsCount = newValue - } - } - } + get { fmtDebugCallsCountLock.withLock { fmtDebugUnderlyingCallsCount } } + set { fmtDebugCallsCountLock.withLock { fmtDebugUnderlyingCallsCount = newValue } } } open var fmtDebugCalled: Bool { return fmtDebugCallsCount > 0 } + private let fmtDebugReturnValueLock = NSLock() open var fmtDebugUnderlyingReturnValue: String! open var fmtDebugReturnValue: String! { - get { - if Thread.isMainThread { - return fmtDebugUnderlyingReturnValue - } else { - var returnValue: String? = nil - DispatchQueue.main.sync { - returnValue = fmtDebugUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - fmtDebugUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - fmtDebugUnderlyingReturnValue = newValue - } - } - } + get { fmtDebugReturnValueLock.withLock { fmtDebugUnderlyingReturnValue } } + set { fmtDebugReturnValueLock.withLock { fmtDebugUnderlyingReturnValue = newValue } } } open var fmtDebugClosure: (() -> String)? open override func fmtDebug() -> String { - fmtDebugCallsCount += 1 + fmtDebugCallsCountLock.withLock { fmtDebugUnderlyingCallsCount += 1 } if let fmtDebugClosure = fmtDebugClosure { return fmtDebugClosure() } else { @@ -30695,62 +18034,26 @@ open class TimelineItemSDKMock: MatrixRustSDK.TimelineItem, @unchecked Sendable //MARK: - uniqueId - open var uniqueIdUnderlyingCallsCount = 0 + private let uniqueIdCallsCountLock = NSLock() + private var uniqueIdUnderlyingCallsCount = 0 open var uniqueIdCallsCount: Int { - get { - if Thread.isMainThread { - return uniqueIdUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = uniqueIdUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uniqueIdUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - uniqueIdUnderlyingCallsCount = newValue - } - } - } + get { uniqueIdCallsCountLock.withLock { uniqueIdUnderlyingCallsCount } } + set { uniqueIdCallsCountLock.withLock { uniqueIdUnderlyingCallsCount = newValue } } } open var uniqueIdCalled: Bool { return uniqueIdCallsCount > 0 } + private let uniqueIdReturnValueLock = NSLock() open var uniqueIdUnderlyingReturnValue: TimelineUniqueId! open var uniqueIdReturnValue: TimelineUniqueId! { - get { - if Thread.isMainThread { - return uniqueIdUnderlyingReturnValue - } else { - var returnValue: TimelineUniqueId? = nil - DispatchQueue.main.sync { - returnValue = uniqueIdUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - uniqueIdUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - uniqueIdUnderlyingReturnValue = newValue - } - } - } + get { uniqueIdReturnValueLock.withLock { uniqueIdUnderlyingReturnValue } } + set { uniqueIdReturnValueLock.withLock { uniqueIdUnderlyingReturnValue = newValue } } } open var uniqueIdClosure: (() -> TimelineUniqueId)? open override func uniqueId() -> TimelineUniqueId { - uniqueIdCallsCount += 1 + uniqueIdCallsCountLock.withLock { uniqueIdUnderlyingCallsCount += 1 } if let uniqueIdClosure = uniqueIdClosure { return uniqueIdClosure() } else { @@ -30775,62 +18078,26 @@ open class UnreadNotificationsCountSDKMock: MatrixRustSDK.UnreadNotificationsCou //MARK: - hasNotifications - open var hasNotificationsUnderlyingCallsCount = 0 + private let hasNotificationsCallsCountLock = NSLock() + private var hasNotificationsUnderlyingCallsCount = 0 open var hasNotificationsCallsCount: Int { - get { - if Thread.isMainThread { - return hasNotificationsUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = hasNotificationsUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasNotificationsUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - hasNotificationsUnderlyingCallsCount = newValue - } - } - } + get { hasNotificationsCallsCountLock.withLock { hasNotificationsUnderlyingCallsCount } } + set { hasNotificationsCallsCountLock.withLock { hasNotificationsUnderlyingCallsCount = newValue } } } open var hasNotificationsCalled: Bool { return hasNotificationsCallsCount > 0 } + private let hasNotificationsReturnValueLock = NSLock() open var hasNotificationsUnderlyingReturnValue: Bool! open var hasNotificationsReturnValue: Bool! { - get { - if Thread.isMainThread { - return hasNotificationsUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = hasNotificationsUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasNotificationsUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - hasNotificationsUnderlyingReturnValue = newValue - } - } - } + get { hasNotificationsReturnValueLock.withLock { hasNotificationsUnderlyingReturnValue } } + set { hasNotificationsReturnValueLock.withLock { hasNotificationsUnderlyingReturnValue = newValue } } } open var hasNotificationsClosure: (() -> Bool)? open override func hasNotifications() -> Bool { - hasNotificationsCallsCount += 1 + hasNotificationsCallsCountLock.withLock { hasNotificationsUnderlyingCallsCount += 1 } if let hasNotificationsClosure = hasNotificationsClosure { return hasNotificationsClosure() } else { @@ -30840,62 +18107,26 @@ open class UnreadNotificationsCountSDKMock: MatrixRustSDK.UnreadNotificationsCou //MARK: - highlightCount - open var highlightCountUnderlyingCallsCount = 0 + private let highlightCountCallsCountLock = NSLock() + private var highlightCountUnderlyingCallsCount = 0 open var highlightCountCallsCount: Int { - get { - if Thread.isMainThread { - return highlightCountUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = highlightCountUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - highlightCountUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - highlightCountUnderlyingCallsCount = newValue - } - } - } + get { highlightCountCallsCountLock.withLock { highlightCountUnderlyingCallsCount } } + set { highlightCountCallsCountLock.withLock { highlightCountUnderlyingCallsCount = newValue } } } open var highlightCountCalled: Bool { return highlightCountCallsCount > 0 } + private let highlightCountReturnValueLock = NSLock() open var highlightCountUnderlyingReturnValue: UInt32! open var highlightCountReturnValue: UInt32! { - get { - if Thread.isMainThread { - return highlightCountUnderlyingReturnValue - } else { - var returnValue: UInt32? = nil - DispatchQueue.main.sync { - returnValue = highlightCountUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - highlightCountUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - highlightCountUnderlyingReturnValue = newValue - } - } - } + get { highlightCountReturnValueLock.withLock { highlightCountUnderlyingReturnValue } } + set { highlightCountReturnValueLock.withLock { highlightCountUnderlyingReturnValue = newValue } } } open var highlightCountClosure: (() -> UInt32)? open override func highlightCount() -> UInt32 { - highlightCountCallsCount += 1 + highlightCountCallsCountLock.withLock { highlightCountUnderlyingCallsCount += 1 } if let highlightCountClosure = highlightCountClosure { return highlightCountClosure() } else { @@ -30905,62 +18136,26 @@ open class UnreadNotificationsCountSDKMock: MatrixRustSDK.UnreadNotificationsCou //MARK: - notificationCount - open var notificationCountUnderlyingCallsCount = 0 + private let notificationCountCallsCountLock = NSLock() + private var notificationCountUnderlyingCallsCount = 0 open var notificationCountCallsCount: Int { - get { - if Thread.isMainThread { - return notificationCountUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = notificationCountUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - notificationCountUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - notificationCountUnderlyingCallsCount = newValue - } - } - } + get { notificationCountCallsCountLock.withLock { notificationCountUnderlyingCallsCount } } + set { notificationCountCallsCountLock.withLock { notificationCountUnderlyingCallsCount = newValue } } } open var notificationCountCalled: Bool { return notificationCountCallsCount > 0 } + private let notificationCountReturnValueLock = NSLock() open var notificationCountUnderlyingReturnValue: UInt32! open var notificationCountReturnValue: UInt32! { - get { - if Thread.isMainThread { - return notificationCountUnderlyingReturnValue - } else { - var returnValue: UInt32? = nil - DispatchQueue.main.sync { - returnValue = notificationCountUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - notificationCountUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - notificationCountUnderlyingReturnValue = newValue - } - } - } + get { notificationCountReturnValueLock.withLock { notificationCountUnderlyingReturnValue } } + set { notificationCountReturnValueLock.withLock { notificationCountUnderlyingReturnValue = newValue } } } open var notificationCountClosure: (() -> UInt32)? open override func notificationCount() -> UInt32 { - notificationCountCallsCount += 1 + notificationCountCallsCountLock.withLock { notificationCountUnderlyingCallsCount += 1 } if let notificationCountClosure = notificationCountClosure { return notificationCountClosure() } else { @@ -30985,62 +18180,26 @@ open class UserIdentitySDKMock: MatrixRustSDK.UserIdentity, @unchecked Sendable //MARK: - hasVerificationViolation - open var hasVerificationViolationUnderlyingCallsCount = 0 + private let hasVerificationViolationCallsCountLock = NSLock() + private var hasVerificationViolationUnderlyingCallsCount = 0 open var hasVerificationViolationCallsCount: Int { - get { - if Thread.isMainThread { - return hasVerificationViolationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = hasVerificationViolationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasVerificationViolationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - hasVerificationViolationUnderlyingCallsCount = newValue - } - } - } + get { hasVerificationViolationCallsCountLock.withLock { hasVerificationViolationUnderlyingCallsCount } } + set { hasVerificationViolationCallsCountLock.withLock { hasVerificationViolationUnderlyingCallsCount = newValue } } } open var hasVerificationViolationCalled: Bool { return hasVerificationViolationCallsCount > 0 } + private let hasVerificationViolationReturnValueLock = NSLock() open var hasVerificationViolationUnderlyingReturnValue: Bool! open var hasVerificationViolationReturnValue: Bool! { - get { - if Thread.isMainThread { - return hasVerificationViolationUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = hasVerificationViolationUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - hasVerificationViolationUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - hasVerificationViolationUnderlyingReturnValue = newValue - } - } - } + get { hasVerificationViolationReturnValueLock.withLock { hasVerificationViolationUnderlyingReturnValue } } + set { hasVerificationViolationReturnValueLock.withLock { hasVerificationViolationUnderlyingReturnValue = newValue } } } open var hasVerificationViolationClosure: (() -> Bool)? open override func hasVerificationViolation() -> Bool { - hasVerificationViolationCallsCount += 1 + hasVerificationViolationCallsCountLock.withLock { hasVerificationViolationUnderlyingCallsCount += 1 } if let hasVerificationViolationClosure = hasVerificationViolationClosure { return hasVerificationViolationClosure() } else { @@ -31050,62 +18209,26 @@ open class UserIdentitySDKMock: MatrixRustSDK.UserIdentity, @unchecked Sendable //MARK: - isVerified - open var isVerifiedUnderlyingCallsCount = 0 + private let isVerifiedCallsCountLock = NSLock() + private var isVerifiedUnderlyingCallsCount = 0 open var isVerifiedCallsCount: Int { - get { - if Thread.isMainThread { - return isVerifiedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = isVerifiedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isVerifiedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - isVerifiedUnderlyingCallsCount = newValue - } - } - } + get { isVerifiedCallsCountLock.withLock { isVerifiedUnderlyingCallsCount } } + set { isVerifiedCallsCountLock.withLock { isVerifiedUnderlyingCallsCount = newValue } } } open var isVerifiedCalled: Bool { return isVerifiedCallsCount > 0 } + private let isVerifiedReturnValueLock = NSLock() open var isVerifiedUnderlyingReturnValue: Bool! open var isVerifiedReturnValue: Bool! { - get { - if Thread.isMainThread { - return isVerifiedUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = isVerifiedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - isVerifiedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - isVerifiedUnderlyingReturnValue = newValue - } - } - } + get { isVerifiedReturnValueLock.withLock { isVerifiedUnderlyingReturnValue } } + set { isVerifiedReturnValueLock.withLock { isVerifiedUnderlyingReturnValue = newValue } } } open var isVerifiedClosure: (() -> Bool)? open override func isVerified() -> Bool { - isVerifiedCallsCount += 1 + isVerifiedCallsCountLock.withLock { isVerifiedUnderlyingCallsCount += 1 } if let isVerifiedClosure = isVerifiedClosure { return isVerifiedClosure() } else { @@ -31115,62 +18238,26 @@ open class UserIdentitySDKMock: MatrixRustSDK.UserIdentity, @unchecked Sendable //MARK: - masterKey - open var masterKeyUnderlyingCallsCount = 0 + private let masterKeyCallsCountLock = NSLock() + private var masterKeyUnderlyingCallsCount = 0 open var masterKeyCallsCount: Int { - get { - if Thread.isMainThread { - return masterKeyUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = masterKeyUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - masterKeyUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - masterKeyUnderlyingCallsCount = newValue - } - } - } + get { masterKeyCallsCountLock.withLock { masterKeyUnderlyingCallsCount } } + set { masterKeyCallsCountLock.withLock { masterKeyUnderlyingCallsCount = newValue } } } open var masterKeyCalled: Bool { return masterKeyCallsCount > 0 } + private let masterKeyReturnValueLock = NSLock() open var masterKeyUnderlyingReturnValue: String? open var masterKeyReturnValue: String? { - get { - if Thread.isMainThread { - return masterKeyUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = masterKeyUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - masterKeyUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - masterKeyUnderlyingReturnValue = newValue - } - } - } + get { masterKeyReturnValueLock.withLock { masterKeyUnderlyingReturnValue } } + set { masterKeyReturnValueLock.withLock { masterKeyUnderlyingReturnValue = newValue } } } open var masterKeyClosure: (() -> String?)? open override func masterKey() -> String? { - masterKeyCallsCount += 1 + masterKeyCallsCountLock.withLock { masterKeyUnderlyingCallsCount += 1 } if let masterKeyClosure = masterKeyClosure { return masterKeyClosure() } else { @@ -31181,29 +18268,11 @@ open class UserIdentitySDKMock: MatrixRustSDK.UserIdentity, @unchecked Sendable //MARK: - pin open var pinThrowableError: Error? - open var pinUnderlyingCallsCount = 0 + private let pinCallsCountLock = NSLock() + private var pinUnderlyingCallsCount = 0 open var pinCallsCount: Int { - get { - if Thread.isMainThread { - return pinUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = pinUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - pinUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - pinUnderlyingCallsCount = newValue - } - } - } + get { pinCallsCountLock.withLock { pinUnderlyingCallsCount } } + set { pinCallsCountLock.withLock { pinUnderlyingCallsCount = newValue } } } open var pinCalled: Bool { return pinCallsCount > 0 @@ -31214,68 +18283,32 @@ open class UserIdentitySDKMock: MatrixRustSDK.UserIdentity, @unchecked Sendable if let error = pinThrowableError { throw error } - pinCallsCount += 1 + pinCallsCountLock.withLock { pinUnderlyingCallsCount += 1 } try await pinClosure?() } //MARK: - wasPreviouslyVerified - open var wasPreviouslyVerifiedUnderlyingCallsCount = 0 + private let wasPreviouslyVerifiedCallsCountLock = NSLock() + private var wasPreviouslyVerifiedUnderlyingCallsCount = 0 open var wasPreviouslyVerifiedCallsCount: Int { - get { - if Thread.isMainThread { - return wasPreviouslyVerifiedUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = wasPreviouslyVerifiedUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - wasPreviouslyVerifiedUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - wasPreviouslyVerifiedUnderlyingCallsCount = newValue - } - } - } + get { wasPreviouslyVerifiedCallsCountLock.withLock { wasPreviouslyVerifiedUnderlyingCallsCount } } + set { wasPreviouslyVerifiedCallsCountLock.withLock { wasPreviouslyVerifiedUnderlyingCallsCount = newValue } } } open var wasPreviouslyVerifiedCalled: Bool { return wasPreviouslyVerifiedCallsCount > 0 } + private let wasPreviouslyVerifiedReturnValueLock = NSLock() open var wasPreviouslyVerifiedUnderlyingReturnValue: Bool! open var wasPreviouslyVerifiedReturnValue: Bool! { - get { - if Thread.isMainThread { - return wasPreviouslyVerifiedUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = wasPreviouslyVerifiedUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - wasPreviouslyVerifiedUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - wasPreviouslyVerifiedUnderlyingReturnValue = newValue - } - } - } + get { wasPreviouslyVerifiedReturnValueLock.withLock { wasPreviouslyVerifiedUnderlyingReturnValue } } + set { wasPreviouslyVerifiedReturnValueLock.withLock { wasPreviouslyVerifiedUnderlyingReturnValue = newValue } } } open var wasPreviouslyVerifiedClosure: (() -> Bool)? open override func wasPreviouslyVerified() -> Bool { - wasPreviouslyVerifiedCallsCount += 1 + wasPreviouslyVerifiedCallsCountLock.withLock { wasPreviouslyVerifiedUnderlyingCallsCount += 1 } if let wasPreviouslyVerifiedClosure = wasPreviouslyVerifiedClosure { return wasPreviouslyVerifiedClosure() } else { @@ -31286,29 +18319,11 @@ open class UserIdentitySDKMock: MatrixRustSDK.UserIdentity, @unchecked Sendable //MARK: - withdrawVerification open var withdrawVerificationThrowableError: Error? - open var withdrawVerificationUnderlyingCallsCount = 0 + private let withdrawVerificationCallsCountLock = NSLock() + private var withdrawVerificationUnderlyingCallsCount = 0 open var withdrawVerificationCallsCount: Int { - get { - if Thread.isMainThread { - return withdrawVerificationUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = withdrawVerificationUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - withdrawVerificationUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - withdrawVerificationUnderlyingCallsCount = newValue - } - } - } + get { withdrawVerificationCallsCountLock.withLock { withdrawVerificationUnderlyingCallsCount } } + set { withdrawVerificationCallsCountLock.withLock { withdrawVerificationUnderlyingCallsCount = newValue } } } open var withdrawVerificationCalled: Bool { return withdrawVerificationCallsCount > 0 @@ -31319,7 +18334,7 @@ open class UserIdentitySDKMock: MatrixRustSDK.UserIdentity, @unchecked Sendable if let error = withdrawVerificationThrowableError { throw error } - withdrawVerificationCallsCount += 1 + withdrawVerificationCallsCountLock.withLock { withdrawVerificationUnderlyingCallsCount += 1 } try await withdrawVerificationClosure?() } } @@ -31340,43 +18355,33 @@ open class WidgetDriverSDKMock: MatrixRustSDK.WidgetDriver, @unchecked Sendable //MARK: - run - open var runRoomCapabilitiesProviderUnderlyingCallsCount = 0 + private let runRoomCapabilitiesProviderCallsCountLock = NSLock() + private var runRoomCapabilitiesProviderUnderlyingCallsCount = 0 open var runRoomCapabilitiesProviderCallsCount: Int { - get { - if Thread.isMainThread { - return runRoomCapabilitiesProviderUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = runRoomCapabilitiesProviderUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - runRoomCapabilitiesProviderUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - runRoomCapabilitiesProviderUnderlyingCallsCount = newValue - } - } - } + get { runRoomCapabilitiesProviderCallsCountLock.withLock { runRoomCapabilitiesProviderUnderlyingCallsCount } } + set { runRoomCapabilitiesProviderCallsCountLock.withLock { runRoomCapabilitiesProviderUnderlyingCallsCount = newValue } } } open var runRoomCapabilitiesProviderCalled: Bool { return runRoomCapabilitiesProviderCallsCount > 0 } - open var runRoomCapabilitiesProviderReceivedArguments: (room: Room, capabilitiesProvider: WidgetCapabilitiesProvider)? - open var runRoomCapabilitiesProviderReceivedInvocations: [(room: Room, capabilitiesProvider: WidgetCapabilitiesProvider)] = [] + private let runRoomCapabilitiesProviderReceivedArgumentsLock = NSLock() + private var runRoomCapabilitiesProviderUnderlyingReceivedArguments: (room: Room, capabilitiesProvider: WidgetCapabilitiesProvider)? + open var runRoomCapabilitiesProviderReceivedArguments: (room: Room, capabilitiesProvider: WidgetCapabilitiesProvider)? { + get { runRoomCapabilitiesProviderReceivedArgumentsLock.withLock { runRoomCapabilitiesProviderUnderlyingReceivedArguments } } + set { runRoomCapabilitiesProviderReceivedArgumentsLock.withLock { runRoomCapabilitiesProviderUnderlyingReceivedArguments = newValue } } + } + private let runRoomCapabilitiesProviderReceivedInvocationsLock = NSLock() + private var runRoomCapabilitiesProviderUnderlyingReceivedInvocations: [(room: Room, capabilitiesProvider: WidgetCapabilitiesProvider)] = [] + open var runRoomCapabilitiesProviderReceivedInvocations: [(room: Room, capabilitiesProvider: WidgetCapabilitiesProvider)] { + get { runRoomCapabilitiesProviderReceivedInvocationsLock.withLock { runRoomCapabilitiesProviderUnderlyingReceivedInvocations } } + set { runRoomCapabilitiesProviderReceivedInvocationsLock.withLock { runRoomCapabilitiesProviderUnderlyingReceivedInvocations = newValue } } + } open var runRoomCapabilitiesProviderClosure: ((Room, WidgetCapabilitiesProvider) async -> Void)? open override func run(room: Room, capabilitiesProvider: WidgetCapabilitiesProvider) async { - runRoomCapabilitiesProviderCallsCount += 1 + runRoomCapabilitiesProviderCallsCountLock.withLock { runRoomCapabilitiesProviderUnderlyingCallsCount += 1 } runRoomCapabilitiesProviderReceivedArguments = (room: room, capabilitiesProvider: capabilitiesProvider) - DispatchQueue.main.async { - self.runRoomCapabilitiesProviderReceivedInvocations.append((room: room, capabilitiesProvider: capabilitiesProvider)) - } + runRoomCapabilitiesProviderReceivedInvocationsLock.withLock { runRoomCapabilitiesProviderUnderlyingReceivedInvocations.append((room: room, capabilitiesProvider: capabilitiesProvider)) } await runRoomCapabilitiesProviderClosure?(room, capabilitiesProvider) } } @@ -31397,62 +18402,26 @@ open class WidgetDriverHandleSDKMock: MatrixRustSDK.WidgetDriverHandle, @uncheck //MARK: - recv - open var recvUnderlyingCallsCount = 0 + private let recvCallsCountLock = NSLock() + private var recvUnderlyingCallsCount = 0 open var recvCallsCount: Int { - get { - if Thread.isMainThread { - return recvUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = recvUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recvUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - recvUnderlyingCallsCount = newValue - } - } - } + get { recvCallsCountLock.withLock { recvUnderlyingCallsCount } } + set { recvCallsCountLock.withLock { recvUnderlyingCallsCount = newValue } } } open var recvCalled: Bool { return recvCallsCount > 0 } + private let recvReturnValueLock = NSLock() open var recvUnderlyingReturnValue: String? open var recvReturnValue: String? { - get { - if Thread.isMainThread { - return recvUnderlyingReturnValue - } else { - var returnValue: String?? = nil - DispatchQueue.main.sync { - returnValue = recvUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - recvUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - recvUnderlyingReturnValue = newValue - } - } - } + get { recvReturnValueLock.withLock { recvUnderlyingReturnValue } } + set { recvReturnValueLock.withLock { recvUnderlyingReturnValue = newValue } } } open var recvClosure: (() async -> String?)? open override func recv() async -> String? { - recvCallsCount += 1 + recvCallsCountLock.withLock { recvUnderlyingCallsCount += 1 } if let recvClosure = recvClosure { return await recvClosure() } else { @@ -31462,68 +18431,40 @@ open class WidgetDriverHandleSDKMock: MatrixRustSDK.WidgetDriverHandle, @uncheck //MARK: - send - open var sendMsgUnderlyingCallsCount = 0 + private let sendMsgCallsCountLock = NSLock() + private var sendMsgUnderlyingCallsCount = 0 open var sendMsgCallsCount: Int { - get { - if Thread.isMainThread { - return sendMsgUnderlyingCallsCount - } else { - var returnValue: Int? = nil - DispatchQueue.main.sync { - returnValue = sendMsgUnderlyingCallsCount - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMsgUnderlyingCallsCount = newValue - } else { - DispatchQueue.main.sync { - sendMsgUnderlyingCallsCount = newValue - } - } - } + get { sendMsgCallsCountLock.withLock { sendMsgUnderlyingCallsCount } } + set { sendMsgCallsCountLock.withLock { sendMsgUnderlyingCallsCount = newValue } } } open var sendMsgCalled: Bool { return sendMsgCallsCount > 0 } - open var sendMsgReceivedMsg: String? - open var sendMsgReceivedInvocations: [String] = [] + private let sendMsgReceivedMsgLock = NSLock() + private var sendMsgUnderlyingReceivedMsg: String? + open var sendMsgReceivedMsg: String? { + get { sendMsgReceivedMsgLock.withLock { sendMsgUnderlyingReceivedMsg } } + set { sendMsgReceivedMsgLock.withLock { sendMsgUnderlyingReceivedMsg = newValue } } + } + private let sendMsgReceivedInvocationsLock = NSLock() + private var sendMsgUnderlyingReceivedInvocations: [String] = [] + open var sendMsgReceivedInvocations: [String] { + get { sendMsgReceivedInvocationsLock.withLock { sendMsgUnderlyingReceivedInvocations } } + set { sendMsgReceivedInvocationsLock.withLock { sendMsgUnderlyingReceivedInvocations = newValue } } + } + private let sendMsgReturnValueLock = NSLock() open var sendMsgUnderlyingReturnValue: Bool! open var sendMsgReturnValue: Bool! { - get { - if Thread.isMainThread { - return sendMsgUnderlyingReturnValue - } else { - var returnValue: Bool? = nil - DispatchQueue.main.sync { - returnValue = sendMsgUnderlyingReturnValue - } - - return returnValue! - } - } - set { - if Thread.isMainThread { - sendMsgUnderlyingReturnValue = newValue - } else { - DispatchQueue.main.sync { - sendMsgUnderlyingReturnValue = newValue - } - } - } + get { sendMsgReturnValueLock.withLock { sendMsgUnderlyingReturnValue } } + set { sendMsgReturnValueLock.withLock { sendMsgUnderlyingReturnValue = newValue } } } open var sendMsgClosure: ((String) async -> Bool)? open override func send(msg: String) async -> Bool { - sendMsgCallsCount += 1 + sendMsgCallsCountLock.withLock { sendMsgUnderlyingCallsCount += 1 } sendMsgReceivedMsg = msg - DispatchQueue.main.async { - self.sendMsgReceivedInvocations.append(msg) - } + sendMsgReceivedInvocationsLock.withLock { sendMsgUnderlyingReceivedInvocations.append(msg) } if let sendMsgClosure = sendMsgClosure { return await sendMsgClosure(msg) } else {