612e1388df
This gives us significantly more control over where in the initialization process we start execution of the main process. Previously we were running the main process before the CPU or GPU threads were initialized (not good). This amends execution to start after all of our threads are properly set up.
33 lines
841 B
C++
33 lines
841 B
C++
// Copyright 2013 Dolphin Emulator Project / 2014 Citra Emulator Project
|
|
// Licensed under GPLv2 or any later version
|
|
// Refer to the license.txt file included.
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
#include "common/common_types.h"
|
|
#include "core/loader/loader.h"
|
|
|
|
namespace Loader {
|
|
|
|
/// Loads an ELF/AXF file
|
|
class AppLoader_ELF final : public AppLoader {
|
|
public:
|
|
explicit AppLoader_ELF(FileSys::VirtualFile file);
|
|
|
|
/**
|
|
* Returns the type of the file
|
|
* @param file std::shared_ptr<VfsFile> open file
|
|
* @return FileType found, or FileType::Error if this loader doesn't know it
|
|
*/
|
|
static FileType IdentifyType(const FileSys::VirtualFile& file);
|
|
|
|
FileType GetFileType() const override {
|
|
return IdentifyType(file);
|
|
}
|
|
|
|
LoadResult Load(Kernel::Process& process) override;
|
|
};
|
|
|
|
} // namespace Loader
|