~ubuntu-branches/ubuntu/oneiric/unity-lens-music/oneiric

« back to all changes in this revision

Viewing changes to src/musicstore-collection.c

  • Committer: Package Import Robot
  • Author(s): Didier Roche
  • Date: 2011-09-27 18:30:39 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: package-import@ubuntu.com-20110927183039-7n1jezqbf5ulsut5
Tags: 0.2.4-0ubuntu1
* New upstream release.
  - Clicking song/album in music lens loads in Banshee but does not
    focus on play queue (LP: #834933)
  - [FFE] Add support for U1 in the music lens (LP: #851691)
* debian/control:
  - makes u-l-m now recommends u-s-m as we want it by default now.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/* musicstore-collection.c generated by valac 0.12.1, the Vala compiler
 
2
 * generated from musicstore-collection.vala, do not modify */
 
3
 
 
4
/*
 
5
 * Copyright (C) 2011 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 Alex Launi <alex.launi@canonical.com>
 
20
 *
 
21
 */
 
22
 
 
23
#include <glib.h>
 
24
#include <glib-object.h>
 
25
#include <gio/gio.h>
 
26
#include <stdlib.h>
 
27
#include <string.h>
 
28
#include <unity.h>
 
29
#include <dee.h>
 
30
#include <json-glib/json-glib.h>
 
31
 
 
32
 
 
33
#define UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_COLLECTION (unity_music_lens_music_store_collection_get_type ())
 
34
#define UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_COLLECTION, UnityMusicLensMusicStoreCollection))
 
35
#define UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_COLLECTION, UnityMusicLensMusicStoreCollectionClass))
 
36
#define UNITY_MUSIC_LENS_IS_MUSIC_STORE_COLLECTION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_COLLECTION))
 
37
#define UNITY_MUSIC_LENS_IS_MUSIC_STORE_COLLECTION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_COLLECTION))
 
38
#define UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_COLLECTION, UnityMusicLensMusicStoreCollectionClass))
 
39
 
 
40
typedef struct _UnityMusicLensMusicStoreCollection UnityMusicLensMusicStoreCollection;
 
41
typedef struct _UnityMusicLensMusicStoreCollectionClass UnityMusicLensMusicStoreCollectionClass;
 
42
typedef struct _UnityMusicLensMusicStoreCollectionPrivate UnityMusicLensMusicStoreCollectionPrivate;
 
43
#define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
 
44
 
 
45
#define UNITY_MUSIC_LENS_TYPE_FILTER_PARSER (unity_music_lens_filter_parser_get_type ())
 
46
#define UNITY_MUSIC_LENS_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_FILTER_PARSER, UnityMusicLensFilterParser))
 
47
#define UNITY_MUSIC_LENS_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_MUSIC_LENS_TYPE_FILTER_PARSER, UnityMusicLensFilterParserClass))
 
48
#define UNITY_MUSIC_LENS_IS_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_FILTER_PARSER))
 
49
#define UNITY_MUSIC_LENS_IS_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_MUSIC_LENS_TYPE_FILTER_PARSER))
 
50
#define UNITY_MUSIC_LENS_FILTER_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_MUSIC_LENS_TYPE_FILTER_PARSER, UnityMusicLensFilterParserClass))
 
51
 
 
52
typedef struct _UnityMusicLensFilterParser UnityMusicLensFilterParser;
 
53
typedef struct _UnityMusicLensFilterParserClass UnityMusicLensFilterParserClass;
 
54
#define _g_free0(var) (var = (g_free (var), NULL))
 
55
 
 
56
#define UNITY_MUSIC_LENS_TYPE_TRACK (unity_music_lens_track_get_type ())
 
57
#define UNITY_MUSIC_LENS_TRACK(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_TRACK, UnityMusicLensTrack))
 
58
#define UNITY_MUSIC_LENS_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_MUSIC_LENS_TYPE_TRACK, UnityMusicLensTrackClass))
 
59
#define UNITY_MUSIC_LENS_IS_TRACK(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_TRACK))
 
60
#define UNITY_MUSIC_LENS_IS_TRACK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_MUSIC_LENS_TYPE_TRACK))
 
61
#define UNITY_MUSIC_LENS_TRACK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_MUSIC_LENS_TYPE_TRACK, UnityMusicLensTrackClass))
 
62
 
 
63
typedef struct _UnityMusicLensTrack UnityMusicLensTrack;
 
64
typedef struct _UnityMusicLensTrackClass UnityMusicLensTrackClass;
 
65
 
 
66
#define UNITY_MUSIC_LENS_TYPE_ALBUM (unity_music_lens_album_get_type ())
 
67
#define UNITY_MUSIC_LENS_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_ALBUM, UnityMusicLensAlbum))
 
68
#define UNITY_MUSIC_LENS_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_MUSIC_LENS_TYPE_ALBUM, UnityMusicLensAlbumClass))
 
69
#define UNITY_MUSIC_LENS_IS_ALBUM(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_ALBUM))
 
70
#define UNITY_MUSIC_LENS_IS_ALBUM_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_MUSIC_LENS_TYPE_ALBUM))
 
71
#define UNITY_MUSIC_LENS_ALBUM_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_MUSIC_LENS_TYPE_ALBUM, UnityMusicLensAlbumClass))
 
72
 
 
73
typedef struct _UnityMusicLensAlbum UnityMusicLensAlbum;
 
74
typedef struct _UnityMusicLensAlbumClass UnityMusicLensAlbumClass;
 
75
#define _json_object_unref0(var) ((var == NULL) ? NULL : (var = (json_object_unref (var), NULL)))
 
76
#define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL)))
 
77
#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL)))
 
78
#define _g_timer_destroy0(var) ((var == NULL) ? NULL : (var = (g_timer_destroy (var), NULL)))
 
79
typedef struct _UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData;
 
80
 
 
81
#define UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_FILTER_PARSER (unity_music_lens_music_store_filter_parser_get_type ())
 
82
#define UNITY_MUSIC_LENS_MUSIC_STORE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_FILTER_PARSER, UnityMusicLensMusicStoreFilterParser))
 
83
#define UNITY_MUSIC_LENS_IS_MUSIC_STORE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_FILTER_PARSER))
 
84
#define UNITY_MUSIC_LENS_MUSIC_STORE_FILTER_PARSER_GET_INTERFACE(obj) (G_TYPE_INSTANCE_GET_INTERFACE ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_FILTER_PARSER, UnityMusicLensMusicStoreFilterParserIface))
 
85
 
 
86
typedef struct _UnityMusicLensMusicStoreFilterParser UnityMusicLensMusicStoreFilterParser;
 
87
typedef struct _UnityMusicLensMusicStoreFilterParserIface UnityMusicLensMusicStoreFilterParserIface;
 
88
 
 
89
#define UNITY_MUSIC_LENS_TYPE_GENRE_FILTER_PARSER (unity_music_lens_genre_filter_parser_get_type ())
 
90
#define UNITY_MUSIC_LENS_GENRE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_GENRE_FILTER_PARSER, UnityMusicLensGenreFilterParser))
 
91
#define UNITY_MUSIC_LENS_GENRE_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_MUSIC_LENS_TYPE_GENRE_FILTER_PARSER, UnityMusicLensGenreFilterParserClass))
 
92
#define UNITY_MUSIC_LENS_IS_GENRE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_GENRE_FILTER_PARSER))
 
93
#define UNITY_MUSIC_LENS_IS_GENRE_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_MUSIC_LENS_TYPE_GENRE_FILTER_PARSER))
 
94
#define UNITY_MUSIC_LENS_GENRE_FILTER_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_MUSIC_LENS_TYPE_GENRE_FILTER_PARSER, UnityMusicLensGenreFilterParserClass))
 
95
 
 
96
typedef struct _UnityMusicLensGenreFilterParser UnityMusicLensGenreFilterParser;
 
97
typedef struct _UnityMusicLensGenreFilterParserClass UnityMusicLensGenreFilterParserClass;
 
98
 
 
99
#define UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_GENRE_FILTER_PARSER (unity_music_lens_music_store_genre_filter_parser_get_type ())
 
100
#define UNITY_MUSIC_LENS_MUSIC_STORE_GENRE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_GENRE_FILTER_PARSER, UnityMusicLensMusicStoreGenreFilterParser))
 
101
#define UNITY_MUSIC_LENS_MUSIC_STORE_GENRE_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_GENRE_FILTER_PARSER, UnityMusicLensMusicStoreGenreFilterParserClass))
 
102
#define UNITY_MUSIC_LENS_IS_MUSIC_STORE_GENRE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_GENRE_FILTER_PARSER))
 
103
#define UNITY_MUSIC_LENS_IS_MUSIC_STORE_GENRE_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_GENRE_FILTER_PARSER))
 
104
#define UNITY_MUSIC_LENS_MUSIC_STORE_GENRE_FILTER_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_GENRE_FILTER_PARSER, UnityMusicLensMusicStoreGenreFilterParserClass))
 
105
 
 
106
typedef struct _UnityMusicLensMusicStoreGenreFilterParser UnityMusicLensMusicStoreGenreFilterParser;
 
107
typedef struct _UnityMusicLensMusicStoreGenreFilterParserClass UnityMusicLensMusicStoreGenreFilterParserClass;
 
108
 
 
109
#define UNITY_MUSIC_LENS_TYPE_DECADE_FILTER_PARSER (unity_music_lens_decade_filter_parser_get_type ())
 
110
#define UNITY_MUSIC_LENS_DECADE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_DECADE_FILTER_PARSER, UnityMusicLensDecadeFilterParser))
 
111
#define UNITY_MUSIC_LENS_DECADE_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_MUSIC_LENS_TYPE_DECADE_FILTER_PARSER, UnityMusicLensDecadeFilterParserClass))
 
112
#define UNITY_MUSIC_LENS_IS_DECADE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_DECADE_FILTER_PARSER))
 
113
#define UNITY_MUSIC_LENS_IS_DECADE_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_MUSIC_LENS_TYPE_DECADE_FILTER_PARSER))
 
114
#define UNITY_MUSIC_LENS_DECADE_FILTER_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_MUSIC_LENS_TYPE_DECADE_FILTER_PARSER, UnityMusicLensDecadeFilterParserClass))
 
115
 
 
116
typedef struct _UnityMusicLensDecadeFilterParser UnityMusicLensDecadeFilterParser;
 
117
typedef struct _UnityMusicLensDecadeFilterParserClass UnityMusicLensDecadeFilterParserClass;
 
118
 
 
119
#define UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_DECADE_FILTER_PARSER (unity_music_lens_music_store_decade_filter_parser_get_type ())
 
120
#define UNITY_MUSIC_LENS_MUSIC_STORE_DECADE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_DECADE_FILTER_PARSER, UnityMusicLensMusicStoreDecadeFilterParser))
 
121
#define UNITY_MUSIC_LENS_MUSIC_STORE_DECADE_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_DECADE_FILTER_PARSER, UnityMusicLensMusicStoreDecadeFilterParserClass))
 
122
#define UNITY_MUSIC_LENS_IS_MUSIC_STORE_DECADE_FILTER_PARSER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_DECADE_FILTER_PARSER))
 
123
#define UNITY_MUSIC_LENS_IS_MUSIC_STORE_DECADE_FILTER_PARSER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_DECADE_FILTER_PARSER))
 
124
#define UNITY_MUSIC_LENS_MUSIC_STORE_DECADE_FILTER_PARSER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_DECADE_FILTER_PARSER, UnityMusicLensMusicStoreDecadeFilterParserClass))
 
125
 
 
126
typedef struct _UnityMusicLensMusicStoreDecadeFilterParser UnityMusicLensMusicStoreDecadeFilterParser;
 
127
typedef struct _UnityMusicLensMusicStoreDecadeFilterParserClass UnityMusicLensMusicStoreDecadeFilterParserClass;
 
128
#define _g_string_free0(var) ((var == NULL) ? NULL : (var = (g_string_free (var, TRUE), NULL)))
 
129
 
 
130
struct _UnityMusicLensMusicStoreCollection {
 
131
        GObject parent_instance;
 
132
        UnityMusicLensMusicStoreCollectionPrivate * priv;
 
133
};
 
134
 
 
135
struct _UnityMusicLensMusicStoreCollectionClass {
 
136
        GObjectClass parent_class;
 
137
};
 
138
 
 
139
struct _UnityMusicLensMusicStoreCollectionPrivate {
 
140
        GCancellable* cancellable;
 
141
};
 
142
 
 
143
struct _UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData {
 
144
        int _state_;
 
145
        GObject* _source_object_;
 
146
        GAsyncResult* _res_;
 
147
        GSimpleAsyncResult* _async_result;
 
148
        UnityMusicLensMusicStoreCollection* self;
 
149
        GFile* file;
 
150
        DeeModel* model;
 
151
        GTimer* _tmp0_;
 
152
        GTimer* timer;
 
153
        gchar* _tmp1_;
 
154
        gchar* _tmp2_;
 
155
        GFileInputStream* _tmp3_;
 
156
        GFileInputStream* _tmp4_;
 
157
        GFileInputStream* _tmp5_;
 
158
        GDataInputStream* _tmp6_;
 
159
        GDataInputStream* _tmp7_;
 
160
        GDataInputStream* dis;
 
161
        JsonParser* _tmp8_;
 
162
        JsonParser* parser;
 
163
        JsonNode* _tmp9_;
 
164
        JsonObject* _tmp10_;
 
165
        JsonObject* _tmp11_;
 
166
        JsonObject* root_object;
 
167
        JsonArray* _tmp12_;
 
168
        GList* _tmp13_;
 
169
        GList* r_collection;
 
170
        GList* r_it;
 
171
        JsonNode* r;
 
172
        JsonObject* _tmp14_;
 
173
        JsonObject* _tmp15_;
 
174
        JsonObject* result_obj;
 
175
        const gchar* _tmp16_;
 
176
        gchar* _tmp17_;
 
177
        gchar* type;
 
178
        UnityMusicLensTrack* _tmp18_;
 
179
        UnityMusicLensTrack* track;
 
180
        const gchar* _tmp19_;
 
181
        const gchar* _tmp20_;
 
182
        const gchar* _tmp21_;
 
183
        const gchar* _tmp22_;
 
184
        const gchar* _tmp23_;
 
185
        const gchar* _tmp24_;
 
186
        const gchar* _tmp25_;
 
187
        const gchar* _tmp26_;
 
188
        const gchar* _tmp27_;
 
189
        const gchar* _tmp28_;
 
190
        UnityMusicLensAlbum* _tmp29_;
 
191
        UnityMusicLensAlbum* album;
 
192
        const gchar* _tmp30_;
 
193
        const gchar* _tmp31_;
 
194
        const gchar* _tmp32_;
 
195
        const gchar* _tmp33_;
 
196
        const gchar* _tmp34_;
 
197
        const gchar* _tmp35_;
 
198
        const gchar* _tmp36_;
 
199
        const gchar* _tmp37_;
 
200
        const gchar* _tmp38_;
 
201
        gchar* _tmp39_;
 
202
        gchar* _tmp40_;
 
203
        gdouble _tmp41_;
 
204
        guint _tmp42_;
 
205
        GError * e;
 
206
        gchar* _tmp43_;
 
207
        gchar* _tmp44_;
 
208
        GError * _inner_error_;
 
209
};
 
210
 
 
211
struct _UnityMusicLensMusicStoreFilterParserIface {
 
212
        GTypeInterface parent_iface;
 
213
};
 
214
 
 
215
 
 
216
static gpointer unity_music_lens_music_store_collection_parent_class = NULL;
 
217
 
 
218
GType unity_music_lens_music_store_collection_get_type (void) G_GNUC_CONST;
 
219
#define UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_COLLECTION, UnityMusicLensMusicStoreCollectionPrivate))
 
220
enum  {
 
221
        UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION_DUMMY_PROPERTY
 
222
};
 
223
#define UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION_MUSICSTORE_BASE_URI "http://musicsearch.ubuntu.com/v1/"
 
224
UnityMusicLensMusicStoreCollection* unity_music_lens_music_store_collection_new (void);
 
225
UnityMusicLensMusicStoreCollection* unity_music_lens_music_store_collection_construct (GType object_type);
 
226
GType unity_music_lens_filter_parser_get_type (void) G_GNUC_CONST;
 
227
void unity_music_lens_music_store_collection_search (UnityMusicLensMusicStoreCollection* self, UnityLensSearch* search, DeeModel* results_model, GList* filters, gint max_results, GError** error);
 
228
static gchar* unity_music_lens_music_store_collection_build_search_uri (UnityMusicLensMusicStoreCollection* self, const gchar* query, GList* filters);
 
229
static void unity_music_lens_music_store_collection_read_musicstore_search_result_async (UnityMusicLensMusicStoreCollection* self, GFile* file, DeeModel* model, GAsyncReadyCallback _callback_, gpointer _user_data_);
 
230
static void unity_music_lens_music_store_collection_read_musicstore_search_result_finish (UnityMusicLensMusicStoreCollection* self, GAsyncResult* _res_);
 
231
static void unity_music_lens_music_store_collection_read_musicstore_search_result_async_data_free (gpointer _data);
 
232
static gboolean unity_music_lens_music_store_collection_read_musicstore_search_result_async_co (UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData* data);
 
233
UnityMusicLensTrack* unity_music_lens_track_new (void);
 
234
UnityMusicLensTrack* unity_music_lens_track_construct (GType object_type);
 
235
GType unity_music_lens_track_get_type (void) G_GNUC_CONST;
 
236
void unity_music_lens_track_set_title (UnityMusicLensTrack* self, const gchar* value);
 
237
void unity_music_lens_track_set_artist (UnityMusicLensTrack* self, const gchar* value);
 
238
void unity_music_lens_track_set_uri (UnityMusicLensTrack* self, const gchar* value);
 
239
void unity_music_lens_track_set_artwork_path (UnityMusicLensTrack* self, const gchar* value);
 
240
void unity_music_lens_track_set_mime_type (UnityMusicLensTrack* self, const gchar* value);
 
241
const gchar* unity_music_lens_track_get_uri (UnityMusicLensTrack* self);
 
242
const gchar* unity_music_lens_track_get_artwork_path (UnityMusicLensTrack* self);
 
243
const gchar* unity_music_lens_track_get_mime_type (UnityMusicLensTrack* self);
 
244
const gchar* unity_music_lens_track_get_title (UnityMusicLensTrack* self);
 
245
const gchar* unity_music_lens_track_get_artist (UnityMusicLensTrack* self);
 
246
UnityMusicLensAlbum* unity_music_lens_album_new (void);
 
247
UnityMusicLensAlbum* unity_music_lens_album_construct (GType object_type);
 
248
GType unity_music_lens_album_get_type (void) G_GNUC_CONST;
 
249
void unity_music_lens_album_set_title (UnityMusicLensAlbum* self, const gchar* value);
 
250
void unity_music_lens_album_set_artist (UnityMusicLensAlbum* self, const gchar* value);
 
251
void unity_music_lens_album_set_uri (UnityMusicLensAlbum* self, const gchar* value);
 
252
void unity_music_lens_album_set_artwork_path (UnityMusicLensAlbum* self, const gchar* value);
 
253
const gchar* unity_music_lens_album_get_uri (UnityMusicLensAlbum* self);
 
254
const gchar* unity_music_lens_album_get_artwork_path (UnityMusicLensAlbum* self);
 
255
const gchar* unity_music_lens_album_get_title (UnityMusicLensAlbum* self);
 
256
const gchar* unity_music_lens_album_get_artist (UnityMusicLensAlbum* self);
 
257
GType unity_music_lens_music_store_filter_parser_get_type (void) G_GNUC_CONST;
 
258
GType unity_music_lens_genre_filter_parser_get_type (void) G_GNUC_CONST;
 
259
UnityMusicLensMusicStoreGenreFilterParser* unity_music_lens_music_store_genre_filter_parser_new (UnityMusicLensGenreFilterParser* parser);
 
260
UnityMusicLensMusicStoreGenreFilterParser* unity_music_lens_music_store_genre_filter_parser_construct (GType object_type, UnityMusicLensGenreFilterParser* parser);
 
261
GType unity_music_lens_music_store_genre_filter_parser_get_type (void) G_GNUC_CONST;
 
262
GType unity_music_lens_decade_filter_parser_get_type (void) G_GNUC_CONST;
 
263
UnityMusicLensMusicStoreDecadeFilterParser* unity_music_lens_music_store_decade_filter_parser_new (UnityMusicLensDecadeFilterParser* parser);
 
264
UnityMusicLensMusicStoreDecadeFilterParser* unity_music_lens_music_store_decade_filter_parser_construct (GType object_type, UnityMusicLensDecadeFilterParser* parser);
 
265
GType unity_music_lens_music_store_decade_filter_parser_get_type (void) G_GNUC_CONST;
 
266
gchar* unity_music_lens_filter_parser_parse (UnityMusicLensFilterParser* self);
 
267
static void unity_music_lens_music_store_collection_finalize (GObject* obj);
 
268
 
 
269
 
 
270
UnityMusicLensMusicStoreCollection* unity_music_lens_music_store_collection_construct (GType object_type) {
 
271
        UnityMusicLensMusicStoreCollection * self = NULL;
 
272
        self = (UnityMusicLensMusicStoreCollection*) g_object_new (object_type, NULL);
 
273
        return self;
 
274
}
 
275
 
 
276
 
 
277
UnityMusicLensMusicStoreCollection* unity_music_lens_music_store_collection_new (void) {
 
278
        return unity_music_lens_music_store_collection_construct (UNITY_MUSIC_LENS_TYPE_MUSIC_STORE_COLLECTION);
 
279
}
 
280
 
 
281
 
 
282
void unity_music_lens_music_store_collection_search (UnityMusicLensMusicStoreCollection* self, UnityLensSearch* search, DeeModel* results_model, GList* filters, gint max_results, GError** error) {
 
283
        GCancellable* _tmp0_ = NULL;
 
284
        const gchar* _tmp1_ = NULL;
 
285
        gchar* _tmp2_ = NULL;
 
286
        gchar* uri;
 
287
        GFile* _tmp3_ = NULL;
 
288
        GFile* file;
 
289
        g_return_if_fail (self != NULL);
 
290
        g_return_if_fail (results_model != NULL);
 
291
        if (self->priv->cancellable != NULL) {
 
292
                g_cancellable_cancel (self->priv->cancellable);
 
293
        }
 
294
        _tmp0_ = g_cancellable_new ();
 
295
        _g_object_unref0 (self->priv->cancellable);
 
296
        self->priv->cancellable = _tmp0_;
 
297
        _tmp1_ = unity_lens_search_get_search_string (search);
 
298
        _tmp2_ = unity_music_lens_music_store_collection_build_search_uri (self, _tmp1_, filters);
 
299
        uri = _tmp2_;
 
300
        if (uri == NULL) {
 
301
                _g_free0 (uri);
 
302
                return;
 
303
        }
 
304
        _tmp3_ = g_file_new_for_uri (uri);
 
305
        file = _tmp3_;
 
306
        unity_music_lens_music_store_collection_read_musicstore_search_result_async (self, file, results_model, NULL, NULL);
 
307
        _g_object_unref0 (file);
 
308
        _g_free0 (uri);
 
309
}
 
310
 
 
311
 
 
312
static void unity_music_lens_music_store_collection_read_musicstore_search_result_async_data_free (gpointer _data) {
 
313
        UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData* data;
 
314
        data = _data;
 
315
        _g_object_unref0 (data->file);
 
316
        _g_object_unref0 (data->model);
 
317
        _g_object_unref0 (data->self);
 
318
        g_slice_free (UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData, data);
 
319
}
 
320
 
 
321
 
 
322
static gpointer _g_object_ref0 (gpointer self) {
 
323
        return self ? g_object_ref (self) : NULL;
 
324
}
 
325
 
 
326
 
 
327
static void unity_music_lens_music_store_collection_read_musicstore_search_result_async (UnityMusicLensMusicStoreCollection* self, GFile* file, DeeModel* model, GAsyncReadyCallback _callback_, gpointer _user_data_) {
 
328
        UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData* _data_;
 
329
        _data_ = g_slice_new0 (UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData);
 
330
        _data_->_async_result = g_simple_async_result_new (G_OBJECT (self), _callback_, _user_data_, unity_music_lens_music_store_collection_read_musicstore_search_result_async);
 
331
        g_simple_async_result_set_op_res_gpointer (_data_->_async_result, _data_, unity_music_lens_music_store_collection_read_musicstore_search_result_async_data_free);
 
332
        _data_->self = _g_object_ref0 (self);
 
333
        _data_->file = _g_object_ref0 (file);
 
334
        _data_->model = _g_object_ref0 (model);
 
335
        unity_music_lens_music_store_collection_read_musicstore_search_result_async_co (_data_);
 
336
}
 
337
 
 
338
 
 
339
static void unity_music_lens_music_store_collection_read_musicstore_search_result_finish (UnityMusicLensMusicStoreCollection* self, GAsyncResult* _res_) {
 
340
        UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData* _data_;
 
341
        _data_ = g_simple_async_result_get_op_res_gpointer (G_SIMPLE_ASYNC_RESULT (_res_));
 
342
}
 
343
 
 
344
 
 
345
static gpointer _json_object_ref0 (gpointer self) {
 
346
        return self ? json_object_ref (self) : NULL;
 
347
}
 
348
 
 
349
 
 
350
static gboolean unity_music_lens_music_store_collection_read_musicstore_search_result_async_co (UnityMusicLensMusicStoreCollectionReadMusicstoreSearchResultAsyncData* data) {
 
351
        switch (data->_state_) {
 
352
                case 0:
 
353
                goto _state_0;
 
354
                default:
 
355
                g_assert_not_reached ();
 
356
        }
 
357
        _state_0:
 
358
        data->_tmp0_ = NULL;
 
359
        data->_tmp0_ = g_timer_new ();
 
360
        data->timer = data->_tmp0_;
 
361
        data->_tmp1_ = NULL;
 
362
        data->_tmp1_ = g_file_get_uri (data->file);
 
363
        data->_tmp2_ = data->_tmp1_;
 
364
        g_debug ("musicstore-collection.vala:55: Searching %s", data->_tmp2_);
 
365
        _g_free0 (data->_tmp2_);
 
366
        data->_tmp3_ = NULL;
 
367
        data->_tmp3_ = g_file_read (data->file, data->self->priv->cancellable, &data->_inner_error_);
 
368
        data->_tmp4_ = data->_tmp3_;
 
369
        if (data->_inner_error_ != NULL) {
 
370
                goto __catch0_g_error;
 
371
        }
 
372
        data->_tmp5_ = data->_tmp4_;
 
373
        data->_tmp6_ = NULL;
 
374
        data->_tmp6_ = g_data_input_stream_new ((GInputStream*) data->_tmp5_);
 
375
        data->_tmp7_ = data->_tmp6_;
 
376
        _g_object_unref0 (data->_tmp5_);
 
377
        data->dis = data->_tmp7_;
 
378
        data->_tmp8_ = NULL;
 
379
        data->_tmp8_ = json_parser_new ();
 
380
        data->parser = data->_tmp8_;
 
381
        json_parser_load_from_stream (data->parser, (GInputStream*) data->dis, data->self->priv->cancellable, &data->_inner_error_);
 
382
        if (data->_inner_error_ != NULL) {
 
383
                _g_object_unref0 (data->parser);
 
384
                _g_object_unref0 (data->dis);
 
385
                goto __catch0_g_error;
 
386
        }
 
387
        data->_tmp9_ = NULL;
 
388
        data->_tmp9_ = json_parser_get_root (data->parser);
 
389
        data->_tmp10_ = NULL;
 
390
        data->_tmp10_ = json_node_get_object (data->_tmp9_);
 
391
        data->_tmp11_ = _json_object_ref0 (data->_tmp10_);
 
392
        data->root_object = data->_tmp11_;
 
393
        data->_tmp12_ = NULL;
 
394
        data->_tmp12_ = json_object_get_array_member (data->root_object, "results");
 
395
        data->_tmp13_ = NULL;
 
396
        data->_tmp13_ = json_array_get_elements (data->_tmp12_);
 
397
        {
 
398
                data->r_collection = data->_tmp13_;
 
399
                for (data->r_it = data->r_collection; data->r_it != NULL; data->r_it = data->r_it->next) {
 
400
                        data->r = (JsonNode*) data->r_it->data;
 
401
                        {
 
402
                                data->_tmp14_ = NULL;
 
403
                                data->_tmp14_ = json_node_get_object (data->r);
 
404
                                data->_tmp15_ = _json_object_ref0 (data->_tmp14_);
 
405
                                data->result_obj = data->_tmp15_;
 
406
                                data->_tmp16_ = NULL;
 
407
                                data->_tmp16_ = json_object_get_string_member (data->result_obj, "type");
 
408
                                data->_tmp17_ = g_strdup (data->_tmp16_);
 
409
                                data->type = data->_tmp17_;
 
410
                                if (g_strcmp0 (data->type, "track") == 0) {
 
411
                                        data->_tmp18_ = NULL;
 
412
                                        data->_tmp18_ = unity_music_lens_track_new ();
 
413
                                        data->track = data->_tmp18_;
 
414
                                        data->_tmp19_ = NULL;
 
415
                                        data->_tmp19_ = json_object_get_string_member (data->result_obj, "title");
 
416
                                        unity_music_lens_track_set_title (data->track, data->_tmp19_);
 
417
                                        data->_tmp20_ = NULL;
 
418
                                        data->_tmp20_ = json_object_get_string_member (data->result_obj, "artist");
 
419
                                        unity_music_lens_track_set_artist (data->track, data->_tmp20_);
 
420
                                        data->_tmp21_ = NULL;
 
421
                                        data->_tmp21_ = json_object_get_string_member (data->result_obj, "purchase_url");
 
422
                                        unity_music_lens_track_set_uri (data->track, data->_tmp21_);
 
423
                                        data->_tmp22_ = NULL;
 
424
                                        data->_tmp22_ = json_object_get_string_member (data->result_obj, "image");
 
425
                                        unity_music_lens_track_set_artwork_path (data->track, data->_tmp22_);
 
426
                                        unity_music_lens_track_set_mime_type (data->track, "audio-x-generic");
 
427
                                        data->_tmp23_ = NULL;
 
428
                                        data->_tmp23_ = unity_music_lens_track_get_uri (data->track);
 
429
                                        data->_tmp24_ = NULL;
 
430
                                        data->_tmp24_ = unity_music_lens_track_get_artwork_path (data->track);
 
431
                                        data->_tmp25_ = NULL;
 
432
                                        data->_tmp25_ = unity_music_lens_track_get_mime_type (data->track);
 
433
                                        data->_tmp26_ = NULL;
 
434
                                        data->_tmp26_ = unity_music_lens_track_get_title (data->track);
 
435
                                        data->_tmp27_ = NULL;
 
436
                                        data->_tmp27_ = unity_music_lens_track_get_artist (data->track);
 
437
                                        data->_tmp28_ = NULL;
 
438
                                        data->_tmp28_ = unity_music_lens_track_get_uri (data->track);
 
439
                                        dee_model_append (data->model, data->_tmp23_, data->_tmp24_, 2, data->_tmp25_, data->_tmp26_, data->_tmp27_, data->_tmp28_, NULL);
 
440
                                        _g_object_unref0 (data->track);
 
441
                                } else {
 
442
                                        if (g_strcmp0 (data->type, "album") == 0) {
 
443
                                                data->_tmp29_ = NULL;
 
444
                                                data->_tmp29_ = unity_music_lens_album_new ();
 
445
                                                data->album = data->_tmp29_;
 
446
                                                data->_tmp30_ = NULL;
 
447
                                                data->_tmp30_ = json_object_get_string_member (data->result_obj, "title");
 
448
                                                unity_music_lens_album_set_title (data->album, data->_tmp30_);
 
449
                                                data->_tmp31_ = NULL;
 
450
                                                data->_tmp31_ = json_object_get_string_member (data->result_obj, "artist");
 
451
                                                unity_music_lens_album_set_artist (data->album, data->_tmp31_);
 
452
                                                data->_tmp32_ = NULL;
 
453
                                                data->_tmp32_ = json_object_get_string_member (data->result_obj, "purchase_url");
 
454
                                                unity_music_lens_album_set_uri (data->album, data->_tmp32_);
 
455
                                                data->_tmp33_ = NULL;
 
456
                                                data->_tmp33_ = json_object_get_string_member (data->result_obj, "image");
 
457
                                                unity_music_lens_album_set_artwork_path (data->album, data->_tmp33_);
 
458
                                                data->_tmp34_ = NULL;
 
459
                                                data->_tmp34_ = unity_music_lens_album_get_uri (data->album);
 
460
                                                data->_tmp35_ = NULL;
 
461
                                                data->_tmp35_ = unity_music_lens_album_get_artwork_path (data->album);
 
462
                                                data->_tmp36_ = NULL;
 
463
                                                data->_tmp36_ = unity_music_lens_album_get_title (data->album);
 
464
                                                data->_tmp37_ = NULL;
 
465
                                                data->_tmp37_ = unity_music_lens_album_get_artist (data->album);
 
466
                                                data->_tmp38_ = NULL;
 
467
                                                data->_tmp38_ = unity_music_lens_album_get_uri (data->album);
 
468
                                                dee_model_append (data->model, data->_tmp34_, data->_tmp35_, 2, "audio-x-generic", data->_tmp36_, data->_tmp37_, data->_tmp38_, NULL);
 
469
                                                _g_object_unref0 (data->album);
 
470
                                        }
 
471
                                }
 
472
                                _g_free0 (data->type);
 
473
                                _json_object_unref0 (data->result_obj);
 
474
                        }
 
475
                }
 
476
                _g_list_free0 (data->r_collection);
 
477
        }
 
478
        data->_tmp39_ = NULL;
 
479
        data->_tmp39_ = g_file_get_uri (data->file);
 
480
        data->_tmp40_ = data->_tmp39_;
 
481
        data->_tmp41_ = g_timer_elapsed (data->timer, NULL);
 
482
        g_debug ("musicstore-collection.vala:89: Retrieved '%s' in %fms", data->_tmp40_, data->_tmp41_ * 1000);
 
483
        _g_free0 (data->_tmp40_);
 
484
        data->_tmp42_ = dee_model_get_n_rows (data->model);
 
485
        g_debug ("musicstore-collection.vala:90: model has %u rows after search", data->_tmp42_);
 
486
        _json_object_unref0 (data->root_object);
 
487
        _g_object_unref0 (data->parser);
 
488
        _g_object_unref0 (data->dis);
 
489
        goto __finally0;
 
490
        __catch0_g_error:
 
491
        {
 
492
                data->e = data->_inner_error_;
 
493
                data->_inner_error_ = NULL;
 
494
                data->_tmp43_ = NULL;
 
495
                data->_tmp43_ = g_file_get_uri (data->file);
 
496
                data->_tmp44_ = data->_tmp43_;
 
497
                g_warning ("musicstore-collection.vala:93: Error reading URL '%s': %s", data->_tmp44_, data->e->message);
 
498
                _g_free0 (data->_tmp44_);
 
499
                _g_error_free0 (data->e);
 
500
        }
 
501
        __finally0:
 
502
        if (data->_inner_error_ != NULL) {
 
503
                _g_timer_destroy0 (data->timer);
 
504
                g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, data->_inner_error_->message, g_quark_to_string (data->_inner_error_->domain), data->_inner_error_->code);
 
505
                g_clear_error (&data->_inner_error_);
 
506
                return FALSE;
 
507
        }
 
508
        _g_object_unref0 (data->self->priv->cancellable);
 
509
        data->self->priv->cancellable = NULL;
 
510
        _g_timer_destroy0 (data->timer);
 
511
        if (data->_state_ == 0) {
 
512
                g_simple_async_result_complete_in_idle (data->_async_result);
 
513
        } else {
 
514
                g_simple_async_result_complete (data->_async_result);
 
515
        }
 
516
        g_object_unref (data->_async_result);
 
517
        return FALSE;
 
518
}
 
519
 
 
520
 
 
521
static gchar* string_strip (const gchar* self) {
 
522
        gchar* result = NULL;
 
523
        gchar* _tmp0_ = NULL;
 
524
        gchar* _result_;
 
525
        g_return_val_if_fail (self != NULL, NULL);
 
526
        _tmp0_ = g_strdup (self);
 
527
        _result_ = _tmp0_;
 
528
        g_strstrip (_result_);
 
529
        result = _result_;
 
530
        return result;
 
531
}
 
532
 
 
533
 
 
534
static gchar* unity_music_lens_music_store_collection_build_search_uri (UnityMusicLensMusicStoreCollection* self, const gchar* query, GList* filters) {
 
535
        gchar* result = NULL;
 
536
        gchar* _tmp0_ = NULL;
 
537
        gchar* _tmp1_;
 
538
        gboolean _tmp2_;
 
539
        UnityMusicLensMusicStoreFilterParser* store_parser = NULL;
 
540
        gchar* _tmp3_;
 
541
        gchar* musicstore_base_uri;
 
542
        const gchar* _tmp4_ = NULL;
 
543
        GString* _tmp7_ = NULL;
 
544
        GString* uri;
 
545
        gchar* _tmp8_ = NULL;
 
546
        gchar* _tmp9_;
 
547
        gchar* _tmp17_;
 
548
        g_return_val_if_fail (self != NULL, NULL);
 
549
        g_return_val_if_fail (query != NULL, NULL);
 
550
        _tmp0_ = string_strip (query);
 
551
        _tmp1_ = _tmp0_;
 
552
        _tmp2_ = g_strcmp0 (_tmp1_, "") == 0;
 
553
        _g_free0 (_tmp1_);
 
554
        if (_tmp2_) {
 
555
                result = NULL;
 
556
                return result;
 
557
        }
 
558
        _tmp3_ = g_strdup (UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION_MUSICSTORE_BASE_URI);
 
559
        musicstore_base_uri = _tmp3_;
 
560
        _tmp4_ = g_getenv ("MUSICSTORE_URI");
 
561
        if (_tmp4_ != NULL) {
 
562
                const gchar* _tmp5_ = NULL;
 
563
                gchar* _tmp6_;
 
564
                _tmp5_ = g_getenv ("MUSICSTORE_URI");
 
565
                _tmp6_ = g_strdup (_tmp5_);
 
566
                _g_free0 (musicstore_base_uri);
 
567
                musicstore_base_uri = _tmp6_;
 
568
        }
 
569
        g_debug ("musicstore-collection.vala:108: Using base URI of '%s'", musicstore_base_uri);
 
570
        _tmp7_ = g_string_new (musicstore_base_uri);
 
571
        uri = _tmp7_;
 
572
        g_string_append (uri, "search?q=");
 
573
        _tmp8_ = g_uri_escape_string (query, "", FALSE);
 
574
        _tmp9_ = _tmp8_;
 
575
        g_string_append (uri, _tmp9_);
 
576
        _g_free0 (_tmp9_);
 
577
        {
 
578
                GList* parser_collection;
 
579
                GList* parser_it;
 
580
                parser_collection = filters;
 
581
                for (parser_it = parser_collection; parser_it != NULL; parser_it = parser_it->next) {
 
582
                        UnityMusicLensFilterParser* _tmp10_;
 
583
                        UnityMusicLensFilterParser* parser;
 
584
                        _tmp10_ = _g_object_ref0 ((UnityMusicLensFilterParser*) parser_it->data);
 
585
                        parser = _tmp10_;
 
586
                        {
 
587
                                gchar* _tmp15_ = NULL;
 
588
                                gchar* _tmp16_;
 
589
                                if (UNITY_MUSIC_LENS_IS_GENRE_FILTER_PARSER (parser)) {
 
590
                                        UnityMusicLensFilterParser* _tmp11_;
 
591
                                        UnityMusicLensMusicStoreGenreFilterParser* _tmp12_ = NULL;
 
592
                                        _tmp11_ = parser;
 
593
                                        _tmp12_ = unity_music_lens_music_store_genre_filter_parser_new (UNITY_MUSIC_LENS_IS_GENRE_FILTER_PARSER (_tmp11_) ? ((UnityMusicLensGenreFilterParser*) _tmp11_) : NULL);
 
594
                                        _g_object_unref0 (store_parser);
 
595
                                        store_parser = (UnityMusicLensMusicStoreFilterParser*) _tmp12_;
 
596
                                } else {
 
597
                                        if (UNITY_MUSIC_LENS_IS_DECADE_FILTER_PARSER (parser)) {
 
598
                                                UnityMusicLensFilterParser* _tmp13_;
 
599
                                                UnityMusicLensMusicStoreDecadeFilterParser* _tmp14_ = NULL;
 
600
                                                _tmp13_ = parser;
 
601
                                                _tmp14_ = unity_music_lens_music_store_decade_filter_parser_new (UNITY_MUSIC_LENS_IS_DECADE_FILTER_PARSER (_tmp13_) ? ((UnityMusicLensDecadeFilterParser*) _tmp13_) : NULL);
 
602
                                                _g_object_unref0 (store_parser);
 
603
                                                store_parser = (UnityMusicLensMusicStoreFilterParser*) _tmp14_;
 
604
                                        } else {
 
605
                                                _g_object_unref0 (parser);
 
606
                                                continue;
 
607
                                        }
 
608
                                }
 
609
                                _tmp15_ = unity_music_lens_filter_parser_parse ((UnityMusicLensFilterParser*) store_parser);
 
610
                                _tmp16_ = _tmp15_;
 
611
                                g_string_append (uri, _tmp16_);
 
612
                                _g_free0 (_tmp16_);
 
613
                                _g_object_unref0 (parser);
 
614
                        }
 
615
                }
 
616
        }
 
617
        g_string_append (uri, "&pagesize=10");
 
618
        _tmp17_ = g_strdup (uri->str);
 
619
        result = _tmp17_;
 
620
        _g_string_free0 (uri);
 
621
        _g_free0 (musicstore_base_uri);
 
622
        _g_object_unref0 (store_parser);
 
623
        return result;
 
624
}
 
625
 
 
626
 
 
627
static void unity_music_lens_music_store_collection_class_init (UnityMusicLensMusicStoreCollectionClass * klass) {
 
628
        unity_music_lens_music_store_collection_parent_class = g_type_class_peek_parent (klass);
 
629
        g_type_class_add_private (klass, sizeof (UnityMusicLensMusicStoreCollectionPrivate));
 
630
        G_OBJECT_CLASS (klass)->finalize = unity_music_lens_music_store_collection_finalize;
 
631
}
 
632
 
 
633
 
 
634
static void unity_music_lens_music_store_collection_instance_init (UnityMusicLensMusicStoreCollection * self) {
 
635
        self->priv = UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION_GET_PRIVATE (self);
 
636
}
 
637
 
 
638
 
 
639
static void unity_music_lens_music_store_collection_finalize (GObject* obj) {
 
640
        UnityMusicLensMusicStoreCollection * self;
 
641
        self = UNITY_MUSIC_LENS_MUSIC_STORE_COLLECTION (obj);
 
642
        _g_object_unref0 (self->priv->cancellable);
 
643
        G_OBJECT_CLASS (unity_music_lens_music_store_collection_parent_class)->finalize (obj);
 
644
}
 
645
 
 
646
 
 
647
GType unity_music_lens_music_store_collection_get_type (void) {
 
648
        static volatile gsize unity_music_lens_music_store_collection_type_id__volatile = 0;
 
649
        if (g_once_init_enter (&unity_music_lens_music_store_collection_type_id__volatile)) {
 
650
                static const GTypeInfo g_define_type_info = { sizeof (UnityMusicLensMusicStoreCollectionClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) unity_music_lens_music_store_collection_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (UnityMusicLensMusicStoreCollection), 0, (GInstanceInitFunc) unity_music_lens_music_store_collection_instance_init, NULL };
 
651
                GType unity_music_lens_music_store_collection_type_id;
 
652
                unity_music_lens_music_store_collection_type_id = g_type_register_static (G_TYPE_OBJECT, "UnityMusicLensMusicStoreCollection", &g_define_type_info, 0);
 
653
                g_once_init_leave (&unity_music_lens_music_store_collection_type_id__volatile, unity_music_lens_music_store_collection_type_id);
 
654
        }
 
655
        return unity_music_lens_music_store_collection_type_id__volatile;
 
656
}
 
657
 
 
658
 
 
659