⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 kadfiles.cpp

📁 电驴的MAC源代码
💻 CPP
字号:
//// This file is part of the aMule Project.//// Copyright (c) 2008 Dévai Tamás ( gonosztopi@amule.org )// 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//#include "KadFiles.h"#include "Print.h"#include "../../SafeFile.h"void DecodePreferencesKadDat(const CFileDataIO& file){	DoPrint(wxT("IP      : ")); Print(CKadIP(file.ReadUInt32())); DoPrint(wxT("\n"));	DoPrint(wxT("(unused): ")); Print(file.ReadUInt16()); DoPrint(wxT("\n"));	DoPrint(wxT("ClientID: ")); Print(file.ReadUInt128()); DoPrint(wxT("\n"));}void DecodeLoadIndexDat(const CFileDataIO& file){	DoPrint(wxT("Version   : ")); Print(file.ReadUInt32()); DoPrint(wxT("\n"));	DoPrint(wxT("(savetime): ")); Print((time_t)file.ReadUInt32()); DoPrint(wxT("\n"));	uint32_t numLoad = file.ReadUInt32();	DoPrint(wxT("numLoad   : ")); Print(numLoad); DoPrint(wxT("\n"));	for (uint32_t i = 0; i < numLoad; i++) {		DoPrint(wxString::Format(wxT("\t: { "), i)); Print(file.ReadUInt128()); DoPrint(wxT(", ")); Print((time_t)file.ReadUInt32()); DoPrint(wxT(" }\n"));	}}void DecodeKeyIndexDat(const CFileDataIO& file){	uint32_t version;	uint32_t numKeys;	uint32_t numSource;	uint32_t numName;	uint8_t tagCount;	DoPrint(wxT("Version : ")); Print(version = file.ReadUInt32()); DoPrint(wxT("\n"));	DoPrint(wxT("SaveTime: ")); Print((time_t)file.ReadUInt32()); DoPrint(wxT("\n"));	DoPrint(wxT("ID      : ")); Print(file.ReadUInt128()); DoPrint(wxT("\n"));	DoPrint(wxT("numKeys : ")); Print(numKeys = file.ReadUInt32()); DoPrint(wxT("\n"));	for (uint32_t ik = 0; ik < numKeys; ik++) {		DoPrint(wxT("\tKeyID    : ")); Print(file.ReadUInt128()); DoPrint(wxT("\n"));		DoPrint(wxT("\tnumSource: ")); Print(numSource = file.ReadUInt32()); DoPrint(wxT("\n"));		for (uint32_t is = 0; is < numSource; is++) {			DoPrint(wxT("\t\tSourceID: ")); Print(file.ReadUInt128()); DoPrint(wxT("\n"));			DoPrint(wxT("\t\tnumName : ")); Print(numName = file.ReadUInt32()); DoPrint(wxT("\n"));			for (uint32_t iN = 0; iN < numName; iN++) {				DoPrint(wxT("\t\t\tLifeTime : ")); Print((time_t)file.ReadUInt32()); DoPrint(wxT("\n"));				if (version >= 3) {					uint32_t count;					DoPrint(wxT("\t\t\tnameCount: ")); Print(count = file.ReadUInt32()); DoPrint(wxT("\n"));					for (uint32_t i = 0; i < count; i++) {						DoPrint(wxT("\t\t\t\t{ ")); Print(file.ReadString(true, 2)); DoPrint(wxT(", "));						Print(file.ReadUInt32()); DoPrint(wxT(" }\n"));					}					DoPrint(wxT("\t\t\tipCount : ")); Print(count = file.ReadUInt32()); DoPrint(wxT("\n"));					for (uint32_t i = 0; i < count; i++) {						DoPrint(wxT("\t\t\t\t{ ")); Print(CKadIP(file.ReadUInt32())); DoPrint(wxT(", "));						Print((time_t)file.ReadUInt32());						DoPrint(wxT(" }\n"));					}				}				DoPrint(wxT("\t\t\ttagCount: ")); Print(tagCount = file.ReadUInt8()); DoPrint(wxT("\n"));				for (uint32_t it = 0; it < tagCount; it++) {					DoPrint(wxT("\t\t\t\t"));					CTag *tag = file.ReadTag();					Print(*tag);					delete tag;					DoPrint(wxT("\n"));				}			}		}	}}void DecodeSourceIndexDat(const CFileDataIO& file){	uint32_t numKeys;	uint32_t numSource;	uint32_t numName;	uint8_t tagCount;	DoPrint(wxT("Version : ")); Print(file.ReadUInt32()); DoPrint(wxT("\n"));	DoPrint(wxT("SaveTime: ")); Print((time_t)file.ReadUInt32()); DoPrint(wxT("\n"));	DoPrint(wxT("numKeys : ")); Print(numKeys = file.ReadUInt32()); DoPrint(wxT("\n"));	for (uint32_t ik = 0; ik < numKeys; ik++) {		DoPrint(wxT("\tKeyID    : ")); Print(file.ReadUInt128()); DoPrint(wxT("\n"));		DoPrint(wxT("\tnumSource: ")); Print(numSource = file.ReadUInt32()); DoPrint(wxT("\n"));		for (uint32_t is = 0; is < numSource; is++) {			DoPrint(wxT("\t\tSourceID: ")); Print(file.ReadUInt128()); DoPrint(wxT("\n"));			DoPrint(wxT("\t\tnumName : ")); Print(numName = file.ReadUInt32()); DoPrint(wxT("\n"));			for (uint32_t iN = 0; iN < numName; iN++) {				DoPrint(wxT("\t\t\tLifeTime: ")); Print((time_t)file.ReadUInt32()); DoPrint(wxT("\n"));				DoPrint(wxT("\t\t\ttagCount: ")); Print(tagCount = file.ReadUInt8()); DoPrint(wxT("\n"));				for (uint32_t it = 0; it < tagCount; it++) {					DoPrint(wxT("\t\t\t\t"));					CTag *tag = file.ReadTag();					Print(*tag);					delete tag;					DoPrint(wxT("\n"));				}			}		}	}}void DecodeNodesDat(const CFileDataIO& file){	uint32_t numContacts = file.ReadUInt32();	uint32_t fileVersion = 0;	DoPrint(wxT("NumContacts #1: ")); Print(numContacts); DoPrint(wxT("\n"));	if (numContacts == 0) {		DoPrint(wxT("FileVersion   : ")); Print(fileVersion = file.ReadUInt32()); DoPrint(wxT("\n"));		if (fileVersion >= 1) {			DoPrint(wxT("NumContacts #2: ")); Print(numContacts = file.ReadUInt32()); DoPrint(wxT("\n"));		}	}	for (uint32_t i = 0; i < numContacts; i++) {		DoPrint(wxT("\t{ "));		Print(file.ReadUInt128()); DoPrint(wxT(", "));		Print(CKadIP(file.ReadUInt32())); DoPrint(wxT(", "));		Print(file.ReadUInt16()); DoPrint(wxT(", "));		Print(file.ReadUInt16()); DoPrint(wxT(", "));		Print(file.ReadUInt8());		if (fileVersion >= 2) {			DoPrint(wxT(", { "));			PrintHex(file.ReadUInt32());			DoPrint(wxT(", "));			Print(CKadIP(file.ReadUInt32()));			DoPrint(wxT(" }, "));			Print(file.ReadUInt8() != 0);		}		DoPrint(wxT(" }\n"));	}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -