summaryrefslogtreecommitdiff
path: root/metacontacts.cpp
diff options
context:
space:
mode:
authorGluzskiy Alexandr <sss123next@list.ru>2010-10-09 06:06:01 +0300
committerGluzskiy Alexandr <sss123next@list.ru>2010-10-09 06:06:01 +0300
commit5b66750e1759aef824fab28d8e36f349bc060f20 (patch)
treec2497c4cc8a78c493015b768e4ffa389c85fc807 /metacontacts.cpp
parentfc6b9e74816401ad364ff0e675767a30c84d9896 (diff)
metacontacts ....
Diffstat (limited to 'metacontacts.cpp')
-rw-r--r--metacontacts.cpp33
1 files changed, 31 insertions, 2 deletions
diff --git a/metacontacts.cpp b/metacontacts.cpp
index 6c49411..b0eb8bf 100644
--- a/metacontacts.cpp
+++ b/metacontacts.cpp
@@ -18,7 +18,7 @@
extern bool bMetaContacts;
-BOOL isProtoMetaContacts(HANDLE hContact)
+bool metaIsProtoMetaContacts(HANDLE hContact)
{
if(bMetaContacts) {
LPSTR proto = (LPSTR)CallService(MS_PROTO_GETCONTACTBASEPROTO, (WPARAM)hContact, 0);
@@ -30,7 +30,7 @@ BOOL isProtoMetaContacts(HANDLE hContact)
}
-BOOL metaIsDefaultSubContact(HANDLE hContact)
+bool metaIsDefaultSubContact(HANDLE hContact)
{
if(bMetaContacts)
@@ -45,6 +45,12 @@ HANDLE metaGetContact(HANDLE hContact)
return (HANDLE)CallService(MS_MC_GETMETACONTACT,(WPARAM)hContact,0);
return 0;
}
+bool metaIsSubcontact(HANDLE hContact)
+{
+ if(bMetaContacts)
+ return (HANDLE)CallService(MS_MC_GETMETACONTACT,(WPARAM)hContact,0);
+ return false;
+}
HANDLE metaGetMostOnline(HANDLE hContact)
@@ -54,6 +60,29 @@ HANDLE metaGetMostOnline(HANDLE hContact)
return (HANDLE)CallService(MS_MC_GETMOSTONLINECONTACT,(WPARAM)hContact,0);
return 0;
}
+HANDLE metaGetDefault(HANDLE hContact)
+{
+
+ if(bMetaContacts)
+ return (HANDLE)CallService(MS_MC_GETDEFAULTCONTACT,(WPARAM)hContact,0);
+ return 0;
+}
+
+HANDLE metaGetCurrent(HANDLE hContact)
+{
+ bool IsOnline(HANDLE hContact);
+ if(bMetaContacts)
+ {
+ if(!metaIsProtoMetaContacts(hContact))
+ return hContact;
+ HANDLE hcnt = metaGetDefault(hContact);
+ if(!IsOnline(hcnt))
+ hcnt = metaGetMostOnline(hContact);
+ return hcnt;
+ }
+ return hContact;
+}
+
DWORD metaGetContactsNum(HANDLE hContact)
{