summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/fs/archive.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Remove lots more 3DS-specific code.bunnei2017-10-131-276/+0
|
* HLE/Archives: Allow multiple loaded applications to access their SelfNCCH archive independently.Subv2017-09-251-0/+7
| | | | | | | | 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.
* Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner2017-06-061-1/+1
| | | | | | 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.
* HLE: Move SessionRequestHandler from Service:: to Kernel::Yuri Kunde Schlesner2017-06-061-3/+3
| | | | | 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.
* loader: use self NCCH archivewwylele2017-02-131-1/+1
|
* Address clang-format issues.bunnei2016-12-221-2/+2
|
* core: Remove HLE module, consolidate code & various cleanups.bunnei2016-12-221-2/+2
|
* Merge pull request #2249 from Subv/sessions_v3Yuri Kunde Schlesner2016-12-151-14/+18
|\ | | | | Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.
| * Fixed the codestyle to match our clang-format rules.Subv2016-12-141-3/+3
| |
| * Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.Subv2016-12-091-2/+2
| |
| * Use std::move where appropriate.Subv2016-12-081-2/+2
| |
| * Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.Subv2016-12-051-4/+6
| | | | | | | | HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
| * A bit of a redesign.Subv2016-12-011-10/+10
| | | | | | | | | | | | | | 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.
| * Kernel/IPC: Use Ports and Sessions as the fundamental building block of Inter Process Communication.Subv2016-12-011-5/+7
| | | | | | | | | | | | | | 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.
* | FileSys: Implement OtherSaveDatawwylele2016-11-291-0/+2
| |
* | FS: add missing MediaTypewwylele2016-11-291-1/+1
|/
* FileSys: rename SaveDataCheck archive to NCCH archivewwylele2016-11-191-1/+1
| | | | According to the observation from game and 3dbrew "Used for accessing general NCCH data"
* fs: implement DeleteDirectoryRecursivelywwylele2016-10-021-0/+9
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-2/+0
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-27/+38
|
* Service::CFG/FS: add and refactor out utilities for front-endwwylele2016-07-031-0/+6
|
* HLE/FS: Corrected some style concerns.Subv2016-03-201-1/+1
|
* HLE/FS: Implemented GetFormatInfoSubv2016-03-201-2/+13
| | | | 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.
* HLE/FS: FS::CreateFile takes an u64 for the file size.Subv2016-03-201-1/+1
|
* Implement FS_User::GetFreeBytesarchshift2015-10-281-0/+7
|
* General: Fix up doxygen commentsLioncash2015-09-101-1/+1
|
* Core: Cleanup file_sys includes.Emmanuel Gil Peyrot2015-06-281-5/+8
|
* ExtSavedata: Save the icon passed to CreateExtSaveData to the correct folder.Subv2015-06-021-1/+3
| | | | Organize the ExtSaveData folders as they are stored in the console.
* FileSys: Clean-up includes, de-inline destructorsYuri Kunde Schlesner2015-05-071-10/+6
|
* Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and DeleteSystemSaveDataSubv2015-03-141-1/+33
| | | | Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory.
* Archives: Made the Format function more generic.Subv2015-02-101-2/+5
|
* Archives: Expose the File and Directory classes to HLESubv2015-02-101-2/+32
|
* FS: Allow multiple instances of the same archive type to be open at onceYuri Kunde Schlesner2015-02-101-2/+2
|
* Filesys: Move creation of Handles for File/Directory to service handlersYuri Kunde Schlesner2015-02-021-4/+10
|
* Services: Stubbed more services.Subv2015-01-241-0/+8
| | | | Implemented FSUser::CreateExtSaveData
* core: Fix a few docstringsLioncash2015-01-201-1/+1
|
* Archives: Make SYSTEM_ID and SDCARD_ID stringsSubv2015-01-041-2/+2
|
* Archives: Changed the way paths are built for the archives.Subv2015-01-041-0/+5
| | | | 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
* Archives: Reduced duplicate code in RomFS and SaveCheck.Subv2015-01-031-1/+1
| | | | Fixed a few warnings and cleaned up the code
* SaveDataCheck: Preliminary work in this archive.Subv2015-01-031-0/+1
| | | | | | 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)
* Archives: Implemented ExtSaveData and SharedExtSaveDataSubv2014-12-301-1/+2
| | | | | | | | 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.
* Merge pull request #291 from purpasmart96/licensebunnei2014-12-211-1/+1
|\ | | | | License change
| * License changepurpasmart962014-12-211-1/+1
| |
* | Added CreateFile to the FS_USER servicearchshift2014-12-211-0/+9
|/ | | | Tested with hwtests.
* Filesystem/Archives: Implemented the SaveData archiveSubv2014-12-181-0/+6
| | | | | | | | | | 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
* FS.Archive: Clean up treatment of archives and their handlesYuri Kunde Schlesner2014-12-161-12/+14
| | | | | | | - Refactor FS::Archive internals to make Archive creation and lifetime management clearer. - Remove the "Archive as a File" hack. - Implement 64-bit Archive handles.
* Service.FS: Rename FileSys::Archive to ArchiveBackendYuri Kunde Schlesner2014-12-161-2/+2
|
* Service.FS: Do archive registration using IdCode instead of nameYuri Kunde Schlesner2014-12-161-4/+15
|
* HLE: Rename namespaces to match move & fix initialization orderYuri Kunde Schlesner2014-12-161-5/+4
|
* HLE: Move kernel/archive.* to service/fs/Yuri Kunde Schlesner2014-12-161-0/+107