diff options
author | Alexander Lantsev <aunsane@gmail.com> | 2012-09-27 05:44:38 +0000 |
---|---|---|
committer | Alexander Lantsev <aunsane@gmail.com> | 2012-09-27 05:44:38 +0000 |
commit | 4db6c5178cbd85e29e714a63ee5b1e8fc9881bae (patch) | |
tree | 7dfa309c4f1d2e3a0a4d251e3f9d4529403f1176 /protocols/Skype/src/skype_subclassing.cpp | |
parent | e2e27aabce83dc5ebf60a8456b7560ca104d6223 (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.cpp | 45 |
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 |