static guint _mex_grilo_feed_query (MexGriloFeed *feed, const char *query, int offset, int limit, GrlSourceResultCb callback) { MexGriloFeedPrivate *priv = feed->priv; GrlOperationOptions *options; int op_id; options = grl_operation_options_new (NULL); grl_operation_options_set_flags (options, BROWSE_FLAGS); grl_operation_options_set_skip (options, priv->op->offset); grl_operation_options_set_count (options, priv->op->limit); op_id = grl_source_query (priv->source, priv->op->text, priv->query_keys, options, callback, feed); g_object_unref (options); return op_id; }
bool GriloQuery::refresh() { cancelRefresh(); if (!m_registry) { qWarning() << "GriloRegistry not set"; return false; } if (m_source.isEmpty()) { qWarning() << "source id not set"; return false; } GrlSource *src = m_registry->lookupSource(m_source); if (!src) { qWarning() << "Failed to get source" << m_source; return false; } GList *keys = keysAsList(); GrlOperationOptions *options = operationOptions(src, Search); m_opId = grl_source_query(src, m_query.toUtf8().data(), keys, options, grilo_source_result_cb, this); g_object_unref(options); g_list_free(keys); return m_opId != 0; }