コード例 #1
0
/* Pubic methods*/
static RygelMediaContainer* rygel_external_content_dir_real_create_root_container (RygelContentDirectory* base) {
	RygelExternalContentDir * self;
	ExternalPlugin* _tmp2_;
	GUPnPRootDevice* _tmp1_;
	GUPnPRootDevice* _tmp0_;
	ExternalPlugin* _tmp3_;
	ExternalPlugin* plugin;
	RygelMediaContainer* _tmp4_;
	self = (RygelExternalContentDir*) base;
	_tmp2_ = NULL;
	_tmp1_ = NULL;
	_tmp0_ = NULL;
	_tmp3_ = NULL;
	plugin = (_tmp3_ = (_tmp2_ = EXTERNAL_PLUGIN (gupnp_device_info_get_resource_factory ((GUPnPDeviceInfo*) (_tmp1_ = (g_object_get ((GUPnPService*) self, "root-device", &_tmp0_, NULL), _tmp0_)))), (_tmp2_ == NULL) ? NULL : g_object_ref (_tmp2_)), (_tmp1_ == NULL) ? NULL : (_tmp1_ = (g_object_unref (_tmp1_), NULL)), _tmp3_);
	_tmp4_ = NULL;
	return (_tmp4_ = (RygelMediaContainer*) rygel_external_container_new ("0", plugin->service_name, plugin->root_object, gupnp_context_get_host_ip (gupnp_service_info_get_context ((GUPnPServiceInfo*) self)), NULL), (plugin == NULL) ? NULL : (plugin = (g_object_unref (plugin), NULL)), _tmp4_);
}
コード例 #2
0
static void rygel_external_container_update_container (RygelExternalContainer* self, GError** error) {
#line 794 "rygel-external-container.c"
	char** _tmp1_;
	gint _obj_paths_size_;
	gint obj_paths_length1;
	gint _tmp0_;
	char** obj_paths;
#line 170 "rygel-external-container.vala"
	g_return_if_fail (self != NULL);
#line 171 "rygel-external-container.vala"
	gee_abstract_collection_clear ((GeeAbstractCollection*) self->priv->containers);
#line 804 "rygel-external-container.c"
	obj_paths = (_tmp1_ = rygel_external_media_container_get_containers (self->actual_container, &_tmp0_), obj_paths_length1 = _tmp0_, _obj_paths_size_ = obj_paths_length1, _tmp1_);
	{
		char** obj_path_collection;
		int obj_path_collection_length1;
		int obj_path_it;
#line 174 "rygel-external-container.vala"
		obj_path_collection = obj_paths;
#line 812 "rygel-external-container.c"
		obj_path_collection_length1 = obj_paths_length1;
		for (obj_path_it = 0; obj_path_it < obj_paths_length1; obj_path_it = obj_path_it + 1) {
			char* obj_path;
			obj_path = g_strdup (obj_path_collection[obj_path_it]);
			{
				char* _tmp2_;
				RygelExternalContainer* _tmp3_;
				RygelExternalContainer* container;
#line 175 "rygel-external-container.vala"
				container = (_tmp3_ = rygel_external_container_new (_tmp2_ = g_strconcat ("container:", (const char*) obj_path, NULL), self->service_name, obj_path, self->host_ip, self), _g_free0 (_tmp2_), _tmp3_);
#line 181 "rygel-external-container.vala"
				gee_abstract_collection_add ((GeeAbstractCollection*) self->priv->containers, container);
#line 825 "rygel-external-container.c"
				_g_free0 (obj_path);
				_g_object_unref0 (container);
			}
		}
	}
#line 184 "rygel-external-container.vala"
	((RygelMediaContainer*) self)->child_count = gee_collection_get_size ((GeeCollection*) self->priv->containers) + ((gint) rygel_external_media_container_get_item_count (self->actual_container));
#line 833 "rygel-external-container.c"
	obj_paths = (_vala_array_free (obj_paths, obj_paths_length1, (GDestroyNotify) g_free), NULL);
}