kip.h 875 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. // Copyright 2019 yuzu emulator team
  2. // Licensed under GPLv2 or any later version
  3. // Refer to the license.txt file included.
  4. #pragma once
  5. #include "core/loader/loader.h"
  6. namespace Core {
  7. class System;
  8. }
  9. namespace FileSys {
  10. class KIP;
  11. }
  12. namespace Loader {
  13. class AppLoader_KIP final : public AppLoader {
  14. public:
  15. explicit AppLoader_KIP(FileSys::VirtualFile file);
  16. ~AppLoader_KIP() override;
  17. /**
  18. * Identifies whether or not the given file is a KIP.
  19. *
  20. * @param in_file The file to identify.
  21. *
  22. * @return FileType::KIP if found, or FileType::Error if unknown.
  23. */
  24. static FileType IdentifyType(const FileSys::VirtualFile& in_file);
  25. FileType GetFileType() const override;
  26. LoadResult Load(Kernel::KProcess& process, Core::System& system) override;
  27. private:
  28. std::unique_ptr<FileSys::KIP> kip;
  29. };
  30. } // namespace Loader