diff options
author | Anders Carlsson <andersca@src.gnome.org> | 2002-11-06 10:39:13 +0000 |
---|---|---|
committer | Anders Carlsson <andersca@src.gnome.org> | 2002-11-06 10:39:13 +0000 |
commit | c6bd681e048a6dc7c2b383c5ba948e9446d72886 (patch) | |
tree | 48076d6bd8bf048d7cd55e3ee110cb6503234d51 /libnautilus-private/egg-screen-url.c | |
parent | d505f928b22e3acb88a9382bb948700d2d4974de (diff) | |
download | nautilus-c6bd681e048a6dc7c2b383c5ba948e9446d72886.tar.gz |
Broken Pipe
Diffstat (limited to 'libnautilus-private/egg-screen-url.c')
-rw-r--r-- | libnautilus-private/egg-screen-url.c | 183 |
1 files changed, 0 insertions, 183 deletions
diff --git a/libnautilus-private/egg-screen-url.c b/libnautilus-private/egg-screen-url.c deleted file mode 100644 index 729fa5d78..000000000 --- a/libnautilus-private/egg-screen-url.c +++ /dev/null @@ -1,183 +0,0 @@ -/* egg-screen-url.c - * Copyright (C) 1998, James Henstridge <james@daa.com.au> - * Copyright (C) 1999, 2000 Red Hat, Inc. - * Copyright (C) 2002, Sun Microsystems Inc. - * All rights reserved. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library 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 - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Cambridge, MA 02139, USA. - * - * Authors: Mark McLoughlin <mark@skynet.ie> - */ - -#include <config.h> - -#include "egg-screen-url.h" - -#include <string.h> -#include <glib.h> -#include <glib-object.h> -#include <gconf/gconf-client.h> -#include <libgnome/gnome-url.h> - -#include "egg-screen-exec.h" - -/******* START COPIED + PASTED CODE TO GO AWAY ******/ - -#define URL_HANDLER_DIR "/desktop/gnome/url-handlers/" -#define DEFAULT_HANDLER_PATH "/desktop/gnome/url-handlers/unknown/command" - -/* This needs to be exposed from libgnome and - * removed from here. - */ - -/** - * egg_url_show_with_env: - * @url: The url to display. Should begin with the protocol to use (e.g. - * "http:", "ghelp:", etc) - * @envp: child's environment, or %NULL to inherit parent's. - * @error: Used to store any errors that result from trying to display the @url. - * - * Description: Like gnome_url_show(), except that the viewer application - * is launched with its environment set to the contents of @envp. - * - * Returns: %TRUE if everything went fine, %FALSE otherwise (in which case - * @error will contain the actual error). - **/ -gboolean -egg_url_show_with_env (const char *url, - char **envp, - GError **error) -{ - GConfClient *client; - gint i; - gchar *pos, *template; - int argc; - char **argv; - gboolean ret; - - g_return_val_if_fail (url != NULL, FALSE); - - pos = strchr (url, ':'); - - client = gconf_client_get_default (); - - if (pos != NULL) { - gchar *protocol, *path; - - g_return_val_if_fail (pos >= url, FALSE); - - protocol = g_new (gchar, pos - url + 1); - strncpy (protocol, url, pos - url); - protocol[pos - url] = '\0'; - g_ascii_strdown (protocol, -1); - - path = g_strconcat (URL_HANDLER_DIR, protocol, "/command", NULL); - template = gconf_client_get_string (client, path, NULL); - - if (template == NULL) { - gchar* template_temp; - - template_temp = gconf_client_get_string (client, - DEFAULT_HANDLER_PATH, - NULL); - - /* Retry to get the right url handler */ - template = gconf_client_get_string (client, path, NULL); - - if (template == NULL) - template = template_temp; - else - g_free (template_temp); - - } - - g_free (path); - g_free (protocol); - - } else { - /* no ':' ? this shouldn't happen. Use default handler */ - template = gconf_client_get_string (client, - DEFAULT_HANDLER_PATH, - NULL); - } - - g_object_unref (G_OBJECT (client)); - - if (!g_shell_parse_argv (template, - &argc, - &argv, - error)) { - g_free (template); - return FALSE; - } - - g_free (template); - - for (i = 0; i < argc; i++) { - char *arg; - - if (strcmp (argv[i], "%s") != 0) - continue; - - arg = argv[i]; - argv[i] = g_strdup (url); - g_free (arg); - } - - /* This can return some errors */ - ret = g_spawn_async (NULL /* working directory */, - argv, - envp, - G_SPAWN_SEARCH_PATH /* flags */, - NULL /* child_setup */, - NULL /* data */, - NULL /* child_pid */, - error); - - g_strfreev (argv); - - return ret; -} -/******* END COPIED + PASTED CODE TO GO AWAY ******/ - -/** - * egg_screen_url_show: - * @screen: a #GdkScreen. - * @url: The url to display. Should begin with the protocol to use (e.g. - * "http:", "ghelp:", etc) - * @error: Used to store any errors that result from trying to display the @url. - * - * Description: Like gnome_url_show(), but ensures that the viewer application - * appears on @screen. - * - * Returns: %TRUE if everything went fine, %FALSE otherwise (in which case - * @error will contain the actual error). - **/ -gboolean -egg_screen_url_show (GdkScreen *screen, - const char *url, - GError **error) -{ - char **env; - gboolean retval; - - env = egg_screen_exec_environment (screen); - - retval = egg_url_show_with_env (url, env, error); - - g_strfreev (env); - - return retval; -} |