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.