コード例 #1
0
void QGalleryTrackerResultSetPrivate::run()
{
    iCache.values.clear();

    GError *error = 0;
    if (TrackerSparqlCursor *cursor = tracker_sparql_connection_query(
                connection, sparql.toUtf8(), 0, &error)) {
        const QVariant variant;
        while (tracker_sparql_cursor_next(cursor, 0, 0)) {
            const int rowWidth = qMin(tableWidth, tracker_sparql_cursor_get_n_columns(cursor));
            int i = 0;
            for (; i < rowWidth; ++i) {
                iCache.values.append(valueColumns.at(i)->toVariant(cursor, i));
            }
            for (; i < tableWidth; ++i)
                iCache.values.append(variant);
        }
        g_object_unref(G_OBJECT(cursor));
    } else {
        queryError = QDocumentGallery::FilterError;
        queryErrorString = QString::fromUtf8(error->message);
        g_error_free(error);
    }

    iCache.count = iCache.values.count() / tableWidth;

    synchronize();
}
コード例 #2
0
QSparqlBinding QTrackerDirectSyncResult::binding(int i) const
{
    // Note: this function reads and constructs the data again every time it's called.
    if (!cursor || pos() == QSparql::BeforeFirstRow || pos() == QSparql::AfterLastRow)
        return QSparqlBinding();

    // get the no. of columns only once; it won't change between rows
    if (n_columns < 0)
        n_columns = tracker_sparql_cursor_get_n_columns(cursor);

    if (i < 0 || i >= n_columns)
        return QSparqlBinding();

    const gchar* name = tracker_sparql_cursor_get_variable_name(cursor, i);
    const QVariant& value = readVariant(cursor, i);

    // A special case: we store TRACKER_SPARQL_VALUE_TYPE_INTEGER as longlong,
    // but its data type uri should be xsd:integer. Set it manually here.
    QSparqlBinding b;
    b.setName(QString::fromUtf8(name));
    if (value.type() == QVariant::LongLong) {
        b.setValue(value.toString(), *XSD::Integer());
    }
    else {
        b.setValue(value);
    }
    return b;
}
コード例 #3
0
QString QTrackerDirectSyncResult::stringValue(int i) const
{
    if (!cursor || pos() == QSparql::BeforeFirstRow || pos() == QSparql::AfterLastRow)
        return QString();

    // get the no. of columns only once; it won't change between rows
    if (n_columns < 0)
        n_columns = tracker_sparql_cursor_get_n_columns(cursor);

    if (i < 0 || i >= n_columns)
        return QString();

    return QString::fromUtf8(tracker_sparql_cursor_get_string(cursor, i, 0));
}
コード例 #4
0
QVariant QTrackerDirectSyncResult::value(int i) const
{
    // Note: this function re-constructs the data every time it's called.
    if (!cursor || pos() == QSparql::BeforeFirstRow || pos() == QSparql::AfterLastRow)
        return QVariant();

    // get the no. of columns only once; it won't change between rows
    if (n_columns < 0)
        n_columns = tracker_sparql_cursor_get_n_columns(cursor);

    if (i < 0 || i >= n_columns)
        return QVariant();

    return readVariant(cursor, i);
}
コード例 #5
0
QSparqlResultRow QTrackerDirectSyncResult::current() const
{
    // Note: this function reads and constructs the data again every time it's called.
    if (!cursor || pos() == QSparql::BeforeFirstRow || pos() == QSparql::AfterLastRow)
        return QSparqlResultRow();

    QSparqlResultRow resultRow;
    // get the no. of columns only once; it won't change between rows
    if (n_columns < 0)
        n_columns = tracker_sparql_cursor_get_n_columns(cursor);

    for (int i = 0; i < n_columns; i++) {
        resultRow.append(binding(i));
    }
    return resultRow;
}
コード例 #6
0
static void _vala_tracker_bus_fd_cursor_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec) {
	TrackerBusFDCursor * self;
	self = G_TYPE_CHECK_INSTANCE_CAST (object, TRACKER_BUS_TYPE_FD_CURSOR, TrackerBusFDCursor);
#line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	switch (property_id) {
#line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		case TRACKER_BUS_FD_CURSOR_N_COLUMNS:
#line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		g_value_set_int (value, tracker_sparql_cursor_get_n_columns ((TrackerSparqlCursor*) self));
#line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		break;
#line 753 "tracker-bus-fd-cursor.c"
		default:
#line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
#line 20 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		break;
#line 759 "tracker-bus-fd-cursor.c"
	}
}
コード例 #7
0
static gboolean tracker_bus_fd_cursor_real_next (TrackerSparqlCursor* base, GCancellable* cancellable, GError** error) {
	TrackerBusFDCursor * self;
	gboolean result = FALSE;
	gint last_offset = 0;
	gboolean _tmp0_ = FALSE;
	GCancellable* _tmp1_ = NULL;
	gulong _tmp5_ = 0UL;
	gulong _tmp6_ = 0UL;
	gint _tmp7_ = 0;
	gchar* _tmp8_ = NULL;
	gulong _tmp9_ = 0UL;
	gulong _tmp10_ = 0UL;
	gint _tmp11_ = 0;
	gint _tmp12_ = 0;
	gchar* _tmp13_ = NULL;
	gulong _tmp14_ = 0UL;
	gulong _tmp15_ = 0UL;
	gint _tmp16_ = 0;
	gint _tmp17_ = 0;
	gint _tmp18_ = 0;
	gchar* _tmp19_ = NULL;
	gulong _tmp20_ = 0UL;
	gulong _tmp21_ = 0UL;
	gint _tmp22_ = 0;
	GError * _inner_error_ = NULL;
#line 86 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self = (TrackerBusFDCursor*) base;
#line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp1_ = cancellable;
#line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	if (_tmp1_ != NULL) {
#line 402 "tracker-bus-fd-cursor.c"
		GCancellable* _tmp2_ = NULL;
		gboolean _tmp3_ = FALSE;
#line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp2_ = cancellable;
#line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp3_ = g_cancellable_is_cancelled (_tmp2_);
#line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp0_ = _tmp3_;
#line 411 "tracker-bus-fd-cursor.c"
	} else {
#line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp0_ = FALSE;
#line 415 "tracker-bus-fd-cursor.c"
	}
