aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/fs/archive.h
AgeCommit message (Collapse)Author
2017-10-12Remove lots more 3DS-specific code.bunnei
2017-09-25HLE/Archives: Allow multiple loaded applications to access their SelfNCCH ↵Subv
archive independently. The loaders now register each loaded ROM with the SelfNCCH factory, which keeps the data around for the duration of the emulation session. When opening the SelfNCCH archive, the factory queries the current program's programid and uses that as a key to the map that contains the NCCHData structure (RomFS, Icon, Banner, etc). 3dsx files do not have a programid and will use a default of 0 for this value, thus, only 1 3dsx file with RomFS is loadable at the same time.
2017-06-06Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner
This allows attaching a HLE handle to a ServerPort at any point after it is created, allowing port/session creation to be generic between HLE and regular services.
2017-06-05HLE: Move SessionRequestHandler from Service:: to Kernel::Yuri Kunde Schlesner
Most of the code that works with this is or will be in the kernel, so it's a more appropriate place for it to be.
2017-02-13loader: use self NCCH archivewwylele
2016-12-21Address clang-format issues.bunnei
2016-12-21core: Remove HLE module, consolidate code & various cleanups.bunnei
2016-12-14Merge pull request #2249 from Subv/sessions_v3Yuri Kunde Schlesner
Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
2016-12-14Fixed the codestyle to match our clang-format rules.Subv
2016-12-09Moved the HLE command buffer translation task to ServerSession instead of ↵Subv
the HLE handler superclass.
2016-12-08Use std::move where appropriate.Subv
2016-12-05Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, ↵Subv
TranslateRequest and HandleSyncRequestImpl. HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
2016-11-30A bit of a redesign.Subv
Sessions and Ports are now detached from each other. HLE services are handled by means of a SessionRequestHandler class, Interface now inherits from this class. The File and Directory classes are no longer kernel objects, but SessionRequestHandlers instead, bound to a ServerSession when requested. File::OpenLinkFile now creates a new session pair and binds the File instance to it.
2016-11-30 Kernel/IPC: Use Ports and Sessions as the fundamental building block of ↵Subv
Inter Process Communication. All handles obtained via srv::GetServiceHandle or svcConnectToPort are references to ClientSessions. Service modules will wait on the counterpart of those ClientSessions (Called ServerSessions) using svcReplyAndReceive or svcWaitSynchronization[1|N], and will be awoken when a SyncRequest is performed. HLE Interfaces are now ClientPorts which override the HandleSyncRequest virtual member function to perform command handling immediately.
2016-11-29FileSys: Implement OtherSaveDatawwylele
2016-11-29FS: add missing MediaTypewwylele
2016-11-19FileSys: rename SaveDataCheck archive to NCCH archivewwylele
According to the observation from game and 3dbrew "Used for accessing general NCCH data"
2016-10-02fs: implement DeleteDirectoryRecursivelywwylele
2016-09-21Remove empty newlines in #include blocks.Emmanuel Gil Peyrot
This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
2016-09-18Sources: Run clang-format on everything.Emmanuel Gil Peyrot
2016-07-03Service::CFG/FS: add and refactor out utilities for front-endwwylele
2016-03-20HLE/FS: Corrected some style concerns.Subv
2016-03-20HLE/FS: Implemented GetFormatInfoSubv
Format information is currently only implemented for the ExtSaveData, SharedExtSaveData and SaveData archives, the information is stored in a file alongside the root folder of the archive.
2016-03-20HLE/FS: FS::CreateFile takes an u64 for the file size.Subv
2015-10-27Implement FS_User::GetFreeBytesarchshift
2015-09-10General: Fix up doxygen commentsLioncash
2015-06-28Core: Cleanup file_sys includes.Emmanuel Gil Peyrot
2015-06-01ExtSavedata: Save the icon passed to CreateExtSaveData to the correct folder.Subv
Organize the ExtSaveData folders as they are stored in the console.
2015-05-06FileSys: Clean-up includes, de-inline destructorsYuri Kunde Schlesner
2015-03-14Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and ↵Subv
DeleteSystemSaveData Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory.
2015-02-10Archives: Made the Format function more generic.Subv
2015-02-10Archives: Expose the File and Directory classes to HLESubv
2015-02-10FS: Allow multiple instances of the same archive type to be open at onceYuri Kunde Schlesner
2015-02-02Filesys: Move creation of Handles for File/Directory to service handlersYuri Kunde Schlesner
2015-01-24Services: Stubbed more services.Subv
Implemented FSUser::CreateExtSaveData
2015-01-20core: Fix a few docstringsLioncash
2015-01-04Archives: Make SYSTEM_ID and SDCARD_ID stringsSubv
2015-01-03Archives: Changed the way paths are built for the archives.Subv
Each archive now takes a mount point of either NAND or SDMC, and builds its own directory structure there, trying to simulate an HLE-friendly hardware layout
2015-01-02Archives: Reduced duplicate code in RomFS and SaveCheck.Subv
Fixed a few warnings and cleaned up the code
2015-01-02SaveDataCheck: Preliminary work in this archive.Subv
This allows Steel Diver to boot further, some files are needed. This is still not ready and needs a big cleanup, this will possibly be delayed until the way we handle archives is fixed (with factory classes instead of ahead-of-time creation of archives)
2014-12-29Archives: Implemented ExtSaveData and SharedExtSaveDataSubv
They will be stored in /extsavedata/SDMC and /extsavedata/NAND respectively. Also redirect some APT_A functions to their APT_U equivalents. Implemented the gamecoin.dat file in SharedExtSaveData in the PTM module. Implemented formatting the savegame. Retake a previous savegame if it exists instead of reporting them as not formatted every time a game is loaded.
2014-12-21Merge pull request #291 from purpasmart96/licensebunnei
License change
2014-12-21Added CreateFile to the FS_USER servicearchshift
Tested with hwtests.
2014-12-20License changepurpasmart96
2014-12-17Filesystem/Archives: Implemented the SaveData archiveSubv
The savedata for each game is stored in /savedata/<ProgramID> for NCCH files. ELF files and 3DSX files use the folder 0 because they have no ID information Got rid of the code duplication in File and Directory Files that deal with the host machine's file system now live in DiskFile, similarly for directories and DiskDirectory and archives with DiskArchive. FS_U: Use the correct error code when a file wasn't found
2014-12-16FS.Archive: Clean up treatment of archives and their handlesYuri Kunde Schlesner
- Refactor FS::Archive internals to make Archive creation and lifetime management clearer. - Remove the "Archive as a File" hack. - Implement 64-bit Archive handles.
2014-12-16Service.FS: Rename FileSys::Archive to ArchiveBackendYuri Kunde Schlesner
2014-12-16Service.FS: Do archive registration using IdCode instead of nameYuri Kunde Schlesner
2014-12-16HLE: Rename namespaces to match move & fix initialization orderYuri Kunde Schlesner
2014-12-16HLE: Move kernel/archive.* to service/fs/Yuri Kunde Schlesner