Hi,<br><br>I compiled hal.0.5.10 on my system...<br>I can call methods registered on the Dbus at org.freedesktop.Hal.Manager --- like GetAllDevices. And get the list of all device connected to the system at that time.<br>
But I am not able to get the signal DeviceAdded through DBus....<br><br>Below is the code i use to listen to the signal<br><br><br>con=dbus_g_bus_get(DBUS_BUS_SYSTEM,NULL);<br> proxy=dbus_g_proxy_new_for_name(con,"
org.freedesktop.Hal","/org/freedesktop/Hal/Manager","org.freedesktop.Hal.Manager");<br><br> printf("Probably got a connectrion to the correct interface...\n");<br> loop=g_main_loop_new(NULL,FALSE);
<br> m1=g_cclosure_user_marshal_VOID__STRING;<br> m2=g_cclosure_user_marshal_VOID__STRING;<br> dbus_g_object_register_marshaller(m1,G_TYPE_BOOLEAN,G_TYPE_STRING,G_TYPE_INVALID);<br> dbus_g_object_register_marshaller(m2,G_TYPE_BOOLEAN,G_TYPE_STRING,G_TYPE_INVALID);
<br><br> dbus_g_proxy_add_signal(proxy,"DeviceAdded",G_TYPE_INVALID);<br> dbus_g_proxy_add_signal(proxy,"DeviceRemoved",G_TYPE_INVALID);<br> dbus_g_proxy_connect_signal(proxy,"DeviceAdded",(GCallback)device_added,NULL,NULL);
<br> dbus_g_proxy_connect_signal(proxy,"DeviceRemoved",(GCallback)device_removed,NULL,NULL);<br><br> printf("Calling a remote method...\n");<br> err=NULL;<br> dbus_g_proxy_call(proxy,"GetAllDevices",&err,G_TYPE_INVALID,G_TYPE_STRV,&list,G_TYPE_INVALID);
<br><br><br><br>I am not able to determine what the problem... Do i have to edit any policy files for this?? Or my code is wrong??<br>{I am trying to get DeviceAdded signal whner i connect my flash stick}<br>Any suggestion on this is appreciated....
<br>Thanks in advance .<br><br>shankar<br><br>