]> code.delx.au - pulseaudio/blobdiff - src/utils/pax11publish.c
client-conf: Remove redundant function parameters
[pulseaudio] / src / utils / pax11publish.c
index 668361c6f6e6a13134deb9985319475d78bbce21..f79975dd0c49f804c318116cdf9cee589de25551 100644 (file)
@@ -1,20 +1,20 @@
-/* $Id$ */
-
 /***
-  This file is part of polypaudio.
-  polypaudio is free software; you can redistribute it and/or modify
+  This file is part of PulseAudio.
+
+  Copyright 2004-2006 Lennart Poettering
+
+  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 of the License,
+  by the Free Software Foundation; either version 2.1 of the License,
   or (at your option) any later version.
-  polypaudio is distributed in the hope that it will be useful, but
+
+  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 polypaudio; if not, write to the Free Software
+  along with PulseAudio; if not, write to the Free Software
   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
   USA.
 ***/
 
 #include <stdio.h>
 #include <getopt.h>
-#include <string.h>
 #include <assert.h>
+#include <locale.h>
 
-#include <X11/Xlib.h>
-#include <X11/Xatom.h>
+#include <xcb/xcb.h>
 
-#include <polyp/util.h>
+#include <pulse/util.h>
+#include <pulse/client-conf.h>
 