#line 89 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	if (_tmp0_) {
#line 419 "tracker-bus-fd-cursor.c"
		GError* _tmp4_ = NULL;
#line 90 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp4_ = g_error_new_literal (G_IO_ERROR, G_IO_ERROR_CANCELLED, "Operation was cancelled");
#line 90 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_inner_error_ = _tmp4_;
#line 90 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		g_propagate_error (error, _inner_error_);
#line 90 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		return FALSE;
#line 429 "tracker-bus-fd-cursor.c"
	}
#line 93 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp5_ = self->buffer_index;
#line 93 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp6_ = self->buffer_size;
#line 93 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	if (_tmp5_ >= _tmp6_) {
#line 94 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		result = FALSE;
#line 94 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		return result;
#line 441 "tracker-bus-fd-cursor.c"
	}
#line 104 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp7_ = tracker_bus_fd_cursor_buffer_read_int (self);
#line 104 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self->_n_columns = _tmp7_;
#line 108 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp8_ = self->buffer;
#line 108 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp9_ = self->buffer_index;
#line 108 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self->types = (gint*) (_tmp8_ + _tmp9_);
#line 109 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp10_ = self->buffer_index;
#line 109 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp11_ = tracker_sparql_cursor_get_n_columns ((TrackerSparqlCursor*) self);
#line 109 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp12_ = _tmp11_;
#line 109 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self->buffer_index = _tmp10_ + (sizeof (gint) * _tmp12_);
#line 111 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp13_ = self->buffer;
#line 111 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp14_ = self->buffer_index;
#line 111 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self->offsets = (gint*) (_tmp13_ + _tmp14_);
#line 112 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp15_ = self->buffer_index;
#line 112 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp16_ = tracker_sparql_cursor_get_n_columns ((TrackerSparqlCursor*) self);
#line 112 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp17_ = _tmp16_;
#line 112 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self->buffer_index = _tmp15_ + (sizeof (gint) * (_tmp17_ - 1));
#line 113 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp18_ = tracker_bus_fd_cursor_buffer_read_int (self);
#line 113 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	last_offset = _tmp18_;
#line 115 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp19_ = self->buffer;
#line 115 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp20_ = self->buffer_index;
#line 115 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self->data = _tmp19_ + _tmp20_;
#line 117 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp21_ = self->buffer_index;
#line 117 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp22_ = last_offset;
#line 117 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self->buffer_index = _tmp21_ + (_tmp22_ + 1);
#line 119 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	result = TRUE;
#line 119 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	return result;
#line 495 "tracker-bus-fd-cursor.c"
}
コード例 #8
0
static const gchar* tracker_bus_fd_cursor_real_get_string (TrackerSparqlCursor* base, gint column, glong* length) {
	TrackerBusFDCursor * self;
	glong _vala_length = 0L;
	const gchar* result = NULL;
	gint _tmp0_ = 0;
	gint _tmp1_ = 0;
	gint _tmp2_ = 0;
	gchar* _tmp3_ = NULL;
	const gchar* str = NULL;
	gint* _tmp4_ = NULL;
	gint _tmp5_ = 0;
	gint _tmp6_ = 0;
	gint _tmp7_ = 0;
	const gchar* _tmp13_ = NULL;
	gint _tmp14_ = 0;
	gint _tmp15_ = 0;
	const gchar* _tmp16_ = NULL;
#line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	self = (TrackerBusFDCursor*) base;
#line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp0_ = column;
#line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp1_ = tracker_sparql_cursor_get_n_columns ((TrackerSparqlCursor*) self);
#line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp2_ = _tmp1_;
#line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp3_ = self->data;
#line 65 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	g_return_val_if_fail ((_tmp0_ < _tmp2_) && (_tmp3_ != NULL), NULL);
#line 67 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	str = NULL;
#line 70 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp4_ = self->types;
#line 70 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp5_ = column;
#line 70 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp6_ = _tmp4_[_tmp5_];
#line 70 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	if (_tmp6_ == ((gint) TRACKER_SPARQL_VALUE_TYPE_UNBOUND)) {
#line 71 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_vala_length = (glong) 0;
#line 72 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		result = NULL;
#line 72 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		if (length) {
#line 72 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
			*length = _vala_length;
#line 313 "tracker-bus-fd-cursor.c"
		}
