Linux multi-monitor fullscreen support
[ryzomcore.git] / nel / src / misc / streamed_package.cpp
blob66b13c42910aec9a46bf4842f10c46e83e7a850f
1 // NeL - MMORPG Framework <http://dev.ryzom.com/projects/nel/>
2 // Copyright (C) 2014-2020 Jan BOON (Kaetemi) <jan.boon@kaetemi.be>
3 //
4 // This source file has been modified by the following contributors:
5 // Copyright (C) 2021 Winch Gate Property Limited
6 //
7 // This program is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU Affero General Public License as
9 // published by the Free Software Foundation, either version 3 of the
10 // License, or (at your option) any later version.
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU Affero General Public License for more details.
17 // You should have received a copy of the GNU Affero General Public License
18 // along with this program. If not, see <http://www.gnu.org/licenses/>.
20 #include "stdmisc.h"
22 // Project includes
23 #include <nel/misc/streamed_package.h>
24 #include <nel/misc/stream.h>
26 namespace NLMISC {
28 CStreamedPackage::CStreamedPackage()
30 // init
33 CStreamedPackage::~CStreamedPackage()
35 // release
38 void CStreamedPackage::serial(NLMISC::IStream &f)
40 f.serialCheck(NELID("SNPK"));
42 uint version = 1;
43 f.serialVersion(version);
45 f.serialCont(Entries);
48 void CStreamedPackage::CEntry::serial(NLMISC::IStream &f)
50 uint version = 1;
51 f.serialVersion(version);
53 f.serial(Name);
54 f.serial(Hash);
55 f.serial(Size);
56 f.serial(LastModified);
59 void CStreamedPackage::makePath(std::string &result, const CHashKey &hash)
61 std::string lowerHash = NLMISC::toLowerAscii(hash.toString());
62 result = std::string("/") + lowerHash.substr(0, 2)
63 + "/" + lowerHash.substr(2, 2)
64 + "/" + lowerHash.substr(4);
67 } /* namespace NLMISC */
69 /* end of file */