Exemple #1
0
void TwitterProto::MessageLoop(void*)
{
	debugLogA( _T("***** Entering Twitter::MessageLoop"));

	since_id_    = db_pod_get<twitter_id>(0,m_szModuleName,TWITTER_KEY_SINCEID,0);
	dm_since_id_ = db_pod_get<twitter_id>(0,m_szModuleName,TWITTER_KEY_DMSINCEID,0);

	bool new_account = db_get_b(0,m_szModuleName,TWITTER_KEY_NEW,1) != 0;
	bool popups = db_get_b(0,m_szModuleName,TWITTER_KEY_POPUP_SIGNON,1) != 0;

	// if this isn't set, it will automatically not turn a tweet into a msg. probably should make the default that it does turn a tweet into a message
	bool tweetToMsg  = db_get_b(0,m_szModuleName,TWITTER_KEY_TWEET_TO_MSG,0) != 0;

	int poll_rate = db_get_dw(0,m_szModuleName,TWITTER_KEY_POLLRATE,80);

	for(unsigned int i=0;;i++)
	{

		if(m_iStatus != ID_STATUS_ONLINE)
			break;
//		if(i%10 == 0)
//			UpdateFriends();

		if(m_iStatus != ID_STATUS_ONLINE)
			break;
		UpdateStatuses(new_account,popups, tweetToMsg);

		if(m_iStatus != ID_STATUS_ONLINE)
			break;
		
		if(i%10 == 0)
			UpdateMessages(new_account);

		if(new_account) // Not anymore!
		{
			new_account = false;
			db_set_b(0,m_szModuleName,TWITTER_KEY_NEW,0);
		}

		if(m_iStatus != ID_STATUS_ONLINE)
			break;
		debugLogA( _T("***** TwitterProto::MessageLoop going to sleep..."));
		if(SleepEx(poll_rate*1000,true) == WAIT_IO_COMPLETION)
			break;
		debugLogA( _T("***** TwitterProto::MessageLoop waking up..."));

		popups = true;
	}

	{
		ScopedLock s(twitter_lock_);
		twit_.set_credentials("",L"",L"",L"",L"",L"", false);
	}
	debugLogA( _T("***** Exiting TwitterProto::MessageLoop"));
}
void TwitterProto::MessageLoop(void*)
{
	LOG("***** Entering Twitter::MessageLoop");

	since_id_    = db_pod_get<twitter_id>(0,m_szModuleName,TWITTER_KEY_SINCEID,0);
	dm_since_id_ = db_pod_get<twitter_id>(0,m_szModuleName,TWITTER_KEY_DMSINCEID,0);

	bool new_account = db_byte_get(0,m_szModuleName,TWITTER_KEY_NEW,1) != 0;
	bool popups      = db_byte_get(0,m_szModuleName,TWITTER_KEY_POPUP_SIGNON,1) != 0;

	int poll_rate = db_dword_get(0,m_szModuleName,TWITTER_KEY_POLLRATE,80);

	for(unsigned int i=0;;i++)
	{
		if(m_iStatus != ID_STATUS_ONLINE)
			goto exit;
		if(i%4 == 0)
			UpdateFriends();

		if(m_iStatus != ID_STATUS_ONLINE)
			goto exit;
		UpdateStatuses(new_account,popups);

		if(m_iStatus != ID_STATUS_ONLINE)
			goto exit;
		UpdateMessages(new_account);

		if(new_account) // Not anymore!
		{
			new_account = false;
			DBWriteContactSettingByte(0,m_szModuleName,TWITTER_KEY_NEW,0);
		}

		if(m_iStatus != ID_STATUS_ONLINE)
			goto exit;
		LOG("***** TwitterProto::MessageLoop going to sleep...");
		if(SleepEx(poll_rate*1000,true) == WAIT_IO_COMPLETION)
			goto exit;
		LOG("***** TwitterProto::MessageLoop waking up...");

		popups = true;
	}

exit:
	{
		ScopedLock s(twitter_lock_);
		twit_.set_credentials("","",false);
	}
	LOG("***** Exiting TwitterProto::MessageLoop");
}
void CJobControlDlg::OnEditFailedWaiting() 
{
	UpdateStatuses(JOB_FAILED, JOB_WAITING);
	UpdateStatuses(JOB_ABORTED, JOB_WAITING);
}
void CJobControlDlg::OnEditDoneWaiting() 
{
	UpdateStatuses(JOB_DONE, JOB_WAITING);
}
void CJobControlDlg::OnEditWaitingPostponed() 
{
	UpdateStatuses(JOB_WAITING, JOB_POSTPONED);
}
void CJobControlDlg::OnEditPostponedWaiting() 
{
	UpdateStatuses(JOB_POSTPONED, JOB_WAITING);
}