static gboolean addDraftMessageCompleteCB(void *data)
{
+ LoggerD("Entered");
MessageCallbackUserData* callback =
static_cast<MessageCallbackUserData *>(data);
if (!callback) {
picojson::object& obj = json->get<picojson::object>();
if (json->contains(JSON_CALLBACK_ID) && obj.at(JSON_CALLBACK_ID).is<double>()) {
if (callback->isError()) {
+ LoggerD("Calling error callback");
callback->getQueue().resolve(obj.at(JSON_CALLBACK_ID).get<double>(),
json->serialize()
);
callback->getMessage()->setMessageStatus(MessageStatus::STATUS_FAILED);
}
else {
+ LoggerD("Calling success callback");
obj[JSON_ACTION] = picojson::value(JSON_CALLBACK_SUCCCESS);
std::vector<picojson::value> recipients;
if (message) {
if (!(message->is_id_set())) {
platform_result = addOutboxMessagePlatform(callback->getAccountId(), message);
- if (platform_result.IsError()) return platform_result;
}
- err = email_get_mail_data(message->getId(),&mail_data);
-
- if (EMAIL_ERROR_NONE != err) {
- LoggerE("email_get_mail_data failed. [%d]\n", err);
- platform_result = PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get platform email structure");
- } else {
- LoggerD("email_get_mail_data success.\n");
+ if (platform_result) {
+ err = email_get_mail_data(message->getId(),&mail_data);
+ if (EMAIL_ERROR_NONE != err) {
+ LoggerE("email_get_mail_data failed. [%d]\n", err);
+ platform_result = PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to get platform email structure");
+ } else {
+ LoggerD("email_get_mail_data success.\n");
- // Sending EMAIL
- mail_data->save_status = EMAIL_MAIL_STATUS_SENDING;
+ // Sending EMAIL
+ mail_data->save_status = EMAIL_MAIL_STATUS_SENDING;
- int req_id = 0;
- err = email_send_mail(mail_data->mail_id, &req_id);
+ int req_id = 0;
+ err = email_send_mail(mail_data->mail_id, &req_id);
- if (EMAIL_ERROR_NONE != err) {
- LoggerE("Failed to send message %d", err);
- platform_result = PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to send message");
- } else {
- LoggerD("req_id: %d", req_id);
- callback->getMessage()->setMessageStatus(MessageStatus::STATUS_SENDING);
- m_sendRequests[req_id] = callback;
+ if (EMAIL_ERROR_NONE != err) {
+ LoggerE("Failed to send message %d", err);
+ platform_result = PlatformResult(ErrorCode::UNKNOWN_ERR, "Failed to send message");
+ } else {
+ LoggerD("req_id: %d", req_id);
+ callback->getMessage()->setMessageStatus(MessageStatus::STATUS_SENDING);
+ m_sendRequests[req_id] = callback;
+ }
}
}
} else {
email_noti_on_network_event status,
int error_code)
{
- LoggerD("Enter");
+ LoggerD("Entered");
std::lock_guard<std::mutex> lock(m_mutex);
//find first request for this mail_id
email_mail_data_t* EmailManager::loadMessage(int msg_id)
{
+ LoggerD("Entered");
email_mail_data_t* mail_data = NULL;
int err = EMAIL_ERROR_NONE;
err = email_get_mail_data(msg_id, &mail_data);
EmailManager::SendReqMapIterator EmailManager::getSendRequest(int mail_id)
{
+ LoggerD("Entered");
for (auto it = m_sendRequests.begin(); it != m_sendRequests.end(); it++) {
if (it->second->getMessage()->getId() == mail_id) {
return it;
void EmailManager::freeMessage(email_mail_data_t* mail_data)
{
+ LoggerD("Entered");
if(!mail_data) {
return;
}
if (NULL != mailbox) {
err = email_free_mailbox(&mailbox, 1);
if (EMAIL_ERROR_NONE != err) {
- LoggerD("Failed to email_free_mailbox - err:%d ", err);
+ LoggerE("Failed to email_free_mailbox - err:%d ", err);
}
mailbox = NULL;
}
//################################## ^stopSync #################################
+void EmailManager::RemoveSyncCallback(long op_id) {
+ LoggerD("Entered");
+ m_proxy_sync->removeCallback(op_id);
+}
+
+void EmailManager::RemoveCallbacksByQueue(const PostQueue& q) {
+ LoggerD("Entered");
+
+ for (auto it = m_sendRequests.begin(); it != m_sendRequests.end();) {
+ if (&it->second->getQueue() == &q) {
+ delete it->second;
+ m_sendRequests.erase(it++);
+ } else {
+ ++it;
+ }
+ }
+}
+
void removeEmailCompleteCB(MessagesCallbackUserData* callback)
{
LoggerD("Entered");
EmailManager::DeleteReqVector::iterator EmailManager::getDeleteRequest(
const std::vector<int> &ids)
{
+ LoggerD("Entered");
for (auto idIt = ids.begin(); idIt != ids.end(); ++idIt) {
for (auto reqIt = m_deleteRequests.begin(); reqIt != m_deleteRequests.end(); ++reqIt) {
MessagePtrVector msgs = reqIt->callback->getMessages();
void EmailManager::removeStatusCallback(const std::vector<int> &ids,
email_noti_on_storage_event status)
{
- LoggerD("Enter");
+ LoggerD("Entered");
std::lock_guard<std::mutex> lock(m_mutex);
DeleteReqVector::iterator it = getDeleteRequest(ids);
if (it != m_deleteRequests.end()) {
PlatformResult EmailManager::RemoveMessagesPlatform(MessagesCallbackUserData* callback)
{
+ LoggerD("Entered");
int error;
email_mail_data_t *mail = NULL;
}
PlatformResult EmailManager::UpdateMessagesPlatform(MessagesCallbackUserData* callback) {
+ LoggerD("Entered");
int error;
email_mail_data_t *mail = NULL;
SCOPE_EXIT {
PlatformResult EmailManager::FindMessagesPlatform(FindMsgCallbackUserData* callback)
{
+ LoggerD("Entered");
email_mail_data_t* mailList = NULL;
int mailListCount = 0;
PlatformResult EmailManager::FindConversationsPlatform(ConversationCallbackData* callback)
{
+ LoggerD("Entered");
int convListCount = 0;
std::lock_guard<std::mutex> lock(m_mutex);
void EmailManager::findConversations(ConversationCallbackData* callback)
{
- LoggerE("Entered");
+ LoggerD("Entered");
if(!callback){
LoggerE("Callback is null");
long EmailManager::getUniqueOpId()
{
+ LoggerD("Entered");
// mutex is created only on first call (first call added to constructor
// to initialize mutex correctly)
static std::mutex op_id_mutex;
PlatformResult EmailManager::FindFoldersPlatform(FoldersCallbackData* callback)
{
+ LoggerD("Entered");
int ret = EMAIL_ERROR_UNKNOWN;
int account_id = ACCOUNT_ID_NOT_INITIALIZED;
email_mailbox_t* mailboxes = NULL;
PlatformResult EmailManager::RemoveConversationsPlatform(ConversationCallbackData* callback)
{
+ LoggerD("Entered");
int error;
std::lock_guard<std::mutex> lock(m_mutex);
std::vector<std::shared_ptr<MessageConversation>> conversations =