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.

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

mercurial