summaryrefslogtreecommitdiff
path: root/protocols/Skype/src/skypekit/search.cpp
blob: f1b20563aa4c14541cc2179cdc179f1559bd06a6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#include "..\skype.h"
#include "search.h"

CContactSearch::CContactSearch(unsigned int oid, CSkypeProto* _ppro) :
	ContactSearch(oid, _ppro),
	proto(_ppro)
{
}

void CContactSearch::OnChange(int prop)
{
	if (prop == P_CONTACT_SEARCH_STATUS)
	{
		CContactSearch::STATUS status;
		this->GetPropContactSearchStatus(status);
		if (status == FINISHED || status == FAILED)
		{
			this->isSeachFinished = true;
			if (this->proto)
				proto->OnSearchCompleted(this->hSearch);
		}
	}
}

void CContactSearch::OnNewResult(const ContactRef &contact, const uint &rankValue)
{
	proto->OnContactFinded(contact, this->hSearch);
}

void CContactSearch::BlockWhileSearch()
{
	this->isSeachFinished = false;
	this->isSeachFailed = false;
	while (!this->isSeachFinished && !this->isSeachFailed) 
		Sleep(1); 
}