other-licenses/atk-1.0/atk/atkhyperlinkimpl.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_IMPL_H__
michael@0 21 #define __ATK_HYPERLINK_IMPL_H__
michael@0 22
michael@0 23 #include <atk/atkobject.h>
michael@0 24 #include <atk/atkhyperlink.h>
michael@0 25
michael@0 26 #ifdef __cplusplus
michael@0 27 extern "C" {
michael@0 28 #endif /* __cplusplus */
michael@0 29
michael@0 30 /*
michael@0 31 * The AtkHyperlinkImpl interface should be supported by objects
michael@0 32 * exposed within the hierarchy as children of an AtkHypertext container
michael@0 33 * which correspond to "links" or embedded content within the text.
michael@0 34 * HTML anchors are not, for instance, normally exposed this way,
michael@0 35 * but embedded images and components which appear inline in the
michael@0 36 * content of a text object are. The AtkHyperlinkIface interface
michael@0 37 * allows a means of determining which children are hyperlinks in this
michael@0 38 * sense of the word, and for obtaining their corresponding AtkHyperlink
michael@0 39 * object, from which the embedding range, URI, etc. can be obtained.
michael@0 40 *
michael@0 41 * To some extent this interface exists because, for historical
michael@0 42 * reasons, AtkHyperlink was defined as an object type, not an interface.
michael@0 43 * Thus, in order to interact with AtkObjects via AtkHyperlink semantics,
michael@0 44 * a new interface was required.
michael@0 45 */
michael@0 46
michael@0 47 #define ATK_TYPE_HYPERLINK_IMPL (atk_hyperlink_impl_get_type ())
michael@0 48 #define ATK_IS_HYPERLINK_IMPL(obj) G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_HYPERLINK_IMPL)
michael@0 49 #define ATK_HYPERLINK_IMPL(obj) G_TYPE_CHECK_INSTANCE_CAST ((obj), ATK_TYPE_HYPERLINK_IMPL, AtkHyperlinkImpl)
michael@0 50 #define ATK_HYPERLINK_IMPL_GET_IFACE(obj) G_TYPE_INSTANCE_GET_INTERFACE ((obj), ATK_TYPE_HYPERLINK_IMPL, AtkHyperlinkImplIface)
michael@0 51
michael@0 52 #ifndef _TYPEDEF_ATK_HYPERLINK_IMPL_
michael@0 53 #define _TYPEDEF_ATK_HYPERLINK_IMPL__
michael@0 54 typedef struct _AtkHyperlinkImpl AtkHyperlinkImpl;
michael@0 55 #endif
michael@0 56 typedef struct _AtkHyperlinkImplIface AtkHyperlinkImplIface;
michael@0 57
michael@0 58 struct _AtkHyperlinkImplIface
michael@0 59 {
michael@0 60 GTypeInterface parent;
michael@0 61
michael@0 62 AtkHyperlink* (* get_hyperlink) (AtkHyperlinkImpl *impl);
michael@0 63
michael@0 64 AtkFunction pad1;
michael@0 65 };
michael@0 66
michael@0 67 GType atk_hyperlink_impl_get_type (void);
michael@0 68
michael@0 69 AtkHyperlink *atk_hyperlink_impl_get_hyperlink (AtkHyperlinkImpl *obj);
michael@0 70
michael@0 71 #ifdef __cplusplus
michael@0 72 }
michael@0 73 #endif /* __cplusplus */
michael@0 74
michael@0 75
michael@0 76 #endif /* __ATK_HYPERLINK_IMPL_H__ */

mercurial