~ricmm/+junk/unity-lens_music-sc

« back to all changes in this revision

Viewing changes to src/player-service.c

  • Committer: Ricardo Mendoza
  • Date: 2012-09-05 14:20:15 UTC
  • Revision ID: ricardo.mendoza@canonical.com-20120905142015-prem6hiyfshwgm8q
Initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* player-service.c generated by valac 0.16.1, the Vala compiler
 
2
 * generated from player-service.vala, do not modify */
 
3
 
 
4
/*
 
5
 * Copyright (C) 2012 Canonical Ltd
 
6
 *
 
7
 * This program is free software: you can redistribute it and/or modify
 
8
 * it under the terms of the GNU General Public License version 3 as
 
9
 * published by the Free Software Foundation.
 
10
 *
 
11
 * This program is distributed in the hope that it will be useful,
 
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
 * GNU General Public License for more details.
 
15
 *
 
16
 * You should have received a copy of the GNU General Public License
 
17
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
18
 *
 
19
 * Authored by Pawel Stolowski <pawel.stolowski@canonical.com>
 
20
 */
 
21
 
 
22
#include <glib.h>
 
23
#include <glib-object.h>
 
24
#include <gio/gio.h>
 
25
#include <stdlib.h>
 
26
#include <string.h>
 
27
#include <float.h>
 
28
#include <math.h>
 
29
 
 
30
 
 
31
#define PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE (preview_player_preview_player_service_get_type ())
 
32
#define PREVIEW_PLAYER_PREVIEW_PLAYER_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE, PreviewPlayerPreviewPlayerService))
 
33
#define PREVIEW_PLAYER_PREVIEW_PLAYER_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE, PreviewPlayerPreviewPlayerServiceClass))
 
34
#define PREVIEW_PLAYER_IS_PREVIEW_PLAYER_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE))
 
35
#define PREVIEW_PLAYER_IS_PREVIEW_PLAYER_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE))
 
36
#define PREVIEW_PLAYER_PREVIEW_PLAYER_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE, PreviewPlayerPreviewPlayerServiceClass))
 
37
 
 
38
typedef struct _PreviewPlayerPreviewPlayerService PreviewPlayerPreviewPlayerService;
 
39
typedef struct _PreviewPlayerPreviewPlayerServiceClass PreviewPlayerPreviewPlayerServiceClass;
 
40
typedef struct _PreviewPlayerPreviewPlayerServicePrivate PreviewPlayerPreviewPlayerServicePrivate;
 
41
 
 
42
#define PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER (preview_player_preview_player_get_type ())
 
43
#define PREVIEW_PLAYER_PREVIEW_PLAYER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER, PreviewPlayerPreviewPlayer))
 
44
#define PREVIEW_PLAYER_PREVIEW_PLAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER, PreviewPlayerPreviewPlayerClass))
 
45
#define PREVIEW_PLAYER_IS_PREVIEW_PLAYER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER))
 
46
#define PREVIEW_PLAYER_IS_PREVIEW_PLAYER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER))
 
47
#define PREVIEW_PLAYER_PREVIEW_PLAYER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER, PreviewPlayerPreviewPlayerClass))
 
48
 
 
49
typedef struct _PreviewPlayerPreviewPlayer PreviewPlayerPreviewPlayer;
 
50
typedef struct _PreviewPlayerPreviewPlayerClass PreviewPlayerPreviewPlayerClass;
 
51
#define _preview_player_preview_player_unref0(var) ((var == NULL) ? NULL : (var = (preview_player_preview_player_unref (var), NULL)))
 
52
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
 
53
#define _g_free0(var) (var = (g_free (var), NULL))
 
54
#define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL)))
 
55
 
 
56
struct _PreviewPlayerPreviewPlayerService {
 
57
        GObject parent_instance;
 
58
        PreviewPlayerPreviewPlayerServicePrivate * priv;
 
59
};
 
60
 
 
61
struct _PreviewPlayerPreviewPlayerServiceClass {
 
62
        GObjectClass parent_class;
 
63
};
 
64
 
 
65
struct _PreviewPlayerPreviewPlayerServicePrivate {
 
66
        PreviewPlayerPreviewPlayer* player;
 
67
        gboolean released;
 
68
};
 
69
 
 
70
 
 
71
static gpointer preview_player_preview_player_service_parent_class = NULL;
 
72
 
 
73
GType preview_player_preview_player_service_get_type (void) G_GNUC_CONST;
 
74
guint preview_player_preview_player_service_register_object (void* object, GDBusConnection* connection, const gchar* path, GError** error);
 
75
gpointer preview_player_preview_player_ref (gpointer instance);
 
76
void preview_player_preview_player_unref (gpointer instance);
 
77
GParamSpec* preview_player_param_spec_preview_player (const gchar* name, const gchar* nick, const gchar* blurb, GType object_type, GParamFlags flags);
 
