summaryrefslogtreecommitdiff
path: root/protocols/Skype/src/skypekit/contact.cpp
diff options
context:
space:
mode:
authorAlexander Lantsev <aunsane@gmail.com>2013-04-23 19:47:32 +0000
committerAlexander Lantsev <aunsane@gmail.com>2013-04-23 19:47:32 +0000
commita2184eb00d2b02d48ec14e72615736281b9d5f81 (patch)
tree94ade86705cd11d5868d6b33675773642a05f199 /protocols/Skype/src/skypekit/contact.cpp
parentbfeb3b2b1088278afb247d82085174aaf97e2cc6 (diff)
- changed project file structure
- skype runtime initialization moved to plugin load func - fixed password encription - disabled message sync git-svn-id: http://svn.miranda-ng.org/main/trunk@4518 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Skype/src/skypekit/contact.cpp')
-rw-r--r--protocols/Skype/src/skypekit/contact.cpp59
1 files changed, 59 insertions, 0 deletions
diff --git a/protocols/Skype/src/skypekit/contact.cpp b/protocols/Skype/src/skypekit/contact.cpp
new file mode 100644
index 0000000000..2030eba250
--- /dev/null
+++ b/protocols/Skype/src/skypekit/contact.cpp
@@ -0,0 +1,59 @@
+#include "contact.h"
+
+CContact::CContact(unsigned int oid, SERootObject* root) : Contact(oid, root)
+{
+ this->proto = NULL;
+ this->callback == NULL;
+}
+
+SEString CContact::GetSid()
+{
+ SEString result;
+ CContact::AVAILABILITY availability;
+ this->GetPropAvailability(availability);
+ if (availability == CContact::SKYPEOUT)
+ this->GetPropPstnnumber(result);
+ else
+ this->GetPropSkypename(result);
+ return result;
+}
+
+SEString CContact::GetNick()
+{
+ SEString result;
+ CContact::AVAILABILITY availability;
+ this->GetPropAvailability(availability);
+ if (availability == CContact::SKYPEOUT)
+ result = this->GetSid();
+ else
+ this->GetPropDisplayname(result);
+ return result;
+}
+
+bool CContact::GetFullname(SEString &firstName, SEString &lastName)
+{
+ SEString fullname;
+ this->GetPropFullname(fullname);
+ int pos = fullname.find(" ");
+ if (pos && pos < fullname.length())
+ {
+ firstName = fullname.substr(0, pos);
+ lastName = fullname.right(pos);
+ }
+
+ firstName = fullname;
+
+ return true;
+}
+
+void CContact::SetOnContactChangedCallback(OnContactChanged callback, CSkypeProto* proto)
+{
+ this->proto = proto;
+ this->callback = callback;
+}
+
+void CContact::OnChange(int prop)
+{
+ if (this->proto)
+ (proto->*callback)(this->ref(), prop);
+} \ No newline at end of file