summaryrefslogtreecommitdiff
path: root/plugins/PluginUpdater/src/compat.h
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/PluginUpdater/src/compat.h')
-rw-r--r--plugins/PluginUpdater/src/compat.h121
1 files changed, 121 insertions, 0 deletions
diff --git a/plugins/PluginUpdater/src/compat.h b/plugins/PluginUpdater/src/compat.h
new file mode 100644
index 0000000000..371ceef1c0
--- /dev/null
+++ b/plugins/PluginUpdater/src/compat.h
@@ -0,0 +1,121 @@
+#define db_free(A) DBFreeVariant(A)
+
+#define db_get_b(A,B,C,D) DBGetContactSettingByte(A,B,C,D)
+#define db_get_dw(A,B,C,D) DBGetContactSettingDword(A,B,C,D)
+#define db_get_s(A,B,C,D) DBGetContactSettingString(A,B,C,D)
+#define db_get_ts(A,B,C,D) DBGetContactSettingTString(A,B,C,D)
+
+#define db_set_b(A,B,C,D) DBWriteContactSettingByte(A,B,C,D)
+#define db_set_dw(A,B,C,D) DBWriteContactSettingDword(A,B,C,D)
+#define db_set_s(A,B,C,D) DBWriteContactSettingString(A,B,C,D)
+#define db_set_ts(A,B,C,D) DBWriteContactSettingTString(A,B,C,D)
+
+#define db_get_sa DBGetStringA
+#define db_get_wsa DBGetStringW
+#define db_get_tsa DBGetStringT
+
+template<class T> class mir_ptr
+{
+ T *data;
+
+public:
+ __inline mir_ptr() : data((T*)mir_calloc(sizeof(T))) {}
+ __inline mir_ptr(T *_p) : data(_p) {}
+ __inline ~mir_ptr() { mir_free(data); }
+ __inline T *operator = (T *_p) { if (data) mir_free(data); data = _p; return data; }
+ __inline T *operator->() const { return data; }
+ __inline operator T*() const { return data; }
+ __inline operator INT_PTR() const { return (INT_PTR)data; }
+};
+
+typedef mir_ptr<TCHAR> ptrT;
+
+struct VARST : public ptrT
+{
+ __forceinline VARST(const TCHAR *str) :
+ ptrT( Utils_ReplaceVarsT(str))
+ {}
+};
+
+class _A2T
+{
+ TCHAR *buf;
+
+public:
+ __forceinline _A2T(const char *s) : buf(mir_a2t(s)) {}
+ __forceinline _A2T(const char *s, int cp) : buf(mir_a2t_cp(s, cp)) {}
+ ~_A2T() { mir_free(buf); }
+
+ __forceinline operator TCHAR*() const
+ { return buf;
+ }
+};
+
+class _T2A
+{
+ char *buf;
+
+public:
+ __forceinline _T2A(const TCHAR *s) : buf(mir_t2a(s)) {}
+ __forceinline _T2A(const TCHAR *s, int cp) : buf(mir_t2a_cp(s, cp)) {}
+ __forceinline ~_T2A() { mir_free(buf); }
+
+ __forceinline operator char*() const
+ { return buf;
+ }
+};
+
+__forceinline INT_PTR Options_Open(OPENOPTIONSDIALOG *ood)
+{
+ return CallService("Opt/OpenOptions", 0, (LPARAM)ood);
+}
+
+__forceinline INT_PTR Options_AddPage(WPARAM wParam, OPTIONSDIALOGPAGE *odp)
+{
+ return CallService("Opt/AddPage", wParam, (LPARAM)odp);
+}
+
+char *rtrim(char *str);
+int CreatePathToFileT(const TCHAR *ptszPath);
+
+#define NEWTSTR_ALLOCA(A) (A == NULL)?NULL:_tcscpy((TCHAR*)alloca((_tcslen(A)+1) *sizeof(TCHAR)), A)
+
+__forceinline HANDLE Skin_AddIcon(SKINICONDESC *si)
+{ return (HANDLE)CallService("Skin2/Icons/AddIcon", 0, (LPARAM)si);
+}
+
+__forceinline HICON Skin_GetIconByHandle(HANDLE hIcolibIcon, int size=0)
+{ return (HICON)CallService(MS_SKIN2_GETICONBYHANDLE, size, (LPARAM)hIcolibIcon);
+}
+
+__forceinline HANDLE Skin_GetIconHandle(const char *szIconName)
+{ return (HANDLE)CallService(MS_SKIN2_GETICONHANDLE, 0, (LPARAM)szIconName);
+}
+
+__forceinline HICON Skin_GetIcon(const char *szIconName, int size=0)
+{ return (HICON)CallService(MS_SKIN2_GETICON, size, (LPARAM)szIconName);
+}
+
+__forceinline void Skin_ReleaseIcon(const char* szIconName)
+{ CallService(MS_SKIN2_RELEASEICON, 0, (LPARAM)szIconName);
+}
+
+__forceinline void Skin_ReleaseIcon(HICON hIcon)
+{ CallService(MS_SKIN2_RELEASEICON, (WPARAM)hIcon, 0);
+}
+
+__forceinline HGENMENU Menu_AddMainMenuItem(CLISTMENUITEM *mi)
+{ return (HGENMENU)CallService("CList/AddMainMenuItem", 0, (LPARAM)mi);
+}
+
+__forceinline INT_PTR Hotkey_Register(HOTKEYDESC *hk)
+{ return CallService("CoreHotkeys/Register", 0, (LPARAM)hk);
+}
+
+__forceinline INT_PTR CreateDirectoryTreeT(const TCHAR *ptszPath)
+{ return CallService(MS_UTILS_CREATEDIRTREET, 0, (LPARAM)ptszPath);
+}
+
+int __forceinline PUDeletePopup(HWND hWndPopup)
+{ return (int)SendMessage(hWndPopup, UM_DESTROYPOPUP, 0, 0);
+}