void CBattleground::Close() { /* remove all players from the battleground */ m_mainLock.Acquire(); m_ended = true; for(uint32 i = 0; i < 2; ++i) { set<Player*>::iterator itr; set<uint32>::iterator it2; uint32 guid; Player* plr; for(itr = m_players[i].begin(); itr != m_players[i].end();) { plr = *itr; ++itr; RemovePlayer(plr, false); } for(it2 = m_pendPlayers[i].begin(); it2 != m_pendPlayers[i].end();) { guid = *it2; ++it2; plr = objmgr.GetPlayer(guid); if(plr) RemovePendingPlayer(plr); else m_pendPlayers[i].erase(guid); } } /* call the virtual on close for cleanup etc */ OnClose(); /* shut down the map thread. this will delete the battleground from the current context. */ m_mapMgr->SetThreadState(THREADSTATE_TERMINATE); m_mainLock.Release(); }
LRESULT CSettingDialog::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; switch( uMsg ) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break; case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break; case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break; case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break; case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break; case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break; case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break; default: bHandled = FALSE; } if( bHandled ) return lRes; if( m_pm.MessageHandler(uMsg, wParam, lParam, lRes) ) return lRes; return CWindowWnd::HandleMessage(uMsg, wParam, lParam); }
LRESULT CDuilib3dFrame::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; switch( uMsg ) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break; case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break; case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break; case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break; case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break; case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break; case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break; case WM_USER+1: { CControlUI* pControl = (CControlUI*)lParam; pControl->SetVisible(true); }break; default: bHandled = FALSE; } if( bHandled ) { return lRes; } if( m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes) ) { return lRes; } return CWindowWnd::HandleMessage(uMsg, wParam, lParam); }
LRESULT WindowImplBase::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; switch (uMsg) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_DESTROY: lRes = OnDestroy(uMsg, wParam, lParam, bHandled); break; #if defined(WIN32) && !defined(UNDER_CE) case WM_NCACTIVATE: lRes = OnNcActivate(uMsg, wParam, lParam, bHandled); break; case WM_NCCALCSIZE: lRes = OnNcCalcSize(uMsg, wParam, lParam, bHandled); break; case WM_NCPAINT: lRes = OnNcPaint(uMsg, wParam, lParam, bHandled); break; case WM_NCHITTEST: lRes = OnNcHitTest(uMsg, wParam, lParam, bHandled); break; case WM_GETMINMAXINFO: lRes = OnGetMinMaxInfo(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEWHEEL: lRes = OnMouseWheel(uMsg, wParam, lParam, bHandled); break; #endif case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_CHAR: lRes = OnChar(uMsg, wParam, lParam, bHandled); break; case WM_SYSCOMMAND: lRes = OnSysCommand(uMsg, wParam, lParam, bHandled); break; case WM_KEYDOWN: lRes = OnKeyDown(uMsg, wParam, lParam, bHandled); break; case WM_KILLFOCUS: lRes = OnKillFocus(uMsg, wParam, lParam, bHandled); break; case WM_SETFOCUS: lRes = OnSetFocus(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONUP: lRes = OnLButtonUp(uMsg, wParam, lParam, bHandled); break; case WM_LBUTTONDOWN: lRes = OnLButtonDown(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEMOVE: lRes = OnMouseMove(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEHOVER: lRes = OnMouseHover(uMsg, wParam, lParam, bHandled); break; default: bHandled = FALSE; break; } if (bHandled) return lRes; lRes = HandleCustomMessage(uMsg, wParam, lParam, bHandled); if (bHandled) return lRes; if (m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes)) return lRes; return CWindowWnd::HandleMessage(uMsg, wParam, lParam); }
void dhla::net::TCPSocket::PollEventsSync() { while(connected) { // creating a set of sockets, in order to poll its events fd_set readset; FD_ZERO(&readset); FD_SET(m_fd, &readset); // only one socket for this time // critical section MutexLock(); int result = select(0, &readset, NULL, NULL, NULL ); MutexUnlock(); // ends critical section if(result == 0 || result == SOCKET_ERROR) { if(OnError) { OnError(this, "Error waiting for socket's events", WSAGetLastError()); break; } else { throw "Error waiting for socket's events"; } } else { int len = recv(m_fd, m_input_buffer, MAX_BUFFER_SIZE, 0); if(len < 1) { if(OnClose && connected) { connected = false; OnClose(this); } break; } if(OnData != NULL) { OnData(this, m_input_buffer, len); } } } }
LRESULT CALLBACK SystemWindow::LocalWndProc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam) { switch(msg) { case WM_SIZE: OnResize(static_cast<u32>(LOWORD(lparam)), static_cast<u32>(HIWORD(lparam)), static_cast<window::WINDOW_RESIZE_STATE>(wparam)); break; case WM_MOVE: OnMove(static_cast<u32>(LOWORD(lparam)), static_cast<u32>(HIWORD(lparam))); break; case WM_CLOSE: OnClose(); break; case WM_DESTROY: OnDestroy(); break; default: //We don't handle the message so let the Default Window Proc handle it return DefWindowProcW(hwnd, msg, wparam, lparam); } return 0; }
// Deal with the window messages. int KUiTaskNote::WndProc(unsigned int uMsg, unsigned int uParam, int nParam) { int nResult = false; if (uMsg == WND_N_BUTTON_CLICK) { if (uParam == (unsigned int)(KWndWindow*)&m_BtnClose) { OnClose(); nResult = true; } else { if (uParam == (unsigned int)(KWndWindow*)&m_BtnPersonal) m_PersonalPad.Show(); nResult = KWndPageSet::WndProc(uMsg, uParam, nParam); } } else { nResult = KWndPageSet::WndProc(uMsg, uParam, nParam); } return nResult; }
void CIOCPFileAccessor::Close() { if(m_FileHandle!=INVALID_HANDLE_VALUE) { CloseHandle(m_FileHandle); m_FileHandle=INVALID_HANDLE_VALUE; } InterlockedExchange((LPLONG)&(m_WantClose),FALSE); COverLappedObject * pOverLappedObject; while(m_DataQueue.PopFront(pOverLappedObject)) { GetServer()->DeleteOverLappedObject(pOverLappedObject); } while(m_RequestQueue.PopFront(pOverLappedObject)) { GetServer()->DeleteOverLappedObject(pOverLappedObject); } OnClose(); }
LRESULT CMenuWnd::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; switch( uMsg ) { case WM_CREATE: lRes = OnCreate(uMsg, wParam, lParam, bHandled); break; case WM_CLOSE: lRes = OnClose(uMsg, wParam, lParam, bHandled); break; case WM_KILLFOCUS: lRes = OnKillFocus(uMsg, wParam, lParam, bHandled); break; case WM_KEYDOWN: lRes = OnKeyDown(uMsg, wParam, lParam, bHandled); break; case WM_MOUSEWHEEL: break; case WM_SIZE: lRes = OnSize(uMsg, wParam, lParam, bHandled); break; case WM_MOVE: lRes = OnMove(uMsg, wParam, lParam, bHandled); break; default: bHandled = FALSE; } if( bHandled ) return lRes; if( m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes) ) return lRes; return CWindowWnd::HandleMessage(uMsg, wParam, lParam); }
void CTransferSocket::TriggerPostponedEvents() { wxASSERT(m_bActive); if (m_postponedReceive) { m_pControlSocket->LogMessage(::Debug_Verbose, _T("Executing postponed receive")); m_postponedReceive = false; OnReceive(); if (m_transferEndReason != none) return; } if (m_postponedSend) { m_pControlSocket->LogMessage(::Debug_Verbose, _T("Executing postponed send")); m_postponedSend = false; OnSend(); if (m_transferEndReason != none) return; } if (m_onCloseCalled) OnClose(0); }
int main(int _NbrParams, char* _tabstrParams[]) { // Initialisation... Init(1024, 768); dlgNom = new CMSFVTextBox(pSDLRenderer); dlgTexte = new CMSFVMemo(pSDLRenderer); mnuContextuel = new CMenu(); // Exécution... OnShow(); while (Execution()); OnClose(); // Conclusion... delete mnuContextuel; delete dlgTexte; delete dlgNom; delete pArbreIndSelect; // delete pRacine; // delete pCurrent; return 0; }
INT_PTR Dialog::DlgWndProc(UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { case WM_INITDIALOG: return OnInitDlg(wParam, lParam); case WM_COMMAND: return OnCommand(wParam, lParam); case WM_NOTIFY: return OnNotify(wParam, lParam); case WM_TIMER: return OnTimer(wParam, lParam); case WM_CLOSE: return OnClose(wParam, lParam); case WM_DESTROY: return OnDestroy(wParam, lParam); case WM_SIZE: return OnSize(wParam, lParam); case WM_GETMINMAXINFO: return OnGetMinMaxInfo(wParam, lParam); } return (INT_PTR)FALSE; }
bool CTaskProgressWnd::OnAbortClick() { // При нажатии на кнопке "прервать" if (m_pTask->GetState() == TASK_STATE_WORKING) { // если задача выполняется - спросим прерывать ли задачу if (MessageBox(m_hWindow, FormatC(TEXT("Прервать выполнение задачи \'%s\'?"), m_pTask->GetPTaskInfo()->sName.C()), MessageCaption, MB_ICONQUESTION | MB_YESNOCANCEL) == IDYES) { // если ответили прерывать - прерываем m_pTask->Abort(); } } else if (m_pTask->GetState() == TASK_STATE_NONE) { // а если задача не выполняется просто закроем окно OnClose(); EndDialog(m_hWindow, 0); m_hWindow = NULL; } return true; }
void AFMServer::RunAsDaemon() { bool r = Create(0, SOCK_STREAM, "EngineerModeServer"); //org "127.0.0.1" 37121 if(!r) { EMSVRLOG("create server socket failure\n"); return; } int rc = listen(m_hSocket, 5); if(rc) { EMSVRLOG("listen() fail; errno:%d, err_msg:%s\n", errno, strerror(errno)); return; } m_bRunning = true; int failCount = 0; while (true) { if (!m_bRunning) { EMSVRLOG("EM SERVER exit Daemon\n"); OnClose(failCount); break; } r = AcceptConnection(); if (!r) { failCount++; EMSVRLOG("EM SERVER fail to listen connection\n"); } if (failCount >= 5) { m_bRunning = false; EMSVRLOG("the fail count to listen connection is overflow the max count\n"); } } }
void Server::PostRecv(Client* client) { assert(client); WSABUF recvBufferDescriptor; recvBufferDescriptor.buf = reinterpret_cast<char*>(client->GetRecvBuff()); recvBufferDescriptor.len = Client::MAX_RECV_BUFFER; DWORD numberOfBytes = 0; DWORD recvFlags = 0; IOEvent* event = IOEvent::Create(IOEvent::RECV, client); assert(event); StartThreadpoolIo(client->GetTPIO()); if (WSARecv(client->GetSocket(), &recvBufferDescriptor, 1, &numberOfBytes, &recvFlags, &event->GetOverlapped(), NULL) == SOCKET_ERROR) { int error = WSAGetLastError(); if (error != ERROR_IO_PENDING) { CancelThreadpoolIo(client->GetTPIO()); ERROR_CODE(error, "WSARecv() failed."); OnClose(event); IOEvent::Destroy(event); } } else { // In this case, the completion callback will have already been scheduled to be called. } }
void CExternalIPResolver::OnSocketEvent(CSocketEvent& event) { if (!m_pSocket) return; switch (event.GetType()) { case CSocketEvent::read: OnReceive(); break; case CSocketEvent::connection: OnConnect(event.GetError()); break; case CSocketEvent::close: OnClose(); break; case CSocketEvent::write: OnSend(); break; default: break; } }
LRESULT GDBWaitingDlg::OnSocketAccept(WPARAM wParam, LPARAM lParam) { if(LOWORD(lParam) == FD_ACCEPT) { WSAAsyncSelect(listenSocket, (HWND)*this, 0, 0); int flag = 0; ioctlsocket(listenSocket, FIONBIO, (unsigned long *)&flag); SOCKET s = accept(listenSocket, NULL, NULL); if(s != INVALID_SOCKET) { char dummy; recv(s, &dummy, 1, 0); if(dummy != '+') { systemMessage(IDS_ACK_NOT_RECEIVED, "ACK not received from GDB."); OnClose(); // calls EndDialog } else { sock = s; EndDialog(TRUE); } } } return TRUE; }
bool BaseWindow::WndProc(UINT uMsg, WPARAM wParam, LPARAM lParam, LRESULT* pres) { UNREFERENCED_PARAMETER(wParam); UNREFERENCED_PARAMETER(lParam); UNREFERENCED_PARAMETER(pres); switch (uMsg) { case WM_DESTROY: OnClose(); break; case WM_NCDESTROY: if (_hwnd) { RemoveProp(_hwnd, (LPTSTR)s_atomThisProperty); _hwnd = NULL; delete this; } break; } return false; }
LRESULT CSDKLoginUIMgr::HandleMessage(UINT uMsg, WPARAM wParam, LPARAM lParam) { LRESULT lRes = 0; BOOL bHandled = TRUE; if( uMsg == WM_CREATE ) { m_PaintManager.Init(m_hWnd); CDialogBuilder builder; STRINGorID xml(GetSkinRes()); CControlUI* pRoot = builder.Create(xml, _T("xml"), 0, &m_PaintManager); ASSERT(pRoot && "Failed to parse XML"); m_PaintManager.AttachDialog(pRoot); m_PaintManager.AddNotifier(this); InitWindow(); return lRes; } else if (uMsg == WM_CLOSE) { OnClose(uMsg, wParam, lParam, bHandled); } else if (uMsg == WM_DESTROY) { OnDestroy(uMsg, wParam, lParam, bHandled); } if( m_PaintManager.MessageHandler(uMsg, wParam, lParam, lRes) ) { return lRes; } return __super::HandleMessage(uMsg, wParam, lParam); }
//接收数据 size_t Connection::RecvData() { int ret=0; //用inputbuffer接收,循环接受直接接受完成 while((m_inputbuffer->AvailableSize() > 0) && ((ret = recv(m_sockfd, m_inputbuffer->Tail(),m_inputbuffer->RecvSize(),0)) > 0)) { //接受到对面发送的数据 log::log(Info,"recv data lenth = ",ret); //接受完成后buffer的size_不能自动更新,所以,这里使用函数更新size_ m_inputbuffer->UpdateSize(ret); } //接受完成之后对buffer中的数据进行解析直到解析完成 while(m_inputbuffer->Size() > HEADER_LEN) { //获取数据的长度 uint32_t len = m_inputbuffer->ReadUint32Only(); log::log(Info,"Msg len:",len); if(m_inputbuffer->Size() < len ) { //还没有接受到一个完整的请求 //break; } //读取消息的类型,消息的类型不能放在protobuf中,因为字节不固定 uint32_t type = m_inputbuffer->ReadUint32Only(MSGTYPE_LEN); log::log(Info,"Msg type:",type); m_inputbuffer->SkipData(HEADER_LEN); HandleReq((ReqType)type,len); } log::log(Info,"ret:",ret); if(ret == 0) { OnClose(); } return ret; }
void CTransferSocket::TriggerPostponedEvents() { assert(m_bActive); if (m_postponedReceive) { controlSocket_.LogMessage(MessageType::Debug_Verbose, _T("Executing postponed receive")); m_postponedReceive = false; OnReceive(); if (m_transferEndReason != TransferEndReason::none) { return; } } if (m_postponedSend) { controlSocket_.LogMessage(MessageType::Debug_Verbose, _T("Executing postponed send")); m_postponedSend = false; OnSend(); if (m_transferEndReason != TransferEndReason::none) { return; } } if (m_onCloseCalled) { OnClose(0); } }
LRESULT CMediaPlayerDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) { // Field notifications from the DirectShow filter graph manager // and those posted by the application switch (message) { case WM_GRAPHNOTIFY: HandleGraphEvent(); break; case WM_HSCROLL: HandleTrackbar(LOWORD(wParam)); break; case WM_VSCROLL: HandleVolumeSlider(LOWORD(wParam)); break; case WM_PLAYFILE: PlaySelectedFile(); break; case WM_KEYDOWN: switch(LOWORD(wParam)) { case 'P': OnPlay(); break; case 'S': OnStop(); break; case 'U': OnPause(); break; case 'L': OnCheckLoop(); break; case 'M': OnCheckMute(); break; case VK_ESCAPE: if (g_bFullScreen_MP) OnCheckFullScreen(); else OnClose(); break; } break; case WM_CLOSE: FreeDirectShow(); break; } // Pass along this message to the video window, which exists as a child // of the m_MPScreen window. This method should be used by windows that // make a renderer window a child window. It forwards significant messages // to the child window that the child window would not otherwise receive. if (pVW_MP) { pVW_MP->NotifyOwnerMessage((LONG_PTR) m_hWnd, message, wParam, lParam); } return COXSizeDialogBar::WindowProc(message, wParam, lParam); }
LRESULT CPdnWnd::OnEndSession(UINT uMsg, WPARAM wParam, LPARAM lParam) { if(wParam) OnClose(WM_CLOSE, 0, 0); return 0; }
LRESULT CPdnWnd::WindowProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { if(uMsg == WM_FORWARDMSG) { return OnForwardMessage(hWnd, uMsg, wParam, lParam); } else if(uMsg == WM_CREATE) { m_hWnd = hWnd; return OnCreate(uMsg, wParam, lParam); } else if(uMsg == WM_CLOSE) { return OnClose(uMsg, wParam, lParam); } else if(uMsg == WM_DESTROY) { return OnDestroy(uMsg, wParam, lParam); } else if(uMsg == WM_JSINVOKE) { return OnJSInvoke(uMsg, wParam, lParam); } else if(uMsg == WM_GETMINMAXINFO) { return OnGetMinMaxInfo(uMsg, wParam, lParam); } else if(uMsg == WM_ACTIVATE) { return OnActivate(uMsg, wParam, lParam); } else if(uMsg == WM_SIZE) { return OnSize(uMsg, wParam, lParam); } else if(uMsg == WM_COMMAND) { return OnCommand(uMsg, wParam, lParam); } else if(uMsg == WM_ENDSESSION) { return OnEndSession(uMsg, wParam, lParam); } else if(uMsg == WM_NCDESTROY) { OnFinalMessage(m_hWnd, uMsg, wParam, lParam); return ::DefWindowProc(m_hWnd, uMsg, wParam, lParam); } else if(uMsg == m_TaskbarRestartMessage) { return OnTaskbarRestart(uMsg, wParam, lParam); } else if(uMsg == WM_COPYDATA) { return OnCopyData(uMsg, wParam, lParam); } else if(uMsg == WM_NOTIFYICON) { return OnNotifyIcon(uMsg, wParam, lParam); } else if(uMsg == WM_PARENTNOTIFY && wParam == WM_DESTROY) { return ::DestroyWindow(m_hWnd); } else if(uMsg == WM_SYSCOMMAND) { return OnSysCommand(uMsg, wParam, lParam); } else if(uMsg == 0x02B1 /*WM_WTSSESSION_CHANGE*/) { return OnWTSSessionChange(uMsg, wParam, lParam); } else if(uMsg == WM_ENTERMENULOOP) { m_hasModalDialog = true; return ::DefWindowProc(m_hWnd, uMsg, wParam, lParam); } else if(uMsg == WM_EXITMENULOOP) { m_hasModalDialog = false; return ::DefWindowProc(m_hWnd, uMsg, wParam, lParam); } else { return ::DefWindowProc(m_hWnd, uMsg, wParam, lParam); } }
void AddDlg::OnBnClickedCancel() { OnClose(); }
Chusky::Chusky(CWnd* pParent /*=NULL*/) : CDialogEx(Chusky::IDD, pParent) , m_directRadioGroup(0) , m_makeRadioGroup(0) , m_num_of_topic_edit(0) , m_price_of_topic_edit(0) , pThread(NULL) { m_pChart = NULL; m_pCandleChart = NULL; FILE *userSelectFile; while(!(userSelectFile = fopen("userName.txt", "r"))); int user; fscanf(userSelectFile, "%d", &user); fscanf(userSelectFile, "%d", &needLine); fclose(userSelectFile); strcpy(BrokerID, "1004"); if (user == 0){ strcpy(UserID, "0193755301"); strcpy(Password, "b82c5d504683007ac12478e703b19531"); } if (user == 1){ strcpy(UserID, "0193755302"); strcpy(Password, "bad4d60aef1a060441dbbe47977d0dd1"); } if (user == 2){ strcpy(UserID, "0193755303"); strcpy(Password, "f99a47bd147441718d35939f1c38a766"); } pUserApi = CUstpFtdcMduserApi::CreateFtdcMduserApi(); CLoginHandler tempLoginHandler(pUserApi); loginHandler = tempLoginHandler; loginHandler.getIns(numOfIns, contracts); loginHandler.getData(InsData); pUserApi -> RegisterSpi(&loginHandler); if (needLine) pUserApi -> SubscribeMarketDataTopic(100, USTP_TERT_RESTART); else pUserApi -> SubscribeMarketDataTopic(100, USTP_TERT_QUICK); pUserApi -> RegisterFront("tcp://117.185.125.4:17199"); pUserApi -> Init(); pTraderApi = CUstpFtdcTraderApi::CreateFtdcTraderApi(); CTraderHandler tempTraderHandler(pTraderApi); traderHandler = tempTraderHandler; pTraderApi -> RegisterSpi(&traderHandler); pTraderApi -> SubscribePrivateTopic(USTP_TERT_RESTART); pTraderApi -> SubscribePublicTopic(USTP_TERT_RESTART); pTraderApi -> RegisterFront("tcp://117.185.125.4:17198"); pTraderApi -> Init(); CUstpFtdcQryInvestorAccountField qryInvestorAccount; strcpy(qryInvestorAccount.BrokerID, BrokerID); strcpy(qryInvestorAccount.InvestorID, UserID); strcpy(qryInvestorAccount.UserID, Password); ++g_UserOrderLocalID; int loopTime = 0; while (!traderHandler.getStatus()){ ++loopTime; if (loopTime > 50000000) break; } if (loopTime > 50000000){ MessageBox(CString("登陆系统失败,请检查网络是否通畅及是否在系统开放时间"), CString("登陆失败"), MB_OK); OnClose(); } setMoney(); g_UserOrderLocalID = traderHandler.getUserOrderLocalID(); }
oex::oexBOOL CSqSSLPortFactory::CSqSSLPort::OnAttach() {_STT(); oexAutoLock ll( m_lock ); if ( !ll.IsLocked() ) return oex::oexFALSE; if ( !m_ctx ) return oex::oexFALSE; // Create ssl object for this connection m_ssl = SSL_new( m_ctx ); if ( !m_ssl ) { m_sLastError = ERR_error_string( ERR_get_error(), 0 ); // oexSHOW( m_sLastError.c_str() ); return oex::oexFALSE; } // end if // Set socket handle if ( !SSL_set_fd( m_ssl, oexPtrToInt( GetSocketHandle() ) ) ) { m_sLastError = ERR_error_string( ERR_get_error(), 0 ); OnClose(); // oexSHOW( m_sLastError.c_str() ); return oex::oexFALSE; } // end if int err = 0; oex::os::CTimeout to; to.SetMs( oexDEFAULT_WAIT_TIMEOUT ); do { // Wait for data? if ( err ) { ll.Unlock(); oexSleep( 15 ); if ( !ll.Lock( m_lock ) ) { OnClose(); return oex::oexFALSE; } // end if } // end if // SSL accept if( -1 == SSL_accept( m_ssl ) ) err = SSL_get_error( m_ssl, -1 ); else err = 0; } while ( to.IsValid() && ( SSL_ERROR_WANT_READ == err || SSL_ERROR_WANT_WRITE == err ) ); if ( err ) { m_sLastError = sqbind::oex2std( oexMks( oexT( "SSL_accept() failed : " ), err ) ); // oexSHOW( m_sLastError.c_str() ); OnClose(); return oex::oexFALSE; } // end if oex::CPropertyBag pb; long lVerify = SSL_get_verify_result( m_ssl ); pb[ oexT( "cert_verify" ) ] = ( X509_V_OK == lVerify ); // Get peer certificate m_cert = SSL_get_peer_certificate( m_ssl ); pb[ oexT( "cert_valid" ) ] = ( X509_V_OK == lVerify ) && m_cert; // +++ Fill in certificate information /* if ( m_cert ) { X509_NAME *pName = X509_get_subject_name( m_cert ); if ( pName ) for ( int i = 0; i < X509_NAME_entry_count( pName ); i++ ) { X509_NAME_ENTRY *e = X509_NAME_get_entry( pName, i ); } // end for } // end if */ // Set port properties string m_sProperties = oex::CParser::Serialize( pb ); return oex::oexTRUE; }
CSqSSLPortFactory::CSqSSLPort::~CSqSSLPort() {_STT(); OnClose(); }
LRESULT CMainDlg::OnBnClickedButtonExit(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) { OnClose(); return 0; }
void CParadigmDifferences::OnBnClickedCancel() { OnClose(); }