本文整理汇总了C++中JEvent类的典型用法代码示例。如果您正苦于以下问题:C++ JEvent类的具体用法?C++ JEvent怎么用?C++ JEvent使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了JEvent类的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: clsLogAutoPtr
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;
}
示例2: mouseExit
boolean JDialog::mouseExit(JEvent& e, int _x, int _y) {
if (theMainWindow) {
e.arg = this;
e.translate(x-theMainWindow->x,
y-theMainWindow->y);
theMainWindow->postJEvent(e);
}
return true;
}
示例3: rect
boolean JDialog::mouseDrag(JEvent& e, int _x, int _y) {
if (mousePressed && theMainWindow) {
JRect rect(0, 0, width, height);
e.arg = rect.inside(_x, _y) ? this : null;
e.translate(x-theMainWindow->x,
y-theMainWindow->y);
theMainWindow->postJEvent(e);
}
return true;
}
示例4: mouseDown
boolean JDialog::mouseDown(JEvent& e, int _x, int _y) {
if ((e.id == JEvent::MOUSE_DOWN) &&
(e.modifiers & JEvent::LBUTTON) &&
theMainWindow) {
mousePressed = true;
e.arg = this;
e.translate(x-theMainWindow->x,
y-theMainWindow->y);
theMainWindow->postJEvent(e);
}
return true;
}
示例5: clsLogAutoPtr
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;
}
示例6: GetContactRsp
JUINT32 JPhoneAgent::GetContactRsp(JPjSipUaContactList* pPjSipUaContactList)
{
JUINT32 uiRet = JFAILURE;
JEvent* pEvent = JNULL;
JSOCKADDR_IN stAddr;
JEVT_TYPE pType = JEVT_NONE;
JPjSipUaContactList* pPjSipUaContactListBody = JNULL;
JUINT32 uiInterval = 0;
JUINT32 uiIdx = 0;
JCHAR pBuf[JCOMM_MSG_BUF_LEN] = {0};
JCommEngine* pCommEngine = JNULL;
JListItem<JEvent>* pListItem = JNULL;
JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(),
JLOG_MOD_PHONE_AGENT, "JPhoneAgent::GetContactRsp");
if (!pPjSipUaContactList)
{
return JFAILURE;
}
else
{
pPjSipUaContactList->Clear();
}
while(1)
{
if (!uiInterval)
{
uiInterval = JPHONE_AGENT_SELECT_TIME;
}
else
{
uiInterval = JPHONE_AGENT_SELECT_TIME2;
}
pCommEngine = m_pAgentThread->GetCommEngineGroup().HasMessage(uiInterval);
if (pCommEngine && pCommEngine == m_pAgentThread->GetNotifyCommEngine())
{
uiRet = pCommEngine->RecvMessage(pBuf, JCOMM_MSG_BUF_LEN, &stAddr);
if (uiRet == 1 && SafeStrcmp(pBuf, "1") ==0)
{
pListItem = m_pAgentThread->DeQueueEvent();
if (pListItem)
{
pEvent = pListItem->GetData();
if (pEvent)
{
pType = pEvent->GetEventType();
pPjSipUaContactListBody = dynamic_cast<JPjSipUaContactList*>(pEvent->GetBody());
//check the response and save the data
if (pType == JEVT_SIPUA_GET_CONTACT_LIST_RSP && pPjSipUaContactListBody)
{
for (uiIdx=0; uiIdx<JPJSIP_MAX_NUMBER; uiIdx++)
{
if(!pPjSipUaContactListBody->GetContactNumber(uiIdx).GetLength())
{
break;
}
pPjSipUaContactList->SetContactNumber(uiIdx,
pPjSipUaContactListBody->GetContactNumber(uiIdx));
}
}
}
delete pListItem;
}
}
}
else
{
break;
}
}
return JSUCCESS;
}
示例7: GetLogCfgRsp
JUINT32 JPhoneAgent::GetLogCfgRsp(JLogCfg* pLogCfg)
{
JUINT32 uiRet = JFAILURE;
JEvent* pEvent = JNULL;
JSOCKADDR_IN stAddr;
JEVT_TYPE pType = JEVT_NONE;
JLogCfg* pLogCfgBody = JNULL;
JUINT32 uiInterval = 0;
JCHAR pBuf[JCOMM_MSG_BUF_LEN] = {0};
JCommEngine* pCommEngine = JNULL;
JListItem<JEvent>* pListItem = JNULL;
JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(),
JLOG_MOD_PHONE_AGENT, "JPhoneAgent::GetLogCfgRsp");
if (!pLogCfg)
{
return JFAILURE;
}
else
{
pLogCfg->Clear();
}
while(1)
{
if (!uiInterval)
{
uiInterval = JPHONE_AGENT_SELECT_TIME;
}
else
{
uiInterval = JPHONE_AGENT_SELECT_TIME2;
}
pCommEngine = m_pAgentThread->GetCommEngineGroup().HasMessage(uiInterval);
if (pCommEngine && pCommEngine == m_pAgentThread->GetNotifyCommEngine())
{
uiRet = pCommEngine->RecvMessage(pBuf, JCOMM_MSG_BUF_LEN, &stAddr);
if (uiRet == 1 && SafeStrcmp(pBuf, "1") ==0)
{
pListItem = m_pAgentThread->DeQueueEvent();
if (pListItem)
{
pEvent = pListItem->GetData();
if (pEvent)
{
pType = pEvent->GetEventType();
pLogCfgBody = dynamic_cast<JLogCfg*>(pEvent->GetBody());
//check the response and save the data
if (pType == JEVT_LOG_GET_CFG_RSP && pLogCfgBody)
{
pLogCfg->SetLogAddress(pLogCfgBody->GetLogAddress());
pLogCfg->SetLogPort(pLogCfgBody->GetLogPort());
pLogCfg->SetOutputFile(pLogCfgBody->GetOutputFile());
pLogCfg->SetOutputRemote(pLogCfgBody->GetOutputRemote());
}
}
delete pListItem;
}
}
}
else
{
break;
}
}
return JSUCCESS;
}
示例8: GetDaemonCfgRsp
JUINT32 JPhoneAgent::GetDaemonCfgRsp(JDaemonCfg* pDaemonCfg)
{
JUINT32 uiRet = JFAILURE;
JEvent* pEvent = JNULL;
JSOCKADDR_IN stAddr;
JEVT_TYPE pType = JEVT_NONE;
JDaemonCfg* pDaemonCfgBody = JNULL;
JUINT32 uiInterval = 0;
JCHAR pBuf[JCOMM_MSG_BUF_LEN] = {0};
JCommEngine* pCommEngine = JNULL;
JListItem<JEvent>* pListItem = JNULL;
JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(),
JLOG_MOD_PHONE_AGENT, "JPhoneAgent::GetDaemonCfgRsp");
if (!pDaemonCfg)
{
return JFAILURE;
}
else
{
pDaemonCfg->Clear();
}
while(1)
{
//first select time is 500ms, the second is 100ms, because normally the response
//be received in the 500ms after request be sent, so it will make it more likely to
//receive response at the first select loop.
if (!uiInterval)
{
uiInterval = JPHONE_AGENT_SELECT_TIME;
}
else
{
uiInterval = JPHONE_AGENT_SELECT_TIME2;
}
//if response event be received, first a notify message "1" be received
//the get event for the thread queue, because it's through queue read/write
//while communication happens between two threads of one process.
pCommEngine = m_pAgentThread->GetCommEngineGroup().HasMessage(uiInterval);
if (pCommEngine && pCommEngine == m_pAgentThread->GetNotifyCommEngine())
{
uiRet = pCommEngine->RecvMessage(pBuf, JCOMM_MSG_BUF_LEN, &stAddr);
if (uiRet == 1 && SafeStrcmp(pBuf, "1") ==0)
{
pListItem = m_pAgentThread->DeQueueEvent();
if (pListItem)
{
pEvent = pListItem->GetData();
if (pEvent)
{
pType = pEvent->GetEventType();
pDaemonCfgBody = dynamic_cast<JDaemonCfg*>(pEvent->GetBody());
//check the response and save the data
if (pType == JEVT_DAEMON_GET_CFG_RSP && pDaemonCfgBody)
{
pDaemonCfg->SetSaveMethod(pDaemonCfgBody->GetSaveMethod());
}
}
delete pListItem;
}
}
}
else
{
break;
}
}
return JSUCCESS;
}
示例9: GetStatusRsp
JUINT32 JPhoneAgent::GetStatusRsp(JPjSipUaCallStatus* pPjSipUaCallStatus)
{
JUINT32 uiRet = JFAILURE;
JEvent* pEvent = JNULL;
JSOCKADDR_IN stAddr;
JEVT_TYPE pType = JEVT_NONE;
JPjSipUaCallStatus* pPjSipUaCallStatusBody = JNULL;
JUINT32 uiInterval = 0;
JCHAR pBuf[JCOMM_MSG_BUF_LEN] = {0};
JCommEngine* pCommEngine = JNULL;
JListItem<JEvent>* pListItem = JNULL;
JLogAutoPtr clsLogAutoPtr(JSingleton<JLog>::instance(),
JLOG_MOD_PHONE_AGENT, "JPhoneAgent::GetStatusRsp");
if (!pPjSipUaCallStatus)
{
return JFAILURE;
}
else
{
pPjSipUaCallStatus->Clear();
}
while(1)
{
if (!uiInterval)
{
uiInterval = JPHONE_AGENT_SELECT_TIME;
}
else
{
uiInterval = JPHONE_AGENT_SELECT_TIME2;
}
pCommEngine = m_pAgentThread->GetCommEngineGroup().HasMessage(uiInterval);
if (pCommEngine && pCommEngine == m_pAgentThread->GetNotifyCommEngine())
{
uiRet = pCommEngine->RecvMessage(pBuf, JCOMM_MSG_BUF_LEN, &stAddr);
if (uiRet == 1 && SafeStrcmp(pBuf, "1") ==0)
{
pListItem = m_pAgentThread->DeQueueEvent();
if (pListItem)
{
pEvent = pListItem->GetData();
if (pEvent)
{
pType = pEvent->GetEventType();
pPjSipUaCallStatusBody = dynamic_cast<JPjSipUaCallStatus*>(pEvent->GetBody());
if (pType == JEVT_SIPUA_GET_CALL_STATUS_RSP && pPjSipUaCallStatusBody)
{
pPjSipUaCallStatus->SetNumber(pPjSipUaCallStatusBody->GetNumber());
pPjSipUaCallStatus->SetStatus(pPjSipUaCallStatusBody->GetStatus());
}
}
delete pListItem;
}
}
}
else
{
break;
}
}
return JSUCCESS;
}