From 3dc0d9b0b7c30ea2f77d74c4ce5b6ccd67bd525c Mon Sep 17 00:00:00 2001 From: George Hazan Date: Tue, 9 Apr 2013 21:40:22 +0000 Subject: - the kernel filters out contacts by proto names much faster than a plugin; - database cycles simplified git-svn-id: http://svn.miranda-ng.org/main/trunk@4404 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Twitter/src/chat.cpp | 4 ++-- protocols/Twitter/src/contacts.cpp | 14 +++++--------- protocols/Twitter/src/proto.cpp | 7 +------ 3 files changed, 8 insertions(+), 17 deletions(-) (limited to 'protocols/Twitter/src') diff --git a/protocols/Twitter/src/chat.cpp b/protocols/Twitter/src/chat.cpp index 8bb15b85e9..2f2baf6649 100644 --- a/protocols/Twitter/src/chat.cpp +++ b/protocols/Twitter/src/chat.cpp @@ -197,8 +197,8 @@ void TwitterProto::SetChatStatus(int status) if(status == ID_STATUS_ONLINE) { // Add all friends to contact list - for(HANDLE hContact = db_find_first();hContact;hContact = db_find_next(hContact)) { - if(!IsMyContact(hContact)) + for(HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) { + if( db_get_b(hContact, m_szModuleName, "ChatRoom", 0)) continue; DBVARIANT uid,nick; diff --git a/protocols/Twitter/src/contacts.cpp b/protocols/Twitter/src/contacts.cpp index 1eb1314086..3d4d7f9d58 100644 --- a/protocols/Twitter/src/contacts.cpp +++ b/protocols/Twitter/src/contacts.cpp @@ -221,9 +221,9 @@ bool TwitterProto::IsMyContact(HANDLE hContact,bool include_chat) HANDLE TwitterProto::UsernameToHContact(const char *name) { - for(HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) + for(HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) { - if(!IsMyContact(hContact)) + if( db_get_b(hContact, m_szModuleName, "ChatRoom", 0)) continue; DBVARIANT dbv; @@ -284,13 +284,9 @@ HANDLE TwitterProto::AddToClientList(const char *name,const char *status) void TwitterProto::SetAllContactStatuses(int status) { - for(HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) - { - if(!IsMyContact(hContact)) - continue; - - db_set_w(hContact,m_szModuleName,"Status",status); - } + for(HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) + if( !db_get_b(hContact, m_szModuleName, "ChatRoom", 0)) + db_set_w(hContact,m_szModuleName,"Status",status); SetChatStatus(status); } \ No newline at end of file diff --git a/protocols/Twitter/src/proto.cpp b/protocols/Twitter/src/proto.cpp index 71d200b0cf..03b2538910 100644 --- a/protocols/Twitter/src/proto.cpp +++ b/protocols/Twitter/src/proto.cpp @@ -496,14 +496,9 @@ void TwitterProto::UpdateSettings() if(in_chat_) OnLeaveChat(0,0); - for(HANDLE hContact = db_find_first(); hContact; hContact = db_find_next(hContact)) - { - if(!IsMyContact(hContact,true)) - continue; - + for(HANDLE hContact = db_find_first(m_szModuleName); hContact; hContact = db_find_next(hContact, m_szModuleName)) if(db_get_b(hContact,m_szModuleName,"ChatRoom",0)) CallService(MS_DB_CONTACT_DELETE,reinterpret_cast(hContact),0); - } } } -- cgit v1.2.3