From 2b8de7f0339506e75c47ffb0e14ee2e527ab1353 Mon Sep 17 00:00:00 2001 From: sje Date: Wed, 27 Jun 2007 05:27:30 +0000 Subject: added ersatz support (protocol-specific status messages) git-svn-id: https://server.scottellis.com.au/svn/mim_plugs@210 4f64403b-2f21-0410-a795-97e2b3489a10 --- tipper/common.h | 1 + tipper/docs/m_ersatz.h | 42 ++++++++++++++++++++++++++++++++++++++++++ tipper/popwin.cpp | 12 +++++++++--- tipper/tipper.cpp | 5 +++++ tipper/version.h | 2 +- 5 files changed, 58 insertions(+), 4 deletions(-) create mode 100644 tipper/docs/m_ersatz.h diff --git a/tipper/common.h b/tipper/common.h index 3cf7253..4e645b9 100644 --- a/tipper/common.h +++ b/tipper/common.h @@ -74,6 +74,7 @@ #include #include +#include #define MODULE "Tipper" diff --git a/tipper/docs/m_ersatz.h b/tipper/docs/m_ersatz.h new file mode 100644 index 0000000..fdab651 --- /dev/null +++ b/tipper/docs/m_ersatz.h @@ -0,0 +1,42 @@ +/* + +Miranda IM: the free IM client for Microsoft* Windows* + +Copyright 2000-2006 Miranda ICQ/IM project, +all portions of this codebase are copyrighted to the people +listed in contributors.txt. + +This program is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License +as published by the Free Software Foundation; either version 2 +of the License, or (at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ +#ifndef __M_ERSATZ_H__ +# define __M_ERSATZ_H__ + + +// Returns the status message for a status +// wParam=(WORD) 0 for current status or a status +// lParam=0 +// Returns status msg or NULL if there is none. The protocol have to handle only the current +// status. Handling messages for other statuses is optional. +// Remember to mir_free the return value +#define PS_GETMYAWAYMSG "/GetMyAwayMsg" + +// Created if ersatz is installed +// wParam=0 +// lParam=0 +// returns always 1 +#define MS_ERSATZ_ENABLED "ERSATZ/Enabled" + + +#endif // __M_ERSATZ_H__ diff --git a/tipper/popwin.cpp b/tipper/popwin.cpp index 7ff1cee..509d134 100644 --- a/tipper/popwin.cpp +++ b/tipper/popwin.cpp @@ -103,10 +103,16 @@ LRESULT CALLBACK PopupWindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lPa TCHAR *temp = (TCHAR *)CallService(MS_AWAY_GETPROTOSTATUSMESSAGET, (LPARAM)status, (WPARAM)pwd->clcit.proto); swzText = _tcsdup(temp); mir_free(temp); - } else if(ServiceExists(MS_AWAY_GETPROTOSTATUSMESSAGE)) + } else if(ServiceExists(MS_AWAY_GETPROTOSTATUSMESSAGE)) { status_msg = (char *)CallService(MS_AWAY_GETPROTOSTATUSMESSAGE, (LPARAM)status, (WPARAM)pwd->clcit.proto); - else - status_msg = (char *)CallService(MS_AWAYMSG_GETSTATUSMSG, status, 0); + } else { + char svc[256]; + mir_snprintf(svc, 256, "%s%s", pwd->clcit.proto, PS_GETMYAWAYMSG); + if(ServiceExists(svc)) { + status_msg = (char *)CallService(svc, status, 0); + } else + status_msg = (char *)CallService(MS_AWAYMSG_GETSTATUSMSG, status, 0); + } if(status_msg) swzText = a2t(status_msg); diff --git a/tipper/tipper.cpp b/tipper/tipper.cpp index 0eabf18..37ab521 100644 --- a/tipper/tipper.cpp +++ b/tipper/tipper.cpp @@ -145,8 +145,13 @@ int ModulesLoaded(WPARAM wParam, LPARAM lParam) { // before the version that we use to locate it on the page // (note that if the update URL and the version URL point to standard file listing entries, the backend xml // data will be used to check for updates rather than the actual web page - this is not true for beta urls) +#ifdef _UNICODE update.szBetaUpdateURL = "http://www.scottellis.com.au/miranda_plugins/tipper.zip"; update.szBetaVersionURL = "http://www.scottellis.com.au/miranda_plugins/ver_tipper.html"; +#else + update.szBetaUpdateURL = "http://www.scottellis.com.au/miranda_plugins/tipper_ansi.zip"; + update.szBetaVersionURL = "http://www.scottellis.com.au/miranda_plugins/ver_tipper_ansi.html"; +#endif update.pbBetaVersionPrefix = (BYTE *)"Tipper version "; update.cpbBetaVersionPrefix = strlen((char *)update.pbBetaVersionPrefix); diff --git a/tipper/version.h b/tipper/version.h index cc872e3..f000466 100644 --- a/tipper/version.h +++ b/tipper/version.h @@ -4,7 +4,7 @@ #define __MAJOR_VERSION 0 #define __MINOR_VERSION 4 #define __RELEASE_NUM 0 -#define __BUILD_NUM 6 +#define __BUILD_NUM 7 #define __FILEVERSION_STRING __MAJOR_VERSION,__MINOR_VERSION,__RELEASE_NUM,__BUILD_NUM #define __FILEVERSION_STRING_DOTS __MAJOR_VERSION.__MINOR_VERSION.__RELEASE_NUM.__BUILD_NUM -- cgit v1.2.3