aboutsummaryrefslogtreecommitdiffstats
path: root/e-util/gal-a11y-e-table-item.h
blob: 4791a70354de0e311ae63d448d50d162d814d005 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
/*
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) version 3.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with the program; if not, see <http://www.gnu.org/licenses/>
 *
 *
 * Authors:
 *      Christopher James Lahey <clahey@ximian.com>
 *
 * Copyright (C) 1999-2008 Novell, Inc. (www.novell.com)
 *
 */

#if !defined (__E_UTIL_H_INSIDE__) && !defined (LIBEUTIL_COMPILATION)
#error "Only <e-util/e-util.h> should be included directly."
#endif

#ifndef __GAL_A11Y_E_TABLE_ITEM_H__
#define __GAL_A11Y_E_TABLE_ITEM_H__

#include <atk/atkgobjectaccessible.h>

#include <e-util/e-table-item.h>

#define GAL_A11Y_TYPE_E_TABLE_ITEM            (gal_a11y_e_table_item_get_type ())
#define GAL_A11Y_E_TABLE_ITEM(obj)            (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAL_A11Y_TYPE_E_TABLE_ITEM, GalA11yETableItem))
#define GAL_A11Y_E_TABLE_ITEM_CLASS(klass)    (G_TYPE_CHECK_CLASS_CAST ((klass), GAL_A11Y_TYPE_E_TABLE_ITEM, GalA11yETableItemClass))
#define GAL_A11Y_IS_E_TABLE_ITEM(obj)         (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAL_A11Y_TYPE_E_TABLE_ITEM))
#define GAL_A11Y_IS_E_TABLE_ITEM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GAL_A11Y_TYPE_E_TABLE_ITEM))

typedef struct _GalA11yETableItem GalA11yETableItem;
typedef struct _GalA11yETableItemClass GalA11yETableItemClass;
typedef struct _GalA11yETableItemPrivate GalA11yETableItemPrivate;

/* This struct should actually be larger as this isn't what we derive from.
 * The GalA11yETableItemPrivate comes right after the parent class structure.
 **/
struct _GalA11yETableItem {
    AtkGObjectAccessible parent;
};

struct _GalA11yETableItemClass {
    AtkGObjectAccessibleClass parent_class;
};

/* Standard Glib function */
GType      gal_a11y_e_table_item_get_type  (void);
AtkObject *gal_a11y_e_table_item_new       (ETableItem *item);

void gal_a11y_e_table_item_init (void);

#endif /* __GAL_A11Y_E_TABLE_ITEM_H__ */
pan> EphyAdBlock *blocker; }; G_DEFINE_TYPE (EphyAdBlockManager, ephy_adblock_manager, G_TYPE_OBJECT); #define EPHY_ADBLOCK_MANAGER_GET_PRIVATE(object) \ (G_TYPE_INSTANCE_GET_PRIVATE ((object), \ EPHY_TYPE_ADBLOCK_MANAGER, EphyAdBlockManagerPrivate)) /** * ephy_adblock_manager_set_blocker: * @shell: a #EphyAdBlockManager * @blocker: the new blocker or NULL * * Set a new ad blocker. If #blocker is %NULL, * ad blocking is toggled off. * **/ void ephy_adblock_manager_set_blocker (EphyAdBlockManager *self, EphyAdBlock *blocker) { self->priv->blocker = blocker; } /** * ephy_adblock_manager_should_load: * @shell: a #EphyAdBlockManager * @url: the target url to be loaded or not * @AdUriCheckType: what check to be applied (image, script, ...) * * Check if an url is to be loaded or not * * ReturnValue: TRUE if the url is to be loaded **/ gboolean ephy_adblock_manager_should_load (EphyAdBlockManager *self, EphyEmbed *embed, const char *url, AdUriCheckType check_type) { if (self->priv->blocker != NULL) { return ephy_adblock_should_load (self->priv->blocker, embed, url, check_type); } /* default: let's process any url */ return TRUE; } static void ephy_adblock_manager_init (EphyAdBlockManager *self) { EphyAdBlockManagerPrivate *priv; LOG ("ephy_adblock_manager_init"); priv = EPHY_ADBLOCK_MANAGER_GET_PRIVATE(self); priv->blocker = NULL; self->priv = priv; } static void ephy_adblock_manager_class_init (EphyAdBlockManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); g_signal_new ("rules_changed", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST, G_STRUCT_OFFSET (EphyAdBlockManagerClass, rules_changed), NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0, 0); g_type_class_add_private (object_class, sizeof (EphyAdBlockManagerPrivate)); } /** * ephy_adblock_manager_edit_rule: * @shell: a #EphyAdBlockManager * @url: the target url on which the rule is based * @allowed: TRUE if the url has to be blocked. * * Ask to the blocker a new rule based on @url. * **/ void ephy_adblock_manager_edit_rule (EphyAdBlockManager *self, const char *url, gboolean allowed) { if (self->priv->blocker != NULL) { ephy_adblock_edit_rule (self->priv->blocker, url, allowed); } } /** * ephy_adblock_manager_has_blocker: * @shell: a #EphyAdBlockManager * * Check if Epiphany has currently an active blocker * * ReturnValue: TRUE if an active blocker is running **/ gboolean ephy_adblock_manager_has_blocker (EphyAdBlockManager *self) { return self->priv->blocker != NULL; }