ShairportSyncDiagnostics *shairportSyncDiagnosticsSkeleton = NULL;
ShairportSyncRemoteControl *shairportSyncRemoteControlSkeleton = NULL;
ShairportSyncAdvancedRemoteControl *shairportSyncAdvancedRemoteControlSkeleton = NULL;
-GDBusConnection *ourBusConnection = NULL;
guint ownerID = 0;
}
gboolean notify_disable_standby_mode_callback(ShairportSync *skeleton,
- __attribute__((unused)) gpointer user_data) {
+ __attribute__((unused)) gpointer user_data) {
char *th = (char *)shairport_sync_get_disable_standby_mode(skeleton);
- if ((strcasecmp(th, "no") == 0) || (strcasecmp(th, "off") == 0) ||
- (strcasecmp(th, "never") == 0)) {
+ if ((strcasecmp(th, "no") == 0) || (strcasecmp(th, "off") == 0) || (strcasecmp(th, "never") == 0)) {
config.disable_standby_mode = disable_standby_off;
config.keep_dac_busy = 0;
- } else if ((strcasecmp(th, "yes") == 0) || (strcasecmp(th, "on") == 0) ||
- (strcasecmp(th, "always") == 0)) {
+ } else if ((strcasecmp(th, "yes") == 0) || (strcasecmp(th, "on") == 0) || (strcasecmp(th, "always") == 0)) {
config.disable_standby_mode = disable_standby_always;
config.keep_dac_busy = 1;
} else if (strcasecmp(th, "while_active") == 0)
else {
warn("An unrecognised disable_standby_mode: \"%s\" was requested via D-Bus interface.", th);
switch (config.disable_standby_mode) {
- case disable_standby_off:
- shairport_sync_set_disable_standby_mode(skeleton, "off");
- break;
- case disable_standby_always:
- shairport_sync_set_disable_standby_mode(skeleton, "always");
- break;
- case disable_standby_while_active:
- shairport_sync_set_disable_standby_mode(skeleton, "while_active");
- break;
- default:
- break;
+ case disable_standby_off:
+ shairport_sync_set_disable_standby_mode(skeleton, "off");
+ break;
+ case disable_standby_always:
+ shairport_sync_set_disable_standby_mode(skeleton, "always");
+ break;
+ case disable_standby_while_active:
+ shairport_sync_set_disable_standby_mode(skeleton, "while_active");
+ break;
+ default:
+ break;
}
}
return TRUE;
G_CALLBACK(notify_alacdecoder_callback), NULL);
g_signal_connect(shairportSyncSkeleton, "notify::disable-standby-mode",
G_CALLBACK(notify_disable_standby_mode_callback), NULL);
- g_signal_connect(shairportSyncSkeleton, "notify::volume-control-profile",
+ g_signal_connect(shairportSyncSkeleton, "notify::volume-control-profile",
G_CALLBACK(notify_volume_control_profile_callback), NULL);
g_signal_connect(shairportSyncSkeleton, "notify::disable-standby",
G_CALLBACK(notify_disable_standby_callback), NULL);
debug(1, ">> Active set to \"false\"");
switch (config.disable_standby_mode) {
- case disable_standby_off:
- shairport_sync_set_disable_standby_mode(SHAIRPORT_SYNC(shairportSyncSkeleton), "off");
- debug(1, ">> disable standby mode set to \"off\"");
- break;
- case disable_standby_always:
- shairport_sync_set_disable_standby_mode(SHAIRPORT_SYNC(shairportSyncSkeleton), "always");
- debug(1, ">> disable standby mode set to \"always\"");
- break;
- case disable_standby_while_active:
- shairport_sync_set_disable_standby_mode(SHAIRPORT_SYNC(shairportSyncSkeleton), "while_active");
- debug(1, ">> disable standby mode set to \"while_active\"");
- break;
- default:
- debug(1, "invalid disable_standby mode!");
- break;
+ case disable_standby_off:
+ shairport_sync_set_disable_standby_mode(SHAIRPORT_SYNC(shairportSyncSkeleton), "off");
+ debug(1, ">> disable standby mode set to \"off\"");
+ break;
+ case disable_standby_always:
+ shairport_sync_set_disable_standby_mode(SHAIRPORT_SYNC(shairportSyncSkeleton), "always");
+ debug(1, ">> disable standby mode set to \"always\"");
+ break;
+ case disable_standby_while_active:
+ shairport_sync_set_disable_standby_mode(SHAIRPORT_SYNC(shairportSyncSkeleton), "while_active");
+ debug(1, ">> disable standby mode set to \"while_active\"");
+ break;
+ default:
+ debug(1,"invalid disable_standby mode!");
+ break;
}
#ifdef CONFIG_SOXR
service_is_running = 1;
}
-// from http://www.ccp4.ac.uk/dist/checkout/glib-2.34.3/gio/tests/gdbus-tests.c
-/* ----------------------------------------------------------------------------------------------------
- */
-
-GDBusConnection *_g_bus_get_priv(GBusType bus_type, GCancellable *cancellable, GError **error) {
- gchar *address;
- GDBusConnection *ret;
-
- ret = NULL;
-
- address = g_dbus_address_get_for_bus_sync(bus_type, cancellable, error);
- if (address == NULL)
- goto out;
-
- ret = g_dbus_connection_new_for_address_sync(address,
- G_DBUS_CONNECTION_FLAGS_AUTHENTICATION_CLIENT |
- G_DBUS_CONNECTION_FLAGS_MESSAGE_BUS_CONNECTION,
- NULL, /* GDBusAuthObserver */
- cancellable, error);
- g_free(address);
-
-out:
- return ret;
-}
-
static void on_dbus_name_lost_again(__attribute__((unused)) GDBusConnection *connection,
__attribute__((unused)) const gchar *name,
__attribute__((unused)) gpointer user_data) {
pid_t pid = getpid();
char interface_name[256] = "";
snprintf(interface_name, sizeof(interface_name), "org.gnome.ShairportSync.i%d", pid);
- // GBusType dbus_bus_type = G_BUS_TYPE_SYSTEM;
- // if (config.dbus_service_bus_type == DBT_session)
- // dbus_bus_type = G_BUS_TYPE_SESSION;
+ GBusType dbus_bus_type = G_BUS_TYPE_SYSTEM;
+ if (config.dbus_service_bus_type == DBT_session)
+ dbus_bus_type = G_BUS_TYPE_SESSION;
// debug(1, "Looking for a Shairport Sync native D-Bus interface \"%s\" on the %s bus.",
// interface_name,(config.dbus_service_bus_type == DBT_session) ? "session" : "system");
- ownerID =
- g_bus_own_name_on_connection(ourBusConnection, interface_name, G_BUS_NAME_OWNER_FLAGS_REPLACE,
- on_dbus_name_acquired, on_dbus_name_lost_again, NULL, NULL);
-
- // g_bus_own_name(dbus_bus_type, interface_name, G_BUS_NAME_OWNER_FLAGS_NONE, NULL,
- // on_dbus_name_acquired, on_dbus_name_lost_again, NULL, NULL);
+ g_bus_own_name(dbus_bus_type, interface_name, G_BUS_NAME_OWNER_FLAGS_NONE, NULL,
+ on_dbus_name_acquired, on_dbus_name_lost_again, NULL, NULL);
}
int start_dbus_service() {
dbus_bus_type = G_BUS_TYPE_SESSION;
// debug(1, "Looking for a Shairport Sync native D-Bus interface \"org.gnome.ShairportSync\" on
// the %s bus.",(config.dbus_service_bus_type == DBT_session) ? "session" : "system");
-
- ourBusConnection = _g_bus_get_priv(dbus_bus_type, NULL, NULL);
- if (ourBusConnection) {
- debug(1, "Got a connection to the bus.");
- g_dbus_connection_set_exit_on_close(ourBusConnection, FALSE);
- ownerID = g_bus_own_name_on_connection(ourBusConnection, "org.gnome.ShairportSync",
- G_BUS_NAME_OWNER_FLAGS_REPLACE, on_dbus_name_acquired,
- on_dbus_name_lost, NULL, NULL);
- }
-
- // ownerID = g_bus_own_name(dbus_bus_type, "org.gnome.ShairportSync", G_BUS_NAME_OWNER_FLAGS_NONE,
- // NULL, on_dbus_name_acquired, on_dbus_name_lost, NULL, NULL);
+ ownerID = g_bus_own_name(dbus_bus_type, "org.gnome.ShairportSync", G_BUS_NAME_OWNER_FLAGS_NONE,
+ NULL, on_dbus_name_acquired, on_dbus_name_lost, NULL, NULL);
return 0; // this is just to quieten a compiler warning
}
g_bus_unown_name(ownerID);
else
debug(1, "Zero OwnerID for \"org.gnome.ShairportSync\".");
- if (ourBusConnection)
- g_object_unref(ourBusConnection);
- else
- debug(1, "NULL BusConnection for \"org.gnome.ShairportSync\".");
- service_is_running = 0;
+ service_is_running = 0;
}
-int dbus_service_is_running() { return service_is_running; }
+int dbus_service_is_running() {
+ return service_is_running;
+}