diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/TabSRMM/src/contactcache.cpp | 31 | ||||
-rw-r--r-- | plugins/TabSRMM/src/contactcache.h | 11 |
2 files changed, 23 insertions, 19 deletions
diff --git a/plugins/TabSRMM/src/contactcache.cpp b/plugins/TabSRMM/src/contactcache.cpp index d3f7600f6d..c42ac94347 100644 --- a/plugins/TabSRMM/src/contactcache.cpp +++ b/plugins/TabSRMM/src/contactcache.cpp @@ -50,7 +50,7 @@ CContactCache::CContactCache(MCONTACT hContact) cc = &ccInvalid; m_szAccount = C_INVALID_ACCOUNT; m_isMeta = false; - m_Valid = false; + m_isValid = false; } /** @@ -66,8 +66,8 @@ void CContactCache::initPhaseTwo() m_szAccount = acc->tszAccountName; } - m_Valid = (cc->szProto != 0 && m_szAccount != 0) ? true : false; - if (m_Valid) { + m_isValid = (cc->szProto != 0 && m_szAccount != 0) ? true : false; + if (m_isValid) { m_isMeta = db_mc_isMeta(cc->contactID) != 0; // don't use cc->IsMeta() here if (m_isMeta) updateMeta(); @@ -110,7 +110,7 @@ void CContactCache::closeWindow() bool CContactCache::updateNick() { bool fChanged = false; - if (m_Valid) { + if (m_isValid) { wchar_t *tszNick = pcli->pfnGetContactDisplayName(getActiveContact(), 0); if (tszNick && mir_wstrcmp(m_szNick, tszNick)) fChanged = true; @@ -126,7 +126,7 @@ bool CContactCache::updateNick() */ void CContactCache::updateMeta() { - if (m_Valid) { + if (m_isValid) { MCONTACT hOldSub = m_hSub; m_hSub = db_mc_getSrmmSub(cc->contactID); m_szMetaProto = GetContactProto(m_hSub); @@ -156,7 +156,7 @@ bool CContactCache::updateUIN() { m_szUIN[0] = 0; - if (m_Valid) { + if (m_isValid) { ptrW uid(Contact_GetInfo(CNF_DISPLAYUID, getActiveContact(), getActiveProto())); if (uid != NULL) wcsncpy_s(m_szUIN, uid, _TRUNCATE); @@ -390,12 +390,13 @@ void CContactCache::releaseAlloced() */ void CContactCache::deletedHandler() { - m_Valid = false; + cc = &ccInvalid; + m_isValid = false; if (m_hwnd) ::SendMessage(m_hwnd, WM_CLOSE, 1, 2); releaseAlloced(); - m_hContact = (MCONTACT)-1; + m_hContact = INVALID_CONTACT_ID; } /** @@ -416,7 +417,7 @@ void CContactCache::updateFavorite() */ void CContactCache::updateStatusMsg(const char *szKey) { - if (!m_Valid) + if (!m_isValid) return; MCONTACT hContact = getActiveContact(); @@ -573,9 +574,9 @@ size_t CContactCache::getMaxMessageLength() return m_nMax; } -bool CContactCache::updateStatus(int iStatus)
-{
- m_iOldStatus = m_iStatus;
- m_iStatus = iStatus;
- return m_iOldStatus != iStatus;
-}
+bool CContactCache::updateStatus(int iStatus) +{ + m_iOldStatus = m_iStatus; + m_iStatus = iStatus; + return m_iOldStatus != iStatus; +} diff --git a/plugins/TabSRMM/src/contactcache.h b/plugins/TabSRMM/src/contactcache.h index a469b4b6a5..1ec1e40221 100644 --- a/plugins/TabSRMM/src/contactcache.h +++ b/plugins/TabSRMM/src/contactcache.h @@ -57,15 +57,13 @@ struct TSessionStats { struct CContactCache : public MZeroedObject
{
- CContactCache() {}
CContactCache(MCONTACT hContact);
~CContactCache()
{
releaseAlloced();
}
- __forceinline bool isValid() const { return m_Valid; }
- __forceinline int getStatus() const { return m_iStatus; }
+ __forceinline bool isValid() const { return m_isValid; }
__forceinline int getActiveStatus() const { return m_isMeta ? m_iMetaStatus : getStatus(); }
__forceinline int getOldStatus() const { return m_iOldStatus; }
__forceinline LPCWSTR getNick() const { return m_szNick; }
@@ -94,6 +92,11 @@ struct CContactCache : public MZeroedObject __forceinline TWindowData* getDat() const { return m_dat; }
+ int getStatus(void) const
+ {
+ return db_get_w(m_hContact, cc->szProto, "Status", ID_STATUS_OFFLINE);
+ }
+
size_t getMaxMessageLength();
void updateStats(int iType, size_t value = 0);
@@ -136,7 +139,7 @@ private: BYTE m_xStatus;
DWORD m_idleTS;
bool m_isMeta;
- bool m_Valid;
+ bool m_isValid;
bool m_isFavorite;
bool m_isRecent;
HWND m_hwnd;
|