-#include <polypcore/core-util.h>
-#include <polypcore/log.h>
-#include <polypcore/authkey.h>
-#include <polypcore/native-common.h>
-#include <polypcore/x11prop.h>
-
-#include "../polyp/client-conf.h"
+#include <pulsecore/core-util.h>
+#include <pulsecore/i18n.h>
+#include <pulsecore/log.h>
+#include <pulsecore/authkey.h>
+#include <pulsecore/native-common.h>
+#include <pulsecore/x11prop.h>
 
 int main(int argc, char *argv[]) {
     const char *dname = NULL, *sink = NULL, *source = NULL, *server = NULL, *cookie_file = PA_NATIVE_COOKIE_FILE;
-    int c, ret = 1;
-    Display *d = NULL;
+    int c, ret = 1, screen = 0;
+    xcb_connection_t *xcb = NULL;
     enum { DUMP, EXPORT, IMPORT, REMOVE } mode = DUMP;
 
+    setlocale(LC_ALL, "");
+#ifdef ENABLE_NLS
+    bindtextdomain(GETTEXT_PACKAGE, PULSE_LOCALEDIR);
+#endif
+
     while ((c = getopt(argc, argv, "deiD:S:O:I:c:hr")) != -1) {
         switch (c) {
             case 'D' :
                 dname = optarg;
                 break;
             case 'h':
-                printf("%s [-D display] [-S server] [-O sink] [-I source] [-c file]  [-d|-e|-i|-r]\n\n"
-                       " -d    Show current Polypaudio data attached to X11 display (default)\n"
-                       " -e    Export local Polypaudio data to X11 display\n"
-                       " -i    Import Polypaudio data from X11 display to local environment variables and cookie file.\n"
-                       " -r    Remove Polypaudio data from X11 display\n",
+                printf(_("%s [-D display] [-S server] [-O sink] [-I source] [-c file]  [-d|-e|-i|-r]\n\n"
+                       " -d    Show current PulseAudio data attached to X11 display (default)\n"
+                       " -e    Export local PulseAudio data to X11 display\n"
+                       " -i    Import PulseAudio data from X11 display to local environment variables and cookie file.\n"
+                       " -r    Remove PulseAudio data from X11 display\n"),
                        pa_path_get_filename(argv[0]));
                 ret = 0;
                 goto finish;
@@ -86,50 +90,55 @@ int main(int argc, char *argv[]) {
                 server = optarg;
                 break;
             default:
-                fprintf(stderr, "Failed to parse command line.\n");
+                fprintf(stderr, _("Failed to parse command line.\n"));
                 goto finish;
         }
     }
 
-    if (!(d = XOpenDisplay(dname))) {
-        pa_log(__FILE__": XOpenDisplay() failed");
+    if (!(xcb = xcb_connect(dname, &screen))) {
+        pa_log(_("xcb_connect() failed"));
+        goto finish;
+    }
+
+    if (xcb_connection_has_error(xcb)) {
+        pa_log(_("xcb_connection_has_error() returned true"));
         goto finish;
     }
 
     switch (mode) {
         case DUMP: {
             char t[1024];
-            if (pa_x11_get_prop(d, "POLYP_SERVER", t, sizeof(t))) 
-                printf("Server: %s\n", t);
-            if (pa_x11_get_prop(d, "POLYP_SOURCE", t, sizeof(t)))
-                printf("Source: %s\n", t);
-            if (pa_x11_get_prop(d, "POLYP_SINK", t, sizeof(t)))
-                printf("Sink: %s\n", t);
-            if (pa_x11_get_prop(d, "POLYP_COOKIE", t, sizeof(t)))
-                printf("Cookie: %s\n", t);
+            if (pa_x11_get_prop(xcb, screen, "PULSE_SERVER", t, sizeof(t)))
+                printf(_("Server: %s\n"), t);
+            if (pa_x11_get_prop(xcb, screen, "PULSE_SOURCE", t, sizeof(t)))
+                printf(_("Source: %s\n"), t);
+            if (pa_x11_get_prop(xcb, screen, "PULSE_SINK", t, sizeof(t)))
+                printf(_("Sink: %s\n"), t);
+            if (pa_x11_get_prop(xcb, screen, "PULSE_COOKIE", t, sizeof(t)))
+                printf(_("Cookie: %s\n"), t);
 
             break;
         }
-            
+
         case IMPORT: {
             char t[1024];
-            if (pa_x11_get_prop(d, "POLYP_SERVER", t, sizeof(t))) 
-                printf("POLYP_SERVER='%s'\nexport POLYP_SERVER\n", t);
-            if (pa_x11_get_prop(d, "POLYP_SOURCE", t, sizeof(t)))
-                printf("POLYP_SOURCE='%s'\nexport POLYP_SOURCE\n", t);
-            if (pa_x11_get_prop(d, "POLYP_SINK", t, sizeof(t)))
-                printf("POLYP_SINK='%s'\nexport POLYP_SINK\n", t);
-
-            if (pa_x11_get_prop(d, "POLYP_COOKIE", t, sizeof(t))) {
+            if (pa_x11_get_prop(xcb, screen, "PULSE_SERVER", t, sizeof(t)))
+                printf("PULSE_SERVER='%s'\nexport PULSE_SERVER\n", t);
+            if (pa_x11_get_prop(xcb, screen, "PULSE_SOURCE", t, sizeof(t)))
+                printf("PULSE_SOURCE='%s'\nexport PULSE_SOURCE\n", t);
+            if (pa_x11_get_prop(xcb, screen, "PULSE_SINK", t, sizeof(t)))
+                printf("PULSE_SINK='%s'\nexport PULSE_SINK\n", t);
+
+            if (pa_x11_get_prop(xcb, screen, "PULSE_COOKIE", t, sizeof(t))) {
                 uint8_t cookie[PA_NATIVE_COOKIE_LENGTH];
                 size_t l;
                 if ((l = pa_parsehex(t, cookie, sizeof(cookie))) != sizeof(cookie)) {
-                    fprintf(stderr, "Failed to parse cookie data\n");
+                    fprintf(stderr, _("Failed to parse cookie data\n"));
                     goto finish;
                 }
 
                 if (pa_authkey_save(cookie_file, cookie, l) < 0) {
-                    fprintf(stderr, "Failed to save cookie data\n");
+                    fprintf(stderr, _("Failed to save cookie data\n"));
                     goto finish;
                 }
             }
@@ -143,78 +152,79 @@ int main(int argc, char *argv[]) {
             char hx[PA_NATIVE_COOKIE_LENGTH*2+1];
             assert(conf);
 
-            if (pa_client_conf_load(conf, NULL) < 0) {
-                fprintf(stderr, "Failed to load client configuration file.\n");
+            if (pa_client_conf_load(conf) < 0) {
+                fprintf(stderr, _("Failed to load client configuration file.\n"));
                 goto finish;
             }
 
             if (pa_client_conf_env(conf) < 0) {
-                fprintf(stderr, "Failed to read environment configuration data.\n");
+                fprintf(stderr, _("Failed to read environment configuration data.\n"));
                 goto finish;
             }
 
-            pa_x11_del_prop(d, "POLYP_SERVER");
-            pa_x11_del_prop(d, "POLYP_SINK");
-            pa_x11_del_prop(d, "POLYP_SOURCE");
-            pa_x11_del_prop(d, "POLYP_ID");
-            pa_x11_del_prop(d, "POLYP_COOKIE");
-            
+            pa_x11_del_prop(xcb, screen, "PULSE_SERVER");
+            pa_x11_del_prop(xcb, screen, "PULSE_SINK");
+            pa_x11_del_prop(xcb, screen, "PULSE_SOURCE");
+            pa_x11_del_prop(xcb, screen, "PULSE_ID");
+            pa_x11_del_prop(xcb, screen, "PULSE_COOKIE");
+
             if (server)
-                pa_x11_set_prop(d, "POLYP_SERVER", server);
+                pa_x11_set_prop(xcb, screen, "PULSE_SERVER", server);
             else if (conf->default_server)
-                pa_x11_set_prop(d, "POLYP_SERVER", conf->default_server);
+                pa_x11_set_prop(xcb, screen, "PULSE_SERVER", conf->default_server);
             else {
                 char hn[256];
                 if (!pa_get_fqdn(hn, sizeof(hn))) {
-                    fprintf(stderr, "Failed to get FQDN.\n");
+                    fprintf(stderr, _("Failed to get FQDN.\n"));
                     goto finish;
                 }
-                    
-                pa_x11_set_prop(d, "POLYP_SERVER", hn);
+
+                pa_x11_set_prop(xcb, screen, "PULSE_SERVER", hn);
             }
 
             if (sink)
-                pa_x11_set_prop(d, "POLYP_SINK", sink);
+                pa_x11_set_prop(xcb, screen, "PULSE_SINK", sink);
             else if (conf->default_sink)
-                pa_x11_set_prop(d, "POLYP_SINK", conf->default_sink);
+                pa_x11_set_prop(xcb, screen, "PULSE_SINK", conf->default_sink);
 
             if (source)
-                pa_x11_set_prop(d, "POLYP_SOURCE", source);
+                pa_x11_set_prop(xcb, screen, "PULSE_SOURCE", source);
             if (conf->default_source)
-                pa_x11_set_prop(d, "POLYP_SOURCE", conf->default_source);
+                pa_x11_set_prop(xcb, screen, "PULSE_SOURCE", conf->default_source);
 
             pa_client_conf_free(conf);
-            
-            if (pa_authkey_load_auto(cookie_file, cookie, sizeof(cookie)) < 0) {
-                fprintf(stderr, "Failed to load cookie data\n");
+
+            if (pa_authkey_load_auto(cookie_file, true, cookie, sizeof(cookie)) < 0) {
+                fprintf(stderr, _("Failed to load cookie data\n"));
                 goto finish;
             }
 
-            pa_x11_set_prop(d, "POLYP_COOKIE", pa_hexstr(cookie, sizeof(cookie), hx, sizeof(hx)));
+            pa_x11_set_prop(xcb, screen, "PULSE_COOKIE", pa_hexstr(cookie, sizeof(cookie), hx, sizeof(hx)));
             break;
         }
 
         case REMOVE:
-            pa_x11_del_prop(d, "POLYP_SERVER");
-            pa_x11_del_prop(d, "POLYP_SINK");
-            pa_x11_del_prop(d, "POLYP_SOURCE");
-            pa_x11_del_prop(d, "POLYP_ID");
-            pa_x11_del_prop(d, "POLYP_COOKIE");
+            pa_x11_del_prop(xcb, screen, "PULSE_SERVER");
+            pa_x11_del_prop(xcb, screen, "PULSE_SINK");
+            pa_x11_del_prop(xcb, screen, "PULSE_SOURCE");
+            pa_x11_del_prop(xcb, screen, "PULSE_ID");
+            pa_x11_del_prop(xcb, screen, "PULSE_COOKIE");
+            pa_x11_del_prop(xcb, screen, "PULSE_SESSION_ID");
             break;
-            
+
         default:
-            fprintf(stderr, "No yet implemented.\n");
+            fprintf(stderr, _("Not yet implemented.\n"));
             goto finish;
     }
 
     ret = 0;
-    
+
 finish:
 
-    if (d) {
-        XSync(d, False);
-        XCloseDisplay(d);
+    if (xcb) {
+        xcb_flush(xcb);
+        xcb_disconnect(xcb);
     }
-    
+
     return ret;
 }