diff options
author | Lennart Poettering <lennart@poettering.net> | 2008-08-03 16:44:38 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2008-08-03 16:44:38 +0200 |
commit | 065e7644acf6cdbda0611b69ef06f97cda960110 (patch) | |
tree | 24904ee23efcf5f60df7ae2fe64cfbf74537b3b3 /src/modules/module-native-protocol-fd.c | |
parent | aaaafb059cfb523d8034425f1429af47b9e55e1a (diff) |
make all protocol objects global singletons
Diffstat (limited to 'src/modules/module-native-protocol-fd.c')
-rw-r--r-- | src/modules/module-native-protocol-fd.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/modules/module-native-protocol-fd.c b/src/modules/module-native-protocol-fd.c index 1a6f5368..fa9c0e4f 100644 --- a/src/modules/module-native-protocol-fd.c +++ b/src/modules/module-native-protocol-fd.c @@ -42,8 +42,6 @@ PA_MODULE_LOAD_ONCE(TRUE); static const char* const valid_modargs[] = { "fd", - "public", - "cookie", NULL, }; @@ -51,6 +49,7 @@ int pa__init(pa_module*m) { pa_iochannel *io; pa_modargs *ma; int fd, r = -1; + pa_native_options *options = NULL; pa_assert(m); @@ -64,12 +63,17 @@ int pa__init(pa_module*m) { goto finish; } + options = pa_native_options_new(); + options->module = m; + options->auth_anonymous = TRUE; + io = pa_iochannel_new(m->core->mainloop, fd, fd); - if (!(m->userdata = pa_protocol_native_new_iochannel(m->core, io, m, ma))) { - pa_iochannel_free(io); - goto finish; - } + m->userdata = pa_native_protocol_get(m->core); + + pa_native_protocol_connect(m->userdata, io, options); + + pa_native_options_unref(options); r = 0; @@ -77,11 +81,17 @@ finish: if (ma) pa_modargs_free(ma); + if (options) + pa_native_options_unref(options); + return r; } void pa__done(pa_module*m) { pa_assert(m); - pa_protocol_native_free(m->userdata); + if (m->userdata) { + pa_native_protocol_disconnect(m->userdata, m); + pa_native_protocol_unref(m->userdata); + } } |