#line 72 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		return result;
#line 317 "tracker-bus-fd-cursor.c"
	}
#line 75 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp7_ = column;
#line 75 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	if (_tmp7_ == 0) {
#line 323 "tracker-bus-fd-cursor.c"
		gchar* _tmp8_ = NULL;
#line 76 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp8_ = self->data;
#line 76 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		str = (const gchar*) _tmp8_;
#line 329 "tracker-bus-fd-cursor.c"
	} else {
		gchar* _tmp9_ = NULL;
		gint* _tmp10_ = NULL;
		gint _tmp11_ = 0;
		gint _tmp12_ = 0;
#line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp9_ = self->data;
#line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp10_ = self->offsets;
#line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp11_ = column;
#line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		_tmp12_ = _tmp10_[_tmp11_ - 1];
#line 78 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		str = (const gchar*) ((_tmp9_ + _tmp12_) + 1);
#line 345 "tracker-bus-fd-cursor.c"
	}
#line 81 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp13_ = str;
#line 81 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp14_ = strlen (_tmp13_);
#line 81 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp15_ = _tmp14_;
#line 81 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_vala_length = (glong) _tmp15_;
#line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	_tmp16_ = str;
#line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	result = _tmp16_;
#line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	if (length) {
#line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
		*length = _vala_length;
#line 363 "tracker-bus-fd-cursor.c"
	}
#line 83 "/home/martyn/Source/checkout/gnome/tracker/src/libtracker-bus/tracker-bus-fd-cursor.vala"
	return result;
#line 367 "tracker-bus-fd-cursor.c"
}