From 0cda0baab21d4d4bf40c9459f6f5a7e49aa92492 Mon Sep 17 00:00:00 2001 From: Vadim Dashevskiy Date: Tue, 24 Jul 2012 12:45:18 +0000 Subject: VersionInfo, W7UI, WhoUsesMyFiles, YAPP, ZeroNotification: changed folder structure git-svn-id: http://svn.miranda-ng.org/main/trunk@1161 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- plugins/VersionInfo/src/CVersionInfo.h | 115 +++++++++++++++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 plugins/VersionInfo/src/CVersionInfo.h (limited to 'plugins/VersionInfo/src/CVersionInfo.h') diff --git a/plugins/VersionInfo/src/CVersionInfo.h b/plugins/VersionInfo/src/CVersionInfo.h new file mode 100644 index 0000000000..eb55b808fc --- /dev/null +++ b/plugins/VersionInfo/src/CVersionInfo.h @@ -0,0 +1,115 @@ +/* +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. +*/ + +#ifndef CVERSIONINFO_H +#define CVERSIONINFO_H + +//#define STRICT +#define WIN32_LEAN_AND_MEAN +//#include "AggressiveOptimize.h" + +#define _CRT_SECURE_NO_DEPRECATE + +#ifndef PF_NX_ENABLED + #define PF_NX_ENABLED 12 +#endif + +#include +#include +//using namespace std; + +#include "CPlugin.h" + +class CVersionInfo +{ + private: + //Informations related to Miranda: main informations. + std::tstring lpzMirandaVersion; + std::tstring lpzMirandaPath; + std::tstring lpzProfilePath; + std::tstring lpzProfileSize; + std::tstring lpzProfileCreationDate; + std::tstring lpzNightly; + std::tstring lpzUnicodeBuild; + std::tstring lpzCPUName; + std::tstring lpzCPUIdentifier; + std::tstring lpzBuildTime; + std::tstring lpzShell; + std::tstring lpzIEVersion; + std::tstring lpzAdministratorPrivileges; + std::tstring lpzOSLanguages; + std::tstring lpzLangpackInfo; + std::tstring lpzLangpackModifiedDate; + //Informations related to plugins + std::list listActivePlugins; + std::list listInactivePlugins; + std::list listUnloadablePlugins; + //OS and hardware informations. + std::tstring lpzOSVersion; + std::tstring lpzOSName; + unsigned int luiProcessors; + unsigned int luiRAM; + unsigned int luiFreeDiskSpace; + int bDEPEnabled; + BOOL bIsWOW64; + //Additional Miranda informations. + unsigned int luiContacts; + unsigned int luiEvents; + unsigned int luiUnreadEvents; + unsigned int luiDBSize; + bool bExpertSettingsOn; + //Configuration + + bool GetLinkedModulesInfo(TCHAR *moduleName, std::tstring &linkedModules); + + public: + //Constructor/Destructor + CVersionInfo(); + ~CVersionInfo(); + void Initialize(); + //Miranda informations + bool GetMirandaVersion(); + bool GetProfileSettings(); + bool GetOSLanguages(); + bool GetLangpackInfo(); + bool GetPluginLists(); + bool GetEventCount(); //TODO + //OSInformations + bool GetOSVersion(); + bool GetHWSettings(); + //Plugins + bool AddPlugin(CPlugin&, std::list&); + //Prints + + void PrintInformationsToFile(); + void PrintInformationsToFile(const TCHAR *info); + void PrintInformationsToDialogBox(); + void PrintInformationsToMessageBox(); + void PrintInformationsToOutputDebugString(); + void PrintInformationsToClipboard(bool); + + std::tstring GetListAsString(std::list&, DWORD flags, int beautify); + std::tstring GetInformationsAsString(int bDisableForumStyle = 0); + void BeautifyReport(int, LPCTSTR, LPCTSTR, std::tstring &); + void AddInfoHeader(int, int, int, std::tstring &); + void AddInfoFooter(int, int, int, std::tstring &); +}; + +#endif \ No newline at end of file -- cgit v1.2.3