summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Orlenko <zxteam@gmail.com>2010-07-07 16:53:40 +1100
committerAlexander Orlenko <zxteam@gmail.com>2010-07-07 16:53:40 +1100
commit0e4f2355cbc8d85c304822e4acd3bb05eb68ec05 (patch)
treebc6a6b3a20c99ab4a0407851cbe13f61715f9d5d
parent7491fabec6f423f0bb94e22fbc9a2c15f73a2bf8 (diff)
downloadbluez-tools-0e4f2355cbc8d85c304822e4acd3bb05eb68ec05.tar.gz
Nothing interesting
-rw-r--r--src/bt-audio.c10
-rw-r--r--src/bt-device.c6
-rw-r--r--src/bt-monitor.c3
3 files changed, 16 insertions, 3 deletions
diff --git a/src/bt-audio.c b/src/bt-audio.c
index 91fd10e..f76a647 100644
--- a/src/bt-audio.c
+++ b/src/bt-audio.c
@@ -32,13 +32,16 @@
static void audio_property_changed(Audio *audio, const gchar *name, const GValue *value, gpointer data)
{
+ GMainLoop *mainloop = data;
if (g_strcmp0(name, "state") == 0) {
if (g_strcmp0(g_value_get_string(value), "connecting") == 0) {
g_print("Connecting to an audio service\n");
} else if (g_strcmp0(g_value_get_string(value), "connected") == 0) {
g_print("Audio service is connected\n");
+ g_main_loop_quit(mainloop);
} else {
g_print("Audio service is disconnected\n");
+ g_main_loop_quit(mainloop);
}
}
}
@@ -90,8 +93,10 @@ int main(int argc, char *argv[])
// TODO: Test to AUDIO service
+ GMainLoop *mainloop = g_main_loop_new(NULL, FALSE);
+
Audio *audio = g_object_new(AUDIO_TYPE, "DBusObjectPath", device_get_dbus_object_path(device), NULL);
- g_signal_connect(audio, "PropertyChanged", G_CALLBACK(audio_property_changed), NULL);
+ g_signal_connect(audio, "PropertyChanged", G_CALLBACK(audio_property_changed), mainloop);
if (connect_arg) {
if (g_strcmp0(audio_get_state(audio), "connected") == 0) {
@@ -101,6 +106,7 @@ int main(int argc, char *argv[])
} else {
audio_connect(audio, &error);
exit_if_error(error);
+ g_main_loop_run(mainloop);
}
} else if (disconnect_arg) {
if (g_strcmp0(audio_get_state(audio), "disconnected") == 0) {
@@ -108,9 +114,11 @@ int main(int argc, char *argv[])
} else {
audio_disconnect(audio, &error);
exit_if_error(error);
+ g_main_loop_run(mainloop);
}
}
+ g_main_loop_unref(mainloop);
g_object_unref(audio);
g_object_unref(device);
g_object_unref(adapter);
diff --git a/src/bt-device.c b/src/bt-device.c
index 17b6d44..346e6b3 100644
--- a/src/bt-device.c
+++ b/src/bt-device.c
@@ -128,9 +128,10 @@ int main(int argc, char *argv[])
gchar *created_device = adapter_create_paired_device_end(adapter, &error);
exit_if_error(error);
+ g_print("Done\n");
g_main_loop_unref(mainloop);
- g_object_unref(agent);
g_free(created_device);
+ g_object_unref(agent);
} else if (remove_arg) {
Device *device = find_device(adapter, remove_arg, &error);
exit_if_error(error);
@@ -176,9 +177,10 @@ int main(int argc, char *argv[])
g_hash_table_iter_init(&iter, device_services);
while (g_hash_table_iter_next(&iter, &key, &value)) {
- g_print("%d -> %s\n", (guint)key, value);
+ g_print("%d -> %s\n", key, value);
}
+ g_print("Done\n");
g_object_unref(device);
} else if (set_arg) {
set_device_arg = argv[1];
diff --git a/src/bt-monitor.c b/src/bt-monitor.c
index fc3c281..83dc5a6 100644
--- a/src/bt-monitor.c
+++ b/src/bt-monitor.c
@@ -318,6 +318,9 @@ int main(int argc, char *argv[])
// TODO: Add SIGINT handler (Ctrl+C)
+ g_main_loop_unref(mainloop);
+ g_object_unref(manager);
+
exit(EXIT_SUCCESS);
}