chiark / gitweb /
systemd-python: wrap sd_login_monitor
[elogind.git] / src / python-systemd / docs / login.rst
index 2cd9d8cbeed50afe21a060432fe435e6934de80c..6b4de64c55340f291d1376d39f2adafa46f30e8c 100644 (file)
@@ -3,3 +3,26 @@
 
 .. automodule:: systemd.login
    :members:
+
+.. autoclass:: Monitor
+   :undoc-members:
+   :inherited-members:
+
+Example: polling for events
+~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+This example shows that session/uid/seat/machine events can be waited
+for (using e.g. `poll`). This makes it easy to integrate Monitor in an
+external event loop:
+
+  >>> import select
+  >>> from systemd import login
+  >>> m = login.Monitor("machine")
+  >>> p = select.poll()
+  >>> p.register(m, m.get_events())
+  >>> login.machine_names()
+  []
+  >>> p.poll()
+  [(3, 1)]
+  >>> login.machine_names()
+  ['fedora-19.nspawn']