~ubuntu-branches/debian/jessie/gnome-shell/jessie

« back to all changes in this revision

Viewing changes to src/gactionobservable.c

  • Committer: Package Import Robot
  • Author(s): Michael Biebl
  • Date: 2012-05-30 13:19:38 UTC
  • mfrom: (18.1.24 experimental)
  • Revision ID: package-import@ubuntu.com-20120530131938-i3trc1g1p3is2u6x
Tags: 3.4.1-3
Upload to unstable.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Copyright © 2011 Canonical Limited
 
3
 *
 
4
 * This program is free software: you can redistribute it and/or modify
 
5
 * it under the terms of the GNU Lesser General Public License as
 
6
 * published by the Free Software Foundation; either version 2 of the
 
7
 * licence or (at your option) any later version.
 
8
 *
 
9
 * This library is distributed in the hope that it will be useful, but
 
10
 * WITHOUT ANY WARRANTY; without even the implied warranty of
 
11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
12
 * Lesser General Public License for more details.
 
13
 *
 
14
 * You should have received a copy of the GNU Lesser General Public
 
15
 * License along with this library; if not, write to the Free Software
 
16
 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307,
 
17
 * USA.
 
18
 *
 
19
 * Authors: Ryan Lortie <desrt@desrt.ca>
 
20
 */
 
21
 
 
22
#include "config.h"
 
23
 
 
24
#include "gactionobservable.h"
 
25
 
 
26
G_DEFINE_INTERFACE (GActionObservable, g_action_observable, G_TYPE_OBJECT)
 
27
 
 
28
/*
 
29
 * SECTION:gactionobserable
 
30
 * @short_description: an interface implemented by objects that report
 
31
 *                     changes to actions
 
32
 */
 
33
 
 
34
void
 
35
g_action_observable_default_init (GActionObservableInterface *iface)
 
36
{
 
37
}
 
38
 
 
39
/*
 
40
 * g_action_observable_register_observer:
 
41
 * @observable: a #GActionObservable
 
42
 * @action_name: the name of the action
 
43
 * @observer: the #GActionObserver to which the events will be reported
 
44
 *
 
45
 * Registers @observer as being interested in changes to @action_name on
 
46
 * @observable.
 
47
 */
 
48
void
 
49
g_action_observable_register_observer (GActionObservable *observable,
 
50
                                       const gchar       *action_name,
 
51
                                       GActionObserver   *observer)
 
52
{
 
53
  g_return_if_fail (G_IS_ACTION_OBSERVABLE (observable));
 
54
 
 
55
  G_ACTION_OBSERVABLE_GET_IFACE (observable)
 
56
    ->register_observer (observable, action_name, observer);
 
57
}
 
58
 
 
59
/*
 
60
 * g_action_observable_unregister_observer:
 
61
 * @observable: a #GActionObservable
 
62
 * @action_name: the name of the action
 
63
 * @observer: the #GActionObserver to which the events will be reported
 
64
 *
 
65
 * Removes the registration of @observer as being interested in changes
 
66
 * to @action_name on @observable.
 
67
 *
 
68
 * If the observer was registered multiple times, it must be
 
69
 * unregistered an equal number of times.
 
70
 */
 
71
void
 
72
g_action_observable_unregister_observer (GActionObservable *observable,
 
73
                                         const gchar       *action_name,
 
74
                                         GActionObserver   *observer)
 
75
{
 
76
  g_return_if_fail (G_IS_ACTION_OBSERVABLE (observable));
 
77
 
 
78
  G_ACTION_OBSERVABLE_GET_IFACE (observable)
 
79
    ->unregister_observer (observable, action_name, observer);
 
80
}