diff --git a/src/ska_tango_base/base/base_device.py b/src/ska_tango_base/base/base_device.py index 77d057d16545bef853cf217606f5a0fa98124a88..73eaaee9dd8f0950e7de92d51aa75c00b60af4de 100644 --- a/src/ska_tango_base/base/base_device.py +++ b/src/ska_tango_base/base/base_device.py @@ -1120,7 +1120,7 @@ class SKABaseDevice(Device): :return: tasks in the device queue """ - return self.component_manager.queue_manager.tasks_in_queue + return self.component_manager.tasks_in_queue def read_longRunningCommandIDsInQueue(self): # PROTECTED REGION ID(SKABaseDevice.longRunningCommandIDsInQueue_read) ENABLED START # @@ -1138,7 +1138,7 @@ class SKABaseDevice(Device): :return: ID, status pairs of the currently executing commands """ - return self.component_manager.queue_manager.task_status + return self.component_manager.task_status def read_longRunningCommandProgress(self): # PROTECTED REGION ID(SKABaseDevice.longRunningCommandProgress_read) ENABLED START # @@ -1147,7 +1147,7 @@ class SKABaseDevice(Device): :return: ID, progress of the currently executing command. """ - return self.component_manager.queue_manager.task_progress + return self.component_manager.task_progress def read_longRunningCommandResult(self): # PROTECTED REGION ID(SKABaseDevice.longRunningCommandResult_read) ENABLED START # @@ -1156,9 +1156,9 @@ class SKABaseDevice(Device): :return: ID, ResultCode, result. """ - if not self.component_manager.queue_manager.task_result: + if not self.component_manager.task_result: return [] - return list(self.component_manager.queue_manager.task_result) + return list(self.component_manager.task_result) # -------- # Commands diff --git a/src/ska_tango_base/base/component_manager.py b/src/ska_tango_base/base/component_manager.py index 9061b4572a62606c99ccdc1754f53f3dd48d091c..ce3eacd0f98bbe332440c6ffd95ae0ea7716e32d 100644 --- a/src/ska_tango_base/base/component_manager.py +++ b/src/ska_tango_base/base/component_manager.py @@ -126,6 +126,53 @@ class BaseComponentManager: """ raise NotImplementedError("BaseComponentManager is abstract.") + @property + def tasks_in_queue(self): + """ + Read the long running commands in the queue. + + :return: tasks in the device queue + """ + return self.queue_manager.tasks_in_queue + + @property + def task_ids_in_queue(self): + """ + Read the IDs of the long running commands in the queue. + + :return: unique ids for the enqueued commands + """ + return self.queue_manager.task_ids_in_queue + + @property + def task_status(self): + """ + Read the status of the currently executing long running commands. + + :return: ID, status pairs of the currently executing commands + """ + return self.queue_manager.task_status + + @property + def task_progress(self): + """ + Read the progress of the currently executing long running command. + + :return: ID, progress of the currently executing command. + """ + return self.queue_manager.task_progress + + @property + def task_result(self): + """ + Read the result of the completed long running command. + + :return: ID, ResultCode, result. + """ + if not self.queue_manager.task_result: + return [] + return list(self.queue_manager.task_result) + def off(self): """Turn the component off.""" raise NotImplementedError("BaseComponentManager is abstract.")