Moved file operations to front end
This commit is contained in:
@@ -2,7 +2,6 @@
|
|||||||
// Licensed under GPLv2 or any later version
|
// Licensed under GPLv2 or any later version
|
||||||
// Refer to the license.txt file included.
|
// Refer to the license.txt file included.
|
||||||
|
|
||||||
#include "common/file_util.h"
|
|
||||||
#include "common/logging/log.h"
|
#include "common/logging/log.h"
|
||||||
#include "core/core.h"
|
#include "core/core.h"
|
||||||
#include "core/hle/ipc_helpers.h"
|
#include "core/hle/ipc_helpers.h"
|
||||||
@@ -344,15 +343,8 @@ void Module::Interface::CreateUserInterface(Kernel::HLERequestContext& ctx) {
|
|||||||
rb.PushIpcInterface<IUser>(*this);
|
rb.PushIpcInterface<IUser>(*this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Module::Interface::LoadAmiibo(const std::string& filename) {
|
void Module::Interface::LoadAmiibo(const std::vector<u8> amiibo) {
|
||||||
amiibo_buffer.clear();
|
amiibo_buffer = amiibo;
|
||||||
auto nfc_file = FileUtil::IOFile(filename, "rb");
|
|
||||||
if (!nfc_file.IsOpen()) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
amiibo_buffer.resize(nfc_file.GetSize());
|
|
||||||
nfc_file.ReadBytes(amiibo_buffer.data(), amiibo_buffer.size());
|
|
||||||
nfc_file.Close();
|
|
||||||
nfc_tag_load->Signal();
|
nfc_tag_load->Signal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public:
|
|||||||
~Interface() override;
|
~Interface() override;
|
||||||
|
|
||||||
void CreateUserInterface(Kernel::HLERequestContext& ctx);
|
void CreateUserInterface(Kernel::HLERequestContext& ctx);
|
||||||
void LoadAmiibo(const std::string& path);
|
void LoadAmiibo(const std::vector<u8> amiibo);
|
||||||
const Kernel::SharedPtr<Kernel::Event>& GetNFCEvent() const;
|
const Kernel::SharedPtr<Kernel::Event>& GetNFCEvent() const;
|
||||||
const std::vector<u8>& GetAmiiboBuffer() const;
|
const std::vector<u8>& GetAmiiboBuffer() const;
|
||||||
|
|
||||||
|
|||||||
@@ -1294,7 +1294,14 @@ void GMainWindow::OnLoadAmiibo() {
|
|||||||
Service::SM::ServiceManager& sm = system.ServiceManager();
|
Service::SM::ServiceManager& sm = system.ServiceManager();
|
||||||
auto nfc = sm.GetService<Service::NFP::Module::Interface>("nfp:user");
|
auto nfc = sm.GetService<Service::NFP::Module::Interface>("nfp:user");
|
||||||
if (nfc != nullptr) {
|
if (nfc != nullptr) {
|
||||||
nfc->LoadAmiibo(filename.toStdString());
|
auto nfc_file = FileUtil::IOFile(filename.toStdString(), "rb");
|
||||||
|
if (!nfc_file.IsOpen()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
std::vector<u8> amiibo_buffer(nfc_file.GetSize());
|
||||||
|
nfc_file.ReadBytes(amiibo_buffer.data(), amiibo_buffer.size());
|
||||||
|
nfc_file.Close();
|
||||||
|
nfc->LoadAmiibo(amiibo_buffer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user