Add an IEventSource interface to document the eventGenerator function.
 
Index: statusgrid/buildbot/changes/changes.py
===================================================================
--- statusgrid.orig/buildbot/changes/changes.py	2007-07-25 12:31:01.689563482 -0500
+++ statusgrid/buildbot/changes/changes.py	2007-07-25 12:31:13.481155673 -0500
@@ -167,6 +167,8 @@
     
     """
 
+    implements(interfaces.IEventSource)
+
     debug = False
     # todo: use Maildir class to watch for changes arriving by mail
 
Index: statusgrid/buildbot/interfaces.py
===================================================================
--- statusgrid.orig/buildbot/interfaces.py	2007-07-25 10:23:17.800283376 -0500
+++ statusgrid/buildbot/interfaces.py	2007-07-25 12:30:32.534571967 -0500
@@ -277,6 +277,12 @@
         """Unregister an IStatusReceiver. No further status messgaes will be
         delivered."""
 
+class IEventSource(Interface):
+    def eventGenerator():
+        """This function creates a generator which will provide all of this
+        Object's status events, starting with the most recent and
+        progressing backwards in time. """
+
 class IBuildStatus(Interface):
     """I represent the status of a single Build/BuildRequest. It could be
     in-progress or finished."""
Index: statusgrid/buildbot/status/builder.py
===================================================================
--- statusgrid.orig/buildbot/status/builder.py	2007-07-25 10:23:17.800283376 -0500
+++ statusgrid/buildbot/status/builder.py	2007-07-25 12:32:14.335051676 -0500
@@ -1290,7 +1290,7 @@
                      used to filter on in status clients
     """
 
-    implements(interfaces.IBuilderStatus)
+    implements(interfaces.IBuilderStatus, interfaces.IEventSource)
     persistenceVersion = 1
 
     # these limit the amount of memory we consume, as well as the size of the

