Add interface for progress tracking.
Implement this interface to track the progress of an activity.
Signed-off-by: Dhruvaraj Subhashchandran <dhruvaraj@in.ibm.com>
Change-Id: Ia40b4b0052d4c71742d226ff8be6c1c3029c727e
diff --git a/xyz/openbmc_project/Common/Progress.interface.yaml b/xyz/openbmc_project/Common/Progress.interface.yaml
new file mode 100644
index 0000000..6c0dc44
--- /dev/null
+++ b/xyz/openbmc_project/Common/Progress.interface.yaml
@@ -0,0 +1,44 @@
+description: >
+ Implement to provide the progress on user requested activity.
+ Objects which implements this interface should implement
+ xyz.openbmc_project.Object.Delete to delete individual entries.
+ The service hosting this interface should clear the entries after
+ some time or reaching some number of entries in stable states like
+ completed, failed or aborted.
+
+properties:
+ - name: Status
+ type: enum[self.OperationStatus]
+ default: InProgress
+ description: >
+ Indicate the state of the operation, whether in progress, completed
+ aborted or failed. The default should be InProgress during the
+ implementation if no input is provided.
+ - name: StartTime
+ type: uint64
+ description: >
+ Indicates when the request is created since the Epoch
+ (1 Jan 1970 00:00:00 UTC), in microseconds.
+ - name: CompletedTime
+ type: uint64
+ description: >
+ Indicates when the state is completed since the Epoch
+ (1 Jan 1970 00:00:00 UTC), in microseconds.
+
+enumerations:
+ - name: OperationStatus
+ description: >
+ Status of the activity
+ values:
+ - name: InProgress
+ description: >
+ Requested operation is in progress.
+ - name: Completed
+ description: >
+ The operation is completed.
+ - name: Failed
+ description: >
+ The operation encountered a failure.
+ - name: Aborted
+ description: >
+ The operation is aborted.