Browse Source
Merge pull request #737 from lioncash/move
filesys/loader: std::move VirtualFile instances in constructors where applicable
pull/15/merge
bunnei
8 years ago
committed by
GitHub
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with
9 additions and
5 deletions
-
src/core/file_sys/vfs_offset.cpp
-
src/core/file_sys/vfs_offset.h
-
src/core/loader/nca.cpp
-
src/core/loader/nro.cpp
|
|
|
@ -2,13 +2,15 @@ |
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#include <utility>
|
|
|
|
|
|
|
|
#include "core/file_sys/vfs_offset.h"
|
|
|
|
|
|
|
|
namespace FileSys { |
|
|
|
|
|
|
|
OffsetVfsFile::OffsetVfsFile(std::shared_ptr<VfsFile> file_, size_t size_, size_t offset_, |
|
|
|
const std::string& name_) |
|
|
|
: file(file_), offset(offset_), size(size_), name(name_) {} |
|
|
|
std::string name_) |
|
|
|
: file(std::move(file_)), offset(offset_), size(size_), name(std::move(name_)) {} |
|
|
|
|
|
|
|
std::string OffsetVfsFile::GetName() const { |
|
|
|
return name.empty() ? file->GetName() : name; |
|
|
|
|
|
|
|
@ -14,7 +14,7 @@ namespace FileSys { |
|
|
|
// the size of this wrapper. |
|
|
|
struct OffsetVfsFile : public VfsFile { |
|
|
|
OffsetVfsFile(std::shared_ptr<VfsFile> file, size_t size, size_t offset = 0, |
|
|
|
const std::string& new_name = ""); |
|
|
|
std::string new_name = ""); |
|
|
|
|
|
|
|
std::string GetName() const override; |
|
|
|
size_t GetSize() const override; |
|
|
|
|
|
|
|
@ -2,6 +2,7 @@ |
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#include <utility>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include "common/file_util.h"
|
|
|
|
@ -21,7 +22,7 @@ |
|
|
|
|
|
|
|
namespace Loader { |
|
|
|
|
|
|
|
AppLoader_NCA::AppLoader_NCA(FileSys::VirtualFile file) : AppLoader(file) {} |
|
|
|
AppLoader_NCA::AppLoader_NCA(FileSys::VirtualFile file) : AppLoader(std::move(file)) {} |
|
|
|
|
|
|
|
FileType AppLoader_NCA::IdentifyType(const FileSys::VirtualFile& file) { |
|
|
|
// TODO(DarkLordZach): Assuming everything is decrypted. Add crypto support.
|
|
|
|
|
|
|
|
@ -2,6 +2,7 @@ |
|
|
|
// Licensed under GPLv2 or any later version
|
|
|
|
// Refer to the license.txt file included.
|
|
|
|
|
|
|
|
#include <utility>
|
|
|
|
#include <vector>
|
|
|
|
|
|
|
|
#include "common/common_funcs.h"
|
|
|
|
@ -48,7 +49,7 @@ struct ModHeader { |
|
|
|
}; |
|
|
|
static_assert(sizeof(ModHeader) == 0x1c, "ModHeader has incorrect size."); |
|
|
|
|
|
|
|
AppLoader_NRO::AppLoader_NRO(FileSys::VirtualFile file) : AppLoader(file) {} |
|
|
|
AppLoader_NRO::AppLoader_NRO(FileSys::VirtualFile file) : AppLoader(std::move(file)) {} |
|
|
|
|
|
|
|
FileType AppLoader_NRO::IdentifyType(const FileSys::VirtualFile& file) { |
|
|
|
// Read NSO header
|
|
|
|
|