SVN revision: 41397
This commit is contained in:
Gustavo Sverzut Barbieri 2009-07-17 14:44:11 +00:00
parent df0ea7a123
commit 6aa85b1cf9
1 changed files with 127 additions and 129 deletions

View File

@ -58,24 +58,24 @@ static const char fdo_path[] = "/org/freedesktop/DBus";
struct _Ethumb_Setup struct _Ethumb_Setup
{ {
struct struct
{ {
Eina_Bool fdo : 1; Eina_Bool fdo : 1;
Eina_Bool size : 1; Eina_Bool size : 1;
Eina_Bool format : 1; Eina_Bool format : 1;
Eina_Bool aspect : 1; Eina_Bool aspect : 1;
Eina_Bool crop : 1; Eina_Bool crop : 1;
Eina_Bool quality : 1; Eina_Bool quality : 1;
Eina_Bool compress : 1; Eina_Bool compress : 1;
Eina_Bool directory : 1; Eina_Bool directory : 1;
Eina_Bool category : 1; Eina_Bool category : 1;
Eina_Bool frame : 1; Eina_Bool frame : 1;
Eina_Bool video_time : 1; Eina_Bool video_time : 1;
Eina_Bool video_start : 1; Eina_Bool video_start : 1;
Eina_Bool video_interval : 1; Eina_Bool video_interval : 1;
Eina_Bool video_ntimes : 1; Eina_Bool video_ntimes : 1;
Eina_Bool video_fps : 1; Eina_Bool video_fps : 1;
Eina_Bool document_page : 1; Eina_Bool document_page : 1;
} flags; } flags;
int fdo; int fdo;
int tw, th; int tw, th;
int format; int format;
@ -171,18 +171,18 @@ const Ecore_Getopt optdesc = {
"(C) 2009 - ProFUSION embedded systems", "(C) 2009 - ProFUSION embedded systems",
"LGPL v3 - GNU Lesser General Public License", "LGPL v3 - GNU Lesser General Public License",
"Ethumb daemon.\n" "Ethumb daemon.\n"
"\n" "\n"
"ethumbd uses the Ethumb library to create thumbnails for any " "ethumbd uses the Ethumb library to create thumbnails for any "
"program that requests it (now just by dbus).\n", "program that requests it (now just by dbus).\n",
0, 0,
{ {
ECORE_GETOPT_STORE_DOUBLE ECORE_GETOPT_STORE_DOUBLE
('t', "timeout", "finish ethumbd after <timeout> seconds of no activity."), ('t', "timeout", "finish ethumbd after <timeout> seconds of no activity."),
ECORE_GETOPT_LICENSE('L', "license"), ECORE_GETOPT_LICENSE('L', "license"),
ECORE_GETOPT_COPYRIGHT('C', "copyright"), ECORE_GETOPT_COPYRIGHT('C', "copyright"),
ECORE_GETOPT_VERSION('V', "version"), ECORE_GETOPT_VERSION('V', "version"),
ECORE_GETOPT_HELP('h', "help"), ECORE_GETOPT_HELP('h', "help"),
ECORE_GETOPT_SENTINEL ECORE_GETOPT_SENTINEL
} }
}; };
@ -423,8 +423,8 @@ _generated_cb(struct _Ethumbd *ed, Eina_Bool success, const char *thumb_path, co
DBG("thumbnail ready at: \"%s:%s\"\n", thumb_path, thumb_key); DBG("thumbnail ready at: \"%s:%s\"\n", thumb_path, thumb_key);
if (ed->queue.table[i].used) if (ed->queue.table[i].used)
_ethumb_dbus_generated_signal(ed, &ed->processing->id, thumb_path, _ethumb_dbus_generated_signal
thumb_key, success); (ed, &ed->processing->id, thumb_path, thumb_key, success);
eina_stringshare_del(ed->processing->file); eina_stringshare_del(ed->processing->file);
eina_stringshare_del(ed->processing->key); eina_stringshare_del(ed->processing->key);
eina_stringshare_del(ed->processing->thumb); eina_stringshare_del(ed->processing->thumb);
@ -584,9 +584,9 @@ _process_setup(struct _Ethumbd *ed)
static void static void
_process_file(struct _Ethumbd *ed) _process_file(struct _Ethumbd *ed)
{ {
_ethumbd_child_write_op_generate(ed, ed->queue.current, ed->processing->file, _ethumbd_child_write_op_generate
ed->processing->key, ed->processing->thumb, (ed, ed->queue.current, ed->processing->file,
ed->processing->thumb_key); ed->processing->key, ed->processing->thumb, ed->processing->thumb_key);
} }
static int static int
@ -641,7 +641,7 @@ _process_queue_cb(void *data)
eobject->queue = eina_list_remove_list(eobject->queue, eobject->queue); eobject->queue = eina_list_remove_list(eobject->queue, eobject->queue);
ed->queue.current = i; ed->queue.current = i;
DBG("processing file: \"%s:%s\"...\n", request->file, DBG("processing file: \"%s:%s\"...\n", request->file,
request->key); request->key);
ed->processing = request; ed->processing = request;
if (request->id < 0) if (request->id < 0)
@ -795,13 +795,13 @@ _name_owner_changed_cb(void *data, DBusMessage *msg)
dbus_error_init(&err); dbus_error_init(&err);
if (!dbus_message_get_args(msg, &err, if (!dbus_message_get_args(msg, &err,
DBUS_TYPE_STRING, &name, DBUS_TYPE_STRING, &name,
DBUS_TYPE_STRING, &from, DBUS_TYPE_STRING, &from,
DBUS_TYPE_STRING, &to, DBUS_TYPE_STRING, &to,
DBUS_TYPE_INVALID)) DBUS_TYPE_INVALID))
{ {
ERR("could not get NameOwnerChanged arguments: %s: %s\n", ERR("could not get NameOwnerChanged arguments: %s: %s\n",
err.name, err.message); err.name, err.message);
dbus_error_free(&err); dbus_error_free(&err);
return; return;
} }
@ -825,8 +825,8 @@ _name_owner_changed_cb(void *data, DBusMessage *msg)
static void static void
_ethumb_dbus_add_name_owner_changed_cb(struct _Ethumbd *ed) _ethumb_dbus_add_name_owner_changed_cb(struct _Ethumbd *ed)
{ {
ed->name_owner_changed_handler = e_dbus_signal_handler_add( ed->name_owner_changed_handler = e_dbus_signal_handler_add
ed->conn, fdo_bus_name, fdo_path, fdo_interface, "NameOwnerChanged", (ed->conn, fdo_bus_name, fdo_path, fdo_interface, "NameOwnerChanged",
_name_owner_changed_cb, ed); _name_owner_changed_cb, ed);
} }
@ -871,7 +871,7 @@ _ethumb_dbus_ethumb_new_cb(E_DBus_Object *object, DBusMessage *msg)
_ethumbd_child_write_op_new(ed, i); _ethumbd_child_write_op_new(ed, i);
_ethumbd_timeout_stop(ed); _ethumbd_timeout_stop(ed);
end_new: end_new:
reply = dbus_message_new_method_return(msg); reply = dbus_message_new_method_return(msg);
dbus_message_iter_init_append(reply, &iter); dbus_message_iter_init_append(reply, &iter);
dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH, dbus_message_iter_append_basic(&iter, DBUS_TYPE_OBJECT_PATH,
@ -880,10 +880,10 @@ end_new:
} }
static struct _Ethumb_DBus_Method_Table _ethumb_dbus_methods[] = static struct _Ethumb_DBus_Method_Table _ethumb_dbus_methods[] =
{ {
{ "new", "", "o", _ethumb_dbus_ethumb_new_cb }, {"new", "", "o", _ethumb_dbus_ethumb_new_cb},
{ } {NULL, NULL, NULL, NULL}
}; };
static const char * static const char *
_ethumb_dbus_get_bytearray(DBusMessageIter *iter) _ethumb_dbus_get_bytearray(DBusMessageIter *iter)
@ -918,8 +918,8 @@ _ethumb_dbus_append_bytearray(DBusMessageIter *iter, const char *string)
string = ""; string = "";
dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "y", &viter); dbus_message_iter_open_container(iter, DBUS_TYPE_ARRAY, "y", &viter);
dbus_message_iter_append_fixed_array(&viter, DBUS_TYPE_BYTE, &string, dbus_message_iter_append_fixed_array
strlen(string) + 1); (&viter, DBUS_TYPE_BYTE, &string, strlen(string) + 1);
dbus_message_iter_close_container(iter, &viter); dbus_message_iter_close_container(iter, &viter);
} }
@ -977,7 +977,7 @@ _ethumb_dbus_queue_add_cb(E_DBus_Object *object, DBusMessage *msg)
_process_queue_start(ed); _process_queue_start(ed);
end: end:
reply = dbus_message_new_method_return(msg); reply = dbus_message_new_method_return(msg);
dbus_message_iter_init_append(reply, &iter); dbus_message_iter_init_append(reply, &iter);
dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &id); dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &id);
@ -1032,7 +1032,7 @@ _ethumb_dbus_queue_remove_cb(E_DBus_Object *object, DBusMessage *msg)
_ethumb_dbus_inc_min_id(eobject); _ethumb_dbus_inc_min_id(eobject);
} }
end: end:
reply = dbus_message_new_method_return(msg); reply = dbus_message_new_method_return(msg);
dbus_message_iter_init_append(reply, &iter); dbus_message_iter_init_append(reply, &iter);
dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &r); dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &r);
@ -1071,7 +1071,7 @@ _ethumb_dbus_queue_clear_cb(E_DBus_Object *object, DBusMessage *msg)
ed->queue.nqueue -= eobject->nqueue; ed->queue.nqueue -= eobject->nqueue;
eobject->nqueue = 0; eobject->nqueue = 0;
end: end:
reply = dbus_message_new_method_return(msg); reply = dbus_message_new_method_return(msg);
return reply; return reply;
} }
@ -1101,7 +1101,7 @@ _ethumb_dbus_delete_cb(E_DBus_Object *object, DBusMessage *msg)
} }
static int static int
_ethumb_dbus_fdo_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_fdo_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request __UNUSED__)
{ {
int type; int type;
dbus_int32_t fdo; dbus_int32_t fdo;
@ -1120,7 +1120,7 @@ _ethumb_dbus_fdo_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, stru
} }
static int static int
_ethumb_dbus_size_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_size_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
DBusMessageIter oiter; DBusMessageIter oiter;
int type; int type;
@ -1146,7 +1146,7 @@ _ethumb_dbus_size_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, str
} }
static int static int
_ethumb_dbus_format_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_format_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
dbus_int32_t format; dbus_int32_t format;
@ -1167,7 +1167,7 @@ _ethumb_dbus_format_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, s
} }
static int static int
_ethumb_dbus_aspect_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_aspect_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
dbus_int32_t aspect; dbus_int32_t aspect;
@ -1188,7 +1188,7 @@ _ethumb_dbus_aspect_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, s
} }
static int static int
_ethumb_dbus_crop_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_crop_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
DBusMessageIter oiter; DBusMessageIter oiter;
int type; int type;
@ -1214,7 +1214,7 @@ _ethumb_dbus_crop_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, str
} }
static int static int
_ethumb_dbus_quality_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_quality_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
dbus_int32_t quality; dbus_int32_t quality;
@ -1236,7 +1236,7 @@ _ethumb_dbus_quality_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter,
static int static int
_ethumb_dbus_compress_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_compress_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
dbus_int32_t compress; dbus_int32_t compress;
@ -1257,7 +1257,7 @@ _ethumb_dbus_compress_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter,
} }
static int static int
_ethumb_dbus_frame_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_frame_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
DBusMessageIter oiter; DBusMessageIter oiter;
int type; int type;
@ -1286,7 +1286,7 @@ _ethumb_dbus_frame_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, st
} }
static int static int
_ethumb_dbus_directory_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_directory_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
const char *directory; const char *directory;
@ -1307,7 +1307,7 @@ _ethumb_dbus_directory_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter
} }
static int static int
_ethumb_dbus_category_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_category_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
const char *category; const char *category;
@ -1328,7 +1328,7 @@ _ethumb_dbus_category_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter,
} }
static int static int
_ethumb_dbus_video_time_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_video_time_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
double video_time; double video_time;
@ -1349,7 +1349,7 @@ _ethumb_dbus_video_time_set(struct _Ethumb_Object *eobject, DBusMessageIter *ite
} }
static int static int
_ethumb_dbus_video_start_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_video_start_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
double video_start; double video_start;
@ -1370,7 +1370,7 @@ _ethumb_dbus_video_start_set(struct _Ethumb_Object *eobject, DBusMessageIter *it
} }
static int static int
_ethumb_dbus_video_interval_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_video_interval_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
double video_interval; double video_interval;
@ -1391,7 +1391,7 @@ _ethumb_dbus_video_interval_set(struct _Ethumb_Object *eobject, DBusMessageIter
} }
static int static int
_ethumb_dbus_video_ntimes_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_video_ntimes_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
int video_ntimes; int video_ntimes;
@ -1412,7 +1412,7 @@ _ethumb_dbus_video_ntimes_set(struct _Ethumb_Object *eobject, DBusMessageIter *i
} }
static int static int
_ethumb_dbus_video_fps_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_video_fps_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
int video_fps; int video_fps;
@ -1433,7 +1433,7 @@ _ethumb_dbus_video_fps_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter
} }
static int static int
_ethumb_dbus_document_page_set(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request) _ethumb_dbus_document_page_set(struct _Ethumb_Object *eobject __UNUSED__, DBusMessageIter *iter, struct _Ethumb_Request *request)
{ {
int type; int type;
dbus_int32_t document_page; dbus_int32_t document_page;
@ -1458,23 +1458,23 @@ static struct
const char *option; const char *option;
int (*setup_func)(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request); int (*setup_func)(struct _Ethumb_Object *eobject, DBusMessageIter *iter, struct _Ethumb_Request *request);
} _option_cbs[] = { } _option_cbs[] = {
{ "fdo", _ethumb_dbus_fdo_set }, {"fdo", _ethumb_dbus_fdo_set},
{ "size", _ethumb_dbus_size_set }, {"size", _ethumb_dbus_size_set},
{ "format", _ethumb_dbus_format_set }, {"format", _ethumb_dbus_format_set},
{ "aspect", _ethumb_dbus_aspect_set }, {"aspect", _ethumb_dbus_aspect_set},
{ "crop", _ethumb_dbus_crop_set }, {"crop", _ethumb_dbus_crop_set},
{ "quality", _ethumb_dbus_quality_set }, {"quality", _ethumb_dbus_quality_set},
{ "compress", _ethumb_dbus_compress_set }, {"compress", _ethumb_dbus_compress_set},
{ "frame", _ethumb_dbus_frame_set }, {"frame", _ethumb_dbus_frame_set},
{ "directory", _ethumb_dbus_directory_set }, {"directory", _ethumb_dbus_directory_set},
{ "category", _ethumb_dbus_category_set }, {"category", _ethumb_dbus_category_set},
{ "video_time", _ethumb_dbus_video_time_set }, {"video_time", _ethumb_dbus_video_time_set},
{ "video_start", _ethumb_dbus_video_start_set }, {"video_start", _ethumb_dbus_video_start_set},
{ "video_interval", _ethumb_dbus_video_interval_set }, {"video_interval", _ethumb_dbus_video_interval_set},
{ "video_ntimes", _ethumb_dbus_video_ntimes_set }, {"video_ntimes", _ethumb_dbus_video_ntimes_set},
{ "video_fps", _ethumb_dbus_video_fps_set }, {"video_fps", _ethumb_dbus_video_fps_set},
{ "document_page", _ethumb_dbus_document_page_set }, {"document_page", _ethumb_dbus_document_page_set},
{ NULL, NULL} {NULL, NULL}
}; };
static int static int
@ -1553,7 +1553,7 @@ _ethumb_dbus_ethumb_setup_cb(E_DBus_Object *object, DBusMessage *msg)
eobject->nqueue++; eobject->nqueue++;
ed->queue.nqueue++; ed->queue.nqueue++;
end: end:
reply = dbus_message_new_method_return(msg); reply = dbus_message_new_method_return(msg);
dbus_message_iter_init_append(reply, &iter); dbus_message_iter_init_append(reply, &iter);
dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &r); dbus_message_iter_append_basic(&iter, DBUS_TYPE_BOOLEAN, &r);
@ -1576,8 +1576,8 @@ _ethumb_dbus_generated_signal(struct _Ethumbd *ed, int *id, const char *thumb_pa
current = ed->queue.current; current = ed->queue.current;
opath = ed->queue.table[current].path; opath = ed->queue.table[current].path;
signal = dbus_message_new_signal(opath, _ethumb_dbus_objects_interface, signal = dbus_message_new_signal
"generated"); (opath, _ethumb_dbus_objects_interface, "generated");
dbus_message_iter_init_append(signal, &iter); dbus_message_iter_init_append(signal, &iter);
dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &id32); dbus_message_iter_append_basic(&iter, DBUS_TYPE_INT32, &id32);
@ -1589,45 +1589,43 @@ _ethumb_dbus_generated_signal(struct _Ethumbd *ed, int *id, const char *thumb_pa
dbus_message_unref(signal); dbus_message_unref(signal);
} }
static struct _Ethumb_DBus_Method_Table _ethumb_dbus_objects_methods[] = static struct _Ethumb_DBus_Method_Table _ethumb_dbus_objects_methods[] = {
{ {"queue_add", "iayayayay", "i", _ethumb_dbus_queue_add_cb},
{ "queue_add", "iayayayay", "i", _ethumb_dbus_queue_add_cb }, {"queue_remove", "i", "b", _ethumb_dbus_queue_remove_cb},
{ "queue_remove", "i", "b", _ethumb_dbus_queue_remove_cb }, {"clear_queue", "", "", _ethumb_dbus_queue_clear_cb},
{ "clear_queue", "", "", _ethumb_dbus_queue_clear_cb }, {"ethumb_setup", "a{sv}", "b", _ethumb_dbus_ethumb_setup_cb},
{ "ethumb_setup", "a{sv}", "b", _ethumb_dbus_ethumb_setup_cb }, {"delete", "", "", _ethumb_dbus_delete_cb},
{ "delete", "", "", _ethumb_dbus_delete_cb }, {NULL, NULL, NULL, NULL}
{ }
}; };
static struct _Ethumb_DBus_Signal_Table _ethumb_dbus_objects_signals[] = static struct _Ethumb_DBus_Signal_Table _ethumb_dbus_objects_signals[] = {
{ {"generated", "xayayb"},
{ "generated", "xayayb" }, {NULL, NULL}
{ }
}; };
static int static int
_ethumb_dbus_interface_elements_add(E_DBus_Interface *iface, struct _Ethumb_DBus_Method_Table *mtable, struct _Ethumb_DBus_Signal_Table *stable) _ethumb_dbus_interface_elements_add(E_DBus_Interface *iface, struct _Ethumb_DBus_Method_Table *mtable, struct _Ethumb_DBus_Signal_Table *stable)
{ {
int i = -1; int i = -1;
while (mtable && mtable[++i].name != NULL) while (mtable && mtable[++i].name != NULL)
if (!e_dbus_interface_method_add(iface, if (!e_dbus_interface_method_add(iface,
mtable[i].name, mtable[i].name,
mtable[i].signature, mtable[i].signature,
mtable[i].reply, mtable[i].reply,
mtable[i].function)) mtable[i].function))
return 0; return 0;
i = -1; i = -1;
while (stable && stable[++i].name != NULL) while (stable && stable[++i].name != NULL)
if (!e_dbus_interface_signal_add(iface, if (!e_dbus_interface_signal_add(iface,
stable[i].name, stable[i].name,
stable[i].signature)) stable[i].signature))
return 0; return 0;
return 1; return 1;
} }
static void static void
_ethumb_dbus_request_name_cb(void *data, DBusMessage *msg, DBusError *err) _ethumb_dbus_request_name_cb(void *data, DBusMessage *msg __UNUSED__, DBusError *err)
{ {
E_DBus_Object *dbus_object; E_DBus_Object *dbus_object;
struct _Ethumbd *ed = data; struct _Ethumbd *ed = data;
@ -1686,9 +1684,8 @@ _ethumb_dbus_request_name_cb(void *data, DBusMessage *msg, DBusError *err)
static int static int
_ethumb_dbus_setup(struct _Ethumbd *ed) _ethumb_dbus_setup(struct _Ethumbd *ed)
{ {
e_dbus_request_name
e_dbus_request_name(ed->conn, _ethumb_dbus_bus_name, 0, (ed->conn, _ethumb_dbus_bus_name, 0, _ethumb_dbus_request_name_cb, ed);
_ethumb_dbus_request_name_cb, ed);
return 1; return 1;
} }
@ -1745,8 +1742,8 @@ _ethumbd_spawn(struct _Ethumbd *ed)
close(pchild[1]); close(pchild[1]);
ed->pipeout = pparent[1]; ed->pipeout = pparent[1];
ed->pipein = pchild[0]; ed->pipein = pchild[0];
ed->fd_handler = ecore_main_fd_handler_add( ed->fd_handler = ecore_main_fd_handler_add
ed->pipein, ECORE_FD_READ | ECORE_FD_ERROR, (ed->pipein, ECORE_FD_READ | ECORE_FD_ERROR,
_ethumbd_fd_handler, ed, NULL, NULL); _ethumbd_fd_handler, ed, NULL, NULL);
return 1; return 1;
} }
@ -1758,10 +1755,11 @@ main(int argc, char *argv[])
Eina_Bool quit_option = 0; Eina_Bool quit_option = 0;
int exit_value = 0; int exit_value = 0;
int arg_index; int arg_index;
struct _Ethumbd ed = {0}; struct _Ethumbd ed;
int child; int child;
double timeout = -1; double timeout = -1;
memset(&ed, 0, sizeof(ed));
ecore_init(); ecore_init();
eina_stringshare_init(); eina_stringshare_init();
@ -1788,12 +1786,12 @@ main(int argc, char *argv[])
} }
Ecore_Getopt_Value values[] = { Ecore_Getopt_Value values[] = {
ECORE_GETOPT_VALUE_DOUBLE(timeout), ECORE_GETOPT_VALUE_DOUBLE(timeout),
ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option),
ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option),
ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option),
ECORE_GETOPT_VALUE_BOOL(quit_option), ECORE_GETOPT_VALUE_BOOL(quit_option),
ECORE_GETOPT_VALUE_NONE ECORE_GETOPT_VALUE_NONE
}; };
arg_index = ecore_getopt_parse(&optdesc, values, argc, argv); arg_index = ecore_getopt_parse(&optdesc, values, argc, argv);
@ -1828,9 +1826,9 @@ main(int argc, char *argv[])
ecore_main_loop_begin(); ecore_main_loop_begin();
_ethumb_dbus_finish(&ed); _ethumb_dbus_finish(&ed);
finish_edbus: finish_edbus:
e_dbus_shutdown(); e_dbus_shutdown();
finish: finish:
ethumb_shutdown(); ethumb_shutdown();
eina_stringshare_init(); eina_stringshare_init();
ecore_shutdown(); ecore_shutdown();