78
void preview_player_value_set_preview_player (GValue* value, gpointer v_object);
 
79
void preview_player_value_take_preview_player (GValue* value, gpointer v_object);
 
80
gpointer preview_player_value_get_preview_player (const GValue* value);
 
81
GType preview_player_preview_player_get_type (void) G_GNUC_CONST;
 
82
#define PREVIEW_PLAYER_PREVIEW_PLAYER_SERVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE, PreviewPlayerPreviewPlayerServicePrivate))
 
83
enum  {
 
84
        PREVIEW_PLAYER_PREVIEW_PLAYER_SERVICE_DUMMY_PROPERTY
 
85
};
 
86
PreviewPlayerPreviewPlayerService* preview_player_preview_player_service_new (PreviewPlayerPreviewPlayer* preview_player);
 
87
PreviewPlayerPreviewPlayerService* preview_player_preview_player_service_construct (GType object_type, PreviewPlayerPreviewPlayer* preview_player);
 
88
static void preview_player_preview_player_service_on_progress_change (PreviewPlayerPreviewPlayerService* self, const gchar* uri, guint32 state, gdouble value);
 
89
static void _preview_player_preview_player_service_on_progress_change_preview_player_preview_player_progress (PreviewPlayerPreviewPlayer* _sender, const gchar* uri, guint32 state, gdouble value, gpointer self);
 
90
void preview_player_preview_player_service_play (PreviewPlayerPreviewPlayerService* self, const gchar* uri);
 
91
void preview_player_preview_player_play (PreviewPlayerPreviewPlayer* self, const gchar* uri);
 
92
void preview_player_preview_player_service_pause (PreviewPlayerPreviewPlayerService* self);
 
93
void preview_player_preview_player_pause (PreviewPlayerPreviewPlayer* self);
 
94
void preview_player_preview_player_service_resume (PreviewPlayerPreviewPlayerService* self);
 
95
void preview_player_preview_player_resume (PreviewPlayerPreviewPlayer* self);
 
96
void preview_player_preview_player_service_pause_resume (PreviewPlayerPreviewPlayerService* self);
 
97
void preview_player_preview_player_pause_resume (PreviewPlayerPreviewPlayer* self);
 
98
void preview_player_preview_player_service_stop (PreviewPlayerPreviewPlayerService* self);
 
99
void preview_player_preview_player_stop (PreviewPlayerPreviewPlayer* self);
 
100
void preview_player_preview_player_service_close (PreviewPlayerPreviewPlayerService* self);
 
101
GHashTable* preview_player_preview_player_service_video_properties (PreviewPlayerPreviewPlayerService* self, const gchar* uri);
 
102
GHashTable* preview_player_preview_player_get_video_file_props (PreviewPlayerPreviewPlayer* self, const gchar* uri);
 
103
static void g_cclosure_user_marshal_VOID__STRING_UINT_DOUBLE (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data);
 
104
static void preview_player_preview_player_service_finalize (GObject* obj);
 
105
static void _dbus_preview_player_preview_player_service_play (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation);
 
106
static void _dbus_preview_player_preview_player_service_pause (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation);
 
107
static void _dbus_preview_player_preview_player_service_resume (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation);
 
108
static void _dbus_preview_player_preview_player_service_pause_resume (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation);
 
109
static void _dbus_preview_player_preview_player_service_stop (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation);
 
110
static void _dbus_preview_player_preview_player_service_close (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation);
 
111
static void _dbus_preview_player_preview_player_service_video_properties (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation);
 
112
static void preview_player_preview_player_service_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data);
 
113
static GVariant* preview_player_preview_player_service_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data);
 
114
static gboolean preview_player_preview_player_service_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data);
 
115
static void _dbus_preview_player_preview_player_service_progress (GObject* _sender, const gchar* uri, guint32 state, gdouble value, gpointer* _data);
 
116
static void _preview_player_preview_player_service_unregister_object (gpointer user_data);
 
117
 
 
118
static const GDBusArgInfo _preview_player_preview_player_service_dbus_arg_info_play_uri = {-1, "uri", "s"};
 
119
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_play_in[] = {&_preview_player_preview_player_service_dbus_arg_info_play_uri, NULL};
 
120
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_play_out[] = {NULL};
 
121
static const GDBusMethodInfo _preview_player_preview_player_service_dbus_method_info_play = {-1, "Play", (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_play_in), (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_play_out)};
 
122
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_pause_in[] = {NULL};
 
123
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_pause_out[] = {NULL};
 
124
static const GDBusMethodInfo _preview_player_preview_player_service_dbus_method_info_pause = {-1, "Pause", (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_pause_in), (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_pause_out)};
 
125
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_resume_in[] = {NULL};
 
126
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_resume_out[] = {NULL};
 
127
static const GDBusMethodInfo _preview_player_preview_player_service_dbus_method_info_resume = {-1, "Resume", (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_resume_in), (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_resume_out)};
 
