Browse Source

xts_archive: Make AsNCA() return a std::unique_ptr instead of a std::shared_ptr

std::shared_ptr isn't strictly necessary here and is only ever used in
contexts where the object doesn't depend on being shared. This also
makes the interface more flexible, as it's possible to create a
std::shared_ptr from a std::unique_ptr (std::shared_ptr has a
constructor that accepts a std::unique_ptr), but not the other way
around.
nce_cpp
Lioncash 7 years ago
parent
commit
d2736c4ddc
  1. 4
      src/core/file_sys/xts_archive.cpp
  2. 2
      src/core/file_sys/xts_archive.h

4
src/core/file_sys/xts_archive.cpp

@ -138,9 +138,9 @@ VirtualFile NAX::GetDecrypted() const {
return dec_file;
}
std::shared_ptr<NCA> NAX::AsNCA() const {
std::unique_ptr<NCA> NAX::AsNCA() const {
if (type == NAXContentType::NCA)
return std::make_shared<NCA>(GetDecrypted());
return std::make_unique<NCA>(GetDecrypted());
return nullptr;
}

2
src/core/file_sys/xts_archive.h

@ -38,7 +38,7 @@ public:
VirtualFile GetDecrypted() const;
std::shared_ptr<NCA> AsNCA() const;
std::unique_ptr<NCA> AsNCA() const;
NAXContentType GetContentType() const;

Loading…
Cancel
Save