コード例 #1
0
ファイル: GMenuEntries.c プロジェクト: fbrinkworth/slingscold
GeeArrayList* slingshot_backend_gmenu_entries_get_applications_for_category (GMenuTreeDirectory* category) {
    GeeArrayList* result = NULL;
    GeeArrayList* _tmp0_;
    GeeArrayList* entries;
    GMenuTreeDirectory* _tmp1_;
    GSList* _tmp2_ = NULL;
    g_return_val_if_fail (category != NULL, NULL);
    _tmp0_ = gee_array_list_new (G_TYPE_POINTER, (GBoxedCopyFunc) gmenu_tree_item_ref, gmenu_tree_item_unref, NULL);
    entries = _tmp0_;
    _tmp1_ = category;
    _tmp2_ = gmenu_tree_directory_get_contents (_tmp1_);
    {
        GSList* item_collection = NULL;
        GSList* item_it = NULL;
        item_collection = _tmp2_;
        for (item_it = item_collection; item_it != NULL; item_it = item_it->next) {
            GMenuTreeItem* _tmp3_;
            GMenuTreeItem* item = NULL;
            _tmp3_ = _gmenu_tree_item_ref0 ((GMenuTreeItem*) item_it->data);
            item = _tmp3_;
            {
                GMenuTreeItem* _tmp4_;
                GMenuTreeItemType _tmp5_ = 0;
                _tmp4_ = item;
                _tmp5_ = gmenu_tree_item_get_type (_tmp4_);
                switch (_tmp5_) {
                case GMENU_TREE_ITEM_DIRECTORY:
                {
                    GeeArrayList* _tmp6_;
                    GMenuTreeItem* _tmp7_;
                    GeeArrayList* _tmp8_ = NULL;
                    GeeArrayList* _tmp9_;
                    _tmp6_ = entries;
                    _tmp7_ = item;
                    _tmp8_ = slingshot_backend_gmenu_entries_get_applications_for_category ((GMenuTreeDirectory*) _tmp7_);
                    _tmp9_ = _tmp8_;
                    gee_abstract_collection_add_all ((GeeAbstractCollection*) _tmp6_, (GeeCollection*) _tmp9_);
                    _g_object_unref0 (_tmp9_);
                    break;
                }
                case GMENU_TREE_ITEM_ENTRY:
                {
                    GeeArrayList* _tmp10_;
                    GMenuTreeItem* _tmp11_;
                    _tmp10_ = entries;
                    _tmp11_ = item;
                    gee_abstract_collection_add ((GeeAbstractCollection*) _tmp10_, (GMenuTreeEntry*) _tmp11_);
                    break;
                }
                default:
                    break;
                }
                _gmenu_tree_item_unref0 (item);
            }
        }
    }
    result = entries;
    return result;
}
コード例 #2
0
static gboolean rygel_external_container_real_get_children_co (RygelExternalContainerGetChildrenData* data) {
	switch (data->_state_) {
		case 0:
		goto _state_0;
		case 1:
		goto _state_1;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		data->media_objects = gee_array_list_new (RYGEL_TYPE_MEDIA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
#line 83 "rygel-external-container.vala"
		gee_abstract_collection_add_all ((GeeAbstractCollection*) data->media_objects, (GeeCollection*) data->self->priv->containers);
#line 388 "rygel-external-container.c"
		data->obj_paths = (data->_tmp1_ = rygel_external_media_container_get_items (data->self->actual_container, &data->_tmp0_), data->obj_paths_length1 = data->_tmp0_, data->_obj_paths_size_ = data->obj_paths_length1, data->_tmp1_);
		data->factory = rygel_external_item_factory_new ();
		{
			data->obj_path_collection = data->obj_paths;
			data->obj_path_collection_length1 = data->obj_paths_length1;
			for (data->obj_path_it = 0; data->obj_path_it < data->obj_paths_length1; data->obj_path_it = data->obj_path_it + 1) {
				data->obj_path = g_strdup (data->obj_path_collection[data->obj_path_it]);
				{
					{
						data->_state_ = 1;
						rygel_external_item_factory_create_for_path (data->factory, data->obj_path, data->self, rygel_external_container_get_children_ready, data);
						return FALSE;
						_state_1:
						data->item = rygel_external_item_factory_create_for_path_finish (data->factory, data->_res_, &data->_inner_error_);
						if (data->_inner_error_ != NULL) {
							goto __catch1_g_error;
						}
#line 92 "rygel-external-container.vala"
						gee_abstract_collection_add ((GeeAbstractCollection*) data->media_objects, (RygelMediaObject*) data->item);
#line 408 "rygel-external-container.c"
						_g_object_unref0 (data->item);
					}
					goto __finally1;
					__catch1_g_error:
					{
						data->err = data->_inner_error_;
						data->_inner_error_ = NULL;
						{
#line 94 "rygel-external-container.vala"
							g_warning ("rygel-external-container.vala:94: Error initializable item at '%s': %s" \
". Ignoring..", data->obj_path, data->err->message);
#line 419 "rygel-external-container.c"
							_g_error_free0 (data->err);
						}
					}
					__finally1:
					if (data->_inner_error_ != NULL) {
						g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_);
						g_error_free (data->_inner_error_);
						_g_free0 (data->obj_path);
						_g_object_unref0 (data->media_objects);
						data->obj_paths = (_vala_array_free (data->obj_paths, data->obj_paths_length1, (GDestroyNotify) g_free), NULL);
						_rygel_external_item_factory_unref0 (data->factory);
						{
							if (data->_state_ == 0) {
								g_simple_async_result_complete_in_idle (data->_async_result);
							} else {
								g_simple_async_result_complete (data->_async_result);
							}
							g_object_unref (data->_async_result);
							return FALSE;
						}
					}
					_g_free0 (data->obj_path);
				}
			}
		}
		data->stop = data->offset + data->max_count;
#line 101 "rygel-external-container.vala"
		data->stop = CLAMP (data->stop, (guint) 0, (guint) gee_collection_get_size ((GeeCollection*) data->media_objects));
#line 448 "rygel-external-container.c"
		data->result = gee_abstract_list_slice ((GeeAbstractList*) data->media_objects, (gint) data->offset, (gint) data->stop);
		_g_object_unref0 (data->media_objects);
		data->obj_paths = (_vala_array_free (data->obj_paths, data->obj_paths_length1, (GDestroyNotify) g_free), NULL);
		_rygel_external_item_factory_unref0 (data->factory);
		{
			if (data->_state_ == 0) {
				g_simple_async_result_complete_in_idle (data->_async_result);
			} else {
				g_simple_async_result_complete (data->_async_result);
			}
			g_object_unref (data->_async_result);
			return FALSE;
		}
		_g_object_unref0 (data->media_objects);
		data->obj_paths = (_vala_array_free (data->obj_paths, data->obj_paths_length1, (GDestroyNotify) g_free), NULL);
		_rygel_external_item_factory_unref0 (data->factory);
	}
	{
		if (data->_state_ == 0) {
			g_simple_async_result_complete_in_idle (data->_async_result);
		} else {
			g_simple_async_result_complete (data->_async_result);
		}
		g_object_unref (data->_async_result);
		return FALSE;
	}
}
コード例 #3
0
static gboolean rygel_media_container_search_in_children_co (RygelMediaContainerSearchInChildrenData* data) {
	switch (data->_state_) {
		case 0:
		goto _state_0;
		case 30:
		goto _state_30;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		data->_result_ = gee_array_list_new (RYGEL_TYPE_MEDIA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
		{
			data->_child_it = gee_iterable_iterator ((GeeIterable*) data->children);
#line 245 "rygel-media-container.vala"
			while (TRUE) {
#line 245 "rygel-media-container.vala"
				if (!gee_iterator_next (data->_child_it)) {
#line 245 "rygel-media-container.vala"
					break;
#line 1033 "rygel-media-container.c"
				}
				data->child = (RygelMediaObject*) gee_iterator_get (data->_child_it);
#line 246 "rygel-media-container.vala"
				if (RYGEL_IS_MEDIA_CONTAINER (data->child)) {
#line 1038 "rygel-media-container.c"
					data->container = _g_object_ref0 ((data->_tmp0_ = data->child, RYGEL_IS_MEDIA_CONTAINER (data->_tmp0_) ? ((RygelMediaContainer*) data->_tmp0_) : NULL));
					data->_state_ = 30;
					rygel_media_container_search (data->container, data->expression, (guint) 0, data->limit, data->cancellable, rygel_media_container_search_in_children_ready, data);
					return FALSE;
					_state_30:
					data->child_result = rygel_media_container_search_finish (data->container, data->_res_, &data->tmp, &data->_inner_error_);
					if (data->_inner_error_ != NULL) {
						g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_);
						g_error_free (data->_inner_error_);
						_g_object_unref0 (data->container);
						_g_object_unref0 (data->child);
						_g_object_unref0 (data->_child_it);
						_g_object_unref0 (data->_result_);
						{
							if (data->_state_ == 0) {
								g_simple_async_result_complete_in_idle (data->_async_result);
							} else {
								g_simple_async_result_complete (data->_async_result);
							}
							g_object_unref (data->_async_result);
							return FALSE;
						}
					}
#line 256 "rygel-media-container.vala"
					gee_abstract_collection_add_all ((GeeAbstractCollection*) data->_result_, (GeeCollection*) data->child_result);
#line 1064 "rygel-media-container.c"
					_g_object_unref0 (data->container);
					_g_object_unref0 (data->child_result);
				}
#line 259 "rygel-media-container.vala"
				if (data->limit > 0) {
#line 259 "rygel-media-container.vala"
					data->_tmp1_ = gee_collection_get_size ((GeeCollection*) data->_result_) >= data->limit;
#line 1072 "rygel-media-container.c"
				} else {
#line 259 "rygel-media-container.vala"
					data->_tmp1_ = FALSE;
#line 1076 "rygel-media-container.c"
				}
#line 259 "rygel-media-container.vala"
				if (data->_tmp1_) {
#line 1080 "rygel-media-container.c"
					_g_object_unref0 (data->child);
#line 260 "rygel-media-container.vala"
					break;
#line 1084 "rygel-media-container.c"
				}
				_g_object_unref0 (data->child);
			}
			_g_object_unref0 (data->_child_it);
		}
		data->result = (GeeList*) data->_result_;
		{
			if (data->_state_ == 0) {
				g_simple_async_result_complete_in_idle (data->_async_result);
			} else {
				g_simple_async_result_complete (data->_async_result);
			}
			g_object_unref (data->_async_result);
			return FALSE;
		}
		_g_object_unref0 (data->_result_);
	}
	{
		if (data->_state_ == 0) {
			g_simple_async_result_complete_in_idle (data->_async_result);
		} else {
			g_simple_async_result_complete (data->_async_result);
		}
		g_object_unref (data->_async_result);
		return FALSE;
	}
}
コード例 #4
0
static gboolean rygel_media_container_real_search_co (RygelMediaContainerSearchData* data) {
	switch (data->_state_) {
		case 0:
		goto _state_0;
		case 25:
		goto _state_25;
		case 26:
		goto _state_26;
		default:
		g_assert_not_reached ();
	}
	_state_0:
	{
		data->_result_ = gee_array_list_new (RYGEL_TYPE_MEDIA_OBJECT, (GBoxedCopyFunc) g_object_ref, g_object_unref, NULL);
		data->_state_ = 25;
		rygel_media_container_get_children (data->self, (guint) 0, (guint) data->self->child_count, data->cancellable, rygel_media_container_search_ready, data);
		return FALSE;
		_state_25:
		data->children = rygel_media_container_get_children_finish (data->self, data->_res_, &data->_inner_error_);
		if (data->_inner_error_ != NULL) {
			g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_);
			g_error_free (data->_inner_error_);
			_g_object_unref0 (data->_result_);
			{
				if (data->_state_ == 0) {
					g_simple_async_result_complete_in_idle (data->_async_result);
				} else {
					g_simple_async_result_complete (data->_async_result);
				}
				g_object_unref (data->_async_result);
				return FALSE;
			}
		}
#line 108 "rygel-media-container.vala"
		if (data->offset > 0) {
#line 108 "rygel-media-container.vala"
			data->_tmp0_ = TRUE;
#line 454 "rygel-media-container.c"
		} else {
#line 108 "rygel-media-container.vala"
			data->_tmp0_ = data->max_count > 0;
#line 458 "rygel-media-container.c"
		}
#line 108 "rygel-media-container.vala"
		if (data->_tmp0_) {
#line 109 "rygel-media-container.vala"
			data->limit = data->offset + data->max_count;
#line 464 "rygel-media-container.c"
		} else {
#line 111 "rygel-media-container.vala"
			data->limit = (guint) 0;
#line 468 "rygel-media-container.c"
		}
		{
			data->_child_it = gee_iterable_iterator ((GeeIterable*) data->children);
#line 115 "rygel-media-container.vala"
			while (TRUE) {
#line 115 "rygel-media-container.vala"
				if (!gee_iterator_next (data->_child_it)) {
#line 115 "rygel-media-container.vala"
					break;
#line 478 "rygel-media-container.c"
				}
				data->child = (RygelMediaObject*) gee_iterator_get (data->_child_it);
#line 116 "rygel-media-container.vala"
				if (data->expression == NULL) {
#line 116 "rygel-media-container.vala"
					data->_tmp1_ = TRUE;
#line 485 "rygel-media-container.c"
				} else {
#line 116 "rygel-media-container.vala"
					data->_tmp1_ = rygel_search_expression_satisfied_by (data->expression, data->child);
#line 489 "rygel-media-container.c"
				}
#line 116 "rygel-media-container.vala"
				if (data->_tmp1_) {
#line 117 "rygel-media-container.vala"
					gee_abstract_collection_add ((GeeAbstractCollection*) data->_result_, data->child);
#line 495 "rygel-media-container.c"
				}
#line 120 "rygel-media-container.vala"
				if (data->limit > 0) {
#line 120 "rygel-media-container.vala"
					data->_tmp2_ = gee_collection_get_size ((GeeCollection*) data->_result_) >= data->limit;
#line 501 "rygel-media-container.c"
				} else {
#line 120 "rygel-media-container.vala"
					data->_tmp2_ = FALSE;
#line 505 "rygel-media-container.c"
				}
#line 120 "rygel-media-container.vala"
				if (data->_tmp2_) {
#line 509 "rygel-media-container.c"
					_g_object_unref0 (data->child);
#line 121 "rygel-media-container.vala"
					break;
#line 513 "rygel-media-container.c"
				}
				_g_object_unref0 (data->child);
			}
			_g_object_unref0 (data->_child_it);
		}
#line 125 "rygel-media-container.vala"
		if (data->limit == 0) {
#line 125 "rygel-media-container.vala"
			data->_tmp3_ = TRUE;
#line 523 "rygel-media-container.c"
		} else {
#line 125 "rygel-media-container.vala"
			data->_tmp3_ = gee_collection_get_size ((GeeCollection*) data->_result_) < data->limit;
#line 527 "rygel-media-container.c"
		}
#line 125 "rygel-media-container.vala"
		if (data->_tmp3_) {
#line 127 "rygel-media-container.vala"
			if (data->limit == 0) {
#line 127 "rygel-media-container.vala"
				data->_tmp4_ = (guint) 0;
#line 535 "rygel-media-container.c"
			} else {
#line 127 "rygel-media-container.vala"
				data->_tmp4_ = data->limit - gee_collection_get_size ((GeeCollection*) data->_result_);
#line 539 "rygel-media-container.c"
			}
			data->child_limit = data->_tmp4_;
			data->_state_ = 26;
			rygel_media_container_search_in_children (data->self, data->expression, data->children, data->child_limit, data->cancellable, rygel_media_container_search_ready, data);
			return FALSE;
			_state_26:
			data->child_results = rygel_media_container_search_in_children_finish (data->self, data->_res_, &data->_inner_error_);
			if (data->_inner_error_ != NULL) {
				g_simple_async_result_set_from_error (data->_async_result, data->_inner_error_);
				g_error_free (data->_inner_error_);
				_g_object_unref0 (data->_result_);
				_g_object_unref0 (data->children);
				{
					if (data->_state_ == 0) {
						g_simple_async_result_complete_in_idle (data->_async_result);
					} else {
						g_simple_async_result_complete (data->_async_result);
					}
					g_object_unref (data->_async_result);
					return FALSE;
				}
			}
#line 133 "rygel-media-container.vala"
			gee_abstract_collection_add_all ((GeeAbstractCollection*) data->_result_, (GeeCollection*) data->child_results);
#line 564 "rygel-media-container.c"
			_g_object_unref0 (data->child_results);
		}
#line 137 "rygel-media-container.vala"
		if (gee_collection_get_size ((GeeCollection*) data->_result_) > 0) {
#line 137 "rygel-media-container.vala"
			data->_tmp5_ = data->limit > 0;
#line 571 "rygel-media-container.c"
		} else {
#line 137 "rygel-media-container.vala"
			data->_tmp5_ = FALSE;
#line 575 "rygel-media-container.c"
		}
#line 137 "rygel-media-container.vala"
		if (data->_tmp5_) {
#line 141 "rygel-media-container.vala"
			data->start = CLAMP (data->offset, (guint) 0, (guint) (gee_collection_get_size ((GeeCollection*) data->_result_) - 1));
#line 143 "rygel-media-container.vala"
			if (data->max_count != 0) {
#line 143 "rygel-media-container.vala"
				data->_tmp6_ = (data->start + data->max_count) <= gee_collection_get_size ((GeeCollection*) data->_result_);
#line 585 "rygel-media-container.c"
			} else {
#line 143 "rygel-media-container.vala"
				data->_tmp6_ = FALSE;
#line 589 "rygel-media-container.c"
			}
#line 143 "rygel-media-container.vala"
			if (data->_tmp6_) {
#line 144 "rygel-media-container.vala"
				data->stop = data->start + data->max_count;
#line 595 "rygel-media-container.c"
			} else {
#line 146 "rygel-media-container.vala"
				data->stop = (guint) gee_collection_get_size ((GeeCollection*) data->_result_);
#line 599 "rygel-media-container.c"
			}
#line 151 "rygel-media-container.vala"
			data->total_matches = (guint) 0;
#line 603 "rygel-media-container.c"
			data->result = gee_abstract_list_slice ((GeeAbstractList*) data->_result_, (gint) data->start, (gint) data->stop);
			_g_object_unref0 (data->_result_);
			_g_object_unref0 (data->children);
			{
				if (data->_state_ == 0) {
					g_simple_async_result_complete_in_idle (data->_async_result);
				} else {
					g_simple_async_result_complete (data->_async_result);
				}
				g_object_unref (data->_async_result);
				return FALSE;
			}
		} else {
#line 155 "rygel-media-container.vala"
			data->total_matches = (guint) gee_collection_get_size ((GeeCollection*) data->_result_);
#line 619 "rygel-media-container.c"
			data->result = (GeeList*) data->_result_;
			_g_object_unref0 (data->children);
			{
				if (data->_state_ == 0) {
					g_simple_async_result_complete_in_idle (data->_async_result);
				} else {
					g_simple_async_result_complete (data->_async_result);
				}
				g_object_unref (data->_async_result);
				return FALSE;
			}
		}
		_g_object_unref0 (data->_result_);
		_g_object_unref0 (data->children);
	}
	{
		if (data->_state_ == 0) {
			g_simple_async_result_complete_in_idle (data->_async_result);
		} else {
			g_simple_async_result_complete (data->_async_result);
		}
		g_object_unref (data->_async_result);
		return FALSE;
	}
}
コード例 #5
0
GeeList* rygel_media_export_dynamic_container_get_uris (RygelMediaExportDynamicContainer* self) {
#line 132 "rygel-media-export-dynamic-container.c"
	GeeList* result = NULL;
	GError * _inner_error_;
	GeeArrayList* _result_;
#line 31 "rygel-media-export-dynamic-container.vala"
	g_return_val_if_fail (self != NULL, NULL);
#line 138 "rygel-media-export-dynamic-container.c"
	_inner_error_ = NULL;
#line 32 "rygel-media-export-dynamic-container.vala"
	_result_ = gee_array_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL);