128
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_pause_resume_in[] = {NULL};
 
129
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_pause_resume_out[] = {NULL};
 
130
static const GDBusMethodInfo _preview_player_preview_player_service_dbus_method_info_pause_resume = {-1, "PauseResume", (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_pause_resume_in), (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_pause_resume_out)};
 
131
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_stop_in[] = {NULL};
 
132
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_stop_out[] = {NULL};
 
133
static const GDBusMethodInfo _preview_player_preview_player_service_dbus_method_info_stop = {-1, "Stop", (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_stop_in), (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_stop_out)};
 
134
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_close_in[] = {NULL};
 
135
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_close_out[] = {NULL};
 
136
static const GDBusMethodInfo _preview_player_preview_player_service_dbus_method_info_close = {-1, "Close", (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_close_in), (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_close_out)};
 
137
static const GDBusArgInfo _preview_player_preview_player_service_dbus_arg_info_video_properties_uri = {-1, "uri", "s"};
 
138
static const GDBusArgInfo _preview_player_preview_player_service_dbus_arg_info_video_properties_result = {-1, "result", "a{sv}"};
 
139
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_video_properties_in[] = {&_preview_player_preview_player_service_dbus_arg_info_video_properties_uri, NULL};
 
140
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_video_properties_out[] = {&_preview_player_preview_player_service_dbus_arg_info_video_properties_result, NULL};
 
141
static const GDBusMethodInfo _preview_player_preview_player_service_dbus_method_info_video_properties = {-1, "VideoProperties", (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_video_properties_in), (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_video_properties_out)};
 
142
static const GDBusMethodInfo * const _preview_player_preview_player_service_dbus_method_info[] = {&_preview_player_preview_player_service_dbus_method_info_play, &_preview_player_preview_player_service_dbus_method_info_pause, &_preview_player_preview_player_service_dbus_method_info_resume, &_preview_player_preview_player_service_dbus_method_info_pause_resume, &_preview_player_preview_player_service_dbus_method_info_stop, &_preview_player_preview_player_service_dbus_method_info_close, &_preview_player_preview_player_service_dbus_method_info_video_properties, NULL};
 
143
static const GDBusArgInfo _preview_player_preview_player_service_dbus_arg_info_progress_uri = {-1, "uri", "s"};
 
144
static const GDBusArgInfo _preview_player_preview_player_service_dbus_arg_info_progress_state = {-1, "state", "u"};
 
145
static const GDBusArgInfo _preview_player_preview_player_service_dbus_arg_info_progress_value = {-1, "value", "d"};
 
146
static const GDBusArgInfo * const _preview_player_preview_player_service_dbus_arg_info_progress[] = {&_preview_player_preview_player_service_dbus_arg_info_progress_uri, &_preview_player_preview_player_service_dbus_arg_info_progress_state, &_preview_player_preview_player_service_dbus_arg_info_progress_value, NULL};
 
147
static const GDBusSignalInfo _preview_player_preview_player_service_dbus_signal_info_progress = {-1, "Progress", (GDBusArgInfo **) (&_preview_player_preview_player_service_dbus_arg_info_progress)};
 
148
static const GDBusSignalInfo * const _preview_player_preview_player_service_dbus_signal_info[] = {&_preview_player_preview_player_service_dbus_signal_info_progress, NULL};
 
149
static const GDBusPropertyInfo * const _preview_player_preview_player_service_dbus_property_info[] = {NULL};
 
150
static const GDBusInterfaceInfo _preview_player_preview_player_service_dbus_interface_info = {-1, "com.canonical.Unity.Lens.Music.PreviewPlayer", (GDBusMethodInfo **) (&_preview_player_preview_player_service_dbus_method_info), (GDBusSignalInfo **) (&_preview_player_preview_player_service_dbus_signal_info), (GDBusPropertyInfo **) (&_preview_player_preview_player_service_dbus_property_info)};
 
151
static const GDBusInterfaceVTable _preview_player_preview_player_service_dbus_interface_vtable = {preview_player_preview_player_service_dbus_interface_method_call, preview_player_preview_player_service_dbus_interface_get_property, preview_player_preview_player_service_dbus_interface_set_property};
 
152
 
 
153
static gpointer _preview_player_preview_player_ref0 (gpointer self) {
 
154
        return self ? preview_player_preview_player_ref (self) : NULL;
 
155
}
 
156
 
 
157
 
 
158
static void _preview_player_preview_player_service_on_progress_change_preview_player_preview_player_progress (PreviewPlayerPreviewPlayer* _sender, const gchar* uri, guint32 state, gdouble value, gpointer self) {
 
159
        preview_player_preview_player_service_on_progress_change (self, uri, state, value);
 
160
}
 
