Ejemplo n.º 1
0
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;
}
Ejemplo n.º 2
0
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;
}