{
if (!attachments)
return NULL;
-
+
gchar *attachments_str = g_strdup("");
-
+
GSList *iter = attachments;
while (iter)
{
if (iter->data) {
- gchar *tmp = g_strconcat(attachments_str, ",", (gchar *) (iter->data), NULL);
+ gchar *escaped;
+ gchar *tmp;
+ escaped = g_uri_escape_string ((const gchar *) (iter->data), NULL, TRUE);
+ tmp = g_strconcat(attachments_str, ",", escaped, NULL);
+ g_free(escaped);
g_free(attachments_str);
attachments_str = tmp;
}
-
iter = g_slist_next(iter);
}
-
return attachments_str;
}
-
+
/**
* libmodest_dbus_client_mail_to:
* @osso_context: a valid #osso_context_t object.
gboolean
libmodest_dbus_client_mail_to (osso_context_t *osso_context, const gchar *mailto_uri)
{
- osso_rpc_t retval;
+ osso_rpc_t retval = { 0 };
const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
MODEST_DBUS_NAME,
MODEST_DBUS_METHOD_MAIL_TO, &retval,
* @bcc: Recipients for blind carbon copies
* @subject: Subject line
* @body: The actual body of the mail to compose.
- * @attachments: Additional list of attachments
+ * @attachments: Additional list of attachments. A list of URI strings.
*
* This function will try to do a remote procedure call (rpc)
* into modest (or start it if necessary) and open a composer
libmodest_dbus_client_compose_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;
-
+ osso_rpc_t retval = { 0 };
+
gchar *attachments_str = get_attachments_string(attachments);
- const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
+ const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
MODEST_DBUS_NAME,
MODEST_DBUS_METHOD_COMPOSE_MAIL, &retval,
DBUS_TYPE_STRING, to,
DBUS_TYPE_STRING, body,
DBUS_TYPE_STRING, attachments_str,
DBUS_TYPE_INVALID);
-
+
+ g_free (attachments_str);
+
if (ret != OSSO_OK) {
printf("debug: %s: osso_rpc_run() failed.\n", __FUNCTION__);
return FALSE;
} else {
printf("debug: %s: osso_rpc_run() succeeded.\n", __FUNCTION__);
}
-
+
osso_rpc_free_val(&retval);
- g_free (attachments_str);
-
+
return TRUE;
}
gboolean
libmodest_dbus_client_open_message (osso_context_t *osso_context, const gchar *mail_uri)
{
- osso_rpc_t retval;
+ osso_rpc_t retval = { 0 };
const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
MODEST_DBUS_NAME,
MODEST_DBUS_METHOD_OPEN_MESSAGE, &retval,
gboolean
libmodest_dbus_client_send_and_receive (osso_context_t *osso_context)
{
- osso_rpc_t retval;
+ osso_rpc_t retval = { 0 };
const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
MODEST_DBUS_NAME,
MODEST_DBUS_METHOD_SEND_RECEIVE, &retval,
gboolean
libmodest_dbus_client_open_default_inbox (osso_context_t *osso_context)
{
- osso_rpc_t retval;
+ osso_rpc_t retval = { 0 };
const osso_return_t ret = osso_rpc_run_with_defaults(osso_context,
MODEST_DBUS_NAME,
MODEST_DBUS_METHOD_OPEN_DEFAULT_INBOX, &retval,
return TRUE;
}
+gboolean
+libmodest_dbus_client_open_account (osso_context_t *osso_context,
+ const gchar *account_id)
+{
+ osso_rpc_t retval = { 0 };
+ const osso_return_t ret =
+ osso_rpc_run_with_defaults(osso_context,
+ MODEST_DBUS_NAME,
+ MODEST_DBUS_METHOD_OPEN_ACCOUNT, &retval,
+ DBUS_TYPE_STRING, account_id,
+ DBUS_TYPE_INVALID);
+
+ if (ret != OSSO_OK) {
+ printf("debug: %s: osso_rpc_run() failed.\n", __FUNCTION__);
+ return FALSE;
+ } else {
+ printf("debug: %s: osso_rpc_run() succeeded.\n", __FUNCTION__);
+ }
+
+ osso_rpc_free_val(&retval);
+
+ return TRUE;
+}
+
/**
* libmodest_dbus_client_delete_message:
* @osso_context: a valid #osso_context_t object.
libmodest_dbus_client_delete_message (osso_context_t *osso_ctx,
const char *msg_uri)
{
- osso_rpc_t retval;
+ osso_rpc_t retval = { 0 };
osso_return_t ret;
ret = osso_rpc_run_with_defaults (osso_ctx,
folder = "";
}
- sd_v = start_date;
- ed_v = end_date;
+ sd_v = (dbus_int64_t) start_date;
+ ed_v = (dbus_int64_t) end_date;
flags_v = (dbus_int32_t) flags;
size_v = (dbus_uint32_t) min_size;