161
 
 
162
 
 
163
PreviewPlayerPreviewPlayerService* preview_player_preview_player_service_construct (GType object_type, PreviewPlayerPreviewPlayer* preview_player) {
 
164
        PreviewPlayerPreviewPlayerService * self = NULL;
 
165
        PreviewPlayerPreviewPlayer* _tmp0_;
 
166
        PreviewPlayerPreviewPlayer* _tmp1_;
 
167
        PreviewPlayerPreviewPlayer* _tmp2_;
 
168
        g_return_val_if_fail (preview_player != NULL, NULL);
 
169
        self = (PreviewPlayerPreviewPlayerService*) g_object_new (object_type, NULL);
 
170
        self->priv->released = FALSE;
 
171
        _tmp0_ = preview_player;
 
172
        _tmp1_ = _preview_player_preview_player_ref0 (_tmp0_);
 
173
        _preview_player_preview_player_unref0 (self->priv->player);
 
174
        self->priv->player = _tmp1_;
 
175
        _tmp2_ = self->priv->player;
 
176
        g_signal_connect_object (_tmp2_, "progress", (GCallback) _preview_player_preview_player_service_on_progress_change_preview_player_preview_player_progress, self, 0);
 
177
        return self;
 
178
}
 
179
 
 
180
 
 
181
PreviewPlayerPreviewPlayerService* preview_player_preview_player_service_new (PreviewPlayerPreviewPlayer* preview_player) {
 
182
        return preview_player_preview_player_service_construct (PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE, preview_player);
 
183
}
 
184
 
 
185
 
 
186
static void preview_player_preview_player_service_on_progress_change (PreviewPlayerPreviewPlayerService* self, const gchar* uri, guint32 state, gdouble value) {
 
187
        const gchar* _tmp0_;
 
188
        guint32 _tmp1_;
 
189
        gdouble _tmp2_;
 
190
        g_return_if_fail (self != NULL);
 
191
        g_return_if_fail (uri != NULL);
 
192
        _tmp0_ = uri;
 
193
        _tmp1_ = state;
 
194
        _tmp2_ = value;
 
195
        g_signal_emit_by_name (self, "progress", _tmp0_, _tmp1_, _tmp2_);
 
196
}
 
197
 
 
198
 
 
199
static gpointer _g_object_ref0 (gpointer self) {
 
200
        return self ? g_object_ref (self) : NULL;
 
201
}
 
202
 
 
203
 
 
204
void preview_player_preview_player_service_play (PreviewPlayerPreviewPlayerService* self, const gchar* uri) {
 
205
        gboolean _tmp0_;
 
206
        PreviewPlayerPreviewPlayer* _tmp4_;
 
207
        const gchar* _tmp5_;
 
208
        g_return_if_fail (self != NULL);
 
209
        g_return_if_fail (uri != NULL);
 
210
        _tmp0_ = self->priv->released;
 
211
        if (_tmp0_) {
 
212
                GApplication* _tmp1_ = NULL;
 
213
                GApplication* _tmp2_;
 
214
                GApplication* app;
 
215
                GApplication* _tmp3_;
 
216
                self->priv->released = FALSE;
 
217
                _tmp1_ = g_application_get_default ();
 
218
                _tmp2_ = _g_object_ref0 (_tmp1_);
 
219
                app = _tmp2_;
 
220
                _tmp3_ = app;
 
221
                g_application_hold (_tmp3_);
 
222
                _g_object_unref0 (app);
 
223
        }
 
224
        _tmp4_ = self->priv->player;
 
225
        _tmp5_ = uri;
 
226
        preview_player_preview_player_play (_tmp4_, _tmp5_);
 
227
}
 
228
 
 
229
 
 
230
void preview_player_preview_player_service_pause (PreviewPlayerPreviewPlayerService* self) {
 
231
        PreviewPlayerPreviewPlayer* _tmp0_;
 
232
        g_return_if_fail (self != NULL);
 
233
        _tmp0_ = self->priv->player;
 
234
        preview_player_preview_player_pause (_tmp0_);
 
235
}
 
236
 
 
237
 
 
238
void preview_player_preview_player_service_resume (PreviewPlayerPreviewPlayerService* self) {
 
239
        PreviewPlayerPreviewPlayer* _tmp0_;
 
240
        g_return_if_fail (self != NULL);
 
241
        _tmp0_ = self->priv->player;
 
242
        preview_player_preview_player_resume (_tmp0_);
 
243
}
 
244
 
 
245
 
 
246
void preview_player_preview_player_service_pause_resume (PreviewPlayerPreviewPlayerService* self) {
 
247
        PreviewPlayerPreviewPlayer* _tmp0_;
 
248
        g_return_if_fail (self != NULL);
 
249
        _tmp0_ = self->priv->player;
 
250
        preview_player_preview_player_pause_resume (_tmp0_);
 
251
}
 
252
 
 
253
 
 
254
void preview_player_preview_player_service_stop (PreviewPlayerPreviewPlayerService* self) {
 
255
        PreviewPlayerPreviewPlayer* _tmp0_;
 
256
        g_return_if_fail (self != NULL);
 
257
        _tmp0_ = self->priv->player;
 
258
        preview_player_preview_player_stop (_tmp0_);
 
259
}
 
