NetSurf
gui_table.h
Go to the documentation of this file.
1/*
2 * Copyright 2014 Vincent Sanders <vince@netsurf-browser.org>
3 *
4 * This file is part of NetSurf, http://www.netsurf-browser.org/
5 *
6 * NetSurf is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; version 2 of the License.
9 *
10 * NetSurf is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18
19/**
20 * \file
21 * top level interface table.
22 *
23 * \note This should probably not be included directly but rather
24 * through netsurf.h or gui_internal.h
25 */
26
27#ifndef _NETSURF_DESKTOP_GUI_TABLE_H_
28#define _NETSURF_DESKTOP_GUI_TABLE_H_
29
30struct gui_misc_table;
31struct gui_window_table;
34struct gui_fetch_table;
35struct gui_file_table;
36struct gui_utf8_table;
37struct gui_search_table;
40struct gui_bitmap_table;
41struct gui_layout_table;
42
43/**
44 * NetSurf operation function table
45 *
46 * Function table implementing interface operations for the browser core.
47 */
49
50 /**
51 * Browser table.
52 *
53 * Provides miscellaneous browser functionality.
54 *
55 * The table is mandantory and must be provided.
56 */
58
59 /**
60 * Window table.
61 *
62 * Provides all operations which affect a frontends display window.
63 *
64 * The table is mandantory and must be provided.
65 */
67
68 /**
69 * Download table.
70 *
71 * operations table for the download windows.
72 */
74
75 /**
76 * Clipboard table.
77 */
79
80 /**
81 * Fetcher table
82 *
83 * The table is mandantory and must be provided.
84 */
86
87 /**
88 * File table
89 *
90 * Provides file and filename operations to the core.
91 *
92 * The table is optional and may be NULL in which case the
93 * default posix compliant operations will be used.
94 */
96
97 /**
98 * UTF8 table.
99 *
100 * Provides for conversion between the gui local character
101 * encoding and utf8.
102 *
103 * The table optional and may be NULL which implies the local
104 * encoding is utf8.
105 */
107
108 /**
109 * Page search table.
110 *
111 * Provides routines for the interactive text search on a page.
112 */
114
115 /**
116 * Web search table.
117 *
118 * Used by the web search provider system.
119 *
120 * The table is optional and may be NULL which uses the
121 * default empty implementation.
122 */
124
125 /**
126 * Low level cache table.
127 *
128 * Used by the low level cache to push objects to persistant
129 * storage.
130 *
131 * The table is optional and may be NULL which uses the
132 * default implementation.
133 */
135
136 /**
137 * Bitmap table.
138 *
139 * Used by the image convertors as a generic interface to
140 * native platform-specific image formats.
141 *
142 * The table is mandantory and must be provided.
143 */
145
146 /**
147 * Layout table
148 *
149 * Used by the layout process to measure glyphs in a frontend
150 * specific manner.
151 *
152 * The table is mandantory and must be provided.
153 */
155};
156
157#endif
Bitmap operations.
Definition: bitmap.h:125
function table for clipboard operations.
Definition: clipboard.h:42
function table for download windows.
Definition: download.h:34
function table for fetcher operations.
Definition: fetch.h:33
/brief function table for file and filename operations.
Definition: file.h:50
low level cache backing store operation table
Definition: backing_store.h:44
Graphical user interface browser misc function table.
Definition: misc.h:39
function table for page text search.
Definition: search.h:31
Graphical user interface browser web search function table.
Definition: searchweb.h:34
User interface utf8 characterset conversion routines.
Definition: utf8.h:31
Graphical user interface window function table.
Definition: window.h:137
NetSurf operation function table.
Definition: gui_table.h:48
struct gui_misc_table * misc
Browser table.
Definition: gui_table.h:57
struct gui_file_table * file
File table.
Definition: gui_table.h:95
struct gui_search_table * search
Page search table.
Definition: gui_table.h:113
struct gui_clipboard_table * clipboard
Clipboard table.
Definition: gui_table.h:78
struct gui_fetch_table * fetch
Fetcher table.
Definition: gui_table.h:85
struct gui_llcache_table * llcache
Low level cache table.
Definition: gui_table.h:134
struct gui_search_web_table * search_web
Web search table.
Definition: gui_table.h:123
struct gui_window_table * window
Window table.
Definition: gui_table.h:66
struct gui_bitmap_table * bitmap
Bitmap table.
Definition: gui_table.h:144
struct gui_download_table * download
Download table.
Definition: gui_table.h:73
struct gui_layout_table * layout
Layout table.
Definition: gui_table.h:154
struct gui_utf8_table * utf8
UTF8 table.
Definition: gui_table.h:106