Esempio n. 1
0
bool CScrobbler::HandleSubmission(CStdString &strResponse)
{
    if (strResponse.IsEmpty())
        return false;

    std::vector<CStdString> vecTokens;
    CUtil::Tokenize(strResponse, vecTokens, " \n\r");

    if (vecTokens[0] == "OK")
    {
        CLog::Log(LOGDEBUG, "%s: Submission succeeded!", m_strLogPrefix.c_str());
        ClearErrorState();
        return true;
    }
    else if (vecTokens[0] == "BADSESSION")
    {
        CLog::Log(LOGDEBUG, "%s: Submission failed! "\
                  "REASON: Bad session. Forcing new handshake.", m_strLogPrefix.c_str());
        ClearSession();
    }
    else if (vecTokens[0] == "FAILED")
    {
        CLog::Log(LOGDEBUG, "%s: Submission failed! "\
                  "REASON: %s", m_strLogPrefix.c_str(), strResponse.c_str());
    }
    else
        CLog::Log(LOGDEBUG, "%s: Submission failed! "\
                  "REASON: Unspecified.", m_strLogPrefix.c_str());

    return false;
}
Esempio n. 2
0
void CScrobbler::HandleHardError()
{
    CLog::Log(LOGDEBUG, "%s: A hard error has occurred.", m_strLogPrefix.c_str());
    if (++m_hardErrorCount == 3)
    {
        CLog::Log(LOGDEBUG, "%s: Three consecuetive hard errors have "\
                  "occured. Forcing new handshake.", m_strLogPrefix.c_str());
        ClearSession();
    }
}
LRESULT CWebinosUI::OnDestroy(UINT /*uMsg*/, WPARAM /*wParam*/, LPARAM /*lParam*/, BOOL& /*bHandled*/)
{
	WTSUnRegisterSessionNotification(m_hWnd);

	ClearSession();

	Shell_NotifyIcon(NIM_DELETE, &m_trayIcon);

	// unregister message filtering and idle updates
	CMessageLoop* pLoop = _Module.GetMessageLoop();
	ATLASSERT(pLoop != NULL);
	pLoop->RemoveMessageFilter(this);
	pLoop->RemoveIdleHandler(this);

	return 0;
}
LRESULT CWebinosUI::OnSessionChange(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
	switch( wParam )
	{
	case WTS_CONSOLE_CONNECT:
//		MessageBox(TEXT("WTS_CONSOLE_CONNECT"), TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
		SetSession();
		break;
	case WTS_CONSOLE_DISCONNECT:
		ClearSession();
//		MessageBox(TEXT("WTS_CONSOLE_DISCONNECT"), TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
		break;
	case WTS_SESSION_LOCK:
		//MessageBox(TEXT("WTS_SESSION_LOCK"), TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
		break;
	case WTS_SESSION_UNLOCK:
		//MessageBox(TEXT("WTS_SESSION_UNLOCK"), TEXT("WM_WTSSESSION_CHANGE"), MB_OK );
		break;
	default:
		break;
	}

	return 0;
}
Esempio n. 5
0
void CScrobbler::ResetState()
{
    ClearSession();
    ClearSubmissionState();
    ClearErrorState();
}