Add support for rendering startup events

Change-Id: I0255cad1746893c41602f6e16bfe917ab1482fe3
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/README.md b/README.md
index 81929d4..08cba81 100644
--- a/README.md
+++ b/README.md
@@ -21,7 +21,7 @@
 
 * name - A globally unique event name.
 * description - An optional description of the event.
-* type - The event type.  Supported types are: *match*.
+* type - The event type.  Supported types are: *match* and *startup*.
 * actions - The responses to the event.
 
 Subsequent tags are defined by the event type.
@@ -34,6 +34,13 @@
 * signatures - A DBus match specification.
 * filters - Filters to apply when a match occurs.
 
+-----
+**startup**
+
+Supported startup tags are:
+
+* filters - Filters to apply at startup.
+
 ----
 **filters**
 
diff --git a/pimgen.py b/pimgen.py
index 242edda..ce43c46 100755
--- a/pimgen.py
+++ b/pimgen.py
@@ -412,11 +412,21 @@
         super(MatchEvent, self).__init__(**kw)
 
 
+class StartupEvent(Event):
+    '''Assemble a startup event.'''
+
+    def __init__(self, **kw):
+        kw['event'] = 'StartupEvent'
+        kw['event_namespace'] = ['details']
+        super(StartupEvent, self).__init__(**kw)
+
+
 class Everything(Renderer):
     '''Parse/render entry point.'''
 
     class_map = {
         'match': MatchEvent,
+        'startup': StartupEvent,
     }
 
     @staticmethod