void *reopen_context;
void *untagged_box_context;
+ char *name;
bool reconnect_ok;
bool reconnecting;
}
struct imapc_client_mailbox *
-imapc_client_mailbox_open(struct imapc_client *client,
+imapc_client_mailbox_open(struct imapc_client *client, const char *name,
void *untagged_box_context)
{
struct imapc_client_mailbox *box;
box = i_new(struct imapc_client_mailbox, 1);
box->client = client;
box->untagged_box_context = untagged_box_context;
+ box->name = i_strdup(name);
conn = imapc_client_get_unboxed_connection(client);
conn->box = box;
box->conn = conn->conn;
imapc_msgmap_deinit(&box->msgmap);
timeout_remove(&box->to_send_idle);
+ i_free(box->name);
i_free(box);
}
bool imapc_client_is_running(struct imapc_client *client);
struct imapc_client_mailbox *
-imapc_client_mailbox_open(struct imapc_client *client,
+imapc_client_mailbox_open(struct imapc_client *client, const char *name,
void *untagged_box_context);
void imapc_client_mailbox_set_reopen_cb(struct imapc_client_mailbox *box,
void (*callback)(void *context),
imapc_login_last_reply = IMAPC_COMMAND_STATE_INVALID;
/* select a mailbox */
- box = imapc_client_mailbox_open(imapc_client, NULL);
+ box = imapc_client_mailbox_open(imapc_client, NULL, NULL);
imapc_client_mailbox_set_reopen_cb(box, imapc_reopen_callback, box);
cmd = imapc_client_mailbox_cmd(box, imapc_command_callback, NULL);
}
mbox->client_box =
- imapc_client_mailbox_open(mbox->storage->client->client, mbox);
+ imapc_client_mailbox_open(mbox->storage->client->client,
+ mailbox_get_name(&mbox->box), mbox);
imapc_client_mailbox_set_reopen_cb(mbox->client_box,
imapc_mailbox_reopen, mbox);