~ldotlopez/eina/github-copy

« back to all changes in this revision

Viewing changes to eina/fieshta/eina-fieshta-behaviour.c

  • Committer: Luis López
  • Date: 2011-07-11 07:00:44 UTC
  • Revision ID: luis@ugluk.cent.uji.es-20110711070044-su2jelehui4elesi
Snapshot 20110711090043

Show diffs side-by-side

added added

removed removed

Lines of Context:
17
17
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
18
 */
19
19
 
 
20
/**
 
21
 * SECTION:eina-fieshta-behaviour
 
22
 * @title:EinaFieshtaBehaviour
 
23
 * @short_description: Behaviour control of #EinaFieshta
 
24
 *
 
25
 * #EinaFieshtaBehaviour is mean for controling which actions blocks
 
26
 * #EinaFieshta and which are permited.
 
27
 *
 
28
 * #EinaFieshtaBehaviour is configured via #EinaFieshtaBehaviourOption
 
29
 */
20
30
#include "eina-fieshta-behaviour.h"
21
31
#include <gel/gel.h>
22
32
 
24
34
 
25
35
struct _EinaFieshtaBehaviourPrivate {
26
36
        LomoPlayer *lomo;
27
 
        EinaFieshtaBehaviourOptions options;
 
37
        EinaFieshtaBehaviourOption options;
28
38
};
29
39
 
30
40
enum {
32
42
        PROP_OPTIONS
33
43
};
34
44
 
35
 
static void
36
 
set_lomo_player(EinaFieshtaBehaviour *self, LomoPlayer *lomo);
37
 
 
38
 
static gboolean
39
 
lomo_hook_cb(LomoPlayer *lomo, LomoPlayerHookEvent event, gpointer ret, EinaFieshtaBehaviour *self);
40
 
 
 
45
static void     set_lomo_player(EinaFieshtaBehaviour *self, LomoPlayer *lomo);
 
46
static gboolean lomo_hook_cb(LomoPlayer *lomo, LomoPlayerHookEvent event, gpointer ret, EinaFieshtaBehaviour *self);
41
47
 
42
48
static void
43
49
eina_fieshta_behaviour_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec)
64
70
                set_lomo_player(EINA_FIESHTA_BEHAVIOUR(object), g_value_get_object(value));
65
71
                return;
66
72
        case PROP_OPTIONS:
67
 
                eina_fieshta_behaviour_set_options(EINA_FIESHTA_BEHAVIOUR(object), (EinaFieshtaBehaviourOptions) g_value_get_int(value));
 
73
                eina_fieshta_behaviour_set_options(EINA_FIESHTA_BEHAVIOUR(object), (EinaFieshtaBehaviourOption) g_value_get_int(value));
68
74
                return;
69
75
        default:
70
76
                G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
75
81
eina_fieshta_behaviour_dispose (GObject *object)
76
82
{
77
83
        EinaFieshtaBehaviour *self = EINA_FIESHTA_BEHAVIOUR(object);
78
 
        
 
84
 
79
85
        if (self->priv->lomo)
80
86
        {
81
87
                g_object_unref(self->priv->lomo);
96
102
        object_class->set_property = eina_fieshta_behaviour_set_property;
97
103
        object_class->dispose = eina_fieshta_behaviour_dispose;
98
104
 
 
105
        /**
 
106
         * EinaFieshtaBehaviour:lomo-player:
 
107
         *
 
108
         * #LomoPlayer object to attach to
 
109
         */
99
110
        g_object_class_install_property(object_class, PROP_LOMO_PLAYER,
100
111
                g_param_spec_object("lomo-player", "lomo-player", "lomo-player",
101
112
                        LOMO_TYPE_PLAYER,
102
113
                        G_PARAM_CONSTRUCT_ONLY|G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS));
103
 
        
 
114
 
 
115
        /**
 
116
         * EinaFieshtaBehaviour:options
 
117
         *
 
118
         * Options for the object expresed by a mask composed by one
 
119
         * or more #EinaFieshtaBehaviourOption
 
120
         */
104
121
        g_object_class_install_property(object_class, PROP_OPTIONS,
105
122
                g_param_spec_int( "options", "options", "options",
106
 
                        -1, 0x1111, EINA_FIESHTA_BEHAVIOUR_OPTION_DEFAULT,
 
123
                        0, 0x1111, EINA_FIESHTA_BEHAVIOUR_OPTION_DEFAULT,
107
124
                        G_PARAM_READWRITE|G_PARAM_STATIC_STRINGS));
108
 
 
109
125
}
110
126
 
111
127
static void
115
131
}
116
132
 
117
133
EinaFieshtaBehaviour*
118
 
eina_fieshta_behaviour_new (LomoPlayer *lomo, EinaFieshtaBehaviourOptions options)
 
134
eina_fieshta_behaviour_new (LomoPlayer *lomo, EinaFieshtaBehaviourOption options)
119
135
{
120
136
        return g_object_new (EINA_TYPE_FIESHTA_BEHAVIOUR,
121
137
                "lomo-player", lomo,
137
153
 
138
154
/**
139
155
 * eina_fieshta_behaviour_get_lomo_player:
140
 
 * @self: A #EinaFieshtaBehaviour
 
156
 * @self: An #EinaFieshtaBehaviour
141
157
 *
142
158
 * Get the current #LomoPlayer object from the behaviour
143
159
 *
144
160
 * Returns: (transfer none): The #LomoPlayer
145
 
 **/
 
161
 */
146
162
LomoPlayer *
147
163
eina_fieshta_behaviour_get_lomo_player(EinaFieshtaBehaviour *self)
148
164
{
150
166
        return self->priv->lomo;
151
167
}
152
168
 
153
 
EinaFieshtaBehaviourOptions
 
169
/**
 
170
 * eina_fieshta_behaviour_get_options:
 
171
 * @self: An #EinaFieshtaBehaviour
 
172
 *
 
173
 * Gets the value of #EinaFieshtaBehaviour:options property
 
174
 *
 
175
 * Returns: The value of the property
 
176
 */
 
177
EinaFieshtaBehaviourOption
154
178
eina_fieshta_behaviour_get_options(EinaFieshtaBehaviour *self)
155
179
{
156
180
        g_return_val_if_fail(EINA_IS_FIESHTA_BEHAVIOUR(self), -1);
157
181
        return self->priv->options;
158
182
}
159
183
 
 
184
/**
 
185
 * eina_fieshta_behaviour_set_options:
 
186
 * @self: An #EinaFieshtaBehaviour
 
187
 * @options: A mask composed by one or more #EinaFieshtaBehaviourOption
 
188
 *
 
189
 * Sets the value of #EinaFieshtaBehaviour:options property
 
190
 */
160
191
void
161
 
eina_fieshta_behaviour_set_options(EinaFieshtaBehaviour *self, EinaFieshtaBehaviourOptions options)
 
192
eina_fieshta_behaviour_set_options(EinaFieshtaBehaviour *self, EinaFieshtaBehaviourOption options)
162
193
{
163
194
        g_return_if_fail(EINA_IS_FIESHTA_BEHAVIOUR(self));
164
195
        self->priv->options = options;