diff options
author | Zach Hilman <zachhilman@gmail.com> | 2018-12-24 22:21:12 +0100 |
---|---|---|
committer | Zach Hilman <zachhilman@gmail.com> | 2018-12-28 21:32:39 +0100 |
commit | 69f622be363418fcf61e79a0aed1fd06523ff690 (patch) | |
tree | 34bb3c50f6ec3617604133229e0fea6f7c5053d2 /src/core/hle/service/am/applets/web_browser.h | |
parent | loader: Add accessor for Manual RomFS (diff) | |
download | yuzu-69f622be363418fcf61e79a0aed1fd06523ff690.tar yuzu-69f622be363418fcf61e79a0aed1fd06523ff690.tar.gz yuzu-69f622be363418fcf61e79a0aed1fd06523ff690.tar.bz2 yuzu-69f622be363418fcf61e79a0aed1fd06523ff690.tar.lz yuzu-69f622be363418fcf61e79a0aed1fd06523ff690.tar.xz yuzu-69f622be363418fcf61e79a0aed1fd06523ff690.tar.zst yuzu-69f622be363418fcf61e79a0aed1fd06523ff690.zip |
Diffstat (limited to 'src/core/hle/service/am/applets/web_browser.h')
-rw-r--r-- | src/core/hle/service/am/applets/web_browser.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/src/core/hle/service/am/applets/web_browser.h b/src/core/hle/service/am/applets/web_browser.h new file mode 100644 index 000000000..b9e228fac --- /dev/null +++ b/src/core/hle/service/am/applets/web_browser.h @@ -0,0 +1,44 @@ +// Copyright 2018 yuzu emulator team +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include "core/file_sys/vfs_types.h" +#include "core/hle/service/am/am.h" +#include "core/hle/service/am/applets/applets.h" + +namespace Service::AM::Applets { + +class WebBrowser final : public Applet { +public: + WebBrowser(); + ~WebBrowser() override; + + void Initialize() override; + + bool TransactionComplete() const override; + ResultCode GetStatus() const override; + void ExecuteInteractive() override; + void Execute() override; + + // Callback to be fired when the frontend needs the manual RomFS unpacked to temporary + // directory. This is a blocking call and may take a while as some manuals can be up to 100MB in + // size. Attempting to access files at filename before invocation is likely to not work. + void UnpackRomFS(); + + // Callback to be fired when the frontend is finished browsing. This will delete the temporary + // manual RomFS extracted files, so ensure this is only called at actual finalization. + void Finalize(); + +private: + bool complete = false; + bool unpacked = false; + ResultCode status = RESULT_SUCCESS; + + FileSys::VirtualFile manual_romfs; + std::string temporary_dir; + std::string filename; +}; + +} // namespace Service::AM::Applets |