ecfileconfig.h
来自「电驴的MAC源代码」· C头文件 代码 · 共 101 行
H
101 行
//// This file is part of the aMule Project.//// Copyright (c) 2004-2008 aMule Team ( admin@amule.org / http://www.amule.org )//// Any parts of this program derived from the xMule, lMule or eMule project,// or contributed by third-party developers are copyrighted by their// respective authors.//// 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., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA//#ifndef ECFILECONFIG_H#define ECFILECONFIG_H#include <wx/fileconf.h>#include <wx/filename.h>#include <wx/utils.h>#include "MD4Hash.h" // Needed for CMD4Hash#include "OtherFunctions.h" // Needed for GetConfigDir()/** * Prepends ConfigDir to filename, if it has no PathSeparator chars in it */inline wxString FinalizeFilename(const wxString filename){ if (wxStrchr(filename, wxFileName::GetPathSeparator()) == NULL) { return GetConfigDir() + filename; } if ((filename.GetChar(0) == '~') && (filename.GetChar(1) == wxFileName::GetPathSeparator())) { return wxGetHomeDir() + filename.Mid(1); } return filename;}/** * Extension to wxFileConfig for reading/writing CMD4Hash values. * * This class converts between the text and binary representation of an MD4 hash, * and also maps empty strings to the empty hash and vica versa. */class CECFileConfig : public wxFileConfig { public: CECFileConfig(const wxString& localFilename = wxEmptyString) : wxFileConfig(wxEmptyString, wxEmptyString, FinalizeFilename(localFilename), wxEmptyString, wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_RELATIVE_PATH) {} /** * Reads a hash from the config file * * @param key the key to be read * @param hash the CMD4Hash object to write the hash to * * @return true on success, false otherwise. */ bool ReadHash(const wxString& key, CMD4Hash *hash) { wxString sHash; bool retval = wxFileConfig::Read(key, &sHash, wxEmptyString); if (sHash.IsEmpty()) { hash->Clear(); } else { hash->Decode(sHash); } return retval; } /** * Writes a CMD4Hash object to the config file * * @param key the key to write to * @param hash the hash to be written * * @return true on success, false otherwise. */ bool WriteHash(const wxString& key, const CMD4Hash& hash) { return wxFileConfig::Write(key, hash.IsEmpty() ? wxString(wxEmptyString) : hash.Encode()); }};#endif /* ECFILECONFIG_H */// File_checked_for_headers
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?