summaryrefslogtreecommitdiff
path: root/protocols/Skype/src/skype_subclassing.cpp
diff options
context:
space:
mode:
authorAlexander Lantsev <aunsane@gmail.com>2012-09-27 05:44:38 +0000
committerAlexander Lantsev <aunsane@gmail.com>2012-09-27 05:44:38 +0000
commit4db6c5178cbd85e29e714a63ee5b1e8fc9881bae (patch)
tree7dfa309c4f1d2e3a0a4d251e3f9d4529403f1176 /protocols/Skype/src/skype_subclassing.cpp
parente2e27aabce83dc5ebf60a8456b7560ca104d6223 (diff)
- added skype sublassing
- CSkupeProto funcs moved to spec files - some minor changes git-svn-id: http://svn.miranda-ng.org/main/trunk@1675 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'protocols/Skype/src/skype_subclassing.cpp')
-rw-r--r--protocols/Skype/src/skype_subclassing.cpp45
1 files changed, 45 insertions, 0 deletions
diff --git a/protocols/Skype/src/skype_subclassing.cpp b/protocols/Skype/src/skype_subclassing.cpp
new file mode 100644
index 0000000000..04b4a82b74
--- /dev/null
+++ b/protocols/Skype/src/skype_subclassing.cpp
@@ -0,0 +1,45 @@
+#include "skype_subclassing.h"
+
+Account* CSkype::newAccount(int oid)
+{
+ return new CAccount(oid, this);
+}
+
+CAccount::CAccount(unsigned int oid, SERootObject* root) : Account(oid, root)
+{
+ this->isLoggedOut = true;
+}
+
+void CAccount::OnChange(int prop)
+{
+ if (prop == Account::P_STATUS)
+ {
+ Account::STATUS loginStatus;
+ this->GetPropStatus(loginStatus);
+ if (loginStatus == Account::LOGGED_IN)
+ this->isLoggedOut = false;
+
+ if (loginStatus == Account::LOGGED_OUT)
+ {
+ this->isLoggedOut = true;
+ Account::LOGOUTREASON whyLogout;
+ this->GetPropLogoutreason(whyLogout);
+ /*if (whyLogout != Account::LOGOUT_CALLED)
+ {
+ printf("%s\n", (const char*)tostring(whyLogout));
+ }*/
+ }
+ }
+};
+
+void CAccount::BlockWhileLoggingIn()
+{
+ while (this->isLoggedOut)
+ Sleep(1);
+}
+
+void CAccount::BlockWhileLoggingOut()
+{
+ while ( !this->isLoggedOut)
+ Sleep(1);
+}; \ No newline at end of file