JUINT32 JPhoneAgent::DumpMemory() { JEvent* pEvent = JNULL; JCommEngine* pComEngine = JNULL; JThread* pThread = JNULL; JAgentThread* pAgentThread = JNULL; JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(), JLOG_MOD_PHONE_AGENT, "JPhoneAgent::DumpMemory"); pEvent = new JEvent(JEVT_MEMORY_DUMP_MEMORY); if (pEvent) { pEvent->SetFromProc(JS_P_JMAINPROC); pEvent->SetFromThrd(JS_T_JPHONEAGENT); pEvent->SetFromMod(JNULL); pEvent->SetToProc(JS_P_JMAINPROC); pEvent->SetToThrd(JS_T_JMAINTHREAD); pEvent->SetToMod(JS_M_JMEMORY); pEvent->SetBody(JNULL); pThread = JSingleton<JThreadManager>::instance()->GetThread(JS_T_JPHONEAGENT); pAgentThread = dynamic_cast<JAgentThread*>(pThread); if (pAgentThread) { pComEngine = pAgentThread->GetNotifyCommEngine(); if (pComEngine) { pComEngine->SendEvent(pEvent); } } } return JSUCCESS; }
JUINT32 JPhoneAgent::PressKey(JSIPUA_KEY eKey) { JEvent* pEvent = JNULL; JPjSipUaKey* pJPjSipUaKeyBody = JNULL; JCommEngine* pComEngine = JNULL; JThread* pThread = JNULL; JAgentThread* pAgentThread = JNULL; JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(), JLOG_MOD_PHONE_AGENT, "JPhoneAgent::PressKey"); pEvent = new JEvent(JEVT_SIPUA_PRESS_KEY); pJPjSipUaKeyBody = new JPjSipUaKey; if (pEvent && pJPjSipUaKeyBody) { JCHAR cKey[2] = {0}; cKey[0] = JPjSipUa::KeyEnum2Char(eKey); JString strKey = cKey; //store the press key pJPjSipUaKeyBody->SetKey(strKey); pEvent->SetFromProc(JS_P_JMAINPROC); pEvent->SetFromThrd(JS_T_JPHONEAGENT); pEvent->SetFromMod(JNULL); pEvent->SetToProc(JS_P_JMAINPROC); pEvent->SetToThrd(JS_T_JMAINTHREAD); pEvent->SetToMod(JS_M_JSIPUA); pEvent->SetBody(pJPjSipUaKeyBody); pThread = JSingleton<JThreadManager>::instance()->GetThread(JS_T_JPHONEAGENT); pAgentThread = dynamic_cast<JAgentThread*>(pThread); if (pAgentThread) { //get the communication engine to send the event pComEngine = pAgentThread->GetNotifyCommEngine(); if (pComEngine) { pComEngine->SendEvent(pEvent); } } } return JSUCCESS; }
JUINT32 JPhoneAgent::SetLogCfg(JLogCfg* pLogCfg) { JEvent* pEvent = JNULL; JLogCfg* pLogCfgBody = JNULL; JCommEngine* pComEngine = JNULL; JThread* pThread = JNULL; JAgentThread* pAgentThread = JNULL; JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(), JLOG_MOD_PHONE_AGENT, "JPhoneAgent::SetLogCfg"); pEvent = new JEvent(JEVT_LOG_SET_CFG); pLogCfgBody = new JLogCfg; if (pEvent && pLogCfgBody) { //set log config into the body pLogCfgBody->SetLogAddress(pLogCfg->GetLogAddress()); pLogCfgBody->SetLogPort(pLogCfg->GetLogPort()); pLogCfgBody->SetOutputFile(pLogCfg->GetOutputFile()); pLogCfgBody->SetOutputRemote(pLogCfg->GetOutputRemote()); pEvent->SetFromProc(JS_P_JMAINPROC); pEvent->SetFromThrd(JS_T_JPHONEAGENT); pEvent->SetFromMod(JNULL); pEvent->SetToProc(JS_P_JMAINPROC); pEvent->SetToThrd(JS_T_JMAINTHREAD); pEvent->SetToMod(JS_M_JLOG); pEvent->SetBody(pLogCfgBody); pThread = JSingleton<JThreadManager>::instance()->GetThread(JS_T_JPHONEAGENT); pAgentThread = dynamic_cast<JAgentThread*>(pThread); if (pAgentThread) { //get the communication engine to send the event pComEngine = pAgentThread->GetNotifyCommEngine(); if (pComEngine) { pComEngine->SendEvent(pEvent); } } } return JSUCCESS; }
JUINT32 JPhoneAgent::SetSipUaCfg(JPjSipUaCfg* pPjSipUaCfg) { JEvent* pEvent = JNULL; JPjSipUaCfg* pPjSipUaCfgBody = JNULL; JCommEngine* pComEngine = JNULL; JThread* pThread = JNULL; JAgentThread* pAgentThread = JNULL; JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(), JLOG_MOD_PHONE_AGENT, "JPhoneAgent::SetSipUaCfg"); pEvent = new JEvent(JEVT_SIPUA_SET_CFG); pPjSipUaCfgBody = new JPjSipUaCfg; if (pEvent && pPjSipUaCfgBody) { //set account info into the body pPjSipUaCfgBody->SetNumber(pPjSipUaCfg->GetNumber()); pPjSipUaCfgBody->SetAuthName(pPjSipUaCfg->GetAuthName()); pPjSipUaCfgBody->SetAuthPasswd(pPjSipUaCfg->GetAuthPasswd()); pPjSipUaCfgBody->SetProxyAddr(pPjSipUaCfg->GetProxyAddr()); pEvent->SetFromProc(JS_P_JMAINPROC); pEvent->SetFromThrd(JS_T_JPHONEAGENT); pEvent->SetFromMod(JNULL); pEvent->SetToProc(JS_P_JMAINPROC); pEvent->SetToThrd(JS_T_JMAINTHREAD); pEvent->SetToMod(JS_M_JSIPUA); pEvent->SetBody(pPjSipUaCfgBody); pThread = JSingleton<JThreadManager>::instance()->GetThread(JS_T_JPHONEAGENT); pAgentThread = dynamic_cast<JAgentThread*>(pThread); if (pAgentThread) { //get the communication engine to send the event pComEngine = pAgentThread->GetNotifyCommEngine(); if (pComEngine) { pComEngine->SendEvent(pEvent); } } } return JSUCCESS; }
JUINT32 JPhoneAgent::SetDaemonCfg(JDaemonCfg* pDaemonCfg) { JEvent* pEvent = JNULL; JDaemonCfg* pDaemonCfgBody = JNULL; JCommEngine* pComEngine = JNULL; JThread* pThread = JNULL; JAgentThread* pAgentThread = JNULL; JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(), JLOG_MOD_PHONE_AGENT, "JPhoneAgent::SetDaemonCfg"); pEvent = new JEvent(JEVT_DAEMON_SET_CFG); pDaemonCfgBody = new JDaemonCfg; if (pEvent && pDaemonCfg) { //set save methon into the body pDaemonCfgBody->SetSaveMethod(pDaemonCfg->GetSaveMethod()); pEvent->SetFromProc(JS_P_JMAINPROC); pEvent->SetFromThrd(JS_T_JPHONEAGENT); pEvent->SetFromMod(JNULL); pEvent->SetToProc(JS_P_JMAINPROC); pEvent->SetToThrd(JS_T_JMAINTHREAD); pEvent->SetToMod(JS_M_JDAEMON); pEvent->SetBody(pDaemonCfgBody); pThread = JSingleton<JThreadManager>::instance()->GetThread(JS_T_JPHONEAGENT); pAgentThread = dynamic_cast<JAgentThread*>(pThread); if (pAgentThread) { //get the communication engine to send the event pComEngine = pAgentThread->GetNotifyCommEngine(); if (pComEngine) { pComEngine->SendEvent(pEvent); } } } return JSUCCESS; }
JUINT32 JPhoneAgent::ClickContact(JPjSipUaClickContact* pPjSipUaClickContact) { JEvent* pEvent = JNULL; JPjSipUaClickContact* pPjSipUaClickContactBody = JNULL; JCommEngine* pComEngine = JNULL; JThread* pThread = JNULL; JAgentThread* pAgentThread = JNULL; JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(), JLOG_MOD_PHONE_AGENT, "JPhoneAgent::ClickContact"); pEvent = new JEvent(JEVT_SIPUA_CLICK_CONTACT); pPjSipUaClickContactBody = new JPjSipUaClickContact; if (pEvent && pPjSipUaClickContactBody) { //store the number selected into the contact list pPjSipUaClickContactBody->SetContactNumber(pPjSipUaClickContact->GetContactNumber()); pEvent->SetFromProc(JS_P_JMAINPROC); pEvent->SetFromThrd(JS_T_JPHONEAGENT); pEvent->SetFromMod(JNULL); pEvent->SetToProc(JS_P_JMAINPROC); pEvent->SetToThrd(JS_T_JMAINTHREAD); pEvent->SetToMod(JS_M_JSIPUA); pEvent->SetBody(pPjSipUaClickContactBody); pThread = JSingleton<JThreadManager>::instance()->GetThread(JS_T_JPHONEAGENT); pAgentThread = dynamic_cast<JAgentThread*>(pThread); if (pAgentThread) { //get the communication engine to send the event pComEngine = pAgentThread->GetNotifyCommEngine(); if (pComEngine) { pComEngine->SendEvent(pEvent); } } } return JSUCCESS; }
JUINT32 JPhoneAgent::GetContact() { JEvent* pEvent = JNULL; JCommEngine* pComEngine = JNULL; JThread* pThread = JNULL; JAgentThread* pAgentThread = JNULL; JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(), JLOG_MOD_PHONE_AGENT, "JPhoneAgent::GetContact"); pEvent = new JEvent(JEVT_SIPUA_GET_CONTACT_LIST); if (pEvent) { pEvent->SetFromProc(JS_P_JMAINPROC); pEvent->SetFromThrd(JS_T_JPHONEAGENT); pEvent->SetFromMod(JNULL); pEvent->SetToProc(JS_P_JMAINPROC); pEvent->SetToThrd(JS_T_JMAINTHREAD); pEvent->SetToMod(JS_M_JSIPUA); pEvent->SetBody(JNULL); pThread = JSingleton<JThreadManager>::instance()->GetThread(JS_T_JPHONEAGENT); pAgentThread = dynamic_cast<JAgentThread*>(pThread); if (pAgentThread) { //get the communication engine to send the event pComEngine = pAgentThread->GetNotifyCommEngine(); if (pComEngine) { pComEngine->SendEvent(pEvent); } } } return JSUCCESS; }