tracker r1998 - in branches/indexer-split: . src/tracker-indexer
- From: ifrade svn gnome org
- To: svn-commits-list gnome org
- Subject: tracker r1998 - in branches/indexer-split: . src/tracker-indexer
- Date: Mon, 4 Aug 2008 16:40:38 +0000 (UTC)
Author: ifrade
Date: Mon Aug 4 16:40:38 2008
New Revision: 1998
URL: http://svn.gnome.org/viewvc/tracker?rev=1998&view=rev
Log:
Using gerror to send the proper error messages to the daemon
Modified:
branches/indexer-split/ChangeLog
branches/indexer-split/src/tracker-indexer/tracker-indexer.c
Modified: branches/indexer-split/src/tracker-indexer/tracker-indexer.c
==============================================================================
--- branches/indexer-split/src/tracker-indexer/tracker-indexer.c (original)
+++ branches/indexer-split/src/tracker-indexer/tracker-indexer.c Mon Aug 4 16:40:38 2008
@@ -87,6 +87,9 @@
#define THROTTLE_DEFAULT 0
#define THROTTLE_DEFAULT_ON_BATTERY 5
+#define TRACKER_INDEXER_ERROR "tracker-indexer-error-domain"
+#define TRACKER_INDEXER_ERROR_CODE 0
+
typedef struct PathInfo PathInfo;
typedef struct MetadataForeachData MetadataForeachData;
typedef struct MetadataRequest MetadataRequest;
@@ -1038,20 +1041,31 @@
const gchar *service_type,
const gchar *uri,
const gchar *property,
- GStrv values)
+ GStrv values,
+ GError **error)
{
TrackerService *service_def;
TrackerField *field_def;
guint service_id, i;
gchar *joined, *dirname, *basename;
+ g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
+
service_def = tracker_ontology_get_service_type_by_name (service_type);
if (!service_def) {
+ g_set_error (error,
+ g_quark_from_string (TRACKER_INDEXER_ERROR),
+ TRACKER_INDEXER_ERROR_CODE,
+ "Unknown service type: '%s'", service_type);
return FALSE;
}
field_def = tracker_ontology_get_field_def (property);
if (!field_def) {
+ g_set_error (error,
+ g_quark_from_string (TRACKER_INDEXER_ERROR),
+ TRACKER_INDEXER_ERROR_CODE,
+ "Unknown field type: '%s'", property);
return FALSE;
}
@@ -1064,7 +1078,10 @@
g_free (basename);
if (service_id < 1) {
- g_message ("Cannot delete file: it doesnt exist in DB");
+ g_set_error (error,
+ g_quark_from_string (TRACKER_INDEXER_ERROR),
+ TRACKER_INDEXER_ERROR_CODE,
+ "File '%s' doesnt exist in the DB", uri);
return FALSE;
}
@@ -1098,7 +1115,8 @@
const gchar *service_type,
const gchar *uri,
const gchar *property,
- GStrv values)
+ GStrv values,
+ GError **error)
{
TrackerService *service_def;
TrackerField *field_def;
@@ -1107,12 +1125,19 @@
service_def = tracker_ontology_get_service_type_by_name (service_type);
if (!service_def) {
+ g_set_error (error,
+ g_quark_from_string (TRACKER_INDEXER_ERROR),
+ TRACKER_INDEXER_ERROR_CODE,
+ "Unknown service type: '%s'", service_type);
return FALSE;
}
field_def = tracker_ontology_get_field_def (property);
if (!field_def) {
- g_message ("Unknow field %s", property);
+ g_set_error (error,
+ g_quark_from_string (TRACKER_INDEXER_ERROR),
+ TRACKER_INDEXER_ERROR_CODE,
+ "Unknown field type: '%s'", property);
return FALSE;
}
@@ -1125,7 +1150,10 @@
g_free (basename);
if (service_id < 1) {
- g_message ("Cannot delete file: it doesnt exist in DB");
+ g_set_error (error,
+ g_quark_from_string (TRACKER_INDEXER_ERROR),
+ TRACKER_INDEXER_ERROR_CODE,
+ "File '%s' doesnt exist in the DB", uri);
return FALSE;
}
@@ -1583,10 +1611,10 @@
property,
uri);
- if (!handle_metadata_add (indexer, service_type, uri, property, values)) {
+ if (!handle_metadata_add (indexer, service_type, uri, property, values, &actual_error)) {
tracker_dbus_request_failed (request_id,
&actual_error,
- "Unespecified error adding metadata");
+ NULL);
dbus_g_method_return_error (context, actual_error);
g_error_free (actual_error);
return;
@@ -1608,7 +1636,7 @@
GError **error) {
guint request_id;
- GError *actual_error;
+ GError *actual_error = NULL;
request_id = tracker_dbus_get_next_request_id ();
@@ -1624,10 +1652,10 @@
property,
uri);
- if (!handle_metadata_remove (indexer, service_type, uri, property, values)) {
+ if (!handle_metadata_remove (indexer, service_type, uri, property, values, &actual_error)) {
tracker_dbus_request_failed (request_id,
&actual_error,
- "Unespecified error deleting metadata");
+ NULL);
dbus_g_method_return_error (context, actual_error);
g_error_free (actual_error);
return;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]