diff options
| -rw-r--r-- | src/Makefile.am | 13 | ||||
| -rwxr-xr-x | src/daemon/default.pa.in | 3 | ||||
| -rwxr-xr-x | src/daemon/system.pa.in | 3 | ||||
| -rw-r--r-- | src/modules/module-dbus-protocol.c | 66 | 
4 files changed, 83 insertions, 2 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index a7ec6917..70b16be3 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1072,7 +1072,8 @@ endif  if HAVE_DBUS  modlibexec_LTLIBRARIES += \ -		module-rygel-media-server.la +		module-rygel-media-server.la \ +		module-dbus-protocol.la  endif  if HAVE_BLUEZ @@ -1164,7 +1165,8 @@ SYMDEF_FILES = \  		modules/module-position-event-sounds-symdef.h \  		modules/module-augment-properties-symdef.h \  		modules/module-cork-music-on-phone-symdef.h \ -		modules/module-console-kit-symdef.h +		modules/module-console-kit-symdef.h \ +		modules/module-dbus-protocol-symdef.h  EXTRA_DIST += $(SYMDEF_FILES)  BUILT_SOURCES += $(SYMDEF_FILES) @@ -1213,6 +1215,13 @@ module_http_protocol_unix_la_CFLAGS = -DUSE_UNIX_SOCKETS -DUSE_PROTOCOL_HTTP $(A  module_http_protocol_unix_la_LDFLAGS = $(MODULE_LDFLAGS)  module_http_protocol_unix_la_LIBADD = $(AM_LIBADD) libpulsecore-@PA_MAJORMINORMICRO@.la libprotocol-http.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la +# D-Bus protocol + +module_dbus_protocol_la_SOURCES = modules/module-dbus-protocol.c +module_dbus_protocol_la_CFLAGS = $(AM_CFLAGS) $(DBUS_CFLAGS) +module_dbus_protocol_la_LDFLAGS = $(MODULE_LDFLAGS) +module_dbus_protocol_la_LIBADD = $(AM_LIBADD) $(DBUS_LIBS) libpulsecore-@PA_MAJORMINORMICRO@.la libpulsecommon-@PA_MAJORMINORMICRO@.la libpulse.la +  # Native protocol  module_native_protocol_tcp_la_SOURCES = modules/module-protocol-stub.c diff --git a/src/daemon/default.pa.in b/src/daemon/default.pa.in index fa0683e1..ba8e3c80 100755 --- a/src/daemon/default.pa.in +++ b/src/daemon/default.pa.in @@ -66,6 +66,9 @@ load-module module-bluetooth-discover  .ifexists module-esound-protocol-unix@PA_SOEXT@  load-module module-esound-protocol-unix  .endif +.ifexists module-dbus-protocol@PA_SOEXT@ +load-module module-dbus-protocol +.endif  load-module module-native-protocol-unix  ### Network access (may be configured with paprefs, so leave this commented diff --git a/src/daemon/system.pa.in b/src/daemon/system.pa.in index 27e42815..5541bbe4 100755 --- a/src/daemon/system.pa.in +++ b/src/daemon/system.pa.in @@ -32,6 +32,9 @@ load-module module-detect  .ifexists module-esound-protocol-unix@PA_SOEXT@  load-module module-esound-protocol-unix  .endif +.ifexists module-dbus-protocol@PA_SOEXT@ +load-module module-dbus-protocol +.endif  load-module module-native-protocol-unix  ### Automatically restore the volume of streams and devices diff --git a/src/modules/module-dbus-protocol.c b/src/modules/module-dbus-protocol.c new file mode 100644 index 00000000..077f4178 --- /dev/null +++ b/src/modules/module-dbus-protocol.c @@ -0,0 +1,66 @@ +/*** +  This file is part of PulseAudio. + +  Copyright 2009 Tanu Kaskinen + +  PulseAudio is free software; you can redistribute it and/or modify +  it under the terms of the GNU Lesser General Public License as published +  by the Free Software Foundation; either version 2.1 of the License, +  or (at your option) any later version. + +  PulseAudio 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 Lesser General Public License +  along with PulseAudio; if not, write to the Free Software +  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +  USA. +***/ + +#ifdef HAVE_CONFIG_H +#include <config.h> +#endif + +#include <pulse/xmalloc.h> + +#include <pulsecore/macro.h> +#include <pulsecore/module.h> + +#include "module-dbus-protocol-symdef.h" + +PA_MODULE_DESCRIPTION("D-Bus interface"); +PA_MODULE_USAGE("<no module arguments>"); +PA_MODULE_LOAD_ONCE(TRUE); +PA_MODULE_AUTHOR("Tanu Kaskinen"); +PA_MODULE_VERSION(PACKAGE_VERSION); + +struct userdata { +    pa_module *module; +}; + +int pa__init(pa_module *m) { +    struct userdata *u = NULL; + +    pa_assert(m); + +    m->userdata = u = pa_xnew0(struct userdata, 1); +    u->module = m; + +    pa_log_notice("Hello, world!"); + +    return 0; +} + +void pa__done(pa_module*m) { +    struct userdata *u; + +    pa_assert(m); + +    if (!(u = m->userdata)) +        return; + +    pa_xfree(u); +    m->userdata = NULL; +}  | 
