From fbed4e49ff41a49e2b8b09e0ccc1268aeffbada1 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 6 Aug 2013 08:33:44 +0000 Subject: - DoTrimMessage removed and replaced with rtrim() - contactcache.cpp moved from a linked list to a sorted list git-svn-id: http://svn.miranda-ng.org/main/trunk@5598 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/TabSRMM/src/contactcache.h | 199 ++++++++++++++++++------------------- 1 file changed, 99 insertions(+), 100 deletions(-) (limited to 'plugins/TabSRMM/src/contactcache.h') diff --git a/plugins/TabSRMM/src/contactcache.h b/plugins/TabSRMM/src/contactcache.h index ab166e6b3c..d6684e9cd7 100644 --- a/plugins/TabSRMM/src/contactcache.h +++ b/plugins/TabSRMM/src/contactcache.h @@ -46,120 +46,119 @@ struct TInputHistory { struct TSessionStats { enum { - BYTES_RECEIVED = 1, - BYTES_SENT = 2, - FAILURE = 3, - UPDATE_WITH_LAST_RCV= 4, - SET_LAST_RCV = 5, - INIT_TIMER = 6, + BYTES_RECEIVED = 1, + BYTES_SENT = 2, + FAILURE = 3, + UPDATE_WITH_LAST_RCV = 4, + SET_LAST_RCV = 5, + INIT_TIMER = 6, }; - time_t started; - unsigned int iSent, iReceived, iSentBytes, iReceivedBytes; - unsigned int messageCount; - unsigned int iFailures; - unsigned int lastReceivedChars; - BOOL bWritten; + time_t started; + unsigned iSent, iReceived, iSentBytes, iReceivedBytes; + unsigned messageCount; + unsigned iFailures; + unsigned lastReceivedChars; + BOOL bWritten; }; -class CContactCache { -public: - - CContactCache () {} - CContactCache (const HANDLE hContact); - ~CContactCache () +struct CContactCache : public MZeroedObject +{ + CContactCache() {} + CContactCache(const HANDLE hContact); + ~CContactCache() { releaseAlloced(); } - void inc () { m_accessCount++; } - const bool isValid () const { return(m_Valid); } - const WORD getStatus () const { return(m_wStatus); } - const WORD getMetaStatus () const { return(m_wMetaStatus); } - const WORD getActiveStatus () const { return(m_isMeta ? m_wMetaStatus : m_wStatus); } - const WORD getOldStatus () const { return(m_wOldStatus); } - const TCHAR* getNick () const { return(m_szNick); } - const HANDLE getContact () const { return(m_hContact); } - const HANDLE getActiveContact () const { return(m_isMeta ? (m_hSubContact ? m_hSubContact : m_hContact) : m_hContact); } - const DWORD getIdleTS () const { return(m_idleTS); } - const char* getProto () const { return(m_szProto); } - const TCHAR* getProtoT () const { return(m_tszProto); } - const char* getMetaProto () const { return(m_szMetaProto ? m_szMetaProto : C_INVALID_PROTO); } - const TCHAR* getMetaProtoT () const { return(m_szMetaProto ? m_tszMetaProto : C_INVALID_PROTO_T); } - const char* getActiveProto () const { return(m_isMeta ? (m_szMetaProto ? m_szMetaProto : m_szProto) : m_szProto); } - const TCHAR* getActiveProtoT () const { return(m_isMeta ? (m_szMetaProto ? m_tszMetaProto : m_tszProto) : m_tszProto); } - bool isMeta () const { return(m_isMeta); } - bool isSubContact () const { return(m_isSubcontact); } - bool isFavorite () const { return(m_isFavorite); } - bool isRecent () const { return(m_isRecent); } - const TCHAR* getRealAccount () const { return(m_szAccount ? m_szAccount : C_INVALID_ACCOUNT); } - const TCHAR* getUIN () const { return(m_szUIN); } - const TCHAR* getStatusMsg () const { return(m_szStatusMsg); } - const TCHAR* getXStatusMsg () const { return(m_xStatusMsg); } - const TCHAR* getListeningInfo () const { return(m_ListeningInfo); } - BYTE getXStatusId () const { return(m_xStatus); } - const HWND getWindowData (TWindowData*& dat) const { dat = m_dat; return(m_hwnd); } - const HWND getHwnd () const { return(m_hwnd); } - int getMaxMessageLength (); - - TWindowData* getDat () const { return(m_dat); } - - void updateStats (int iType, size_t value = 0); - const DWORD getSessionStart () const { return(m_stats->started); } - const int getSessionMsgCount () const { return((int)m_stats->messageCount) ; } - void updateState (); - bool updateStatus (); - bool updateNick (); - void updateMeta (bool fForce = false); - bool updateUIN (); - void updateStatusMsg (const char *szKey = 0); - void setWindowData (const HWND hwnd = 0, TWindowData *dat = 0); - void resetMeta (); - void closeWindow (); - void deletedHandler (); - void updateFavorite (); - TCHAR* getNormalizedStatusMsg (const TCHAR *src, bool fStripAll = false); - HICON getIcon (int& iSize) const; + + const bool isValid() const { return(m_Valid); } + const WORD getStatus() const { return(m_wStatus); } + const WORD getMetaStatus() const { return(m_wMetaStatus); } + const WORD getActiveStatus() const { return(m_isMeta ? m_wMetaStatus : m_wStatus); } + const WORD getOldStatus() const { return(m_wOldStatus); } + const TCHAR* getNick() const { return(m_szNick); } + const HANDLE getContact() const { return(m_hContact); } + const HANDLE getActiveContact() const { return(m_isMeta ? (m_hSubContact ? m_hSubContact : m_hContact) : m_hContact); } + const DWORD getIdleTS() const { return(m_idleTS); } + const char* getProto() const { return(m_szProto); } + const TCHAR* getProtoT() const { return(m_tszProto); } + const char* getMetaProto() const { return(m_szMetaProto ? m_szMetaProto : C_INVALID_PROTO); } + const TCHAR* getMetaProtoT() const { return(m_szMetaProto ? m_tszMetaProto : C_INVALID_PROTO_T); } + const char* getActiveProto() const { return(m_isMeta ? (m_szMetaProto ? m_szMetaProto : m_szProto) : m_szProto); } + const TCHAR* getActiveProtoT() const { return(m_isMeta ? (m_szMetaProto ? m_tszMetaProto : m_tszProto) : m_tszProto); } + bool isMeta() const { return(m_isMeta); } + bool isSubContact() const { return(m_isSubcontact); } + bool isFavorite() const { return(m_isFavorite); } + bool isRecent() const { return(m_isRecent); } + const TCHAR* getRealAccount() const { return(m_szAccount ? m_szAccount : C_INVALID_ACCOUNT); } + const TCHAR* getUIN() const { return(m_szUIN); } + const TCHAR* getStatusMsg() const { return(m_szStatusMsg); } + const TCHAR* getXStatusMsg() const { return(m_xStatusMsg); } + const TCHAR* getListeningInfo() const { return(m_ListeningInfo); } + BYTE getXStatusId() const { return(m_xStatus); } + const HWND getWindowData(TWindowData*& dat) const { dat = m_dat; return(m_hwnd); } + const HWND getHwnd() const { return(m_hwnd); } + int getMaxMessageLength(); + + TWindowData* getDat() const { return(m_dat); } + + void updateStats(int iType, size_t value = 0); + const DWORD getSessionStart() const { return(m_stats->started); } + const int getSessionMsgCount() const { return((int)m_stats->messageCount) ; } + + //////////////////////////////////////////////////////////////////////////// + + void updateState(); + bool updateStatus(); + bool updateNick(); + void updateMeta(bool fForce = false); + bool updateUIN(); + void updateStatusMsg(const char *szKey = 0); + void setWindowData(const HWND hwnd = 0, TWindowData *dat = 0); + void resetMeta(); + void closeWindow(); + void deletedHandler(); + void updateFavorite(); + TCHAR* getNormalizedStatusMsg(const TCHAR *src, bool fStripAll = false); + HICON getIcon(int& iSize) const; /* * input history */ - void saveHistory (WPARAM wParam, LPARAM lParam); - void inputHistoryEvent (WPARAM wParam); - - HANDLE m_hContact; - CContactCache* m_next; + void saveHistory(WPARAM wParam, LPARAM lParam); + void inputHistoryEvent(WPARAM wParam); - static CContactCache* m_cCache; - static CContactCache* getContactCache(const HANDLE hContact); - -private: - void allocStats (); - void initPhaseTwo (); - void allocHistory (); - void releaseAlloced (); + static CContactCache* getContactCache(HANDLE hContact); + static void cacheUpdateMetaChanged(); private: - size_t m_accessCount; - HANDLE m_hSubContact; - WORD m_wStatus, m_wMetaStatus; - WORD m_wOldStatus; - char* m_szProto, *m_szMetaProto; - TCHAR* m_tszProto, m_tszMetaProto[40]; - TCHAR* m_szAccount; - TCHAR m_szNick[80], m_szUIN[80]; - TCHAR* m_szStatusMsg, *m_xStatusMsg, *m_ListeningInfo; - BYTE m_xStatus; - DWORD m_idleTS; - bool m_isMeta, m_isSubcontact; - bool m_Valid; - bool m_isFavorite; - bool m_isRecent; - HWND m_hwnd; - int m_nMax; - int m_iHistoryCurrent, m_iHistoryTop, m_iHistorySize; - TWindowData* m_dat; - TSessionStats* m_stats; - TInputHistory* m_history; + void allocStats(); + void initPhaseTwo(); + void allocHistory(); + void releaseAlloced(); + + HANDLE m_hContact; + HANDLE m_hSubContact; + WORD m_wStatus, m_wMetaStatus; + WORD m_wOldStatus; + char* m_szProto, *m_szMetaProto; + TCHAR* m_tszProto, m_tszMetaProto[40]; + TCHAR* m_szAccount; + TCHAR m_szNick[80], m_szUIN[80]; + TCHAR* m_szStatusMsg, *m_xStatusMsg, *m_ListeningInfo; + BYTE m_xStatus; + DWORD m_idleTS; + bool m_isMeta, m_isSubcontact; + bool m_Valid; + bool m_isFavorite; + bool m_isRecent; + HWND m_hwnd; + int m_nMax; + int m_iHistoryCurrent, m_iHistoryTop, m_iHistorySize; + + TWindowData *m_dat; + TSessionStats *m_stats; + TInputHistory *m_history; }; #endif /* __CONTACTCACHE_H */ -- cgit v1.2.3