From 140b3a1e00f1d04e8fd2683e9b77aba8bf79c2d5 Mon Sep 17 00:00:00 2001 From: Murray Cumming Date: Tue, 24 Apr 2007 17:31:56 +0000 Subject: [PATCH] 2007-04-24 Murray Cumming * src/dbus_api/modest-dbus-api.h: * src/dbus_api/modest-dbus-callbacks.c: Use an idle callback to execute the modest code in the application's own thread. Remove the helloworld example method. Handle mail-to and open-message D-Bus methods, though the mail-to format needs to be parsed, and the open-message method is not implemented because this is not yet implemented in modest itself. * libmodest-dbus-client/libmodest-dbus-client.c: (libmodest_dbus_client_send_mail), (libmodest_dbus_client_mail_to), (libmodest_dbus_client_open_message): * libmodest-dbus-client/libmodest-dbus-client.h: New functions for the new methods. * src/modest-tny-msg.c: (modest_tny_msg_new), (add_body_part): Handle NULLs for subject and body without crashing. * tests/dbus_api/Makefile.am: * tests/dbus_api/test_mail_to.c: * tests/dbus_api/test_open_message.c: New tests for the new methods. pmo-trunk-r1655 --- ChangeLog2 | 21 +++ libmodest-dbus-client/libmodest-dbus-client.c | 52 ++--- libmodest-dbus-client/libmodest-dbus-client.h | 9 +- src/dbus_api/modest-dbus-api.h | 22 ++- src/dbus_api/modest-dbus-callbacks.c | 250 ++++++++++++++++++++----- src/maemo/modest-platform.c | 6 +- src/modest-tny-msg.c | 12 +- tests/dbus_api/Makefile.am | 11 +- tests/dbus_api/test_hello.c | 28 --- tests/dbus_api/test_mail_to.c | 29 +++ tests/dbus_api/test_open_message.c | 30 +++ tests/dbus_api/test_send_mail.c | 2 +- 12 files changed, 355 insertions(+), 117 deletions(-) delete mode 100644 tests/dbus_api/test_hello.c create mode 100644 tests/dbus_api/test_mail_to.c create mode 100644 tests/dbus_api/test_open_message.c diff --git a/ChangeLog2 b/ChangeLog2 index 9ebb61f..80a9801 100644 --- a/ChangeLog2 +++ b/ChangeLog2 @@ -1,5 +1,26 @@ 2007-04-24 Murray Cumming + * src/dbus_api/modest-dbus-api.h: + * src/dbus_api/modest-dbus-callbacks.c: + Use an idle callback to execute the modest code in the application's own thread. + Remove the helloworld example method. + Handle mail-to and open-message D-Bus methods, though the mail-to format needs to be + parsed, and the open-message method is not implemented because this is not yet implemented in + modest itself. + * libmodest-dbus-client/libmodest-dbus-client.c: + (libmodest_dbus_client_send_mail), (libmodest_dbus_client_mail_to), + (libmodest_dbus_client_open_message): + * libmodest-dbus-client/libmodest-dbus-client.h: New functions for the new methods. + + * src/modest-tny-msg.c: (modest_tny_msg_new), (add_body_part): Handle NULLs for subject and + body without crashing. + + * tests/dbus_api/Makefile.am: + * tests/dbus_api/test_mail_to.c: + * tests/dbus_api/test_open_message.c: New tests for the new methods. + +2007-04-24 Murray Cumming + * libmodest-dbus-client/libmodest-dbus-client-1.0.pc.in: Added file to fix the build. Sorry. diff --git a/libmodest-dbus-client/libmodest-dbus-client.c b/libmodest-dbus-client/libmodest-dbus-client.c index 98522e1..55e03c3 100644 --- a/libmodest-dbus-client/libmodest-dbus-client.c +++ b/libmodest-dbus-client/libmodest-dbus-client.c @@ -30,14 +30,19 @@ #include "libmodest-dbus-client.h" #include /* For the API strings. */ - gboolean -libmodest_dbus_client_call_helloworld(osso_context_t *osso_context) +libmodest_dbus_client_send_mail (osso_context_t *osso_context, const gchar *to, const gchar *cc, + const gchar *bcc, const gchar* subject, const gchar* body, GSList *attachments) { osso_rpc_t retval; const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, MODEST_DBUS_NAME, - MODEST_DBUS_EXAMPLE_MESSAGE, &retval, + MODEST_DBUS_METHOD_SEND_MAIL, &retval, + DBUS_TYPE_STRING, to, + DBUS_TYPE_STRING, cc, + DBUS_TYPE_STRING, bcc, + DBUS_TYPE_STRING, subject, + DBUS_TYPE_STRING, body, DBUS_TYPE_INVALID); if (ret != OSSO_OK) { @@ -51,20 +56,15 @@ libmodest_dbus_client_call_helloworld(osso_context_t *osso_context) return TRUE; } - -gboolean -libmodfest_dbus_client_send_mail (osso_context_t *osso_context, const gchar *to, const gchar *cc, - const gchar *bcc, const gchar* subject, const gchar* body, GSList *attachments) + +gboolean +libmodest_dbus_client_mail_to (osso_context_t *osso_context, const gchar *mailto_uri) { osso_rpc_t retval; const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, MODEST_DBUS_NAME, - MODEST_DBUS_METHOD_SEND_MAIL, &retval, - DBUS_TYPE_STRING, to, - DBUS_TYPE_STRING, cc, - DBUS_TYPE_STRING, bcc, - DBUS_TYPE_STRING, subject, - DBUS_TYPE_STRING, body, + MODEST_DBUS_METHOD_MAIL_TO, &retval, + DBUS_TYPE_STRING, mailto_uri, DBUS_TYPE_INVALID); if (ret != OSSO_OK) { @@ -78,17 +78,27 @@ libmodfest_dbus_client_send_mail (osso_context_t *osso_context, const gchar *to, return TRUE; } - -gboolean -libmodfest_dbus_client_mailto (osso_context_t *osso_context, const gchar *mailto_uri) -{ - return FALSE; -} gboolean -libmodfest_dbus_client_open_message (osso_context_t *osso_context, const gchar *mail_uri) +libmodest_dbus_client_open_message (osso_context_t *osso_context, const gchar *mail_uri) { - return FALSE; + osso_rpc_t retval; + const osso_return_t ret = osso_rpc_run_with_defaults(osso_context, + MODEST_DBUS_NAME, + MODEST_DBUS_METHOD_OPEN_MESSAGE, &retval, + DBUS_TYPE_STRING, mail_uri, + DBUS_TYPE_INVALID); + + if (ret != OSSO_OK) { + printf("debug: osso_rpc_run() failed.\n"); + return FALSE; + } else { + printf("debug: osso_rpc_run() succeeded.\n"); + } + + osso_rpc_free_val(&retval); + + return TRUE; } diff --git a/libmodest-dbus-client/libmodest-dbus-client.h b/libmodest-dbus-client/libmodest-dbus-client.h index 58dcd8e..dd75681 100644 --- a/libmodest-dbus-client/libmodest-dbus-client.h +++ b/libmodest-dbus-client/libmodest-dbus-client.h @@ -35,16 +35,13 @@ #include gboolean -libmodest_dbus_client_call_helloworld (osso_context_t *osso_context); - -gboolean -libmodfest_dbus_client_send_mail (osso_context_t *osso_context, const gchar *to, const gchar *cc, +libmodest_dbus_client_send_mail (osso_context_t *osso_context, const gchar *to, const gchar *cc, const gchar *bcc, const gchar* subject, const gchar* body, GSList *attachments); gboolean -libmodfest_dbus_client_mailto (osso_context_t *osso_context, const gchar *mailto_uri); +libmodest_dbus_client_mail_to (osso_context_t *osso_context, const gchar *mailto_uri); gboolean -libmodfest_dbus_client_open_message (osso_context_t *osso_context, const gchar *mail_uri); +libmodest_dbus_client_open_message (osso_context_t *osso_context, const gchar *mail_uri); #endif /* __LIBMODEST_DBUS_CLIENT_H__ */ diff --git a/src/dbus_api/modest-dbus-api.h b/src/dbus_api/modest-dbus-api.h index 2415db7..8381d71 100644 --- a/src/dbus_api/modest-dbus-api.h +++ b/src/dbus_api/modest-dbus-api.h @@ -36,11 +36,9 @@ * are what is assumed by the, bizarrely named, osso_rpc_run_with_defaults() function, * so they are probably a good choice. */ #define MODEST_DBUS_NAME "modestemail" -#define MODEST_DBUS_EXAMPLE_SERVICE "com.nokia."MODEST_DBUS_NAME -#define MODEST_DBUS_EXAMPLE_OBJECT "/com/nokia/"MODEST_DBUS_NAME -#define MODEST_DBUS_EXAMPLE_IFACE "com.nokia."MODEST_DBUS_NAME - -#define MODEST_DBUS_EXAMPLE_MESSAGE "HelloWorld" +#define MODEST_DBUS_SERVICE "com.nokia."MODEST_DBUS_NAME +#define MODEST_DBUS_OBJECT "/com/nokia/"MODEST_DBUS_NAME +#define MODEST_DBUS_IFACE "com.nokia."MODEST_DBUS_NAME #define MODEST_DBUS_METHOD_SEND_MAIL "SendMail" enum ModestDbusSendMailArguments @@ -54,5 +52,19 @@ enum ModestDbusSendMailArguments MODEST_DEBUS_SEND_MAIL_ARGS_COUNT }; +#define MODEST_DBUS_METHOD_MAIL_TO "MailTo" +enum ModestDbusMailToArguments +{ + MODEST_DEBUS_MAIL_TO_ARG_URI, + MODEST_DEBUS_MAIL_TO_ARGS_COUNT +}; + +#define MODEST_DBUS_METHOD_OPEN_MESSAGE "OpenMessage" +enum ModestDbusOpenMessageArguments +{ + MODEST_DEBUS_OPEN_MESSAGE_ARG_URI, + MODEST_DEBUS_OPEN_MESSAGE_ARGS_COUNT +}; + #endif /* __MODEST_DBUS_API__ */ diff --git a/src/dbus_api/modest-dbus-callbacks.c b/src/dbus_api/modest-dbus-callbacks.c index a71b70b..9bc8da6 100644 --- a/src/dbus_api/modest-dbus-callbacks.c +++ b/src/dbus_api/modest-dbus-callbacks.c @@ -31,71 +31,228 @@ #include "modest-runtime.h" #include "modest-account-mgr.h" #include "modest-account-mgr-helpers.h" +#include "modest-tny-account.h" +#include "widgets/modest-msg-edit-window.h" +#include "modest-tny-msg.h" #include -/* Callback for normal D-BUS messages */ +typedef struct +{ + gchar *to; + gchar *cc; + gchar *bcc; + gchar *subject; + gchar *body; +} SendMailIdleData; + +static gboolean +on_idle_send_mail(gpointer user_data) +{ + SendMailIdleData *idle_data = (SendMailIdleData*)user_data; + + /* Get the TnyTransportAccount so we can instantiate a mail operation: */ + ModestAccountMgr *account_mgr = modest_runtime_get_account_mgr(); + gchar *account_name = modest_account_mgr_get_default_account (account_mgr); + if (!account_name) { + g_printerr ("modest: no account found\n"); + } + + TnyTransportAccount *transport_account = NULL; + if (account_mgr) { + transport_account = TNY_TRANSPORT_ACCOUNT(modest_tny_account_store_get_tny_account_by_account + (modest_runtime_get_account_store(), + account_name, + TNY_ACCOUNT_TYPE_TRANSPORT)); + } + + if (!transport_account) { + g_printerr ("modest: no transport account found for '%s'\n", account_name); + } + + /* Create the mail operation: */ + if (transport_account) { + /* Use the mail operation: */ + gchar * from = modest_account_mgr_get_from_string (account_mgr, + account_name); + if (!from) { + g_printerr ("modest: no from address for account '%s'\n", account_name); + } else { + ModestMailOperation *mail_operation = modest_mail_operation_new (); + modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_operation); + + modest_mail_operation_send_new_mail (mail_operation, + transport_account, + from, /* from */ + idle_data->to, idle_data->cc, idle_data->bcc, idle_data->subject, + idle_data->body, /* plain_body */ + NULL, /* html_body */ + NULL, /* attachments_list, GSList of TnyMimePart. */ + (TnyHeaderFlags)0); + + g_free (from); + g_object_unref (G_OBJECT (mail_operation)); + } + + g_object_unref (G_OBJECT (transport_account)); + } + + g_free (account_name); + + /* Free the idle data: */ + g_free (idle_data->to); + g_free (idle_data->cc); + g_free (idle_data->bcc); + g_free (idle_data->subject); + g_free (idle_data->body); + g_free (idle_data); + + return FALSE; /* Do not call this callback again. */ +} + static gint on_send_mail(GArray * arguments, gpointer data, osso_rpc_t * retval) { if (arguments->len != MODEST_DEBUS_SEND_MAIL_ARGS_COUNT) return OSSO_ERROR; + /* Use g_idle to context-switch into the application's thread: */ + SendMailIdleData *idle_data = g_new0(SendMailIdleData, 1); /* Freed in the idle callback. */ + /* Get the arguments: */ osso_rpc_t val = g_array_index(arguments, osso_rpc_t, MODEST_DEBUS_SEND_MAIL_ARG_TO); - gchar *to = val.value.s; + idle_data->to = g_strdup (val.value.s); val = g_array_index(arguments, osso_rpc_t, MODEST_DEBUS_SEND_MAIL_ARG_CC); - gchar *cc = val.value.s; + idle_data->cc = g_strdup (val.value.s); val = g_array_index(arguments, osso_rpc_t, MODEST_DEBUS_SEND_MAIL_ARG_BCC); - gchar *bcc = val.value.s; + idle_data->bcc = g_strdup (val.value.s); val = g_array_index(arguments, osso_rpc_t, MODEST_DEBUS_SEND_MAIL_ARG_SUBJECT); - gchar *subject = val.value.s; + idle_data->subject = g_strdup (val.value.s); val = g_array_index(arguments, osso_rpc_t, MODEST_DEBUS_SEND_MAIL_ARG_BODY); - gchar *body = val.value.s; + idle_data->body = g_strdup (val.value.s); - printf(" debug: to=%s\n", to); + /* printf(" debug: to=%s\n", idle_data->to); */ + g_idle_add(on_idle_send_mail, (gpointer)idle_data); - /* Get the TnyTransportAccount so we can instantiate a mail operation: */ + /* Note that we cannot report failures during sending, + * because that would be asynchronous. */ + return OSSO_OK; +} + + +static gboolean +on_idle_mail_to(gpointer user_data) +{ + /* This is based on the implemenation of main.c:start_uil(): */ + + gchar *uri = (gchar*)user_data; + + /* Get the TnyTransportAccount so we can instantiate a mail operation: */ ModestAccountMgr *account_mgr = modest_runtime_get_account_mgr(); gchar *account_name = modest_account_mgr_get_default_account (account_mgr); if (!account_name) { g_printerr ("modest: no account found\n"); - return OSSO_ERROR; } - TnyTransportAccount *transport_account = - TNY_TRANSPORT_ACCOUNT(modest_tny_account_store_get_tny_account_by_account - (modest_runtime_get_account_store(), - account_name, - TNY_ACCOUNT_TYPE_TRANSPORT)); - if (!transport_account) { - g_printerr ("modest: no transport account found for '%s'\n", account_name); - g_free (account_name); - return OSSO_ERROR; + TnyAccount *account = NULL; + if (account_mgr) { + account = modest_tny_account_store_get_tny_account_by_account ( + modest_runtime_get_account_store(), account_name, + TNY_ACCOUNT_TYPE_TRANSPORT); } - /* Create the mail operation: */ - ModestMailOperation *mail_operation = modest_mail_operation_new (); - modest_mail_operation_queue_add (modest_runtime_get_mail_operation_queue (), mail_operation); + if (!account) { + g_printerr ("modest: failed to get tny account folder'\n", account_name); + } else { + gchar * from = modest_account_mgr_get_from_string (account_mgr, + account_name); + if (!from) { + g_printerr ("modest: no from address for account '%s'\n", account_name); + } else { + TnyMsg *msg = modest_tny_msg_new (uri /* mailto */, from, + NULL /* cc */, NULL /* bcc */, + NULL /* subject */, NULL /* body */, NULL /* attachments */); + if (!msg) { + g_printerr ("modest: failed to create message\n"); + } else + { + TnyFolder *folder = modest_tny_account_get_special_folder (account, + TNY_FOLDER_TYPE_DRAFTS); + if (!folder) { + g_printerr ("modest: failed to find Drafts folder\n"); + } else { + + tny_folder_add_msg (folder, msg, NULL); /* TODO: check err */ + + ModestWindow *win = modest_msg_edit_window_new (msg, account_name); + gtk_widget_show_all (GTK_WIDGET (win)); + + g_object_unref (G_OBJECT(folder)); + } + + g_object_unref (G_OBJECT(msg)); + } + g_object_unref (G_OBJECT(account)); + + } + } + + g_free (account_name); + + g_free(uri); + return FALSE; /* Do not call this callback again. */ +} + +static gint on_mail_to(GArray * arguments, gpointer data, osso_rpc_t * retval) +{ + if (arguments->len != MODEST_DEBUS_MAIL_TO_ARGS_COUNT) + return OSSO_ERROR; + + /* Use g_idle to context-switch into the application's thread: */ + + /* Get the arguments: */ + osso_rpc_t val = g_array_index(arguments, osso_rpc_t, MODEST_DEBUS_MAIL_TO_ARG_URI); + gchar *uri = g_strdup (val.value.s); + + /* printf(" debug: to=%s\n", idle_data->to); */ + g_idle_add(on_idle_mail_to, (gpointer)uri); + + /* Note that we cannot report failures during sending, + * because that would be asynchronous. */ + return OSSO_OK; +} + + +static gboolean +on_idle_open_message(gpointer user_data) +{ + gchar *uri = (gchar*)user_data; + + g_message ("not implemented yet %s", __FUNCTION__); - /* Use the mail operation: */ - gchar * from = modest_account_mgr_get_from_string (account_mgr, - account_name); - modest_mail_operation_send_new_mail (mail_operation, - transport_account, - from, /* from */ - to, cc, bcc, subject, - body, /* plain_body */ - NULL, /* html_body */ - NULL, /* attachments_list, GSList of TnyMimePart. */ - (TnyHeaderFlags)0); - - g_object_unref (G_OBJECT (transport_account)); - g_object_unref (G_OBJECT (mail_operation)); - g_free (from); - g_free (account_name); + g_free(uri); + return FALSE; /* Do not call this callback again. */ +} + +static gint on_open_message(GArray * arguments, gpointer data, osso_rpc_t * retval) +{ + if (arguments->len != MODEST_DEBUS_OPEN_MESSAGE_ARGS_COUNT) + return OSSO_ERROR; + + /* Use g_idle to context-switch into the application's thread: */ + + /* Get the arguments: */ + osso_rpc_t val = g_array_index(arguments, osso_rpc_t, MODEST_DEBUS_OPEN_MESSAGE_ARG_URI); + gchar *uri = g_strdup (val.value.s); + + /* printf(" debug: to=%s\n", idle_data->to); */ + g_idle_add(on_idle_open_message, (gpointer)uri); + + /* Note that we cannot report failures during sending, + * because that would be asynchronous. */ + return OSSO_OK; } /* Callback for normal D-BUS messages */ @@ -103,14 +260,17 @@ gint modest_dbus_req_handler(const gchar * interface, const gchar * method, GArray * arguments, gpointer data, osso_rpc_t * retval) { + /* printf("debug: modest_dbus_req_handler()\n"); printf("debug: method received: %s\n", method); - - if (g_ascii_strcasecmp(method, MODEST_DBUS_EXAMPLE_MESSAGE) == 0) { - - } else if (g_ascii_strcasecmp(method, MODEST_DBUS_METHOD_SEND_MAIL) == 0) { - return on_send_mail (arguments, data, retval); - } - - return OSSO_OK; + */ + if (g_ascii_strcasecmp(method, MODEST_DBUS_METHOD_SEND_MAIL) == 0) { + return on_send_mail (arguments, data, retval); + } else if (g_ascii_strcasecmp(method, MODEST_DBUS_METHOD_MAIL_TO) == 0) { + return on_mail_to (arguments, data, retval); + } else if (g_ascii_strcasecmp(method, MODEST_DBUS_METHOD_OPEN_MESSAGE) == 0) { + return on_open_message (arguments, data, retval); + } + else + return OSSO_ERROR; } diff --git a/src/maemo/modest-platform.c b/src/maemo/modest-platform.c index d09e0fa..aed9c8e 100644 --- a/src/maemo/modest-platform.c +++ b/src/maemo/modest-platform.c @@ -64,9 +64,9 @@ modest_platform_init (void) /* Register our D-Bus callbacks, via the osso API: */ osso_return_t result = osso_rpc_set_cb_f(osso_context, - MODEST_DBUS_EXAMPLE_SERVICE, - MODEST_DBUS_EXAMPLE_OBJECT, - MODEST_DBUS_EXAMPLE_IFACE, + MODEST_DBUS_SERVICE, + MODEST_DBUS_OBJECT, + MODEST_DBUS_IFACE, modest_dbus_req_handler, NULL /* user_data */); if (result != OSSO_OK) { g_print("Error setting D-BUS callback (%d)\n", result); diff --git a/src/modest-tny-msg.c b/src/modest-tny-msg.c index 26b2647..c9364af 100644 --- a/src/modest-tny-msg.c +++ b/src/modest-tny-msg.c @@ -71,16 +71,20 @@ modest_tny_msg_new (const gchar* mailto, const gchar* from, const gchar *cc, tny_header_set_to (TNY_HEADER (header), mailto); tny_header_set_cc (TNY_HEADER (header), cc); tny_header_set_bcc (TNY_HEADER (header), bcc); - tny_header_set_subject (TNY_HEADER (header), subject); + + if (subject) + tny_header_set_subject (TNY_HEADER (header), subject); content_type = get_content_type(body); - /* Add the body of the new mail */ + /* Add the body of the new mail */ + /* This is needed even if body is NULL or empty. */ add_body_part (new_msg, body, content_type, (attachments ? TRUE: FALSE)); g_free (content_type); /* Add attachments */ - add_attachments (new_msg, (GList*) attachments); + if (attachments) + add_attachments (new_msg, (GList*) attachments); return new_msg; } @@ -135,7 +139,7 @@ add_body_part (TnyMsg *msg, /* Create the stream */ text_body_stream = TNY_STREAM (tny_camel_stream_new (camel_stream_mem_new_with_buffer - (body, strlen(body)))); + (body, (body ? strlen(body) : 0)))); /* Create body part if needed */ if (has_attachments) diff --git a/tests/dbus_api/Makefile.am b/tests/dbus_api/Makefile.am index ee4fe56..37859b0 100644 --- a/tests/dbus_api/Makefile.am +++ b/tests/dbus_api/Makefile.am @@ -16,12 +16,15 @@ objects=\ $(MODEST_LIBTINYMAIL_MAEMO_LIBS) \ ${top_srcdir}/libmodest-dbus-client/libmodest-dbus-client-1.0.la -noinst_PROGRAMS = test_hello test_send_mail - -test_hello_SOURCES = test_hello.c -test_hello_LDADD = $(objects) +noinst_PROGRAMS = test_send_mail test_mail_to test_open_message test_send_mail_SOURCES = test_send_mail.c test_send_mail_LDADD = $(objects) +test_mail_to_SOURCES = test_mail_to.c +test_mail_to_LDADD = $(objects) + +test_open_message_SOURCES = test_open_message.c +test_open_message_LDADD = $(objects) + diff --git a/tests/dbus_api/test_hello.c b/tests/dbus_api/test_hello.c deleted file mode 100644 index 73e799c..0000000 --- a/tests/dbus_api/test_hello.c +++ /dev/null @@ -1,28 +0,0 @@ -#include -#include - -int main(int argc, char *argv[]) -{ - /* Initialize maemo application */ - osso_context_t * osso_context = osso_initialize( - "test_hello", "0.0.1", TRUE, NULL); - - /* Check that initialization was ok */ - if (osso_context == NULL) - { - printf("osso_initialize() failed.\n"); - return OSSO_ERROR; - } - - /* Call the function in libmodest-dbus-client: */ - const gboolean ret = libmodest_dbus_client_call_helloworld (osso_context); - if (!ret) { - printf("libmodest_dbus_client_call_helloworld() failed.\n"); - return OSSO_ERROR; - } else { - printf("libmodest_dbus_client_call_helloworld() succeeded.\n"); - } - - /* Exit */ - return 0; -} diff --git a/tests/dbus_api/test_mail_to.c b/tests/dbus_api/test_mail_to.c new file mode 100644 index 0000000..97814c2 --- /dev/null +++ b/tests/dbus_api/test_mail_to.c @@ -0,0 +1,29 @@ +#include +#include + +int main(int argc, char *argv[]) +{ + /* Initialize maemo application */ + osso_context_t * osso_context = osso_initialize( + "test_hello", "0.0.1", TRUE, NULL); + + /* Check that initialization was ok */ + if (osso_context == NULL) + { + printf("osso_initialize() failed.\n"); + return OSSO_ERROR; + } + + /* Call the function in libmodest-dbus-client: */ + const gboolean ret = libmodest_dbus_client_mail_to (osso_context, + "mailto://murrayc@murrayc.com"); + if (!ret) { + printf("libmodest_dbus_client_mail_to() failed.\n"); + return OSSO_ERROR; + } else { + printf("libmodest_dbus_client_mail_to() succeeded.\n"); + } + + /* Exit */ + return 0; +} diff --git a/tests/dbus_api/test_open_message.c b/tests/dbus_api/test_open_message.c new file mode 100644 index 0000000..5f1afe9 --- /dev/null +++ b/tests/dbus_api/test_open_message.c @@ -0,0 +1,30 @@ +#include +#include + +int main(int argc, char *argv[]) +{ + /* Initialize maemo application */ + osso_context_t * osso_context = osso_initialize( + "test_hello", "0.0.1", TRUE, NULL); + + /* Check that initialization was ok */ + if (osso_context == NULL) + { + printf("osso_initialize() failed.\n"); + return OSSO_ERROR; + } + + /* Call the function in libmodest-dbus-client: */ + /* TODO: The Message URI system is not yet implemented. */ + const gboolean ret = libmodest_dbus_client_open_message (osso_context, + "http://todo_some_message_uri"); + if (!ret) { + printf("libmodest_dbus_client_open_message() failed.\n"); + return OSSO_ERROR; + } else { + printf("libmodest_dbus_client_open_message() succeeded.\n"); + } + + /* Exit */ + return 0; +} diff --git a/tests/dbus_api/test_send_mail.c b/tests/dbus_api/test_send_mail.c index 2d4a286..7f05a51 100644 --- a/tests/dbus_api/test_send_mail.c +++ b/tests/dbus_api/test_send_mail.c @@ -15,7 +15,7 @@ int main(int argc, char *argv[]) } /* Call the function in libmodest-dbus-client: */ - const gboolean ret = libmodfest_dbus_client_send_mail (osso_context, + const gboolean ret = libmodest_dbus_client_send_mail (osso_context, "murrayc@murrayc.com", /* to */ NULL, /* cc */ NULL, /* bcc */ -- 1.7.9.5