GnuCash  5.6-150-g038405b370+
gnc-html-history.h
1 /********************************************************************
2  * gnc-html-history.h -- keep a HTML history *
3  * Copyright (C) 2000 Bill Gribble <grib@billgribble.com> *
4  * *
5  * This program is free software; you can redistribute it and/or *
6  * modify it under the terms of the GNU General Public License as *
7  * published by the Free Software Foundation; either version 2 of *
8  * the License, or (at your option) any later version. *
9  * *
10  * This program 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, contact: *
17  * *
18  * Free Software Foundation Voice: +1-617-542-5942 *
19  * 51 Franklin Street, Fifth Floor Fax: +1-617-542-2652 *
20  * Boston, MA 02110-1301, USA gnu@gnu.org *
21  ********************************************************************/
22 
23 #ifndef GNC_HTML_HISTORY_H
24 #define GNC_HTML_HISTORY_H
25 
26 typedef struct _gnc_html_history_node gnc_html_history_node;
27 typedef struct _gnc_html_history gnc_html_history;
28 
29 #include "gnc-html.h"
30 
31 typedef void (* gnc_html_history_destroy_cb)(gnc_html_history_node * n,
32  gpointer user_data);
33 
34 #ifdef __cplusplus
35 extern "C"
36 {
37 #endif
38 
40 {
41  char* type;
42  gchar * location;
43  gchar * label;
44 };
45 
46 gnc_html_history * gnc_html_history_new(void) NOEXCEPT;
47 void gnc_html_history_destroy(gnc_html_history * hist) NOEXCEPT;
48 
49 void gnc_html_history_append(gnc_html_history * h,
50  gnc_html_history_node * n) NOEXCEPT;
51 gnc_html_history_node * gnc_html_history_get_current(gnc_html_history * h) NOEXCEPT;
52 gnc_html_history_node * gnc_html_history_forward(gnc_html_history * h) NOEXCEPT;
53 gnc_html_history_node * gnc_html_history_back(gnc_html_history * h) NOEXCEPT;
54 int gnc_html_history_forward_p(gnc_html_history * h) NOEXCEPT;
55 int gnc_html_history_back_p(gnc_html_history * h) NOEXCEPT;
56 void gnc_html_history_set_node_destroy_cb(gnc_html_history * h,
57  gnc_html_history_destroy_cb cb,
58  gpointer cb_data) NOEXCEPT;
59 
60 gnc_html_history_node * gnc_html_history_node_new(URLType type,
61  const gchar * location,
62  const gchar *label) NOEXCEPT;
63 
64 void gnc_html_history_node_destroy(gnc_html_history_node *node) NOEXCEPT;
65 
66 #ifdef __cplusplus
67 }
68 #endif
69 
70 #endif // GNC_HTML_HISTORY_H