gladish: Don't log dbus error when studio is not loaded on gladish start
This commit is contained in:
parent
67ba277fa5
commit
d4946efe30
|
@ -189,6 +189,7 @@ static void disconnect_dbus(void)
|
||||||
{
|
{
|
||||||
dbus_object_path_destroy(g_dbus_connection, g_control_object);
|
dbus_object_path_destroy(g_dbus_connection, g_control_object);
|
||||||
dbus_connection_unref(g_dbus_connection);
|
dbus_connection_unref(g_dbus_connection);
|
||||||
|
dbus_call_last_error_cleanup();
|
||||||
}
|
}
|
||||||
|
|
||||||
void term_signal_handler(int signum)
|
void term_signal_handler(int signum)
|
||||||
|
|
|
@ -42,6 +42,8 @@
|
||||||
|
|
||||||
DBusConnection * g_dbus_connection;
|
DBusConnection * g_dbus_connection;
|
||||||
DBusError g_dbus_error;
|
DBusError g_dbus_error;
|
||||||
|
static char * g_dbus_call_last_error_name;
|
||||||
|
static char * g_dbus_call_last_error_message;
|
||||||
|
|
||||||
struct dbus_signal_hook_descriptor
|
struct dbus_signal_hook_descriptor
|
||||||
{
|
{
|
||||||
|
@ -62,6 +64,41 @@ struct dbus_service_descriptor
|
||||||
|
|
||||||
LIST_HEAD(g_dbus_services);
|
LIST_HEAD(g_dbus_services);
|
||||||
|
|
||||||
|
|
||||||
|
void dbus_call_last_error_cleanup(void)
|
||||||
|
{
|
||||||
|
free(g_dbus_call_last_error_name);
|
||||||
|
g_dbus_call_last_error_name = NULL;
|
||||||
|
|
||||||
|
free(g_dbus_call_last_error_message);
|
||||||
|
g_dbus_call_last_error_message = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool dbus_call_last_error_is_name(const char * name)
|
||||||
|
{
|
||||||
|
return g_dbus_call_last_error_name != NULL && strcmp(name, g_dbus_call_last_error_name) == 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
const char * dbus_call_last_error_get_message(void)
|
||||||
|
{
|
||||||
|
return g_dbus_call_last_error_message != NULL ? g_dbus_call_last_error_message : "";
|
||||||
|
}
|
||||||
|
|
||||||
|
static void dbus_call_last_error_set(void)
|
||||||
|
{
|
||||||
|
dbus_call_last_error_cleanup();
|
||||||
|
|
||||||
|
if (g_dbus_error.name != NULL)
|
||||||
|
{
|
||||||
|
g_dbus_call_last_error_name = strdup(g_dbus_error.name);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (g_dbus_error.message != NULL)
|
||||||
|
{
|
||||||
|
g_dbus_call_last_error_message = strdup(g_dbus_error.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
bool dbus_iter_get_dict_entry(DBusMessageIter * iter_ptr, const char * key, void * value, int * type, int * size)
|
bool dbus_iter_get_dict_entry(DBusMessageIter * iter_ptr, const char * key, void * value, int * type, int * size)
|
||||||
{
|
{
|
||||||
DBusMessageIter dict_iter;
|
DBusMessageIter dict_iter;
|
||||||
|
@ -353,7 +390,7 @@ dbus_call_raw(
|
||||||
&g_dbus_error);
|
&g_dbus_error);
|
||||||
if (reply_ptr == NULL)
|
if (reply_ptr == NULL)
|
||||||
{
|
{
|
||||||
//log_error("calling method '%s' failed, error is '%s'", method, g_dbus_error.message);
|
dbus_call_last_error_set();
|
||||||
dbus_error_free(&g_dbus_error);
|
dbus_error_free(&g_dbus_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -111,6 +111,10 @@ dbus_unregister_service_lifetime_hook(
|
||||||
DBusConnection * connection,
|
DBusConnection * connection,
|
||||||
const char * service);
|
const char * service);
|
||||||
|
|
||||||
|
void dbus_call_last_error_cleanup(void);
|
||||||
|
bool dbus_call_last_error_is_name(const char * name);
|
||||||
|
const char * dbus_call_last_error_get_message(void);
|
||||||
|
|
||||||
#include "method.h"
|
#include "method.h"
|
||||||
#include "signal.h"
|
#include "signal.h"
|
||||||
#include "interface.h"
|
#include "interface.h"
|
||||||
|
|
|
@ -55,4 +55,6 @@ void dbus_uninit(void)
|
||||||
{
|
{
|
||||||
dbus_error_free(&g_dbus_error);
|
dbus_error_free(&g_dbus_error);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dbus_call_last_error_cleanup();
|
||||||
}
|
}
|
||||||
|
|
|
@ -298,7 +298,12 @@ studio_proxy_set_room_callbacks(
|
||||||
|
|
||||||
if (!dbus_call(0, SERVICE_NAME, STUDIO_OBJECT_PATH, IFACE_STUDIO, "GetRoomList", "", NULL, &reply_ptr))
|
if (!dbus_call(0, SERVICE_NAME, STUDIO_OBJECT_PATH, IFACE_STUDIO, "GetRoomList", "", NULL, &reply_ptr))
|
||||||
{
|
{
|
||||||
log_error("Cannot fetch studio room list");
|
/* Don't log error if there is no studio loaded */
|
||||||
|
if (!dbus_call_last_error_is_name(DBUS_ERROR_UNKNOWN_METHOD))
|
||||||
|
{
|
||||||
|
log_error("Cannot fetch studio room list: %s", dbus_call_last_error_get_message());
|
||||||
|
}
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue