move the socketpair utility to dbusutils
authorHelmut Grohne <helmut@subdivi.de>
Wed, 19 Jun 2013 18:17:47 +0000 (20:17 +0200)
committerHelmut Grohne <helmut@subdivi.de>
Wed, 19 Jun 2013 18:17:47 +0000 (20:17 +0200)
dbus_service.py
onoff/dbusutils.py

index 3c35aa8..f5c8b1a 100755 (executable)
@@ -6,7 +6,6 @@ disable redshift e.g. while watching a movie.
 """
 
 import logging
-import socket
 
 import dbus
 import dbus.service
@@ -19,15 +18,6 @@ import onoff.process
 
 logger = logging.getLogger("dbus_service")
 
-def dbus_socket_pair():
-    """Create a socket pair where the latter end is suitable for dbus.
-    @rtype: (socket, dbus.types.UnixFd)
-    """
-    s1, s2 = socket.socketpair()
-    s3 = dbus.types.UnixFd(s2)
-    s2.close()
-    return s1, s3
-
 class OnoffControl(dbus.service.Object):
     domain = "de.subdivi.onoff0"
     path = onoff.dbusutils.object_prefix
@@ -56,7 +46,7 @@ class OnoffControl(dbus.service.Object):
     @dbus.service.method(domain, in_signature="q", out_signature="qh")
     def activatefd(self, duration):
         logger.info("activatefd duration %d", duration)
-        notifyfd, retfd = dbus_socket_pair()
+        notifyfd, retfd = onoff.dbusutils.socketpair()
         def callback(fd, _):
             logger.info("fd %d completed", fd.fileno())
             fd.close()
index 1305917..27ee35d 100644 (file)
@@ -1,4 +1,5 @@
 import argparse
+import socket
 
 import dbus
 
@@ -27,3 +28,14 @@ def get_dbus_proxy(namespace):
                              namespace.bus)
     objname = "%s/%s" % (object_prefix, namespace.device)
     return bus.get_object(namespace.busname, objname)
+
+def socketpair():
+    """Create a socket pair where the latter end is already wrapped for
+    transmission over dbus.
+
+    @rtype: (socket, dbus.types.UnixFd)
+    """
+    s1, s2 = socket.socketpair()
+    s3 = dbus.types.UnixFd(s2)
+    s2.close()
+    return s1, s3