From 8e2c9664fc513802d8dee642f4214c227e227993 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Mon, 21 May 2012 06:11:37 +0000 Subject: project names fix git-svn-id: http://svn.miranda-ng.org/main/trunk@113 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/Svc_vi/CPlugin.cpp | 143 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) create mode 100644 plugins/Svc_vi/CPlugin.cpp (limited to 'plugins/Svc_vi/CPlugin.cpp') diff --git a/plugins/Svc_vi/CPlugin.cpp b/plugins/Svc_vi/CPlugin.cpp new file mode 100644 index 0000000000..8d87457cf1 --- /dev/null +++ b/plugins/Svc_vi/CPlugin.cpp @@ -0,0 +1,143 @@ +/* +Version information plugin for Miranda IM + +Copyright © 2002-2006 Luca Santarelli, Cristian Libotean + +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. +*/ + +#include "CPlugin.h" +//#include "AggressiveOptimize.h" + +#include "common.h" + +const int cPLUGIN_UUID_MARK = 4; +char PLUGIN_UUID_MARK[cPLUGIN_UUID_MARK]; + +#define PLUGIN_UNCERTAIN_MARK "?" + +#define RJUST 70 + +CPlugin::CPlugin() { + lpzFileName = ""; + lpzShortName = ""; + lpzVersion = ""; + lpzTimestamp = ""; + lpzLinkedModules = ""; + pluginID = UUID_NULL; +}; + +CPlugin::CPlugin(std::string eFileName, std::string eShortName, MUUID pluginID, std::string eUnicodeInfo, DWORD eVersion, std::string eTimestamp, std::string eLinkedModules) { + lpzFileName = std::string(eFileName); + lpzShortName = std::string(eShortName); + lpzUnicodeInfo = std::string(eUnicodeInfo); + lpzTimestamp = std::string(eTimestamp); + lpzLinkedModules = std::string(eLinkedModules); + + char aux[128]; + wsprintf(aux,"%d.%d.%d.%d", (eVersion>>24)&0xFF, (eVersion>>16)&0xFF, (eVersion>>8)&0xFF, (eVersion)&0xFF); + lpzVersion = std::string(aux); + + this->pluginID = pluginID; +}; + +CPlugin::CPlugin(const CPlugin& other) { + lpzFileName = other.lpzFileName; + lpzShortName = other.lpzShortName; + lpzUnicodeInfo = other.lpzUnicodeInfo; + lpzVersion = other.lpzVersion; + lpzTimestamp = other.lpzTimestamp; + lpzLinkedModules = other.lpzLinkedModules; + pluginID = other.pluginID; +} + +CPlugin::~CPlugin() { + //Debug information +// char str[64]; wsprintf(str, "~CPlugin(): %s", lpzFileName.c_str()); +// MB(str); + // + lpzFileName.~basic_string(); + lpzShortName.~basic_string(); + lpzVersion.~basic_string(); + lpzUnicodeInfo.~basic_string(); + lpzTimestamp.~basic_string(); + lpzLinkedModules.~basic_string(); +} + +void CPlugin::SetErrorMessage(std::string error) +{ + lpzLinkedModules = error; +} + +bool CPlugin::operator<(CPlugin &anotherPlugin) { + std::string anotherFileName = anotherPlugin.getFileName(); + + char szThis[MAX_PATH]; lstrcpy(szThis, lpzFileName.c_str()); + char szThat[MAX_PATH]; lstrcpy(szThat, anotherFileName.c_str()); + + if (lstrcmpi(szThis, szThat) < 0) + return TRUE; + else + return FALSE; +} + +bool CPlugin::operator>(CPlugin &anotherPlugin) { + return !((*this) < anotherPlugin); +} +bool CPlugin::operator==(CPlugin &anotherPlugin) { + return !((*this) < anotherPlugin || (*this) > anotherPlugin); +} + +std::string CPlugin::getFileName() { + return this->lpzFileName; +} + +std::string CPlugin::getInformations(DWORD flags, char *szHighlightHeader, char *szHighlightFooter) { +// std::string lpzInformations = std::string(lpzFileName + "\t\t" + lpzVersion + "\r\n"); +// std::string lpzInformations = std::string(lpzFileName + " - " + lpzShortName + " [" + lpzTimestamp + "], version: " + lpzVersion +"\r\n"); +// std::string lpzInformations = std::string(lpzShortName + " [" + lpzFileName + " · " + lpzTimestamp + "] - version " + lpzVersion + "\r\n"); +// std::string lpzInformations = std::string(lpzFileName + " [" + lpzShortName + " · " + lpzTimestamp + "] - version: " + lpzVersion +"\r\n"); + std::string lpzInformations; + if (flags & VISF_SHOWUUID) + { + char aux[128]; + UUIDToString(pluginID, aux, sizeof(aux)); + lpzInformations = std::string(aux); + } + else{ + lpzInformations = (IsUUIDNull(pluginID)) ? " " : PLUGIN_UUID_MARK; + } + lpzInformations += std::string(" " + lpzFileName + " v." + szHighlightHeader + lpzVersion + szHighlightFooter + " [" + lpzTimestamp + "] - " + lpzShortName); + if (lpzUnicodeInfo.size() > 0) + { + char *lwr = _strlwr(_strdup(lpzShortName.c_str())); + if ((strstr(lwr, "unicode") == NULL) && (strstr(lwr, "2in1") == NULL)) + { + lpzInformations.append(" |" + lpzUnicodeInfo + "|"); + } + free(lwr); + } + //lpzInformations.append("\t"); + //lpzInformations.append(lpzPluginID); + lpzInformations.append("\r\n"); + + if (lpzLinkedModules.size() > 0) + { + lpzInformations.append(lpzLinkedModules); + lpzInformations.append("\r\n"); + } +// std::string lpzInformations = std::string(lpzFileName + " - " + lpzShortName + " [" + lpzTimestamp + " · " + lpzVersion +"]\r\n"); + return lpzInformations; +}; \ No newline at end of file -- cgit v1.2.3