RygelMediaContainer* rygel_media_container_construct_root (GType object_type, const char* title, gint child_count) { #line 332 "rygel-media-container.c" RygelMediaContainer * self; #line 57 "rygel-media-container.vala" g_return_val_if_fail (title != NULL, NULL); #line 59 "rygel-media-container.vala" self = (RygelMediaContainer*) rygel_media_container_construct (object_type, "0", NULL, title, child_count); #line 338 "rygel-media-container.c" return self; }
RygelFolderContainer* rygel_folder_container_construct (GType object_type, RygelMediaContainer* parent, GFile* file) { #line 362 "rygel-folder-container.c" RygelFolderContainer * self; char* _tmp0_; char* _tmp1_; char* id; char* _tmp2_; GFile* _tmp4_; GFile* _tmp3_; GeeArrayList* _tmp5_; GeeList* _tmp6_; #line 156 "rygel-folder-container.vala" g_return_val_if_fail (parent != NULL, NULL); #line 156 "rygel-folder-container.vala" g_return_val_if_fail (file != NULL, NULL); #line 720 "gio-2.0.vapi" _tmp0_ = NULL; #line 157 "rygel-folder-container.vala" _tmp1_ = NULL; #line 380 "rygel-folder-container.c" id = (_tmp1_ = g_compute_checksum_for_string (G_CHECKSUM_MD5, _tmp0_ = g_file_get_uri (file), -1), _tmp0_ = (g_free (_tmp0_), NULL), _tmp1_); #line 713 "gio-2.0.vapi" _tmp2_ = NULL; #line 160 "rygel-folder-container.vala" self = (RygelFolderContainer*) rygel_media_container_construct (object_type, id, parent, _tmp2_ = g_file_get_basename (file), (guint) 0); #line 386 "rygel-folder-container.c" _tmp2_ = (g_free (_tmp2_), NULL); _tmp4_ = NULL; #line 161 "rygel-folder-container.vala" _tmp3_ = NULL; #line 161 "rygel-folder-container.vala" self->priv->root_dir = (_tmp4_ = (_tmp3_ = file, (_tmp3_ == NULL) ? NULL : g_object_ref (_tmp3_)), (self->priv->root_dir == NULL) ? NULL : (self->priv->root_dir = (g_object_unref (self->priv->root_dir), NULL)), _tmp4_); #line 393 "rygel-folder-container.c" _tmp5_ = NULL; #line 163 "rygel-folder-container.vala" self->priv->items = (_tmp5_ = gee_array_list_new (RYGEL_TYPE_MEDIA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_direct_equal), (self->priv->items == NULL) ? NULL : (self->priv->items = (g_object_unref (self->priv->items), NULL)), _tmp5_); #line 164 "rygel-folder-container.vala" ((RygelMediaContainer*) self)->child_count = (guint) 0; #line 399 "rygel-folder-container.c" _tmp6_ = NULL; #line 165 "rygel-folder-container.vala" self->priv->results = (_tmp6_ = (GeeList*) gee_array_list_new (G_TYPE_ASYNC_RESULT, (GBoxedCopyFunc) g_object_ref, g_object_unref, g_direct_equal), (self->priv->results == NULL) ? NULL : (self->priv->results = (g_object_unref (self->priv->results), NULL)), _tmp6_); #line 403 "rygel-folder-container.c" id = (g_free (id), NULL); return self; }
RygelExternalContainer* rygel_external_container_construct (GType object_type, const char* id, const char* service_name, const char* object_path, const char* host_ip, RygelExternalContainer* parent) { #line 236 "rygel-external-container.c" GError * _inner_error_; RygelExternalContainer * self; char* _tmp0_; char* _tmp1_; char* _tmp2_; GeeArrayList* _tmp3_; #line 42 "rygel-external-container.vala" g_return_val_if_fail (id != NULL, NULL); #line 42 "rygel-external-container.vala" g_return_val_if_fail (service_name != NULL, NULL); #line 42 "rygel-external-container.vala" g_return_val_if_fail (object_path != NULL, NULL); #line 42 "rygel-external-container.vala" g_return_val_if_fail (host_ip != NULL, NULL); #line 251 "rygel-external-container.c" _inner_error_ = NULL; #line 47 "rygel-external-container.vala" self = (RygelExternalContainer*) rygel_media_container_construct (object_type, id, (RygelMediaContainer*) parent, "Uknown", 0); #line 49 "rygel-external-container.vala" self->service_name = (_tmp0_ = g_strdup (service_name), _g_free0 (self->service_name), _tmp0_); #line 50 "rygel-external-container.vala" self->priv->object_path = (_tmp1_ = g_strdup (object_path), _g_free0 (self->priv->object_path), _tmp1_); #line 51 "rygel-external-container.vala" self->host_ip = (_tmp2_ = g_strdup (host_ip), _g_free0 (self->host_ip), _tmp2_); #line 53 "rygel-external-container.vala" self->priv->containers = (_tmp3_ = gee_array_list_new (RYGEL_TYPE_EXTERNAL_CONTAINER, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL), _g_object_unref0 (self->priv->containers), _tmp3_); #line 263 "rygel-external-container.c" { DBusGConnection* connection; RygelExternalMediaContainer* _tmp4_; char* _tmp5_; #line 56 "rygel-external-container.vala" connection = dbus_g_bus_get (DBUS_BUS_SESSION, &_inner_error_); #line 270 "rygel-external-container.c" if (_inner_error_ != NULL) { goto __catch0_g_error; } #line 59 "rygel-external-container.vala" self->actual_container = (_tmp4_ = rygel_external_media_container_dbus_proxy_new (connection, service_name, object_path), _g_object_unref0 (self->actual_container), _tmp4_); #line 63 "rygel-external-container.vala" rygel_media_object_set_title ((RygelMediaObject*) self, _tmp5_ = rygel_external_media_object_get_display_name ((RygelExternalMediaObject*) self->actual_container)); #line 278 "rygel-external-container.c" _g_free0 (_tmp5_); #line 65 "rygel-external-container.vala" rygel_external_container_update_container (self, &_inner_error_); #line 282 "rygel-external-container.c" if (_inner_error_ != NULL) { _dbus_g_connection_unref0 (connection); goto __catch0_g_error; } #line 67 "rygel-external-container.vala" g_signal_connect_object (self->actual_container, "updated", (GCallback) _rygel_external_container_on_updated_rygel_external_media_container_updated, self, 0); #line 289 "rygel-external-container.c" _dbus_g_connection_unref0 (connection); } goto __finally0; __catch0_g_error: { GError * err; err = _inner_error_; _inner_error_ = NULL; { #line 69 "rygel-external-container.vala" g_critical ("rygel-external-container.vala:69: Failed to fetch information about co" \ "ntainer '%s': %s\n", ((RygelMediaObject*) self)->id, err->message); #line 301 "rygel-external-container.c" _g_error_free0 (err); } } __finally0: 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 NULL; } return self; }