BOOL CDlgChVMask::ConnectVideo() { KILLTIMER(m_timerid); if(m_hchann != -1) { VSNET_ClientStop(m_hchann); m_hchann = -1; } CHANNEL_CLIENTINFO m_chinfo; memset(&m_chinfo,0,sizeof(CHANNEL_CLIENTINFO)); m_chinfo.m_buffnum = 5; m_chinfo.m_ch = m_ch; m_chinfo.m_hChMsgWnd = m_hWnd; m_chinfo.m_nChmsgid = DLGWND_VIDEOMSG; m_chinfo.m_hVideohWnd = GetDlgItem(IDC_STATIC_WND)->m_hWnd; m_chinfo.m_password = (char*)(const char*)(g_SerParam->m_password); m_chinfo.m_playstart = TRUE; m_chinfo.m_sername = (char*)(const char*)(g_SerParam->m_sername); m_chinfo.m_tranType = 3; m_chinfo.m_useoverlay = FALSE; m_chinfo.m_username = (char*)(const char*)(g_SerParam->m_username); m_chinfo.nColorKey = RGB(255,0,255); m_hchann = VSNET_ClientStart((char*)(const char*)g_SerParam->m_serurl,&m_chinfo,g_SerParam->m_serport); if(m_hchann == -1) { return FALSE; } else { VSNET_ClientSetDelayTime(m_hchann,5); } return TRUE; }
LRESULT CDlgChVMask::OnDlgVideoMsg(WPARAM wParam,LPARAM lParam) { if(wParam != LAUMSG_LINKMSG) return 0; if(lParam == 0) { return 0; } KILLTIMER(m_timerid); if(m_hchann != -1) { VSNET_ClientStop(m_hchann); m_hchann = -1; } switch(lParam) { case 1: break; case 2: break; case 3: case 4: case 5: case -102: case -103: case -105: case -106: case -112: default: m_timerid = SetTimer(10,10 * 1000,NULL); break; } return 0; }
void CDlgChVMask::OnTimer(UINT nIDEvent) { if(nIDEvent == 10) { KILLTIMER(m_timerid); ConnectVideo(); } CDialog::OnTimer(nIDEvent); }
static VOID CALLBACK SendTimerProc(HWND hwnd, UINT uMsg, UINT_PTR idEvent, DWORD dwTime) { if (!loaded) return; KILLTIMER(hSendTimer); // m_log(_T("SendTimerProc"), _T("It's time to process")); if (singleton != NULL) singleton->ProcessReceived(); }
GenericPlayer::~GenericPlayer() { KILLTIMER(hSendTimer); DestroyWindow(m_hwnd); m_hwnd = NULL; //UnregisterClass(MIRANDA_WINDOWCLASS, hInst); UnregisterClass (MAKEINTATOM(cWndclass),hInst); cWndclass = 0; singleton = NULL; }
LRESULT CDlgChVMask::OnDlgFree(WPARAM wParam,LPARAM lParam) { CString strmsg; KILLTIMER(m_timerid); if(m_hchann != -1) { strmsg.LoadString(IDS_STRING259); g_SerParam->m_txtMsginfo.SetWindowText(strmsg); VSNET_ClientStop(m_hchann); m_hchann = -1; g_SerParam->m_txtMsginfo.SetWindowText(""); } return 0; }
void GenericPlayer::NewData(const WCHAR *data, size_t len) { // m_log(_T("NewData"), _T("Processing")); if (data[0] == L'\0') { // m_log(_T("NewData"), _T("ERROR: Text is empty")); return; } EnterCriticalSection(&cs); len = min(len, 1023); if (wcsncmp(received, data, len) != 0) { // m_log(_T("NewData"), _T("Got new text, scheduling update")); wcsncpy(received, data, len); received[len] = L'\0'; //#ifdef UNICODE // m_log(_T("NewData"), _T("Text: %s"), received); //#else // m_log(_T("NewData"), _T("Text: %S"), received); //#endif KILLTIMER(hSendTimer); hSendTimer = SetTimer(NULL, NULL, 300, (TIMERPROC)SendTimerProc); // Do the processing after we return true } // else // { // m_log(_T("NewData"), _T("END: Text is the same as last time")); // } LeaveCriticalSection(&cs); }