RygelTrackerPictures* rygel_tracker_pictures_construct (GType object_type, const char* id, RygelMediaContainer* parent, const char* title) { #line 163 "rygel-tracker-pictures.c" RygelTrackerPictures * self; RygelTrackerPictureItemFactory* _tmp0_; RygelTrackerTags* _tmp1_; RygelTrackerYears* _tmp2_; #line 32 "rygel-tracker-pictures.vala" g_return_val_if_fail (id != NULL, NULL); #line 32 "rygel-tracker-pictures.vala" g_return_val_if_fail (parent != NULL, NULL); #line 32 "rygel-tracker-pictures.vala" g_return_val_if_fail (title != NULL, NULL); #line 35 "rygel-tracker-pictures.vala" self = (RygelTrackerPictures*) rygel_tracker_category_container_construct (object_type, id, parent, title, (RygelTrackerItemFactory*) (_tmp0_ = rygel_tracker_picture_item_factory_new ())); #line 176 "rygel-tracker-pictures.c" _rygel_tracker_item_factory_unref0 (_tmp0_); #line 37 "rygel-tracker-pictures.vala" rygel_simple_container_add_child ((RygelSimpleContainer*) self, (RygelMediaObject*) (_tmp1_ = rygel_tracker_tags_new ((RygelMediaContainer*) self, ((RygelTrackerCategoryContainer*) self)->item_factory))); #line 180 "rygel-tracker-pictures.c" _g_object_unref0 (_tmp1_); #line 38 "rygel-tracker-pictures.vala" rygel_simple_container_add_child ((RygelSimpleContainer*) self, (RygelMediaObject*) (_tmp2_ = rygel_tracker_years_new ((RygelMediaContainer*) self, ((RygelTrackerCategoryContainer*) self)->item_factory))); #line 184 "rygel-tracker-pictures.c" _g_object_unref0 (_tmp2_); return self; }
RygelTestRootContainer* rygel_test_root_container_construct (GType object_type, const char* title) { #line 108 "rygel-test-root-container.c" RygelTestRootContainer * self; RygelTestAudioItem* _tmp0_; RygelTestVideoItem* _tmp1_; #line 33 "rygel-test-root-container.vala" g_return_val_if_fail (title != NULL, NULL); #line 34 "rygel-test-root-container.vala" self = (RygelTestRootContainer*) rygel_simple_container_construct_root (object_type, title); #line 36 "rygel-test-root-container.vala" rygel_simple_container_add_child ((RygelSimpleContainer*) self, (RygelMediaObject*) (_tmp0_ = rygel_test_audio_item_new ("sinewave", (RygelMediaContainer*) self, "Sine Wave"))); #line 118 "rygel-test-root-container.c" _g_object_unref0 (_tmp0_); #line 39 "rygel-test-root-container.vala" rygel_simple_container_add_child ((RygelSimpleContainer*) self, (RygelMediaObject*) (_tmp1_ = rygel_test_video_item_new ("smtpe", (RygelMediaContainer*) self, "SMTPE"))); #line 122 "rygel-test-root-container.c" _g_object_unref0 (_tmp1_); return self; }
static gboolean rygel_mediathek_rss_container_parse_response (RygelMediathekRssContainer* self, const char* data, gsize length) { #line 178 "rygel-mediathek-rss-container.c" gboolean result = FALSE; GError * _inner_error_; gboolean ret; xmlDoc* doc; #line 52 "rygel-mediathek-rss-container.vala" g_return_val_if_fail (self != NULL, FALSE); #line 52 "rygel-mediathek-rss-container.vala" g_return_val_if_fail (data != NULL, FALSE); #line 187 "rygel-mediathek-rss-container.c" _inner_error_ = NULL; #line 53 "rygel-mediathek-rss-container.vala" ret = FALSE; #line 54 "rygel-mediathek-rss-container.vala" doc = xmlParseMemory (data, (gint) length); #line 55 "rygel-mediathek-rss-container.vala" if (doc != NULL) { #line 195 "rygel-mediathek-rss-container.c" xmlXPathContext* ctx; xmlXPathObject* xpo; gboolean _tmp0_ = FALSE; #line 56 "rygel-mediathek-rss-container.vala" gee_abstract_collection_clear ((GeeAbstractCollection*) ((RygelSimpleContainer*) self)->children); #line 57 "rygel-mediathek-rss-container.vala" ((RygelMediaContainer*) self)->child_count = 0; #line 59 "rygel-mediathek-rss-container.vala" ctx = xmlXPathNewContext (doc); #line 60 "rygel-mediathek-rss-container.vala" xpo = xmlXPathEval ("/rss/channel/title", ctx); #line 61 "rygel-mediathek-rss-container.vala" if (xpo->type == XPATH_NODESET) { #line 62 "rygel-mediathek-rss-container.vala" _tmp0_ = xmlXPathNodeSetGetLength (xpo->nodesetval) > 0; #line 211 "rygel-mediathek-rss-container.c" } else { #line 61 "rygel-mediathek-rss-container.vala" _tmp0_ = FALSE; #line 215 "rygel-mediathek-rss-container.c" } #line 61 "rygel-mediathek-rss-container.vala" if (_tmp0_) { #line 219 "rygel-mediathek-rss-container.c" char* _tmp1_; #line 64 "rygel-mediathek-rss-container.vala" rygel_media_object_set_title ((RygelMediaObject*) self, _tmp1_ = xmlNodeGetContent (xmlXPathNodeSetItem (xpo->nodesetval, 0))); #line 223 "rygel-mediathek-rss-container.c" _g_free0 (_tmp1_); } #line 67 "rygel-mediathek-rss-container.vala" xpo = xmlXPathEval ("/rss/channel/item", ctx); #line 68 "rygel-mediathek-rss-container.vala" if (xpo->type == XPATH_NODESET) { #line 230 "rygel-mediathek-rss-container.c" { gint i; #line 69 "rygel-mediathek-rss-container.vala" i = 0; #line 235 "rygel-mediathek-rss-container.c" { gboolean _tmp2_; #line 69 "rygel-mediathek-rss-container.vala" _tmp2_ = TRUE; #line 69 "rygel-mediathek-rss-container.vala" while (TRUE) { #line 242 "rygel-mediathek-rss-container.c" xmlNode* node; #line 69 "rygel-mediathek-rss-container.vala" if (!_tmp2_) { #line 69 "rygel-mediathek-rss-container.vala" i++; #line 248 "rygel-mediathek-rss-container.c" } #line 69 "rygel-mediathek-rss-container.vala" _tmp2_ = FALSE; #line 69 "rygel-mediathek-rss-container.vala" if (!(i < xmlXPathNodeSetGetLength (xpo->nodesetval))) { #line 69 "rygel-mediathek-rss-container.vala" break; #line 256 "rygel-mediathek-rss-container.c" } #line 70 "rygel-mediathek-rss-container.vala" node = xmlXPathNodeSetItem (xpo->nodesetval, i); #line 260 "rygel-mediathek-rss-container.c" { RygelMediathekVideoItem* item; #line 73 "rygel-mediathek-rss-container.vala" item = rygel_mediathek_video_item_create_from_xml ((RygelMediaContainer*) self, node, &_inner_error_); #line 265 "rygel-mediathek-rss-container.c" if (_inner_error_ != NULL) { if (_inner_error_->domain == RYGEL_MEDIATHEK_VIDEO_ITEM_ERROR) { goto __catch3_rygel_mediathek_video_item_error; } _xmlXPathFreeContext0 (ctx); g_critical ("file %s: line %d: unexpected error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return FALSE; } #line 75 "rygel-mediathek-rss-container.vala" rygel_simple_container_add_child ((RygelSimpleContainer*) self, (RygelMediaObject*) item); #line 76 "rygel-mediathek-rss-container.vala" ret = TRUE; #line 279 "rygel-mediathek-rss-container.c" _g_object_unref0 (item); } goto __finally3; __catch3_rygel_mediathek_video_item_error: { GError * _error_; _error_ = _inner_error_; _inner_error_ = NULL; { #line 79 "rygel-mediathek-rss-container.vala" g_warning (_ ("Error creating video item: %s"), _error_->message); #line 291 "rygel-mediathek-rss-container.c" _g_error_free0 (_error_); } } __finally3: if (_inner_error_ != NULL) { _xmlXPathFreeContext0 (ctx); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return FALSE; } } } } } else { #line 85 "rygel-mediathek-rss-container.vala" g_warning ("rygel-mediathek-rss-container.vala:85: %s", _ ("XPath query failed")); #line 308 "rygel-mediathek-rss-container.c" } #line 88 "rygel-mediathek-rss-container.vala" xmlFreeDoc (doc); #line 89 "rygel-mediathek-rss-container.vala" rygel_media_container_updated ((RygelMediaContainer*) self); #line 314 "rygel-mediathek-rss-container.c" _xmlXPathFreeContext0 (ctx); } else { #line 92 "rygel-mediathek-rss-container.vala" g_warning ("rygel-mediathek-rss-container.vala:92: %s", _ ("Failed to parse doc")); #line 319 "rygel-mediathek-rss-container.c" } result = ret; #line 95 "rygel-mediathek-rss-container.vala" return result; #line 324 "rygel-mediathek-rss-container.c" }