From 9f06e7ffdd6458dd25bfd5b915cb788bab03bea0 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 12 Aug 2013 21:55:48 +0000 Subject: simple core logger git-svn-id: http://svn.miranda-ng.org/main/trunk@5664 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- bin10/lib/mir_core.lib | Bin 48902 -> 50032 bytes bin10/lib/mir_core64.lib | Bin 44508 -> 45590 bytes bin11/lib/mir_core.lib | Bin 48902 -> 50032 bytes bin11/lib/mir_core64.lib | Bin 44508 -> 45590 bytes include/delphi/m_core.inc | 11 +++++++++++ include/m_core.h | 17 +++++++++++++++++ src/mir_core/mir_core.def | 5 +++++ src/mir_core/mir_core_10.vcxproj | 1 + src/mir_core/mir_core_10.vcxproj.filters | 3 +++ src/mir_core/mir_core_11.vcxproj | 1 + src/mir_core/mir_core_11.vcxproj.filters | 3 +++ src/mir_core/miranda.cpp | 11 +++++++++++ 12 files changed, 52 insertions(+) diff --git a/bin10/lib/mir_core.lib b/bin10/lib/mir_core.lib index 732702727a..46ad2b046b 100644 Binary files a/bin10/lib/mir_core.lib and b/bin10/lib/mir_core.lib differ diff --git a/bin10/lib/mir_core64.lib b/bin10/lib/mir_core64.lib index e7c7c251df..643c58ccf0 100644 Binary files a/bin10/lib/mir_core64.lib and b/bin10/lib/mir_core64.lib differ diff --git a/bin11/lib/mir_core.lib b/bin11/lib/mir_core.lib index b4c0a7d628..d149aa9bb3 100644 Binary files a/bin11/lib/mir_core.lib and b/bin11/lib/mir_core.lib differ diff --git a/bin11/lib/mir_core64.lib b/bin11/lib/mir_core64.lib index 6a5eac5e41..61c24cb265 100644 Binary files a/bin11/lib/mir_core64.lib and b/bin11/lib/mir_core64.lib differ diff --git a/include/delphi/m_core.inc b/include/delphi/m_core.inc index 0bfd0aec8f..a8ecb0227d 100644 --- a/include/delphi/m_core.inc +++ b/include/delphi/m_core.inc @@ -425,6 +425,17 @@ procedure List_ObjCopy(src:PSortedList; dst:PSortedList; size:size_t); stdcall; external CoreDLL name 'List_ObjCopy'; +/////////////////////////////////////////////////////////////////////////////// +// log functions + +function mir_createLog(pszName:PAnsiChar; ptszDescr, ptszFile:PWideChar; options:Cardinal):THandle;stdcall; + external CoreDLL name 'mir_createLog'; + +function mir_writeLogA(hLog:THandle; format:PAnsiChar):int;cdecl; + external CoreDLL name 'mir_writeLogA'; +function mir_writeLogW(hLog:THandle; format:PWideChar):int;cdecl; + external CoreDLL name 'mir_writeLogW'; + /////////////////////////////////////////////////////////////////////////////// // md5 functions diff --git a/include/m_core.h b/include/m_core.h index 9c4461b407..a800afe873 100644 --- a/include/m_core.h +++ b/include/m_core.h @@ -520,6 +520,17 @@ MIR_CORE_DLL(int) List_RemovePtr(SortedList* list, void* p); MIR_CORE_DLL(void) List_Copy(SortedList* s, SortedList* d, size_t itemSize); MIR_CORE_DLL(void) List_ObjCopy(SortedList* s, SortedList* d, size_t itemSize); +/////////////////////////////////////////////////////////////////////////////// +// logging functions + +MIR_CORE_DLL(HANDLE) mir_createLog(const TCHAR *ptszFile, unsigned options); + +MIR_C_CORE_DLL(int) mir_writeLogA(HANDLE logger, const char *format, ...); +MIR_C_CORE_DLL(int) mir_writeLogW(HANDLE logger, const WCHAR *format, ...); + +MIR_CORE_DLL(int) mir_writeLogVA(HANDLE logger, const char *format, va_list args); +MIR_CORE_DLL(int) mir_writeLogVW(HANDLE logger, const WCHAR *format, va_list args); + /////////////////////////////////////////////////////////////////////////////// // md5 functions @@ -719,6 +730,9 @@ __forceinline char* lrtrimp(char *str) { return ltrimp(rtrim(str)); }; #define mir_sntprintf mir_snwprintf #define mir_vsntprintf mir_vsnwprintf + + #define mir_writeLogT mir_writeLogW + #define mir_writeLogVT mir_writeLogVW #else #define mir_t2a(s) mir_strdup(s) #define mir_a2t(s) mir_strdup(s) @@ -743,6 +757,9 @@ __forceinline char* lrtrimp(char *str) { return ltrimp(rtrim(str)); }; #define mir_sntprintf mir_snprintf #define mir_vsntprintf mir_vsnprintf + + #define mir_writeLogT mir_writeLogA + #define mir_writeLogVT mir_writeLogVA #endif MIR_CORE_DLL(WCHAR*) mir_a2u_cp(const char* src, int codepage); diff --git a/src/mir_core/mir_core.def b/src/mir_core/mir_core.def index 32b1adecd8..c820c2dd59 100644 --- a/src/mir_core/mir_core.def +++ b/src/mir_core/mir_core.def @@ -222,3 +222,8 @@ ProtoGetAvatarFormat @219 ProtoGetAvatarExtension @220 ProtoGetBufferFormat @221 ProtoGetAvatarFileFormat @222 +mir_createLog @223 +mir_writeLogA @224 +mir_writeLogW @225 +mir_writeLogVA @226 +mir_writeLogVW @227 diff --git a/src/mir_core/mir_core_10.vcxproj b/src/mir_core/mir_core_10.vcxproj index d8c3514a63..0b5efe22f5 100644 --- a/src/mir_core/mir_core_10.vcxproj +++ b/src/mir_core/mir_core_10.vcxproj @@ -98,6 +98,7 @@ ..\commonheaders.h ..\commonheaders.h + Create diff --git a/src/mir_core/mir_core_10.vcxproj.filters b/src/mir_core/mir_core_10.vcxproj.filters index 6d0a431685..1fafc175f9 100644 --- a/src/mir_core/mir_core_10.vcxproj.filters +++ b/src/mir_core/mir_core_10.vcxproj.filters @@ -97,6 +97,9 @@ Source Files\json + + Source Files + diff --git a/src/mir_core/mir_core_11.vcxproj b/src/mir_core/mir_core_11.vcxproj index f65e731e1d..e30f2719cc 100644 --- a/src/mir_core/mir_core_11.vcxproj +++ b/src/mir_core/mir_core_11.vcxproj @@ -93,6 +93,7 @@ ../commonheaders.h ../commonheaders.h + Create diff --git a/src/mir_core/mir_core_11.vcxproj.filters b/src/mir_core/mir_core_11.vcxproj.filters index 5603f49551..75eaf973e4 100644 --- a/src/mir_core/mir_core_11.vcxproj.filters +++ b/src/mir_core/mir_core_11.vcxproj.filters @@ -94,6 +94,9 @@ Source Files\json + + Source Files + diff --git a/src/mir_core/miranda.cpp b/src/mir_core/miranda.cpp index 571bbb811a..1508e3f4e7 100644 --- a/src/mir_core/miranda.cpp +++ b/src/mir_core/miranda.cpp @@ -29,6 +29,10 @@ HWND hAPCWindow = NULL; int InitPathUtils(void); void (*RecalculateTime)(void); +void CheckLogs(); +void InitLogs(); +void UninitLogs(); + int hLangpack = 0; HINSTANCE hInst = 0; @@ -47,8 +51,12 @@ static LRESULT CALLBACK APCWndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lP return 0; } + if (msg == WM_TIMER) + CheckLogs(); + if (msg == WM_TIMECHANGE && RecalculateTime) RecalculateTime(); + return DefWindowProc(hwnd, msg, wParam, lParam); } @@ -68,6 +76,7 @@ static void LoadCoreModule(void) hAPCWindow = CreateWindowEx(0, _T("STATIC"), NULL, 0, 0, 0, 0, 0, NULL, NULL, NULL, NULL); SetWindowLongPtr(hAPCWindow, GWLP_WNDPROC, (LONG_PTR)APCWndProc); + SetTimer(hAPCWindow, 1, 60*1000, NULL); hStackMutex = CreateMutex(NULL, FALSE, NULL); hThreadQueueEmpty = CreateEvent(NULL, TRUE, TRUE, NULL); @@ -79,6 +88,7 @@ static void LoadCoreModule(void) RecalculateTime = (void (*)()) GetProcAddress(mirInst, "RecalculateTime"); InitPathUtils(); + InitLogs(); InitialiseModularEngine(); InitProtocols(); } @@ -93,6 +103,7 @@ MIR_CORE_DLL(void) UnloadCoreModule(void) UninitSubclassing(); UninitProtocols(); DestroyModularEngine(); + UninitLogs(); UnloadLangPackModule(); } -- cgit v1.2.3