Don't try to use dict graph interface on jack graphs

This commit is contained in:
Nedko Arnaudov 2009-09-12 09:58:37 +03:00
parent 4288c9a35b
commit fa47499b45
6 changed files with 44 additions and 6 deletions

View File

@ -650,7 +650,7 @@ void on_event_jack_started(void)
g_studio.jack_conf_valid = true;
g_studio.jack_running = true;
if (!graph_proxy_create(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, &g_studio.jack_graph_proxy))
if (!graph_proxy_create(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, false, &g_studio.jack_graph_proxy))
{
lash_error("graph_proxy_create() failed for jackdbus");
}

View File

@ -55,6 +55,7 @@ struct graph
char * object;
uint64_t version;
bool active;
bool graph_dict_supported;
};
static DBusHandlerResult message_hook(DBusConnection *, DBusMessage *, void *);
@ -363,6 +364,7 @@ bool
graph_proxy_create(
const char * service,
const char * object,
bool graph_dict_supported,
graph_proxy_handle * graph_proxy_handle_ptr)
{
struct graph * graph_ptr;
@ -393,6 +395,8 @@ graph_proxy_create(
graph_ptr->version = 0;
graph_ptr->active = false;
graph_ptr->graph_dict_supported = graph_dict_supported;
*graph_proxy_handle_ptr = (graph_proxy_handle)graph_ptr;
return true;
@ -779,11 +783,17 @@ graph_proxy_dict_entry_set(
const char * key,
const char * value)
{
if (!graph_ptr->graph_dict_supported)
{
return false;
}
if (!dbus_call(graph_ptr->service, graph_ptr->object, IFACE_GRAPH_DICT, "Set", "utss", &object_type, &object_id, &key, &value, ""))
{
lash_error(IFACE_GRAPH_DICT ".Set() failed.");
return false;
}
return true;
}
@ -801,6 +811,11 @@ graph_proxy_dict_entry_get(
const char * cvalue_ptr;
char * value_ptr;
if (!graph_ptr->graph_dict_supported)
{
return false;
}
if (!dbus_call(graph_ptr->service, graph_ptr->object, IFACE_GRAPH_DICT, "Get", "uts", &object_type, &object_id, &key, NULL, &reply_ptr))
{
lash_error(IFACE_GRAPH_DICT ".Get() failed.");
@ -836,10 +851,16 @@ graph_proxy_dict_entry_drop(
uint64_t object_id,
const char * key)
{
if (!graph_ptr->graph_dict_supported)
{
return false;
}
if (!dbus_call(graph_ptr->service, graph_ptr->object, IFACE_GRAPH_DICT, "Drop", "uts", &object_type, &object_id, &key, ""))
{
lash_error(IFACE_GRAPH_DICT ".Drop() failed.");
return false;
}
return true;
}

View File

@ -42,6 +42,7 @@ bool
graph_proxy_create(
const char * service,
const char * object,
bool graph_dict_supported,
graph_proxy_handle * graph_proxy_ptr);
void

View File

@ -50,7 +50,14 @@ void view_init(void)
g_current_view = NULL;
}
bool create_view(const char * name, const char * service, const char * object, bool force_activate, graph_view_handle * handle_ptr)
bool
create_view(
const char * name,
const char * service,
const char * object,
bool graph_dict_supported,
bool force_activate,
graph_view_handle * handle_ptr)
{
struct graph_view * view_ptr;
@ -68,7 +75,7 @@ bool create_view(const char * name, const char * service, const char * object, b
goto free_view;
}
if (!graph_proxy_create(service, object, &view_ptr->graph))
if (!graph_proxy_create(service, object, graph_dict_supported, &view_ptr->graph))
{
goto free_name;
}

View File

@ -32,7 +32,16 @@
typedef struct graph_view_tag { int unused; } * graph_view_handle;
void view_init(void);
bool create_view(const char * name, const char * service, const char * object, bool force_activate, graph_view_handle * handle_ptr);
bool
create_view(
const char * name,
const char * service,
const char * object,
bool graph_dict_supported,
bool force_activate,
graph_view_handle * handle_ptr);
void destroy_view(graph_view_handle view);
void activate_view(graph_view_handle view);
const char * get_view_name(graph_view_handle view);

View File

@ -458,7 +458,7 @@ void control_proxy_on_studio_appeared(void)
goto free_name;
}
if (!create_view(name, SERVICE_NAME, STUDIO_OBJECT_PATH, false, &g_studio_view))
if (!create_view(name, SERVICE_NAME, STUDIO_OBJECT_PATH, true, false, &g_studio_view))
{
lash_error("create_view() failed for studio");
goto free_name;
@ -545,7 +545,7 @@ void jack_appeared(void)
{
lash_info("JACK appeared");
if (!create_view("Raw JACK", JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, true, &g_jack_view))
if (!create_view("Raw JACK", JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, false, true, &g_jack_view))
{
lash_error("create_view() failed for jack");
return;