260
 
 
261
 
 
262
void preview_player_preview_player_service_close (PreviewPlayerPreviewPlayerService* self) {
 
263
        gboolean _tmp0_;
 
264
        PreviewPlayerPreviewPlayer* _tmp1_;
 
265
        GApplication* _tmp2_ = NULL;
 
266
        GApplication* _tmp3_;
 
267
        GApplication* app;
 
268
        GApplication* _tmp4_;
 
269
        g_return_if_fail (self != NULL);
 
270
        _tmp0_ = self->priv->released;
 
271
        if (_tmp0_) {
 
272
                return;
 
273
        }
 
274
        self->priv->released = TRUE;
 
275
        _tmp1_ = self->priv->player;
 
276
        preview_player_preview_player_stop (_tmp1_);
 
277
        _tmp2_ = g_application_get_default ();
 
278
        _tmp3_ = _g_object_ref0 (_tmp2_);
 
279
        app = _tmp3_;
 
280
        _tmp4_ = app;
 
281
        g_application_release (_tmp4_);
 
282
        _g_object_unref0 (app);
 
283
}
 
284
 
 
285
 
 
286
GHashTable* preview_player_preview_player_service_video_properties (PreviewPlayerPreviewPlayerService* self, const gchar* uri) {
 
287
        GHashTable* result = NULL;
 
288
        gboolean _tmp0_;
 
289
        PreviewPlayerPreviewPlayer* _tmp4_;
 
290
        const gchar* _tmp5_;
 
291
        GHashTable* _tmp6_ = NULL;
 
292
        g_return_val_if_fail (self != NULL, NULL);
 
293
        g_return_val_if_fail (uri != NULL, NULL);
 
294
        _tmp0_ = self->priv->released;
 
295
        if (_tmp0_) {
 
296
                GApplication* _tmp1_ = NULL;
 
297
                GApplication* _tmp2_;
 
298
                GApplication* app;
 
299
                GApplication* _tmp3_;
 
300
                self->priv->released = FALSE;
 
301
                _tmp1_ = g_application_get_default ();
 
302
                _tmp2_ = _g_object_ref0 (_tmp1_);
 
303
                app = _tmp2_;
 
304
                _tmp3_ = app;
 
305
                g_application_hold (_tmp3_);
 
306
                _g_object_unref0 (app);
 
307
        }
 
308
        _tmp4_ = self->priv->player;
 
309
        _tmp5_ = uri;
 
310
        _tmp6_ = preview_player_preview_player_get_video_file_props (_tmp4_, _tmp5_);
 
311
        result = _tmp6_;
 
312
        return result;
 
313
}
 
314
 
 
315
 
 
316
static void g_cclosure_user_marshal_VOID__STRING_UINT_DOUBLE (GClosure * closure, GValue * return_value, guint n_param_values, const GValue * param_values, gpointer invocation_hint, gpointer marshal_data) {
 
317
        typedef void (*GMarshalFunc_VOID__STRING_UINT_DOUBLE) (gpointer data1, const char* arg_1, guint32 arg_2, gdouble arg_3, gpointer data2);
 
318
        register GMarshalFunc_VOID__STRING_UINT_DOUBLE callback;
 
319
        register GCClosure * cc;
 
320
        register gpointer data1;
 
321
        register gpointer data2;
 
322
        cc = (GCClosure *) closure;
 
323
        g_return_if_fail (n_param_values == 4);
 
324
        if (G_CCLOSURE_SWAP_DATA (closure)) {
 
325
                data1 = closure->data;
 
326
                data2 = param_values->data[0].v_pointer;
 
327
        } else {
 
328
                data1 = param_values->data[0].v_pointer;
 
329
                data2 = closure->data;
 
330
        }
 
331
        callback = (GMarshalFunc_VOID__STRING_UINT_DOUBLE) (marshal_data ? marshal_data : cc->callback);
 
332
        callback (data1, g_value_get_string (param_values + 1), g_value_get_uint (param_values + 2), g_value_get_double (param_values + 3), data2);
 
333
}
 
334
 
 
335
 
 
336
static void preview_player_preview_player_service_class_init (PreviewPlayerPreviewPlayerServiceClass * klass) {
 
337
        preview_player_preview_player_service_parent_class = g_type_class_peek_parent (klass);
 
338
        g_type_class_add_private (klass, sizeof (PreviewPlayerPreviewPlayerServicePrivate));
 
339
        G_OBJECT_CLASS (klass)->finalize = preview_player_preview_player_service_finalize;
 
340
        g_signal_new ("progress", PREVIEW_PLAYER_TYPE_PREVIEW_PLAYER_SERVICE, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_user_marshal_VOID__STRING_UINT_DOUBLE, G_TYPE_NONE, 3, G_TYPE_STRING, G_TYPE_UINT, G_TYPE_DOUBLE);
 
341
}
 
