other-licenses/atk-1.0/atk/atkhyperlink.h

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

michael@0 1 /* ATK - Accessibility Toolkit
michael@0 2 * Copyright 2001 Sun Microsystems Inc.
michael@0 3 *
michael@0 4 * This library is free software; you can redistribute it and/or
michael@0 5 * modify it under the terms of the GNU Library General Public
michael@0 6 * License as published by the Free Software Foundation; either
michael@0 7 * version 2 of the License, or (at your option) any later version.
michael@0 8 *
michael@0 9 * This library is distributed in the hope that it will be useful,
michael@0 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
michael@0 11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
michael@0 12 * Library General Public License for more details.
michael@0 13 *
michael@0 14 * You should have received a copy of the GNU Library General Public
michael@0 15 * License along with this library; if not, write to the
michael@0 16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
michael@0 17 * Boston, MA 02111-1307, USA.
michael@0 18 */
michael@0 19
michael@0 20 #ifndef __ATK_HYPERLINK_H__
michael@0 21 #define __ATK_HYPERLINK_H__
michael@0 22
michael@0 23 #ifdef __cplusplus
michael@0 24 extern "C" {
michael@0 25 #endif /* __cplusplus */
michael@0 26
michael@0 27 #include <atk/atkaction.h>
michael@0 28
michael@0 29 /*
michael@0 30 * AtkHyperlink encapsulates a link or set of links in a hypertext document.
michael@0 31 *
michael@0 32 * It implements the AtkAction interface.
michael@0 33 */
michael@0 34
michael@0 35 /**
michael@0 36 *AtkHyperlinkStateFlags
michael@0 37 *@ATK_HYPERLINK_IS_INLINE: Link is inline
michael@0 38 *
michael@0 39 *Describes the type of link
michael@0 40 **/
michael@0 41 typedef enum
michael@0 42 {
michael@0 43 ATK_HYPERLINK_IS_INLINE = 1 << 0
michael@0 44 } AtkHyperlinkStateFlags;
michael@0 45
michael@0 46 #define ATK_TYPE_HYPERLINK (atk_hyperlink_get_type ())
michael@0 47 #define ATK_HYPERLINK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERLINK, AtkHyperlink))
michael@0 48 #define ATK_HYPERLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), ATK_TYPE_HYPERLINK, AtkHyperlinkClass))
michael@0 49 #define ATK_IS_HYPERLINK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_HYPERLINK))
michael@0 50 #define ATK_IS_HYPERLINK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), ATK_TYPE_HYPERLINK))
michael@0 51 #define ATK_HYPERLINK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), ATK_TYPE_HYPERLINK, AtkHyperlinkClass))
michael@0 52
michael@0 53 typedef struct _AtkHyperlink AtkHyperlink;
michael@0 54 typedef struct _AtkHyperlinkClass AtkHyperlinkClass;
michael@0 55
michael@0 56 struct _AtkHyperlink
michael@0 57 {
michael@0 58 GObject parent;
michael@0 59 };
michael@0 60
michael@0 61 struct _AtkHyperlinkClass
michael@0 62 {
michael@0 63 GObjectClass parent;
michael@0 64
michael@0 65 gchar* (* get_uri) (AtkHyperlink *link_,
michael@0 66 gint i);
michael@0 67 AtkObject* (* get_object) (AtkHyperlink *link_,
michael@0 68 gint i);
michael@0 69 gint (* get_end_index) (AtkHyperlink *link_);
michael@0 70 gint (* get_start_index) (AtkHyperlink *link_);
michael@0 71 gboolean (* is_valid) (AtkHyperlink *link_);
michael@0 72 gint (* get_n_anchors) (AtkHyperlink *link_);
michael@0 73 guint (* link_state) (AtkHyperlink *link_);
michael@0 74 gboolean (* is_selected_link) (AtkHyperlink *link_);
michael@0 75
michael@0 76 /* Signals */
michael@0 77 void ( *link_activated) (AtkHyperlink *link_);
michael@0 78 AtkFunction pad1;
michael@0 79 };
michael@0 80
michael@0 81 GType atk_hyperlink_get_type (void);
michael@0 82
michael@0 83 gchar* atk_hyperlink_get_uri (AtkHyperlink *link_,
michael@0 84 gint i);
michael@0 85
michael@0 86 AtkObject* atk_hyperlink_get_object (AtkHyperlink *link_,
michael@0 87 gint i);
michael@0 88
michael@0 89 gint atk_hyperlink_get_end_index (AtkHyperlink *link_);
michael@0 90
michael@0 91 gint atk_hyperlink_get_start_index (AtkHyperlink *link_);
michael@0 92
michael@0 93 gboolean atk_hyperlink_is_valid (AtkHyperlink *link_);
michael@0 94
michael@0 95 gboolean atk_hyperlink_is_inline (AtkHyperlink *link_);
michael@0 96
michael@0 97 gint atk_hyperlink_get_n_anchors (AtkHyperlink *link_);
michael@0 98 gboolean atk_hyperlink_is_selected_link (AtkHyperlink *link_);
michael@0 99
michael@0 100
michael@0 101 #ifdef __cplusplus
michael@0 102 }
michael@0 103 #endif /* __cplusplus */
michael@0 104
michael@0 105
michael@0 106 #endif /* __ATK_HYPERLINK_H__ */

mercurial