diff options
Diffstat (limited to 'utils/UpdateTemperaturesBackgroundTask.go')
-rwxr-xr-x | utils/UpdateTemperaturesBackgroundTask.go | 38 |
1 files changed, 27 insertions, 11 deletions
diff --git a/utils/UpdateTemperaturesBackgroundTask.go b/utils/UpdateTemperaturesBackgroundTask.go index e5ad09c..35ea979 100755 --- a/utils/UpdateTemperaturesBackgroundTask.go +++ b/utils/UpdateTemperaturesBackgroundTask.go @@ -3,19 +3,25 @@ package utils import ( "time" - "github.com/mcuadros/go-octoprint" "github.com/Z-Bolt/OctoScreen/interfaces" + "github.com/Z-Bolt/OctoScreen/logger" + "github.com/Z-Bolt/OctoScreen/octoprintApis" + // "github.com/Z-Bolt/OctoScreen/octoprintApis/dataModels" ) -// TODO: convert this into a singleton class + +// TODO: convert this into a singleton var UpdateTemperaturesBackgroundTask *BackgroundTask = nil var temperatureDataDisplays []interfaces.ITemperatureDataDisplay -var registeredClient *octoprint.Client = nil +var registeredClient *octoprintApis.Client = nil -func CreateUpdateTemperaturesBackgroundTask(temperatureDataDisplay interfaces.ITemperatureDataDisplay, client *octoprint.Client) { +func CreateUpdateTemperaturesBackgroundTask( + temperatureDataDisplay interfaces.ITemperatureDataDisplay, + client *octoprintApis.Client, +) { if UpdateTemperaturesBackgroundTask != nil { - Logger.Error("UpdateTemperaturesBackgroundTask.CreateUpdateTemperaturesBackgroundTask() - updateTemperaturesBackgroundTask has already been set") + logger.Error("UpdateTemperaturesBackgroundTask.CreateUpdateTemperaturesBackgroundTask() - updateTemperaturesBackgroundTask has already been set") return } @@ -24,19 +30,29 @@ func CreateUpdateTemperaturesBackgroundTask(temperatureDataDisplay interfaces.IT UpdateTemperaturesBackgroundTask.Start() } -func RegisterTemperatureStatusBox(temperatureDataDisplay interfaces.ITemperatureDataDisplay, client *octoprint.Client) { +func RegisterTemperatureStatusBox(temperatureDataDisplay interfaces.ITemperatureDataDisplay, client *octoprintApis.Client) { temperatureDataDisplays = append(temperatureDataDisplays, temperatureDataDisplay) registeredClient = client } func updateTemperaturesCallback() { + logger.TraceEnter("UpdateTemperaturesBackgroundTask.updateTemperaturesCallback()") + + // TODO: add guard if printer isn't connected + // can't do right now due to circular dependency: + // TemperatureStatusBox creates the background task... + // background task needs UI.UIState or UIState.connectionAttempts + // UI has panel + // panel has TemperatureStatusBox + currentTemperatureData, err := GetCurrentTemperatureData(registeredClient) if err != nil { - LogError("UpdateTemperaturesBackgroundTask.updateTemperaturesCallback()", "GetCurrentTemperatureData(client)", err) - return + logger.LogError("UpdateTemperaturesBackgroundTask.updateTemperaturesCallback()", "GetCurrentTemperatureData(client)", err) + } else { + for _, temperatureDataDisplay := range temperatureDataDisplays { + temperatureDataDisplay.UpdateTemperatureData(currentTemperatureData) + } } - for _, temperatureDataDisplay := range temperatureDataDisplays { - temperatureDataDisplay.UpdateTemperatureData(currentTemperatureData) - } + logger.TraceLeave("UpdateTemperaturesBackgroundTask.updateTemperaturesCallback()") } |