342
 
 
343
 
 
344
static void preview_player_preview_player_service_instance_init (PreviewPlayerPreviewPlayerService * self) {
 
345
        self->priv = PREVIEW_PLAYER_PREVIEW_PLAYER_SERVICE_GET_PRIVATE (self);
 
346
}
 
347
 
 
348
 
 
349
static void preview_player_preview_player_service_finalize (GObject* obj) {
 
350
        PreviewPlayerPreviewPlayerService * self;
 
351
        self = PREVIEW_PLAYER_PREVIEW_PLAYER_SERVICE (obj);
 
352
        _preview_player_preview_player_unref0 (self->priv->player);
 
353
        G_OBJECT_CLASS (preview_player_preview_player_service_parent_class)->finalize (obj);
 
354
}
 
355
 
 
356
 
 
357
GType preview_player_preview_player_service_get_type (void) {
 
358
        static volatile gsize preview_player_preview_player_service_type_id__volatile = 0;
 
359
        if (g_once_init_enter (&preview_player_preview_player_service_type_id__volatile)) {
 
360
                static const GTypeInfo g_define_type_info = { sizeof (PreviewPlayerPreviewPlayerServiceClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) preview_player_preview_player_service_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (PreviewPlayerPreviewPlayerService), 0, (GInstanceInitFunc) preview_player_preview_player_service_instance_init, NULL };
 
361
                GType preview_player_preview_player_service_type_id;
 
362
                preview_player_preview_player_service_type_id = g_type_register_static (G_TYPE_OBJECT, "PreviewPlayerPreviewPlayerService", &g_define_type_info, 0);
 
363
                g_type_set_qdata (preview_player_preview_player_service_type_id, g_quark_from_static_string ("vala-dbus-register-object"), (void*) preview_player_preview_player_service_register_object);
 
364
                g_once_init_leave (&preview_player_preview_player_service_type_id__volatile, preview_player_preview_player_service_type_id);
 
365
        }
 
366
        return preview_player_preview_player_service_type_id__volatile;
 
367
}
 
368
 
 
369
 
 
370
static void _dbus_preview_player_preview_player_service_play (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
 
371
        GError* error = NULL;
 
372
        GVariantIter _arguments_iter;
 
373
        gchar* uri = NULL;
 
374
        GVariant* _tmp0_;
 
375
        GDBusMessage* _reply_message;
 
376
        GVariant* _reply;
 
377
        GVariantBuilder _reply_builder;
 
378
        g_variant_iter_init (&_arguments_iter, parameters);
 
379
        _tmp0_ = g_variant_iter_next_value (&_arguments_iter);
 
380
        uri = g_variant_dup_string (_tmp0_, NULL);
 
381
        g_variant_unref (_tmp0_);
 
382
        preview_player_preview_player_service_play (self, uri);
 
383
        _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
 
384
        g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
 
385
        _reply = g_variant_builder_end (&_reply_builder);
 
386
        g_dbus_message_set_body (_reply_message, _reply);
 
387
        _g_free0 (uri);
 
388
        g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
 
389
        g_object_unref (invocation);
 
390
        g_object_unref (_reply_message);
 
391
}
 
392
 
 
393
 
 
394
static void _dbus_preview_player_preview_player_service_pause (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
 
395
        GError* error = NULL;
 
396
        GVariantIter _arguments_iter;
 
397
        GDBusMessage* _reply_message;
 
398
        GVariant* _reply;
 
399
        GVariantBuilder _reply_builder;
 
400
        g_variant_iter_init (&_arguments_iter, parameters);
 
401
        preview_player_preview_player_service_pause (self);
 
402
        _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
 
403
        g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
 
404
        _reply = g_variant_builder_end (&_reply_builder);
 
405
        g_dbus_message_set_body (_reply_message, _reply);
 
406
        g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
 
407
        g_object_unref (invocation);
 
408
        g_object_unref (_reply_message);
 
409
}
 
410
 
 
411
 
 
412
static void _dbus_preview_player_preview_player_service_resume (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
 
413
        GError* error = NULL;
 
414
        GVariantIter _arguments_iter;
 
415
        GDBusMessage* _reply_message;
 
416
        GVariant* _reply;
 
417
        GVariantBuilder _reply_builder;
 
418
        g_variant_iter_init (&_arguments_iter, parameters);
 
419
        preview_player_preview_player_service_resume (self);
 
420
        _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
 
421
        g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
 
422
        _reply = g_variant_builder_end (&_reply_builder);
 
423
        g_dbus_message_set_body (_reply_message, _reply);
 
424
        g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
 
425
        g_object_unref (invocation);
 
426
        g_object_unref (_reply_message);
 
427
}
 
