From b5cc7f6a1cb6a342f3088fd1710b2e31201c73f5 Mon Sep 17 00:00:00 2001
From: meejah <meejah@meejah.ca>
Date: Mon, 1 Feb 2016 09:03:07 -0700
Subject: [PATCH] flesh out IQueuedItem

---
 src/allmydata/frontends/magic_folder.py | 22 +++++++++++++++++++---
 1 file changed, 19 insertions(+), 3 deletions(-)

diff --git a/src/allmydata/frontends/magic_folder.py b/src/allmydata/frontends/magic_folder.py
index 8a2b07e1..c3913d35 100644
--- a/src/allmydata/frontends/magic_folder.py
+++ b/src/allmydata/frontends/magic_folder.py
@@ -9,6 +9,8 @@ from twisted.python.failure import Failure
 from twisted.python import runtime
 from twisted.application import service
 
+from zope.interface import Interface, Attribute, implementer
+
 from allmydata.util import fileutil
 from allmydata.interfaces import IDirectoryNode
 from allmydata.util import log
@@ -199,10 +201,24 @@ class QueueMixin(HookMixin):
             raise
 
 
-from zope.interface import Interface, implementer
-
+# this isn't in interfaces.py because it's very specific to QueueMixin
 class IQueuedItem(Interface):
-    pass
+    relpath_u = Attribute("The path this item represents")
+    progress = Attribute("A PercentProgress instance")
+
+    def set_status(self, status, current_time=None):
+        """
+        """
+
+    def status_time(self, state):
+        """
+        Get the time of particular state change, or None
+        """
+
+    def status_history(self):
+        """
+        All status changes, sorted latest -> oldest
+        """
 
 
 @implementer(IQueuedItem)
-- 
2.45.2