From 1347f9e3a66dfab4813099f979cb2668e0a29e11 Mon Sep 17 00:00:00 2001 From: Michael Drake Date: Tue, 19 May 2020 21:01:09 +0100 Subject: nsurl: Expose scheme type accessor. --- utils/nsurl.h | 19 +++++++++++++++++++ utils/nsurl/nsurl.c | 9 +++++++++ utils/nsurl/private.h | 12 ------------ 3 files changed, 28 insertions(+), 12 deletions(-) diff --git a/utils/nsurl.h b/utils/nsurl.h index a80deeff9..fcae12e0c 100644 --- a/utils/nsurl.h +++ b/utils/nsurl.h @@ -30,6 +30,16 @@ /** NetSurf URL object */ typedef struct nsurl nsurl; +/** A type for URL schemes */ +enum nsurl_scheme_type { + NSURL_SCHEME_OTHER, + NSURL_SCHEME_HTTP, + NSURL_SCHEME_HTTPS, + NSURL_SCHEME_FILE, + NSURL_SCHEME_FTP, + NSURL_SCHEME_MAILTO, + NSURL_SCHEME_DATA +}; typedef enum nsurl_component { NSURL_SCHEME = (1 << 0), @@ -145,6 +155,15 @@ nserror nsurl_get(const nsurl *url, nsurl_component parts, lwc_string *nsurl_get_component(const nsurl *url, nsurl_component part); +/** + * Get the scheme type from a NetSurf URL object + * + * \param url NetSurf URL object + * \return The URL scheme type. + */ +enum nsurl_scheme_type nsurl_get_scheme_type(const nsurl *url); + + /** * Enquire about the existence of componenets in a given URL * diff --git a/utils/nsurl/nsurl.c b/utils/nsurl/nsurl.c index 50cc15e82..63619af15 100644 --- a/utils/nsurl/nsurl.c +++ b/utils/nsurl/nsurl.c @@ -236,6 +236,15 @@ lwc_string *nsurl_get_component(const nsurl *url, nsurl_component part) } +/* exported interface, documented in nsurl.h */ +enum nsurl_scheme_type nsurl_get_scheme_type(const nsurl *url) +{ + assert(url != NULL); + + return url->components.scheme_type; +} + + /* exported interface, documented in nsurl.h */ bool nsurl_has_component(const nsurl *url, nsurl_component part) { diff --git a/utils/nsurl/private.h b/utils/nsurl/private.h index 08973e573..b099a451c 100644 --- a/utils/nsurl/private.h +++ b/utils/nsurl/private.h @@ -25,18 +25,6 @@ #include "utils/utils.h" -/** A type for URL schemes */ -enum nsurl_scheme_type { - NSURL_SCHEME_OTHER, - NSURL_SCHEME_HTTP, - NSURL_SCHEME_HTTPS, - NSURL_SCHEME_FILE, - NSURL_SCHEME_FTP, - NSURL_SCHEME_MAILTO, - NSURL_SCHEME_DATA -}; - - /** * nsurl components * -- cgit v1.2.3