We need a way to be able to send data from another program to
Rygel via a dbus connection, that is handled immediately. We have the code in
the other program that will send the data to Rygel. Below is the Rygel class
that showing the data we need to get into Rygel. Currently the other program
will send the data to Rygel, but it will not get handled immediately. Can
someone help me by showing me how get the code to get handled immediately??
[DBus (name = "org.gnome.Rygel2")]
public class Rygel.DBusService2 : Object {
private static string RYGEL_SERVICE = "org.gnome.Rygel2";
private static string RYGEL_PATH = "/org/gnome/Ryge2";
private static DBusService2 instance;
public static DBusService2 get_default() {
if (instance != null) {
return instance;
}
try {
instance = new DBusService2();
} catch (DBus.Error err) {
warning ("Failed to create D-Bus service: %s", err.message);
return null;
}
return instance;
}
public int ChangeVolume (uint Cvolume,uint Cmute)
{
stdout.printf ("ChangeVolume 2 to %u Mute to %u\n",Cvolume,Cmute);
return 1;
}
public int ChangePhase (uint Cphase)
{
stdout.printf ("ChangePhase 2 to %u \n",Cphase);
return 1;
}
public int ChangeFilter (string Cfilter)
{
stdout.printf ("ChangeFilter 2 to %s \n",Cfilter);
return 1;
}
public int ChangeInputSelect (string Cinputselect)
{
stdout.printf ("ChangeInputSelect 2 to %s \n",Cinputselect);
return 1;
}
public int ChangeSampleRate (string Csamplerate)
{
stdout.printf ("ChangeSampleRate 2 to %s \n",Csamplerate);
return 1;
}
}
Below is the Rygel main function that I am using:
private static int main (string[] args) {
Main main;
DBusService service;
DBusService2 service2;
NetworkManagerService nm_service;
try {
nm_service = new NetworkManagerService ();
} catch (DBus.Error err) {
warning ("Failed to start D-Bus service: %s", err.message);
}
try {
// Parse commandline options
CmdlineConfig.parse_args (ref args);
main = Main.get_default ();
service = DBusService.get_default ();
} catch (DBus.Error err) {
warning ("Failed to start D-Bus service: %s", err.message);
} catch (CmdlineConfigError.VERSION_ONLY err) {
return 0;
} catch (GLib.Error err) {
error ("%s", err.message);
return -1;
}
try {
var conn1 = DBus.Bus.get(DBus.BusType.SESSION);
dynamic DBus.Object bus = conn1.get_object("org.freedesktop.DBus",
"/org/freedesktop/DBus",
"org.freedesktop.DBus");
// try to register service in session bus
uint reply = bus.request_name("org.gnome.Rygel2", (uint) 0);
assert(reply == DBus.RequestNameReply.PRIMARY_OWNER);
// start service
service2 = new DBusService2();
// service2 = DBusService2.get_default ();
conn1.register_object("/org/gnome/Rygel2", service2);
stdout.printf("dak DBUS Connected to /org/gnome/Rygel2\n");
// start main loop
} catch (DBus.Error err) {
stdout.printf("dak DBUS Error: %s\n", err.message);
}
int exit_code = main.run ();
return exit_code;
}
}
Dennis Kerrisk | Design Engineer | PS Audio
4826 Sterling Drive, Boulder, CO 80301
Ph 720-406-8946 x123
www.psaudio.com<http://www.psaudio.com>
[email protected]<mailto:[email protected]>
Dennis Kerrisk | Design Engineer | PS Audio
4826 Sterling Drive, Boulder, CO 80301
Ph 720-406-8946 x123
www.psaudio.com<http://www.psaudio.com>
[email protected]<mailto:[email protected]>
_______________________________________________
vala-list mailing list
[email protected]
http://mail.gnome.org/mailman/listinfo/vala-list