/* * Web view scheme-specific methods * * 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 . */ #include "schemes.h" #define N_SCHEMES 2 static gboolean check_and_set_methods(MqWebViewSchemeMethods **methods, MqWebViewScheme *scheme, const gchar *uri, MqWebViewSchemeMethods *scheme_methods) { if (scheme_methods->match_uri(uri)) { if (*methods != scheme_methods) { (*methods)->finalize(scheme); *methods = scheme_methods; } return TRUE; } else { return FALSE; } } void mq_web_view_scheme_set_methods(MqWebViewSchemeMethods **methods, MqWebViewScheme *scheme, const gchar *uri) { #pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-value" check_and_set_methods(methods, scheme, uri, &mq_web_view_normal_scheme_methods) || check_and_set_methods(methods, scheme, uri, &mq_web_view_view_source_scheme_methods); #pragma GCC diagnostic pop }