From db33103fa3d0e7b4623dc321792963969e15e683 Mon Sep 17 00:00:00 2001 From: Vincent Sanders Date: Wed, 29 Jan 2014 21:35:53 +0000 Subject: clean up desktop/gui.h include usage --- desktop/browser.c | 1 - desktop/browser.h | 2 +- desktop/download.c | 2 +- desktop/frames.c | 2 +- desktop/gui.h | 58 ++++++++++++++++++++++++++++++++++++++++++------- desktop/gui_factory.c | 3 ++- desktop/local_history.c | 2 +- desktop/search.c | 1 - desktop/searchweb.c | 1 - desktop/selection.c | 1 - desktop/textinput.c | 1 - 11 files changed, 56 insertions(+), 18 deletions(-) (limited to 'desktop') diff --git a/desktop/browser.c b/desktop/browser.c index a33c1b6eb..f46d50eec 100644 --- a/desktop/browser.c +++ b/desktop/browser.c @@ -45,7 +45,6 @@ #include "desktop/download.h" #include "desktop/frames.h" #include "desktop/global_history.h" -#include "desktop/gui.h" #include "desktop/gui_factory.h" #include "desktop/hotlist.h" #include "desktop/knockout.h" diff --git a/desktop/browser.h b/desktop/browser.h index 0ca2e009b..d61e6a012 100644 --- a/desktop/browser.h +++ b/desktop/browser.h @@ -27,8 +27,8 @@ #include #include "content/content.h" +#include "content/hlcache.h" #include "desktop/frame_types.h" -#include "desktop/gui.h" #include "desktop/mouse.h" #include "utils/types.h" diff --git a/desktop/download.c b/desktop/download.c index b5427b405..b458f577c 100644 --- a/desktop/download.c +++ b/desktop/download.c @@ -23,10 +23,10 @@ #include #include +#include #include "content/llcache.h" #include "desktop/download.h" -#include "desktop/gui.h" #include "desktop/gui_factory.h" #include "utils/corestrings.h" #include "utils/http.h" diff --git a/desktop/frames.c b/desktop/frames.c index 3f7613f32..354c70da4 100644 --- a/desktop/frames.c +++ b/desktop/frames.c @@ -28,12 +28,12 @@ #include #include #include + #include "utils/config.h" #include "content/hlcache.h" #include "desktop/browser_private.h" #include "desktop/frames.h" #include "desktop/local_history.h" -#include "desktop/gui.h" #include "desktop/scrollbar.h" #include "desktop/selection.h" #include "utils/log.h" diff --git a/desktop/gui.h b/desktop/gui.h index da609b1e3..37066e1a7 100644 --- a/desktop/gui.h +++ b/desktop/gui.h @@ -24,10 +24,13 @@ #define _NETSURF_DESKTOP_GUI_H_ #include +#include -#include "content/hlcache.h" -#include "desktop/download.h" +#include "utils/types.h" #include "utils/errors.h" +#include "utils/nsurl.h" +#include "desktop/plot_style.h" +#include "desktop/mouse.h" typedef enum { GUI_SAVE_SOURCE, @@ -58,6 +61,8 @@ struct gui_download_window; struct browser_window; struct form_control; struct ssl_cert_info; +struct hlcache_handle; +struct download_context; typedef struct nsnsclipboard_styles { size_t start; /**< Start of run */ @@ -155,7 +160,7 @@ struct gui_window_table { void (*set_url)(struct gui_window *g, const char *url); /** set favicon */ - void (*set_icon)(struct gui_window *g, hlcache_handle *icon); + void (*set_icon)(struct gui_window *g, struct hlcache_handle *icon); /** * Set the status bar of a browser window. @@ -232,10 +237,10 @@ struct gui_window_table { /** * Called when file chooser gadget is activated */ - void (*file_gadget_open)(struct gui_window *g, hlcache_handle *hl, struct form_control *gadget); + void (*file_gadget_open)(struct gui_window *g, struct hlcache_handle *hl, struct form_control *gadget); /** object dragged to window*/ - void (*drag_save_object)(struct gui_window *g, hlcache_handle *c, gui_save_type type); + void (*drag_save_object)(struct gui_window *g, struct hlcache_handle *c, gui_save_type type); /** drag selection save */ void (*drag_save_selection)(struct gui_window *g, const char *selection); @@ -248,7 +253,7 @@ struct gui_window_table { * function table for download windows */ struct gui_download_table { - struct gui_download_window *(*create)(download_context *ctx, struct gui_window *parent); + struct gui_download_window *(*create)(struct download_context *ctx, struct gui_window *parent); nserror (*data)(struct gui_download_window *dw, const char *data, unsigned int size); @@ -365,6 +370,31 @@ struct gui_fetch_table { }; +/** + * User interface utf8 characterset conversion routines + */ +struct gui_utf8_table { + /** + * Convert a UTF-8 encoded string into the system local encoding + * + * \param string The string to convert + * \param len The length (in bytes) of the string, or 0 + * \param result Pointer to location in which to store result + * \return An nserror code + */ + nserror (*utf8_to_local)(const char *string, size_t len, char **result); + + /** + * Convert a string encoded in the system local encoding to UTF-8 + * + * \param string The string to convert + * \param len The length (in bytes) of the string, or 0 + * \param result Pointer to location in which to store result + * \return An nserror code + */ + nserror (*local_to_utf8)(const char *string, size_t len, char **result); +}; + /** Graphical user interface browser misc function table * * function table implementing GUI interface to miscelaneous browser @@ -392,7 +422,7 @@ struct gui_browser_table { * \param ico may be NULL for local calls; then access current * cache from search_web_ico() */ - void (*set_search_ico)(hlcache_handle *ico); + void (*set_search_ico)(struct hlcache_handle *ico); /** * core has no fetcher for url @@ -424,7 +454,11 @@ struct gui_browser_table { */ struct gui_table { - /** Browser table */ + /** Browser table. + * + * Provides miscellaneous browser functionality. The table + * is mandantory and must be provided. + */ struct gui_browser_table *browser; /** Window table */ @@ -438,6 +472,14 @@ struct gui_table { /** Fetcher table */ struct gui_fetch_table *fetch; + + /** UTF8 table + * + * Provides for conversion between the gui local character + * encoding and utf8. The table optional and may be NULL which + * implies the local encoding is utf8. + */ + struct gui_utf8_table *utf8; }; diff --git a/desktop/gui_factory.c b/desktop/gui_factory.c index dfe775571..b61fdf0be 100644 --- a/desktop/gui_factory.c +++ b/desktop/gui_factory.c @@ -16,7 +16,8 @@ * along with this program. If not, see . */ -#include "desktop/gui.h" +#include "content/hlcache.h" +#include "desktop/download.h" #include "desktop/gui_factory.h" /** The global GUI interface table */ diff --git a/desktop/local_history.c b/desktop/local_history.c index d4ecfd3bb..9829f51b6 100644 --- a/desktop/local_history.c +++ b/desktop/local_history.c @@ -26,12 +26,12 @@ #include #include #include + #include "content/content.h" #include "content/hlcache.h" #include "content/urldb.h" #include "css/css.h" #include "desktop/browser.h" -#include "desktop/gui.h" #include "desktop/local_history.h" #include "desktop/plotters.h" #include "desktop/thumbnail.h" diff --git a/desktop/search.c b/desktop/search.c index 3a7c768a5..4a02f6b7c 100644 --- a/desktop/search.c +++ b/desktop/search.c @@ -29,7 +29,6 @@ #include "content/content.h" #include "content/hlcache.h" #include "desktop/browser_private.h" -#include "desktop/gui.h" #include "utils/nsoption.h" #include "desktop/search.h" #include "desktop/selection.h" diff --git a/desktop/searchweb.c b/desktop/searchweb.c index b3f6162a6..bdcb2ba8a 100644 --- a/desktop/searchweb.c +++ b/desktop/searchweb.c @@ -26,7 +26,6 @@ #include "content/content.h" #include "content/hlcache.h" #include "desktop/browser.h" -#include "desktop/gui.h" #include "desktop/gui_factory.h" #include "utils/nsoption.h" #include "desktop/searchweb.h" diff --git a/desktop/selection.c b/desktop/selection.c index 96c7e0c3c..34292fdce 100644 --- a/desktop/selection.c +++ b/desktop/selection.c @@ -29,7 +29,6 @@ #include #include "desktop/browser_private.h" -#include "desktop/gui.h" #include "desktop/gui_factory.h" #include "desktop/mouse.h" #include "desktop/plotters.h" diff --git a/desktop/textinput.c b/desktop/textinput.c index c61b838fe..fd6ae9ff1 100644 --- a/desktop/textinput.c +++ b/desktop/textinput.c @@ -30,7 +30,6 @@ #include #include "desktop/browser_private.h" -#include "desktop/gui.h" #include "desktop/gui_factory.h" #include "desktop/mouse.h" #include "desktop/scrollbar.h" -- cgit v1.2.3