Skip to content

Commit

Permalink
Merge pull request #74 from dinesharjani/objc_sync_setstate
Browse files Browse the repository at this point in the history
Private setState() FirmwareUpgradeManager Rename
  • Loading branch information
dinesharjani authored Sep 19, 2022
2 parents 1aadbbc + 1a5f8ec commit 35d7add
Showing 1 changed file with 9 additions and 10 deletions.
19 changes: 9 additions & 10 deletions Source/Managers/DFU/FirmwareUpgradeManager.swift
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ public class FirmwareUpgradeManager : FirmwareUpgradeController, ConnectionObser
// MARK: Firmware Upgrade State Machine
//**************************************************************************

private func setState(_ state: FirmwareUpgradeState) {
private func objc_sync_setState(_ state: FirmwareUpgradeState) {
objc_sync_enter(self)
let previousState = self.state
self.state = state
Expand All @@ -167,23 +167,23 @@ public class FirmwareUpgradeManager : FirmwareUpgradeController, ConnectionObser
}

private func requestMcuMgrParameters() {
setState(.requestMcuMgrParameters)
objc_sync_setState(.requestMcuMgrParameters)
if !paused {
log(msg: "Requesting device capabilities...", atLevel: .verbose)
defaultManager.params(callback: self.mcuManagerParametersCallback)
}
}

private func validate() {
setState(.validate)
objc_sync_setState(.validate)
if !paused {
log(msg: "Sending Image List command...", atLevel: .verbose)
imageManager.list(callback: validateCallback)
}
}

private func upload() {
setState(.upload)
objc_sync_setState(.upload)
if !paused {
let imagesToUpload = images
.filter { !$0.uploaded }
Expand All @@ -198,23 +198,23 @@ public class FirmwareUpgradeManager : FirmwareUpgradeController, ConnectionObser
}

private func test(_ image: FirmwareUpgradeImage) {
setState(.test)
objc_sync_setState(.test)
if !paused {
log(msg: "Sending Test command for image \(image.image)...", atLevel: .verbose)
imageManager.test(hash: [UInt8](image.hash), callback: testCallback)
}
}

private func confirm(_ image: FirmwareUpgradeImage) {
setState(.confirm)
objc_sync_setState(.confirm)
if !paused {
log(msg: "Sending Confirm command for image \(image.image)...", atLevel: .verbose)
imageManager.confirm(hash: [UInt8](image.hash), callback: confirmCallback)
}
}

private func verify() {
setState(.confirm)
objc_sync_setState(.confirm)
if !paused {
// This will confirm the image on slot 0
log(msg: "Sending Config command...", atLevel: .verbose)
Expand All @@ -228,7 +228,7 @@ public class FirmwareUpgradeManager : FirmwareUpgradeController, ConnectionObser
}

private func reset() {
setState(.reset)
objc_sync_setState(.reset)
if !paused {
log(msg: "Sending Reset command...", atLevel: .verbose)
defaultManager.transporter.addObserver(self)
Expand All @@ -237,8 +237,7 @@ public class FirmwareUpgradeManager : FirmwareUpgradeController, ConnectionObser
}

private func success() {
// Does objc_sync_enter for itself.
setState(.success)
objc_sync_setState(.success)

objc_sync_enter(self)
defer {
Expand Down

0 comments on commit 35d7add

Please sign in to comment.