diff options
Diffstat (limited to 'mono/example/BusListener.cs')
-rw-r--r-- | mono/example/BusListener.cs | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/mono/example/BusListener.cs b/mono/example/BusListener.cs new file mode 100644 index 00000000..8af83d84 --- /dev/null +++ b/mono/example/BusListener.cs @@ -0,0 +1,44 @@ +namespace Foo +{ + using System; + using DBus; + using Gtk; + + public class BusListener + { + + static void OnServiceOwnerChanged (string serviceName, + string oldOwner, + string newOwner) + { + if (oldOwner == "") + Console.WriteLine ("{0} created by {1}", + serviceName, newOwner); + else if (newOwner == "") + Console.WriteLine ("{0} released by {1}", + serviceName, oldOwner); + else + Console.WriteLine ("{0} transfered from {1} to {2}", + serviceName, oldOwner, newOwner); + } + + public static int Main (string [] args) + { + Application.Init (); + + Connection connection; + connection = Bus.GetSessionBus (); + + BusDriver driver = BusDriver.New (connection); + driver.ServiceOwnerChanged += new ServiceEventHandler (OnServiceOwnerChanged); + + Console.WriteLine ("Listening for service changes..."); + + Application.Run (); + + return 0; + } + } + + +} |