return MM_ERROR_NONE;
}
+static int __get_dbus_connection(GDBusConnection **conn)
+{
+ GError *err = NULL;
+
+ *conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
+ if (!(*conn) || err) {
+ if (err)
+ LOGE("g_bus_get_sync() error (%s)", err->message);
+ else
+ LOGE("g_bus_get_sync() error");
+ g_error_free(err);
+ return MM_ERROR_SOUND_INTERNAL;
+ }
+
+ return MM_ERROR_NONE;
+}
+
int _convert_sound_type(sound_type_e sound_type, const char **volume_type)
{
SM_NULL_ARG_CHECK_FOR_PRIV(volume_type);
assert(stream_type);
assert(info);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn && err) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
+
result = g_dbus_connection_call_sync(conn,
PA_BUS_NAME,
PA_STREAM_MANAGER_OBJECT_PATH,
2000,
NULL,
&err);
- if (!result && err) {
- LOGE("g_dbus_connection_call_sync() for GET_STREAM_INFO error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for GET_STREAM_INFO error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
}
g_variant_unref(item);
g_variant_unref(child);
- g_variant_unref(result);
if (info->priority == -1) {
LOGE("could not find the info of stream type(%s)", stream_type);
}
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return ret;
assert(info);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
LOGI("stream info index(%u)", index);
2000,
NULL,
&err);
- if (!result) {
- LOGE("g_dbus_connection_call_sync() for SET_STREAM_ROUTE_DEVICES error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for SET_STREAM_ROUTE_DEVICES error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
else
info->is_set = true;
- g_variant_unref(result);
LEAVE:
+ g_variant_unref(result);
if (builder_for_in_devices)
g_variant_builder_unref(builder_for_in_devices);
if (builder_for_out_devices)
assert(name);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn && err) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
LOGI("[OPTION] %s(%d)", name, value);
2000,
NULL,
&err);
- if (!result && err) {
- LOGE("g_dbus_connection_call_sync() for SET_STREAM_ROUTE_OPTION error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for SET_STREAM_ROUTE_OPTION error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
else if (strncmp("STREAM_MANAGER_RETURN_OK", dbus_ret, strlen(dbus_ret)))
ret = MM_ERROR_SOUND_INTERNAL;
- g_variant_unref(result);
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return ret;
assert(volume_type);
assert(max_level);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
result = g_dbus_connection_call_sync(conn,
PA_BUS_NAME,
2000,
NULL,
&err);
- if (!result) {
- LOGE("g_dbus_connection_call_sync() for GET_VOLUME_MAX_LEVEL error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for GET_VOLUME_MAX_LEVEL error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
if (strncmp("STREAM_MANAGER_RETURN_OK", dbus_ret, strlen(dbus_ret)))
ret = MM_ERROR_SOUND_INTERNAL;
- g_variant_unref(result);
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return ret;
assert(volume_type);
assert(level);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
result = g_dbus_connection_call_sync(conn,
PA_BUS_NAME,
2000,
NULL,
&err);
- if (!result) {
- LOGE("g_dbus_connection_call_sync() for GET_VOLUME_LEVEL error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for GET_VOLUME_LEVEL error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
if (strncmp("STREAM_MANAGER_RETURN_OK", dbus_ret, strlen(dbus_ret)))
ret = MM_ERROR_SOUND_INTERNAL;
- g_variant_unref(result);
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return ret;
assert(direction);
assert(volume_type);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
result = g_dbus_connection_call_sync(conn,
PA_BUS_NAME,
2000,
NULL,
&err);
- if (!result) {
- LOGE("g_dbus_connection_call_sync() for SET_VOLUME_LEVEL error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for SET_VOLUME_LEVEL error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
if ((vret = vconf_set_int(volume_path, (int)level)))
LOGE("vconf_set_int(%s) failed..ret[%d]\n", volume_path, vret);
}
- g_variant_unref(result);
+
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return ret;
assert(direction);
assert(volume_type);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
result = g_dbus_connection_call_sync(conn,
PA_BUS_NAME,
2000,
NULL,
&err);
- if (!result) {
- LOGE("g_dbus_connection_call_sync() for GET_CURRENT_VOLUME_TYPE error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for GET_CURRENT_VOLUME_TYPE error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
if (!strncmp("STREAM_MANAGER_RETURN_OK", dbus_ret, strlen(dbus_ret))) {
ret = MM_ERROR_NONE;
*volume_type = strdup(dbus_volume_type);
- } else if (!strncmp("STREAM_MANAGER_RETURN_ERROR_NO_STREAM", dbus_ret, strlen(dbus_ret)))
+ } else if (!strncmp("STREAM_MANAGER_RETURN_ERROR_NO_STREAM", dbus_ret, strlen(dbus_ret))) {
ret = MM_ERROR_SOUND_VOLUME_NO_INSTANCE;
- else
+ } else {
ret = MM_ERROR_SOUND_INTERNAL;
+ }
- g_variant_unref(result);
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return ret;
assert(direction);
assert(device_type);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
result = g_dbus_connection_call_sync(conn,
PA_BUS_NAME,
2000,
NULL,
&err);
- if (!result) {
- LOGE("g_dbus_connection_call_sync() for GET_CURRENT_MEDIA_ROUTING_PATH error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for GET_CURRENT_MEDIA_ROUTING_PATH error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
ret = MM_ERROR_SOUND_INTERNAL;
}
- g_variant_unref(result);
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return ret;
GError *err = NULL;
const gchar *dbus_ret = NULL;
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
+ if (__get_dbus_connection(&conn))
return;
- }
result = g_dbus_connection_call_sync(conn,
PA_BUS_NAME,
2000,
NULL,
&err);
- if (!result) {
- LOGE("g_dbus_connection_call_sync() for UPDATE_FOCUS_STATUS error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for UPDATE_FOCUS_STATUS error (%s)", err ? err->message : NULL);
g_error_free(err);
goto LEAVE;
}
if (strncmp("STREAM_MANAGER_RETURN_OK", dbus_ret, strlen(dbus_ret)))
LOGE("failed to UPDATE_FOCUS_STATUS error (%s)", dbus_ret);
- g_variant_unref(result);
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return;
assert(exist);
assert(direction);
- conn = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &err);
- if (!conn) {
- LOGE("g_bus_get_sync() error (%s)", err->message);
- g_error_free(err);
- return MM_ERROR_SOUND_INTERNAL;
- }
+ if ((ret = __get_dbus_connection(&conn)))
+ return ret;
result = g_dbus_connection_call_sync(conn,
PA_BUS_NAME,
2000,
NULL,
&err);
- if (!result) {
- LOGE("g_dbus_connection_call_sync() for CHECK_STREAM_EXIST_BY_PID error (%s)", err->message);
+ if (!result || err) {
+ LOGE("g_dbus_connection_call_sync() for CHECK_STREAM_EXIST_BY_PID error (%s)", err ? err->message : NULL);
g_error_free(err);
ret = MM_ERROR_SOUND_INTERNAL;
goto LEAVE;
else
ret = MM_ERROR_SOUND_INTERNAL;
- g_variant_unref(result);
LEAVE:
+ g_variant_unref(result);
g_object_unref(conn);
return ret;