MojErr OnEnabledHandler::getAccountConfigResult(MojObject& payload, MojErr err) { MojLogTrace(IMServiceApp::s_log); if (err != MojErrNone) { MojString error; MojErrToString(err, error); MojLogCritical(IMServiceApp::s_log, "getAccountConfig failed: error %d - %s", err, error.data()); } else { MojObject results; payload.get("results", results); if (!results.empty()) { m_config = *results.arrayBegin(); } } if (m_enable) { err = accountEnabled(); } else { err = accountDisabled(); } return err; }
MojErr OnEnabledHandler::getAccountInfoResult(MojObject& payload, MojErr resultErr) { MojLogTrace(IMServiceApp::s_log); IMServiceHandler::logMojObjectJsonString(_T("OnEnabledHandler::getAccountInfoResult payload: %s"), payload); if (resultErr != MojErrNone) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler getAccountInfo result error %d"), resultErr); return resultErr; } MojObject result; MojErr err = payload.getRequired("result", result); if (err != MojErrNone || result.empty()) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler::getAccountInfoResult result empty or error %d"), err); return err; } err = result.getRequired("_id", m_accountId); if (err != MojErrNone || m_accountId.empty()) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler::getAccountInfoResult accountId empty or error %d"), err); return err; } err = result.getRequired("username", m_username); if (err != MojErrNone || m_username.empty()) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler::getAccountInfoResult username empty or error %d"), err); return err; } { MojObject capabilities; MojObject messagingObject; result.get("capabilityProviders", capabilities); getMessagingCapabilityObject(capabilities, messagingObject); err = messagingObject.getRequired("serviceName", m_serviceName); if (m_serviceName.empty()) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler::getAccountInfoResult serviceName empty")); return err; } } if (m_enable) { MojDbQuery query; query.from("com.palm.config.libpurple:1"); query.where("accountId", MojDbQuery::OpEq, m_accountId); query.limit(1); err = m_dbClient.find(m_getAccountConfigSlot, query); } else { err = accountDisabled(); } return err; }
MojErr OnEnabledHandler::getAccountInfoResult(MojObject& payload, MojErr resultErr) { MojLogTrace(IMServiceApp::s_log); IMServiceHandler::logMojObjectJsonString(_T("OnEnabledHandler::getAccountInfoResult payload: %s"), payload); if (resultErr != MojErrNone) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler getAccountInfo result error %d"), resultErr); return resultErr; } MojObject result; MojErr err = payload.getRequired("result", result); if (err != MojErrNone || result.empty()) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler::getAccountInfoResult result empty or error %d"), err); return err; } MojString accountId; err = result.getRequired("_id", accountId); if (err != MojErrNone || accountId.empty()) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler::getAccountInfoResult accountId empty or error %d"), err); return err; } MojString username; err = result.getRequired("username", username); if (err != MojErrNone || username.empty()) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler::getAccountInfoResult username empty or error %d"), err); return err; } MojString serviceName; getServiceNameFromCapabilityId(serviceName); if (serviceName.empty()) { MojLogError(IMServiceApp::s_log, _T("OnEnabledHandler::getAccountInfoResult serviceName empty")); return err; } if (m_enable) { err = accountEnabled(accountId, serviceName, username); } else { err = accountDisabled(accountId, serviceName, username); } return err; }