From db36b4314adfe4c54852384e38ed4cb38c46d6ae Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Wed, 28 Nov 2012 18:46:07 +0000 Subject: git-svn-id: http://svn.miranda-ng.org/main/trunk@2546 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Ping/pinglist.cpp | 230 ---------------------------------------------- 1 file changed, 230 deletions(-) delete mode 100644 plugins/Ping/pinglist.cpp (limited to 'plugins/Ping/pinglist.cpp') diff --git a/plugins/Ping/pinglist.cpp b/plugins/Ping/pinglist.cpp deleted file mode 100644 index 91d00f97af..0000000000 --- a/plugins/Ping/pinglist.cpp +++ /dev/null @@ -1,230 +0,0 @@ -#include "common.h" -#include "pinglist.h" - -#include "options.h" - -PINGLIST list_items; -CRITICAL_SECTION list_cs; -HANDLE reload_event_handle; - -DWORD NextID = 1; - -BOOL clist_handle_changing = FALSE; - -BOOL changing_clist_handle() { - return clist_handle_changing; -} - -void set_changing_clist_handle(BOOL flag) { - clist_handle_changing = flag; -} - -const bool PINGADDRESS::operator==(const PINGADDRESS &b) const { - return index == b.index; -} - -const bool PINGADDRESS::operator<(const PINGADDRESS &b) const { - return index < b.index; -} - -// lParam is address of pointer to a std::list -// copies data into this structure -INT_PTR GetPingList(WPARAM wParam,LPARAM lParam) -{ - PINGLIST *pa = (PINGLIST *)lParam; - - EnterCriticalSection(&list_cs); - *pa = list_items; - LeaveCriticalSection(&list_cs); - - return 0; -} - -INT_PTR GetListSize(WPARAM wParam, LPARAM lParam) { - INT_PTR ret = 0; - EnterCriticalSection(&list_cs); - ret = list_items.size(); - LeaveCriticalSection(&list_cs); - return ret; -} - -void write_ping_address(PINGADDRESS *i) { - char buff[16]; - sprintf(buff, "PING_DEST_%d", i->index); - - if(i->item_id == 0) { - i->item_id = NextID++; - DBWriteContactSettingDword(0, PLUG, "NextID", NextID); - } - - DBWriteContactSettingDword(0, buff, "Id", i->item_id); - DBWriteContactSettingString(0, buff, "Address", i->pszName); - DBWriteContactSettingString(0, buff, "Label", i->pszLabel); - DBWriteContactSettingWord(0, buff, "Status", i->status); - DBWriteContactSettingDword(0, buff, "Port", i->port); - DBWriteContactSettingString(0, buff, "Proto", i->pszProto); - if(strlen(i->pszCommand)) - DBWriteContactSettingString(0, buff, "Command", i->pszCommand); - else - DBDeleteContactSetting(0, buff, "Command"); - if(strlen(i->pszParams)) - DBWriteContactSettingString(0, buff, "CommandParams", i->pszParams); - else - DBDeleteContactSetting(0, buff, "CommandParams"); - DBWriteContactSettingWord(0, buff, "SetStatus", i->set_status); - DBWriteContactSettingWord(0, buff, "GetStatus", i->get_status); - DBWriteContactSettingWord(0, buff, "Index", i->index); -} - -// call with list_cs locked -void write_ping_addresses() { - int index = 0; - for(PINGLIST::Iterator i = list_items.start(); i.has_val(); i.next(), index++) { - i.val().index = index; - write_ping_address(&i.val()); - } - - // mark further destinations in the DB as invalid - char buff[16]; - bool found; - - do { - found = false; - sprintf(buff, "PING_DEST_%d", index++); - if(DBGetContactSettingDword(0, buff, "Id", 0) != 0) { - found = true; - DBWriteContactSettingDword(0, buff, "Id", 0); - } - } while(found); -} - -bool read_ping_address(PINGADDRESS &pa) { - int index = pa.index; - - char buff[16]; - sprintf(buff, "PING_DEST_%d", index); - - // return if not more contacts, or only deleted contacts remaining - if((pa.item_id = DBGetContactSettingDword(0, buff, "Id", 0)) == 0) return false; - - DBVARIANT dbv; - if(!DBGetContactSetting(0, buff, "Address", &dbv)) { - strncpy(pa.pszName, dbv.pszVal, MAX_PINGADDRESS_STRING_LENGTH); - DBFreeVariant(&dbv); - } else return false; - - if(!DBGetContactSetting(0, buff, "Label", &dbv)) { - strncpy(pa.pszLabel, dbv.pszVal, MAX_PINGADDRESS_STRING_LENGTH); - DBFreeVariant(&dbv); - } else return false; - - pa.status = DBGetContactSettingWord(0, buff, "Status", PS_NOTRESPONDING); - if(pa.status != PS_DISABLED) pa.status = PS_NOTRESPONDING; - - pa.port = (int)DBGetContactSettingDword(0, buff, "Port", -1); - - if(!DBGetContactSetting(0, buff, "Proto", &dbv)) { - strncpy(pa.pszProto, dbv.pszVal, MAX_PINGADDRESS_STRING_LENGTH); - DBFreeVariant(&dbv); - } else pa.pszProto[0] = '\0'; - - if(!DBGetContactSetting(0, buff, "Command", &dbv)) { - strncpy(pa.pszCommand, dbv.pszVal, MAX_PATH); - DBFreeVariant(&dbv); - } else - pa.pszCommand[0] = '\0'; - if(!DBGetContactSetting(0, buff, "CommandParams", &dbv)) { - strncpy(pa.pszParams, dbv.pszVal, MAX_PATH); - DBFreeVariant(&dbv); - } else - pa.pszParams[0] = '\0'; - - pa.set_status = DBGetContactSettingWord(0, buff, "SetStatus", ID_STATUS_ONLINE); - pa.get_status = DBGetContactSettingWord(0, buff, "GetStatus", ID_STATUS_OFFLINE); - - pa.responding = false; - pa.round_trip_time = 0; - pa.miss_count = 0; - pa.index = DBGetContactSettingWord(0, buff, "Index", 0); - - pa.index = index; - if(pa.item_id >= NextID) { - NextID = pa.item_id + 1; - DBWriteContactSettingDword(0, PLUG, "NextID", NextID); - } - - return true; -} - -// call with list_cs locked -void read_ping_addresses() { - PINGADDRESS pa; - - pa.index = 0; - - - list_items.clear(); - while(read_ping_address(pa)) { - list_items.add(pa); - pa.index++; - } -} - -INT_PTR LoadPingList(WPARAM wParam, LPARAM lParam) { - EnterCriticalSection(&list_cs); - read_ping_addresses(); - LeaveCriticalSection(&list_cs); - NotifyEventHooks(reload_event_handle, 0, 0); - return 0; -} - -// wParam is zero -// lParam is zero -INT_PTR SavePingList(WPARAM wParam, LPARAM lParam) { - EnterCriticalSection(&list_cs); - write_ping_addresses(); - LeaveCriticalSection(&list_cs); - //NotifyEventHooks(reload_event_handle, 0, 0); - - return 0; -} - -// wParam is address of a PINGLIST structure to replace the current one -// lParam is zero -INT_PTR SetPingList(WPARAM wParam, LPARAM lParam) { - PINGLIST *pli = (PINGLIST *)wParam; - - EnterCriticalSection(&list_cs); - list_items = *pli; - LeaveCriticalSection(&list_cs); - NotifyEventHooks(reload_event_handle, 0, 0); - - return 0; -} - -// wParam is address of a PINGLIST structure to replace the current one -// lParam is zero -INT_PTR SetAndSavePingList(WPARAM wParam, LPARAM lParam) { - PINGLIST *pli = (PINGLIST *)wParam; - - EnterCriticalSection(&list_cs); - - // set new list - list_items = *pli; - write_ping_addresses(); - LeaveCriticalSection(&list_cs); - - NotifyEventHooks(reload_event_handle, 0, 0); - - return 0; -} - -INT_PTR ClearPingList(WPARAM wParam, LPARAM lParam) { - EnterCriticalSection(&list_cs); - list_items.clear(); - LeaveCriticalSection(&list_cs); - - NotifyEventHooks(reload_event_handle, 0, 0); - return 0; -} - -- cgit v1.2.3