static void rygel_external_container_on_updated (RygelExternalContainer* self, RygelExternalMediaContainer* actual_container) { #line 840 "rygel-external-container.c" GError * _inner_error_; #line 188 "rygel-external-container.vala" g_return_if_fail (self != NULL); #line 188 "rygel-external-container.vala" g_return_if_fail (actual_container != NULL); #line 846 "rygel-external-container.c" _inner_error_ = NULL; { #line 191 "rygel-external-container.vala" rygel_external_container_update_container (self, &_inner_error_); #line 851 "rygel-external-container.c" if (_inner_error_ != NULL) { goto __catch2_g_error; } } goto __finally2; __catch2_g_error: { GError * err; err = _inner_error_; _inner_error_ = NULL; { #line 193 "rygel-external-container.vala" g_warning ("rygel-external-container.vala:193: Failed to update information about " \ "container '%s': %s\n", ((RygelMediaObject*) self)->id, err->message); #line 865 "rygel-external-container.c" _g_error_free0 (err); } } __finally2: if (_inner_error_ != NULL) { 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; } #line 199 "rygel-external-container.vala" rygel_media_container_updated ((RygelMediaContainer*) self); #line 877 "rygel-external-container.c" }
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" }