From e6814f9e2e49e3c11c7ec40965858bb9754ae013 Mon Sep 17 00:00:00 2001 From: Slawomir Bochenski Date: Tue, 6 Mar 2012 18:42:25 +0100 Subject: [PATCH] obexd: Add basic logic for folder listing --- obexd/plugins/messages-dummy.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/obexd/plugins/messages-dummy.c b/obexd/plugins/messages-dummy.c index 3ba333c44..db15a754c 100644 --- a/obexd/plugins/messages-dummy.c +++ b/obexd/plugins/messages-dummy.c @@ -25,6 +25,8 @@ #include #endif +#include +#include #include #include #include @@ -48,8 +50,39 @@ struct folder_listing_data { void *user_data; }; +static ssize_t get_subdirs(struct folder_listing_data *fld, GSList **list) +{ + return 0; +} + +static void return_folder_listing(struct folder_listing_data *fld, GSList *list) +{ + struct session *session = fld->session; + + fld->callback(session, 0, 0, NULL, fld->user_data); +} + static gboolean get_folder_listing(void *d) { + struct folder_listing_data *fld = d; + ssize_t n; + GSList *list = NULL; + + n = get_subdirs(fld, &list); + + if (n < 0) { + fld->callback(fld->session, n, 0, NULL, fld->user_data); + return FALSE; + } + + if (fld->max == 0) { + fld->callback(fld->session, 0, n, NULL, fld->user_data); + return FALSE; + } + + return_folder_listing(fld, list); + g_slist_free_full(list, g_free); + return FALSE; } -- 2.47.3