428
 
 
429
 
 
430
static void _dbus_preview_player_preview_player_service_pause_resume (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
 
431
        GError* error = NULL;
 
432
        GVariantIter _arguments_iter;
 
433
        GDBusMessage* _reply_message;
 
434
        GVariant* _reply;
 
435
        GVariantBuilder _reply_builder;
 
436
        g_variant_iter_init (&_arguments_iter, parameters);
 
437
        preview_player_preview_player_service_pause_resume (self);
 
438
        _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
 
439
        g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
 
440
        _reply = g_variant_builder_end (&_reply_builder);
 
441
        g_dbus_message_set_body (_reply_message, _reply);
 
442
        g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
 
443
        g_object_unref (invocation);
 
444
        g_object_unref (_reply_message);
 
445
}
 
446
 
 
447
 
 
448
static void _dbus_preview_player_preview_player_service_stop (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
 
449
        GError* error = NULL;
 
450
        GVariantIter _arguments_iter;
 
451
        GDBusMessage* _reply_message;
 
452
        GVariant* _reply;
 
453
        GVariantBuilder _reply_builder;
 
454
        g_variant_iter_init (&_arguments_iter, parameters);
 
455
        preview_player_preview_player_service_stop (self);
 
456
        _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
 
457
        g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
 
458
        _reply = g_variant_builder_end (&_reply_builder);
 
459
        g_dbus_message_set_body (_reply_message, _reply);
 
460
        g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
 
461
        g_object_unref (invocation);
 
462
        g_object_unref (_reply_message);
 
463
}
 
464
 
 
465
 
 
466
static void _dbus_preview_player_preview_player_service_close (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
 
467
        GError* error = NULL;
 
468
        GVariantIter _arguments_iter;
 
469
        GDBusMessage* _reply_message;
 
470
        GVariant* _reply;
 
471
        GVariantBuilder _reply_builder;
 
472
        g_variant_iter_init (&_arguments_iter, parameters);
 
473
        preview_player_preview_player_service_close (self);
 
474
        _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
 
475
        g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
 
476
        _reply = g_variant_builder_end (&_reply_builder);
 
477
        g_dbus_message_set_body (_reply_message, _reply);
 
478
        g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
 
479
        g_object_unref (invocation);
 
480
        g_object_unref (_reply_message);
 
481
}
 
482
 
 
483
 
 
484
static void _dbus_preview_player_preview_player_service_video_properties (PreviewPlayerPreviewPlayerService* self, GVariant* parameters, GDBusMethodInvocation* invocation) {
 
485
        GError* error = NULL;
 
486
        GVariantIter _arguments_iter;
 
487
        gchar* uri = NULL;
 
488
        GVariant* _tmp1_;
 
489
        GDBusMessage* _reply_message;
 
490
        GVariant* _reply;
 
491
        GVariantBuilder _reply_builder;
 
492
        GHashTable* result;
 
493
        GVariantBuilder _tmp2_;
 
494
        GHashTableIter _tmp3_;
 
495
        gpointer _tmp4_;
 
496
        gpointer _tmp5_;
 
497
        g_variant_iter_init (&_arguments_iter, parameters);
 
498
        _tmp1_ = g_variant_iter_next_value (&_arguments_iter);
 
499
        uri = g_variant_dup_string (_tmp1_, NULL);
 
500
        g_variant_unref (_tmp1_);
 
501
        result = preview_player_preview_player_service_video_properties (self, uri);
 
502
        _reply_message = g_dbus_message_new_method_reply (g_dbus_method_invocation_get_message (invocation));
 
503
        g_variant_builder_init (&_reply_builder, G_VARIANT_TYPE_TUPLE);
 
504
        g_hash_table_iter_init (&_tmp3_, result);
 
505
        g_variant_builder_init (&_tmp2_, G_VARIANT_TYPE ("a{sv}"));
 
506
        while (g_hash_table_iter_next (&_tmp3_, &_tmp4_, &_tmp5_)) {
 
507
                gchar* _key;
 
508
                GVariant* _value;
 
509
                _key = (gchar*) _tmp4_;
 
510
                _value = (GVariant*) _tmp5_;
 
511
                g_variant_builder_add (&_tmp2_, "{?*}", g_variant_new_string (_key), g_variant_new_variant (_value));
 
512
        }
 
513
        g_variant_builder_add_value (&_reply_builder, g_variant_builder_end (&_tmp2_));
 
514
        _g_hash_table_unref0 (result);
 
515
        _reply = g_variant_builder_end (&_reply_builder);
 
516
        g_dbus_message_set_body (_reply_message, _reply);
 
517
        _g_free0 (uri);
 
518
        g_dbus_connection_send_message (g_dbus_method_invocation_get_connection (invocation), _reply_message, G_DBUS_SEND_MESSAGE_FLAGS_NONE, NULL, NULL);
 
519
        g_object_unref (invocation);
 
520
        g_object_unref (_reply_message);
 
521
}
 
