}
void imapc_client_mailbox_cmd(struct imapc_client_mailbox *box,
- const char *cmd,
imapc_command_callback_t *callback,
- void *context)
+ void *context, const char *cmd)
{
struct imapc_client_command_context *ctx;
struct imapc_command_reply reply;
void imapc_client_mailbox_close(struct imapc_client_mailbox **box);
void imapc_client_mailbox_disconnect(struct imapc_client_mailbox *box);
void imapc_client_mailbox_cmd(struct imapc_client_mailbox *box,
- const char *cmd,
imapc_command_callback_t *callback,
- void *context);
+ void *context, const char *cmd);
void imapc_client_mailbox_cmdf(struct imapc_client_mailbox *box,
imapc_command_callback_t *callback,
void *context, const char *cmd_fmt, ...)
if (mail->fetch_count++ == 0)
array_append(&mbox->fetch_mails, &mail, 1);
- imapc_client_mailbox_cmdf(mbox->client_box,
- imapc_mail_prefetch_callback,
- mail, "%1s", str_c(str));
+ imapc_client_mailbox_cmd(mbox->client_box,
+ imapc_mail_prefetch_callback,
+ mail, str_c(str));
mail->imail.data.prefetch_sent = TRUE;
return 0;
}
/* we may be running against a server that hasn't bothered sending
us an EXPUNGE. see if NOOP sends it. */
imapc_simple_context_init(&sctx, mbox->storage);
- imapc_client_mailbox_cmdf(mbox->client_box,
- imapc_simple_callback, &sctx, "NOOP");
+ imapc_client_mailbox_cmd(mbox->client_box,
+ imapc_simple_callback, &sctx, "NOOP");
imapc_simple_run(&sctx);
return !imapc_msgmap_uid_to_rseq(msgmap, _mail->uid, &rseq);
static void imapc_idle_timeout(struct imapc_mailbox *mbox)
{
- imapc_client_mailbox_cmd(mbox->client_box, "NOOP",
- imapc_noop_callback, mbox->storage);
+ imapc_client_mailbox_cmd(mbox->client_box,
+ imapc_noop_callback, mbox->storage, "NOOP");
}
static void imapc_idle_noop_callback(const struct imapc_command_reply *reply,
don't notice changes immediately, we'll force them to check
here by sending a NOOP. this helps with clients that break
IDLE when clicking "get mail". */
- imapc_client_mailbox_cmd(mbox->client_box, "NOOP",
- imapc_idle_noop_callback, mbox);
+ imapc_client_mailbox_cmd(mbox->client_box,
+ imapc_idle_noop_callback, mbox,
+ "NOOP");
} else {
/* remote server doesn't support IDLE.
check for changes with NOOP every once in a while. */
static void imapc_sync_cmd(struct imapc_sync_context *ctx, const char *cmd)
{
ctx->sync_command_count++;
- imapc_client_mailbox_cmd(ctx->mbox->client_box, cmd,
- imapc_sync_callback, ctx);
+ imapc_client_mailbox_cmd(ctx->mbox->client_box,
+ imapc_sync_callback, ctx, cmd);
}
static void
if ((capabilities & IMAPC_CAPABILITY_IDLE) == 0) {
/* IDLE not supported. do NOOP to get latest changes
before starting sync. */
- imapc_client_mailbox_cmdf(mbox->client_box,
- imapc_noop_stop_callback,
- mbox->storage, "NOOP");
+ imapc_client_mailbox_cmd(mbox->client_box,
+ imapc_noop_stop_callback,
+ mbox->storage, "NOOP");
imapc_storage_run(mbox->storage);
}