00001 namespace Foo
00002 {
00003 using System;
00004 using DBus;
00005 using Gtk;
00006
00007 public class BusListener
00008 {
00009
00010 static void OnNameOwnerChanged (string name,
00011 string oldOwner,
00012 string newOwner)
00013 {
00014 if (oldOwner == "")
00015 Console.WriteLine ("{0} created by {1}",
00016 name, newOwner);
00017 else if (newOwner == "")
00018 Console.WriteLine ("{0} released by {1}",
00019 name, oldOwner);
00020 else
00021 Console.WriteLine ("{0} transfered from {1} to {2}",
00022 name, oldOwner, newOwner);
00023 }
00024
00025 public static int Main (string [] args)
00026 {
00027 Application.Init ();
00028
00029 Connection connection;
00030 connection = Bus.GetSessionBus ();
00031
00032 BusDriver driver = BusDriver.New (connection);
00033 driver.NameOwnerChanged += new NameOwnerChangedHandler (OnNameOwnerChanged);
00034
00035 Console.WriteLine ("Listening for name owner changes...");
00036
00037 Application.Run ();
00038
00039 return 0;
00040 }
00041 }
00042
00043
00044 }