summaryrefslogtreecommitdiff
path: root/protocols/Skype/src/skypekit/search.h
diff options
context:
space:
mode:
Diffstat (limited to 'protocols/Skype/src/skypekit/search.h')
-rw-r--r--protocols/Skype/src/skypekit/search.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/protocols/Skype/src/skypekit/search.h b/protocols/Skype/src/skypekit/search.h
new file mode 100644
index 0000000000..60b920130d
--- /dev/null
+++ b/protocols/Skype/src/skypekit/search.h
@@ -0,0 +1,33 @@
+#pragma once
+
+#include "common.h"
+#include "contact.h"
+
+class CContactSearch : public ContactSearch
+{
+public:
+ typedef void (CSkypeProto::* OnSearchCompleted)(HANDLE hSearch);
+ typedef void (CSkypeProto::* OnContactFinded)(CContact::Ref contact, HANDLE hSearch);
+
+ typedef DRef<CContactSearch, ContactSearch> Ref;
+ typedef DRefs<CContactSearch, ContactSearch> Refs;
+
+ bool isSeachFinished;
+ bool isSeachFailed;
+
+ CContactSearch(unsigned int oid, SERootObject* root);
+
+ void OnChange(int prop);
+ void OnNewResult(const ContactRef &contact, const uint &rankValue);
+
+ void SetProtoInfo(CSkypeProto* proto, HANDLE hSearch);
+ void SetOnSearchCompleatedCallback(OnSearchCompleted callback);
+ void SetOnContactFindedCallback(OnContactFinded callback);
+
+ void BlockWhileSearch();
+private:
+ HANDLE hSearch;
+ CSkypeProto* proto;
+ OnSearchCompleted SearchCompletedCallback;
+ OnContactFinded ContactFindedCallback;
+}; \ No newline at end of file