#line 142 "rygel-media-export-dynamic-container.c"
	{
		GeeArrayList* children;
#line 35 "rygel-media-export-dynamic-container.vala"
		children = rygel_media_export_media_cache_get_children (((RygelMediaExportDBContainer*) self)->media_db, ((RygelMediaObject*) self)->id, (glong) (-1), (glong) (-1), &_inner_error_);
#line 147 "rygel-media-export-dynamic-container.c"
		if (_inner_error_ != NULL) {
			goto __catch15_g_error;
		}
#line 36 "rygel-media-export-dynamic-container.vala"
		if (children != NULL) {
#line 153 "rygel-media-export-dynamic-container.c"
			{
				GeeIterator* _child_it;
				_child_it = gee_abstract_collection_iterator ((GeeAbstractCollection*) children);
#line 37 "rygel-media-export-dynamic-container.vala"
				while (TRUE) {
#line 159 "rygel-media-export-dynamic-container.c"
					RygelMediaObject* child;
#line 37 "rygel-media-export-dynamic-container.vala"
					if (!gee_iterator_next (_child_it)) {
#line 37 "rygel-media-export-dynamic-container.vala"
						break;
#line 165 "rygel-media-export-dynamic-container.c"
					}
#line 37 "rygel-media-export-dynamic-container.vala"
					child = (RygelMediaObject*) gee_iterator_get (_child_it);
#line 38 "rygel-media-export-dynamic-container.vala"
					gee_abstract_collection_add_all ((GeeAbstractCollection*) _result_, (GeeCollection*) child->uris);
#line 171 "rygel-media-export-dynamic-container.c"
					_g_object_unref0 (child);
				}
				_g_object_unref0 (_child_it);
			}
		}
		_g_object_unref0 (children);
	}
	goto __finally15;
	__catch15_g_error:
	{
		GError * err;
		err = _inner_error_;
		_inner_error_ = NULL;
		{
			_g_error_free0 (err);
		}
	}
	__finally15:
	if (_inner_error_ != NULL) {
		_g_object_unref0 (_result_);
		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;
	}
	result = (GeeList*) _result_;
#line 43 "rygel-media-export-dynamic-container.vala"
	return result;
#line 199 "rygel-media-export-dynamic-container.c"
}