522
 
 
523
 
 
524
static void preview_player_preview_player_service_dbus_interface_method_call (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* method_name, GVariant* parameters, GDBusMethodInvocation* invocation, gpointer user_data) {
 
525
        gpointer* data;
 
526
        gpointer object;
 
527
        data = user_data;
 
528
        object = data[0];
 
529
        if (strcmp (method_name, "Play") == 0) {
 
530
                _dbus_preview_player_preview_player_service_play (object, parameters, invocation);
 
531
        } else if (strcmp (method_name, "Pause") == 0) {
 
532
                _dbus_preview_player_preview_player_service_pause (object, parameters, invocation);
 
533
        } else if (strcmp (method_name, "Resume") == 0) {
 
534
                _dbus_preview_player_preview_player_service_resume (object, parameters, invocation);
 
535
        } else if (strcmp (method_name, "PauseResume") == 0) {
 
536
                _dbus_preview_player_preview_player_service_pause_resume (object, parameters, invocation);
 
537
        } else if (strcmp (method_name, "Stop") == 0) {
 
538
                _dbus_preview_player_preview_player_service_stop (object, parameters, invocation);
 
539
        } else if (strcmp (method_name, "Close") == 0) {
 
540
                _dbus_preview_player_preview_player_service_close (object, parameters, invocation);
 
541
        } else if (strcmp (method_name, "VideoProperties") == 0) {
 
542
                _dbus_preview_player_preview_player_service_video_properties (object, parameters, invocation);
 
543
        } else {
 
544
                g_object_unref (invocation);
 
545
        }
 
546
}
 
547
 
 
548
 
 
549
static GVariant* preview_player_preview_player_service_dbus_interface_get_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GError** error, gpointer user_data) {
 
550
        gpointer* data;
 
551
        gpointer object;
 
552
        data = user_data;
 
553
        object = data[0];
 
554
        return NULL;
 
555
}
 
556
 
 
557
 
 
558
static gboolean preview_player_preview_player_service_dbus_interface_set_property (GDBusConnection* connection, const gchar* sender, const gchar* object_path, const gchar* interface_name, const gchar* property_name, GVariant* value, GError** error, gpointer user_data) {
 
559
        gpointer* data;
 
560
        gpointer object;
 
561
        data = user_data;
 
562
        object = data[0];
 
563
        return FALSE;
 
564
}
 
565
 
 
566
 
 
567
static void _dbus_preview_player_preview_player_service_progress (GObject* _sender, const gchar* uri, guint32 state, gdouble value, gpointer* _data) {
 
568
        GDBusConnection * _connection;
 
569
        const gchar * _path;
 
570
        GVariant *_arguments;
 
571
        GVariantBuilder _arguments_builder;
 
572
        _connection = _data[1];
 
573
        _path = _data[2];
 
574
        g_variant_builder_init (&_arguments_builder, G_VARIANT_TYPE_TUPLE);
 
575
        g_variant_builder_add_value (&_arguments_builder, g_variant_new_string (uri));
 
576
        g_variant_builder_add_value (&_arguments_builder, g_variant_new_uint32 (state));
 
577
        g_variant_builder_add_value (&_arguments_builder, g_variant_new_double (value));
 
578
        _arguments = g_variant_builder_end (&_arguments_builder);
 
579
        g_dbus_connection_emit_signal (_connection, NULL, _path, "com.canonical.Unity.Lens.Music.PreviewPlayer", "Progress", _arguments, NULL);
 
580
}
 
581
 
 
582
 
 
583
guint preview_player_preview_player_service_register_object (gpointer object, GDBusConnection* connection, const gchar* path, GError** error) {
 
584
        guint result;
 
585
        gpointer *data;
 
586
        data = g_new (gpointer, 3);
 
587
        data[0] = g_object_ref (object);
 
588
        data[1] = g_object_ref (connection);
 
589
        data[2] = g_strdup (path);
 
590
        result = g_dbus_connection_register_object (connection, path, (GDBusInterfaceInfo *) (&_preview_player_preview_player_service_dbus_interface_info), &_preview_player_preview_player_service_dbus_interface_vtable, data, _preview_player_preview_player_service_unregister_object, error);
 
591
        if (!result) {
 
592
                return 0;
 
593
        }
 
594
        g_signal_connect (object, "progress", (GCallback) _dbus_preview_player_preview_player_service_progress, data);
 
595
        return result;
 
596
}
 
597
 
 
598
 
 
599
static void _preview_player_preview_player_service_unregister_object (gpointer user_data) {
 
600
        gpointer* data;
 
601
        data = user_data;
 
602
        g_signal_handlers_disconnect_by_func (data[0], _dbus_preview_player_preview_player_service_progress, data);
 
603
        g_object_unref (data[0]);
 
604
        g_object_unref (data[1]);
 
605
        g_free (data[2]);
 
606
        g_free (data);
 
607
}
 
608
 
 
609
 
 
610