1 // 2 // This file is part of the aMule Project. 3 // 4 // Copyright (c) 2003-2011 aMule Team ( admin@amule.org / http://www.amule.org ) 5 // 6 // Any parts of this program derived from the xMule, lMule or eMule project, 7 // or contributed by third-party developers are copyrighted by their 8 // respective authors. 9 // 10 // This program is free software; you can redistribute it and/or modify 11 // it under the terms of the GNU General Public License as published by 12 // the Free Software Foundation; either version 2 of the License, or 13 // (at your option) any later version. 14 // 15 // This program is distributed in the hope that it will be useful, 16 // but WITHOUT ANY WARRANTY; without even the implied warranty of 17 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 // GNU General Public License for more details. 19 // 20 // You should have received a copy of the GNU General Public License 21 // along with this program; if not, write to the Free Software 22 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA 23 // 24 25 #ifndef INTERNALEVENTS_H 26 #define INTERNALEVENTS_H 27 28 29 #include <wx/event.h> // Needed for wxEvent 30 31 32 DECLARE_LOCAL_EVENT_TYPE(wxEVT_CORE_FINISHED_HTTP_DOWNLOAD, wxEVT_USER_FIRST+HTTP_DOWNLOAD_FINISHED) 33 34 DECLARE_LOCAL_EVENT_TYPE(wxEVT_CORE_SOURCE_DNS_DONE, wxEVT_USER_FIRST+SOURCE_DNS_DONE) 35 DECLARE_LOCAL_EVENT_TYPE(wxEVT_CORE_UDP_DNS_DONE, wxEVT_USER_FIRST+UDP_DNS_DONE) 36 DECLARE_LOCAL_EVENT_TYPE(wxEVT_CORE_SERVER_DNS_DONE, wxEVT_USER_FIRST+SERVER_DNS_DONE) 37 38 39 class CMuleInternalEvent : public wxEvent 40 { 41 public: 42 CMuleInternalEvent(int event, int id = wxID_ANY) wxEvent(id,event)43 : wxEvent(id, event), 44 m_ptr(NULL), 45 m_value(0), 46 m_commandInt(0) 47 { 48 } 49 Clone(void)50 wxEvent* Clone(void) const { 51 return new CMuleInternalEvent(*this); 52 } 53 SetExtraLong(long value)54 void SetExtraLong(long value) { 55 m_value = value; 56 } 57 GetExtraLong()58 long GetExtraLong() { 59 return m_value; 60 } 61 SetInt(int i)62 void SetInt(int i) { 63 m_commandInt = i; 64 } 65 GetInt()66 long GetInt() const { 67 return m_commandInt; 68 } 69 SetClientData(void * ptr)70 void SetClientData(void *ptr) { 71 m_ptr = ptr; 72 } 73 GetClientData()74 void *GetClientData() { 75 return m_ptr; 76 } 77 78 private: 79 void* m_ptr; 80 long m_value; 81 int m_commandInt; 82 }; 83 84 85 typedef void (wxEvtHandler::*MuleInternalEventFunction)(CMuleInternalEvent&); 86 87 //! Event-handler for completed hashings of new shared files and partfiles. 88 #define EVT_MULE_INTERNAL(event, id, func) \ 89 DECLARE_EVENT_TABLE_ENTRY(event, id, -1, \ 90 (wxObjectEventFunction) (wxEventFunction) \ 91 wxStaticCastEvent(MuleInternalEventFunction, &func), (wxObject*) NULL), 92 93 94 #endif /* INTERNALEVENTS_H */ 95 // File_checked_for_headers 96