diff options
Diffstat (limited to 'src/about.c')
-rw-r--r-- | src/about.c | 90 |
1 files changed, 0 insertions, 90 deletions
diff --git a/src/about.c b/src/about.c deleted file mode 100644 index 0adf321..0000000 --- a/src/about.c +++ /dev/null @@ -1,90 +0,0 @@ -/* - * about: URI scheme - * - * Copyright (C) 2017 Patrick McDermott - * - * This file is part of Marquee. - * - * Marquee 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 3 of the License, or - * (at your option) any later version. - * - * Marquee 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 Marquee. If not, see <http://www.gnu.org/licenses/>. - */ - -#include "about.h" - -#include <string.h> - -#include <webkit2/webkit2.h> - -#include "about/paths.h" -#include "application.h" -#include "utils/resources.h" -#include "utils/string.h" - -void -mq_about_request(WebKitURISchemeRequest *request, MqApplication *application) -{ - const gchar *path; - gchar *query_str; - GHashTable *query; - - path = webkit_uri_scheme_request_get_path(request); - query_str = strchr(webkit_uri_scheme_request_get_uri(request), '?'); - if (query_str && query_str[1]) { - query_str = g_strdup(query_str + 1); - query = mq_parse_query_string(query_str); - g_free(query_str); - } else { - query = NULL; - } - - if (g_strcmp0(path, "") == 0 || g_strcmp0(path, "version") == 0) { - mq_about_version_response(application, query, request); - } else if (g_strcmp0(path, "preferences") == 0) { - mq_about_preferences_response(application, query, request); - } else if (g_strcmp0(path, "marquee") == 0) { - mq_about_marquee_response(application, query, request); - } else if (g_str_has_prefix(path, "resources/")) { - mq_resource_response(application, path + sizeof("resources"), - request); - } else { - return; - } - - if (query) { - g_hash_table_unref(query); - } -} - -void -mq_about_response(WebKitURISchemeRequest *request, gchar *contents) -{ - gsize stream_length; - GInputStream *stream; - - stream_length = strlen(contents); - stream = g_memory_input_stream_new_from_data(contents, - stream_length, g_free); - webkit_uri_scheme_request_finish(request, stream, stream_length, - "text/html"); - g_object_unref(stream); -} - -void -mq_about_redirect(WebKitURISchemeRequest *request, const gchar *uri) -{ - WebKitWebView *web_view; - - web_view = webkit_uri_scheme_request_get_web_view(request); - webkit_web_view_load_request(web_view, webkit_uri_request_new(uri)); - mq_about_response(request, g_strdup("")); -} |