Move dbus constants to separate header

This commit is contained in:
Nedko Arnaudov 2009-08-22 03:07:19 +03:00
parent 39b091150f
commit f64e4d4455
11 changed files with 83 additions and 47 deletions

View File

@ -30,8 +30,9 @@
#include "../dbus/interface.h" #include "../dbus/interface.h"
#include "../dbus/error.h" #include "../dbus/error.h"
#include "control.h" #include "control.h"
#include "../dbus_constants.h"
#define INTERFACE_NAME DBUS_NAME_BASE ".Control" #define INTERFACE_NAME IFACE_CONTROL
static void ladish_is_studio_loaded(method_call_t * call_ptr) static void ladish_is_studio_loaded(method_call_t * call_ptr)
{ {

View File

@ -28,8 +28,6 @@
#ifndef __LASHD_DBUS_IFACE_CONTROL_H__ #ifndef __LASHD_DBUS_IFACE_CONTROL_H__
#define __LASHD_DBUS_IFACE_CONTROL_H__ #define __LASHD_DBUS_IFACE_CONTROL_H__
#define CONTROL_OBJECT_PATH DBUS_BASE_PATH "/Control"
extern const interface_t g_lashd_interface_control; extern const interface_t g_lashd_interface_control;
void emit_studio_appeared(); void emit_studio_appeared();

View File

@ -39,6 +39,7 @@
#include "control.h" #include "control.h"
#include "jack.h" #include "jack.h"
#include "studio.h" #include "studio.h"
#include "../dbus_constants.h"
bool g_quit; bool g_quit;
const char * g_dbus_unique_name; const char * g_dbus_unique_name;
@ -137,7 +138,7 @@ static bool connect_dbus(void)
goto unref_connection; goto unref_connection;
} }
ret = dbus_bus_request_name(g_dbus_connection, DBUS_NAME_BASE, DBUS_NAME_FLAG_DO_NOT_QUEUE, &g_dbus_error); ret = dbus_bus_request_name(g_dbus_connection, SERVICE_NAME, DBUS_NAME_FLAG_DO_NOT_QUEUE, &g_dbus_error);
if (ret == -1) if (ret == -1)
{ {
lash_error("Failed to acquire bus name: %s", g_dbus_error.message); lash_error("Failed to acquire bus name: %s", g_dbus_error.message);

View File

@ -27,6 +27,7 @@
#include "common.h" #include "common.h"
#include "../jack_proxy.h" #include "../jack_proxy.h"
#include "patchbay.h" #include "patchbay.h"
#include "../dbus_constants.h"
extern const interface_t g_interface_studio; extern const interface_t g_interface_studio;
@ -462,7 +463,7 @@ studio_activate(
{ {
object_path_t * object; object_path_t * object;
object = object_path_new(DBUS_BASE_PATH "/Studio", studio, 2, &g_interface_studio, &g_interface_patchbay); object = object_path_new(STUDIO_OBJECT_PATH, studio, 2, &g_interface_studio, &g_interface_patchbay);
if (object == NULL) if (object == NULL)
{ {
lash_error("object_path_new() failed"); lash_error("object_path_new() failed");
@ -610,7 +611,7 @@ SIGNALS_BEGIN
SIGNAL_DESCRIBE(RoomDisappeared) SIGNAL_DESCRIBE(RoomDisappeared)
SIGNALS_END SIGNALS_END
INTERFACE_BEGIN(g_interface_studio, DBUS_NAME_BASE ".Studio") INTERFACE_BEGIN(g_interface_studio, IFACE_STUDIO)
INTERFACE_DEFAULT_HANDLER INTERFACE_DEFAULT_HANDLER
INTERFACE_EXPOSE_METHODS INTERFACE_EXPOSE_METHODS
INTERFACE_EXPOSE_SIGNALS INTERFACE_EXPOSE_SIGNALS

47
dbus_constants.h Normal file
View File

@ -0,0 +1,47 @@
/* -*- Mode: C ; c-basic-offset: 2 -*- */
/*
* LADI Session Handler (ladish)
*
* Copyright (C) 2009 Nedko Arnaudov <nedko@arnaudov.name>
*
**************************************************************************
* This file contains constants for D-Bus service and interface names and for D-Bus object paths
**************************************************************************
*
* LADI Session Handler is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* LADI Session Handler is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with LADI Session Handler. If not, see <http://www.gnu.org/licenses/>
* or write to the Free Software Foundation, Inc.,
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#ifndef DBUS_CONSTANTS_H__C21DE0EE_C19C_42F0_8D63_D613E4806C0E__INCLUDED
#define DBUS_CONSTANTS_H__C21DE0EE_C19C_42F0_8D63_D613E4806C0E__INCLUDED
#define JACKDBUS_SERVICE_NAME "org.jackaudio.service"
#define JACKDBUS_OBJECT_PATH "/org/jackaudio/Controller"
#define JACKDBUS_IFACE_CONTROL "org.jackaudio.JackControl"
#define JACKDBUS_IFACE_CONFIGURE "org.jackaudio.Configure"
#define JACKDBUS_IFACE_PATCHBAY "org.jackaudio.JackPatchbay"
#define SERVICE_NAME DBUS_NAME_BASE
#define CONTROL_OBJECT_PATH DBUS_BASE_PATH "/Control"
#define IFACE_CONTROL DBUS_NAME_BASE ".Control"
#define STUDIO_OBJECT_PATH DBUS_BASE_PATH "/Studio"
#define IFACE_STUDIO DBUS_NAME_BASE ".Studio"
#define IFACE_ROOM DBUS_NAME_BASE ".Room"
#define LAUNCHER_OBJECT_PATH DBUS_BASE_PATH "/Launcher"
#define IFACE_LAUNCHER DBUS_NAME_BASE ".Launcher"
#define APPLICATION_OBJECT_PATH DBUS_BASE_PATH "/Application"
#define IFACE_APPLICATION DBUS_NAME_BASE ".App"
#endif /* #ifndef DBUS_CONSTANTS_H__C21DE0EE_C19C_42F0_8D63_D613E4806C0E__INCLUDED */

View File

@ -33,8 +33,7 @@
#include "common/klist.h" #include "common/klist.h"
#include "common/debug.h" #include "common/debug.h"
#include "dbus/helpers.h" #include "dbus/helpers.h"
#include "dbus_constants.h"
#define JACKDBUS_IFACE_PATCHBAY "org.jackaudio.JackPatchbay"
#define JACKDBUS_PORT_FLAG_INPUT 0x00000001 #define JACKDBUS_PORT_FLAG_INPUT 0x00000001
#define JACKDBUS_PORT_FLAG_OUTPUT 0x00000002 #define JACKDBUS_PORT_FLAG_OUTPUT 0x00000002

View File

@ -27,10 +27,7 @@
#include "control_proxy.h" #include "control_proxy.h"
#include "../dbus/helpers.h" #include "../dbus/helpers.h"
#include "../dbus_constants.h"
#define SERVICE DBUS_NAME_BASE
#define OBJECT DBUS_BASE_PATH "/Control"
#define IFACE DBUS_NAME_BASE ".Control"
const char * g_signals[] = const char * g_signals[] =
{ {
@ -44,19 +41,19 @@ static DBusHandlerResult message_hook(DBusConnection * connection, DBusMessage *
const char * object_path; const char * object_path;
object_path = dbus_message_get_path(message); object_path = dbus_message_get_path(message);
if (object_path == NULL || strcmp(object_path, OBJECT) != 0) if (object_path == NULL || strcmp(object_path, CONTROL_OBJECT_PATH) != 0)
{ {
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
} }
if (dbus_message_is_signal(message, IFACE, "StudioAppeared")) if (dbus_message_is_signal(message, IFACE_CONTROL, "StudioAppeared"))
{ {
lash_info("StudioAppeared"); lash_info("StudioAppeared");
control_proxy_on_studio_appeared(); control_proxy_on_studio_appeared();
return DBUS_HANDLER_RESULT_HANDLED; return DBUS_HANDLER_RESULT_HANDLED;
} }
if (dbus_message_is_signal(message, IFACE, "StudioDisappeared")) if (dbus_message_is_signal(message, IFACE_CONTROL, "StudioDisappeared"))
{ {
lash_info("StudioDisappeared"); lash_info("StudioDisappeared");
control_proxy_on_studio_disappeared(); control_proxy_on_studio_disappeared();
@ -70,7 +67,7 @@ static bool control_proxy_is_studio_loaded(bool * present_ptr)
{ {
dbus_bool_t present; dbus_bool_t present;
if (!dbus_call_simple(SERVICE, OBJECT, IFACE, "IsStudioLoaded", "", "b", &present)) if (!dbus_call_simple(SERVICE_NAME, CONTROL_OBJECT_PATH, IFACE_CONTROL, "IsStudioLoaded", "", "b", &present))
{ {
return false; return false;
} }
@ -84,14 +81,14 @@ bool control_proxy_init(void)
{ {
bool studio_present; bool studio_present;
if (!dbus_register_object_signal_handler(g_dbus_connection, SERVICE, OBJECT, IFACE, g_signals, message_hook, NULL)) if (!dbus_register_object_signal_handler(g_dbus_connection, SERVICE_NAME, CONTROL_OBJECT_PATH, IFACE_CONTROL, g_signals, message_hook, NULL))
{ {
return false; return false;
} }
if (!control_proxy_is_studio_loaded(&studio_present)) if (!control_proxy_is_studio_loaded(&studio_present))
{ {
dbus_unregister_object_signal_handler(g_dbus_connection, SERVICE, OBJECT, IFACE, g_signals, message_hook, NULL); dbus_unregister_object_signal_handler(g_dbus_connection, SERVICE_NAME, CONTROL_OBJECT_PATH, IFACE_CONTROL, g_signals, message_hook, NULL);
return false; return false;
} }
@ -105,7 +102,7 @@ bool control_proxy_init(void)
void control_proxy_uninit(void) void control_proxy_uninit(void)
{ {
dbus_unregister_object_signal_handler(g_dbus_connection, SERVICE, OBJECT, IFACE, g_signals, message_hook, NULL); dbus_unregister_object_signal_handler(g_dbus_connection, SERVICE_NAME, CONTROL_OBJECT_PATH, IFACE_CONTROL, g_signals, message_hook, NULL);
} }
bool control_proxy_get_studio_list(struct list_head * studio_list) bool control_proxy_get_studio_list(struct list_head * studio_list)

View File

@ -36,10 +36,6 @@
#include "globals.hpp" #include "globals.hpp"
#include "dbus_helpers.h" #include "dbus_helpers.h"
#define LASH_SERVICE DBUS_NAME_BASE
#define LASH_OBJECT "/org/ladish/Control"
#define LASH_IFACE_CONTROL DBUS_NAME_BASE ".Control"
struct lash_proxy_impl struct lash_proxy_impl
{ {
void init(); void init();

View File

@ -32,6 +32,7 @@
#include "../jack_proxy.h" #include "../jack_proxy.h"
#include "dbus_helpers.h" #include "dbus_helpers.h"
#include "control_proxy.h" #include "control_proxy.h"
#include "../dbus_constants.h"
#if 0 #if 0
class Patchage { class Patchage {
@ -880,7 +881,7 @@ struct view * create_view(const char * name, const char * service, const char *
goto free_view; goto free_view;
} }
if (!graph_create(JACKDBUS_SERVICE, JACKDBUS_OBJECT, &view_ptr->graph)) if (!graph_create(service, object, &view_ptr->graph))
{ {
goto free_name; goto free_name;
} }
@ -948,7 +949,7 @@ struct view * g_studio_view;
void control_proxy_on_studio_appeared(void) void control_proxy_on_studio_appeared(void)
{ {
g_jack_view = create_view("Raw JACK", JACKDBUS_SERVICE, JACKDBUS_OBJECT); g_jack_view = create_view("Raw JACK", JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH);
attach_view(g_jack_view); attach_view(g_jack_view);
} }

View File

@ -32,9 +32,7 @@
#include "jack_proxy.h" #include "jack_proxy.h"
#include "dbus/helpers.h" #include "dbus/helpers.h"
#include "common/debug.h" #include "common/debug.h"
#include "dbus_constants.h"
#define JACKDBUS_IFACE_CONTROL "org.jackaudio.JackControl"
#define JACKDBUS_IFACE_CONFIGURE "org.jackaudio.Configure"
jack_proxy_callback_server_started g_on_server_started; jack_proxy_callback_server_started g_on_server_started;
jack_proxy_callback_server_stopped g_on_server_stopped; jack_proxy_callback_server_stopped g_on_server_stopped;
@ -100,7 +98,7 @@ on_bus_signal(
return DBUS_HANDLER_RESULT_HANDLED; return DBUS_HANDLER_RESULT_HANDLED;
} }
if (strcmp(object_name, JACKDBUS_SERVICE) != 0) if (strcmp(object_name, JACKDBUS_SERVICE_NAME) != 0)
{ {
return DBUS_HANDLER_RESULT_NOT_YET_HANDLED; return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
} }
@ -164,7 +162,7 @@ dbus_signal_handler(
lash_debug("'%s' sent signal '%s'::'%s'", object_path, interface, signal_name); lash_debug("'%s' sent signal '%s'::'%s'", object_path, interface, signal_name);
/* Handle JACK patchbay and control interface signals */ /* Handle JACK patchbay and control interface signals */
if (object_path != NULL && strcmp(object_path, JACKDBUS_OBJECT) == 0) if (object_path != NULL && strcmp(object_path, JACKDBUS_OBJECT_PATH) == 0)
{ {
if (strcmp(interface, JACKDBUS_IFACE_CONTROL) == 0) if (strcmp(interface, JACKDBUS_IFACE_CONTROL) == 0)
{ {
@ -203,7 +201,7 @@ jack_proxy_init(
dbus_bus_add_match( dbus_bus_add_match(
g_dbus_connection, g_dbus_connection,
"type='signal',interface='"DBUS_INTERFACE_DBUS"',member=NameOwnerChanged,arg0='"JACKDBUS_SERVICE"'", "type='signal',interface='"DBUS_INTERFACE_DBUS"',member=NameOwnerChanged,arg0='"JACKDBUS_SERVICE_NAME"'",
&err); &err);
if (dbus_error_is_set(&err)) if (dbus_error_is_set(&err))
{ {
@ -217,7 +215,7 @@ jack_proxy_init(
snprintf( snprintf(
rule, rule,
sizeof(rule), sizeof(rule),
"type='signal',sender='"JACKDBUS_SERVICE"',path='"JACKDBUS_OBJECT"',interface='"JACKDBUS_IFACE_CONTROL"',member='%s'", "type='signal',sender='"JACKDBUS_SERVICE_NAME"',path='"JACKDBUS_OBJECT_PATH"',interface='"JACKDBUS_IFACE_CONTROL"',member='%s'",
*signal); *signal);
dbus_bus_add_match(g_dbus_connection, rule, &err); dbus_bus_add_match(g_dbus_connection, rule, &err);
@ -256,7 +254,7 @@ jack_proxy_is_started(
{ {
dbus_bool_t started; dbus_bool_t started;
if (!dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "IsStarted", "", "b", &started)) if (!dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "IsStarted", "", "b", &started))
{ {
return false; return false;
} }
@ -330,7 +328,7 @@ jack_proxy_read_conf_container(
dbus_bool_t leaf; /* Whether children are parameters (true) or containers (false) */ dbus_bool_t leaf; /* Whether children are parameters (true) or containers (false) */
char * child; char * child;
request_ptr = dbus_message_new_method_call(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONFIGURE, "ReadContainer"); request_ptr = dbus_message_new_method_call(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONFIGURE, "ReadContainer");
if (request_ptr == NULL) if (request_ptr == NULL)
{ {
lash_error("dbus_message_new_method_call() failed."); lash_error("dbus_message_new_method_call() failed.");
@ -462,7 +460,7 @@ jack_proxy_get_parameter_value(
dbus_bool_t is_set; dbus_bool_t is_set;
struct jack_parameter_variant default_value; struct jack_parameter_variant default_value;
request_ptr = dbus_message_new_method_call(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONFIGURE, "GetParameterValue"); request_ptr = dbus_message_new_method_call(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONFIGURE, "GetParameterValue");
if (request_ptr == NULL) if (request_ptr == NULL)
{ {
lash_error("dbus_message_new_method_call() failed."); lash_error("dbus_message_new_method_call() failed.");
@ -535,19 +533,19 @@ jack_proxy_get_parameter_value(
bool jack_proxy_start_server(void) bool jack_proxy_start_server(void)
{ {
return dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "StartServer", "", ""); return dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "StartServer", "", "");
} }
bool jack_proxy_stop_server(void) bool jack_proxy_stop_server(void)
{ {
return dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "StopServer", "", ""); return dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "StopServer", "", "");
} }
bool jack_proxy_is_realtime(bool * realtime_ptr) bool jack_proxy_is_realtime(bool * realtime_ptr)
{ {
dbus_bool_t realtime; dbus_bool_t realtime;
if (!dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "IsStarted", "", "b", &realtime)) if (!dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "IsStarted", "", "b", &realtime))
{ {
return false; return false;
} }
@ -558,30 +556,30 @@ bool jack_proxy_is_realtime(bool * realtime_ptr)
bool jack_proxy_sample_rate(uint32_t * sample_rate_ptr) bool jack_proxy_sample_rate(uint32_t * sample_rate_ptr)
{ {
return dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "GetSampleRate", "", "u", sample_rate_ptr); return dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "GetSampleRate", "", "u", sample_rate_ptr);
} }
bool jack_proxy_get_xruns(uint32_t * xruns_ptr) bool jack_proxy_get_xruns(uint32_t * xruns_ptr)
{ {
return dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "GetXruns", "", "u", xruns_ptr); return dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "GetXruns", "", "u", xruns_ptr);
} }
bool jack_proxy_get_dsp_load(double * dsp_load_ptr) bool jack_proxy_get_dsp_load(double * dsp_load_ptr)
{ {
return dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "GetXruns", "", "d", dsp_load_ptr); return dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "GetXruns", "", "d", dsp_load_ptr);
} }
bool jack_proxy_get_buffer_size(uint32_t * size_ptr) bool jack_proxy_get_buffer_size(uint32_t * size_ptr)
{ {
return dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "GetBufferSize", "", "u", size_ptr); return dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "GetBufferSize", "", "u", size_ptr);
} }
bool jack_proxy_set_buffer_size(uint32_t size) bool jack_proxy_set_buffer_size(uint32_t size)
{ {
return dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "GetBufferSize", "u", &size, ""); return dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "GetBufferSize", "u", &size, "");
} }
bool jack_proxy_reset_xruns(void) bool jack_proxy_reset_xruns(void)
{ {
return dbus_call_simple(JACKDBUS_SERVICE, JACKDBUS_OBJECT, JACKDBUS_IFACE_CONTROL, "GetBufferSize", "", ""); return dbus_call_simple(JACKDBUS_SERVICE_NAME, JACKDBUS_OBJECT_PATH, JACKDBUS_IFACE_CONTROL, "GetBufferSize", "", "");
} }

View File

@ -30,9 +30,6 @@
#include "common.h" #include "common.h"
#define JACKDBUS_SERVICE "org.jackaudio.service"
#define JACKDBUS_OBJECT "/org/jackaudio/Controller"
struct jack_parameter_variant struct jack_parameter_variant
{ {
enum enum