summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/fs/archive.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* ResultVal: Remove MoveFrom()Yuri Kunde Schlesner2017-06-191-2/+2
| | | | | Replace it with std::move(result_val).Unwrap(), or Foo().Unwrap() in case you already have an rvalue.
* Service: Remove unnecessary includes from service.hYuri Kunde Schlesner2017-06-061-0/+3
| | | | | This has a huge fallout in terms of needing to fix other files because all service implementations included that file.
* Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSessionYuri Kunde Schlesner2017-06-061-4/+7
| | | | | | 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-0/+1
| | | | | 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.
* Addressed Bunnei's review comments, and made some other tweaks:TheKoopaKingdom2017-06-031-1/+2
| | | | | - Deleted GetStatus() because it wasn't used anywhere outside of Core::System. - Fixed design flaw where the message bar status could be set despite the game being stopped.
* Switched to the ERROR_NOT_FOUND constant from errors.h.TheKoopaKingdom2017-06-031-2/+1
|
* Made some changes from review comments:TheKoopaKingdom2017-06-031-5/+3
| | | | | | | | - Made LoadKernelSystemMode return a pair consisting of a system mode and a result code (Could use review). - Deleted ErrorOpenGL error code in favor of just having ErrorVideoCore. - Made dialog messages more clear. - Compared archive ID in fs_user.cpp to ArchiveIdCode::NCCH as opposed to hex magic. - Cleaned up some other stuff.
* FS: Remove unused result definitionYuri Kunde Schlesner2017-05-251-5/+0
|
* FileSys: Move all result description to errors.hYuri Kunde Schlesner2017-05-251-16/+12
|
* core: Remove HLE module, consolidate code & various cleanups.bunnei2016-12-221-4/+1
|
* FS: fix debug build from #2249wwylele2016-12-151-11/+9
|
* Merge pull request #2249 from Subv/sessions_v3Yuri Kunde Schlesner2016-12-151-19/+21
|\ | | | | 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-4/+6
| |
| * Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass.Subv2016-12-091-2/+2
| |
| * Added a framework for partially handling Session disconnections.Subv2016-12-081-0/+1
| | | | | | | | | | | | Further implementation will happen in a future commit. Fixes a regression.
| * Split SessionRequestHandler::HandleSyncRequest into HandleSyncRequest, TranslateRequest and HandleSyncRequestImpl.Subv2016-12-051-8/+6
| | | | | | | | HandleSyncRequest now takes care of calling the command buffer translate function before actually invoking the command handler for HLE services.
| * Fixed the rebase mistakes.Subv2016-12-011-4/+4
| |
| * A bit of a redesign.Subv2016-12-011-17/+18
| | | | | | | | | | | | | | 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-6/+6
| | | | | | | | | | | | | | 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/+9
| |
* | FileSys: abstract SD save data archive sourcewwylele2016-11-291-1/+2
|/
* FileSys: rename SaveDataCheck archive to NCCH archivewwylele2016-11-191-5/+4
| | | | According to the observation from game and 3dbrew "Used for accessing general NCCH data"
* FileSys: add SDMCWriteOnlyArchivewwylele2016-11-191-0/+8
|
* FileSys: make Archive interfaces return error codewwylele2016-11-011-32/+9
| | | | and make the mode parameter a reference since it is a BitField union
* fs: implement DeleteDirectoryRecursivelywwylele2016-10-021-0/+12
|
* Use negative priorities to avoid special-casing the self-includeYuri Kunde Schlesner2016-09-211-1/+1
|
* Remove empty newlines in #include blocks.Emmanuel Gil Peyrot2016-09-211-4/+1
| | | | | | | This makes clang-format useful on those. Also add a bunch of forgotten transitive includes, which otherwise prevented compilation.
* Manually tweak source formatting and then re-run clang-formatYuri Kunde Schlesner2016-09-191-8/+4
|
* Sources: Run clang-format on everything.Emmanuel Gil Peyrot2016-09-181-186/+203
|
* Merge pull request #1894 from wwylele/set-config-blockYuri Kunde Schlesner2016-07-101-8/+16
|\ | | | | Implement config savegame editing & clean up
| * Service::CFG/FS: add and refactor out utilities for front-endwwylele2016-07-031-8/+16
| |
* | Fix the errorcode of archive handleJamePeng2016-07-041-10/+14
|/
* Memory: Handle RasterizerCachedMemory and RasterizerCachedSpecial page types in the memory block manipulation functions.Subv2016-05-281-1/+0
|
* FS/Archive: Remove use of Memory::GetPointerMerryMage2016-05-281-7/+14
|
* HWRasterizer: Texture forwardingtfarley2016-04-211-0/+1
|
* Common: Remove Common::make_unique, use std::make_uniqueMerryMage2016-04-051-7/+6
|
* HLE/FS: Change the error code returned when an ExtSaveData archive is not found.Subv2016-03-201-4/+8
| | | | This allows Fire Emblem to boot again.
* HLE/FS: Corrected some style concerns.Subv2016-03-201-4/+1
|
* HLE/FS: Implemented GetFormatInfoSubv2016-03-201-26/+22
| | | | 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: Don't return an error when deleting the ExtSaveData if it does not exist.Subv2016-03-201-1/+1
|
* HLE/FS: Return the proper error codes when opening files.Subv2016-03-201-3/+4
|
* HLE/FS: Fixed the OpenDirectory error codeSubv2016-03-201-1/+1
|
* HLE/FS: Return the proper error codes on file Read/Write operations.Subv2016-03-201-2/+15
| | | | These operations are limited by the open flags specified while opening the file.
* HLE/FS: Corrected the error codes for DeleteFileSubv2016-03-201-4/+1
|
* HLE/FS: FS::CreateFile takes an u64 for the file size.Subv2016-03-201-1/+1
|
* Implement FS_User::GetFreeBytesarchshift2015-10-281-0/+7
|
* Archive: Correct a few incorrect types in function signaturesYuri Kunde Schlesner2015-07-141-1/+1
| | | | Buffer lengths should be size_t, and file offsets should be u64.
* Core: Cleanup file_sys includes.Emmanuel Gil Peyrot2015-06-281-2/+8
|
* ExtSavedata: Save the icon passed to CreateExtSaveData to the correct folder.Subv2015-06-021-3/+20
| | | | Organize the ExtSaveData folders as they are stored in the console.
* Remove every trailing whitespace from the project (but externals).Emmanuel Gil Peyrot2015-05-291-3/+3
|
* Common: Remove common.hYuri Kunde Schlesner2015-05-071-0/+1
|
* FileSys: Clean-up includes, de-inline destructorsYuri Kunde Schlesner2015-05-071-0/+10
|
* Services/FS: Implemented DeleteExtSaveData, CreateSystemSaveData and DeleteSystemSaveDataSubv2015-03-141-15/+59
| | | | Also fixed a bug with CreateExtSaveData that made it unable to create ExtSaveData archives in the SDMC directory.
* Services: Moved the PTM and APT services to their own folderSubv2015-03-041-0/+4
| | | | | | This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs. Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
* Archives: Properly implemented the SystemSaveData archive.Subv2015-02-261-0/+4
| | | | Ported to the new factory pattern we have for archives.
* Build: Fixed some warningsSubv2015-02-121-4/+4
|
* Asserts: break/crash program, fit to style guide; log.h->assert.harchshift2015-02-111-1/+1
| | | | | | | Involves making asserts use printf instead of the log functions (log functions are asynchronous and, as such, the log won't be printed in time) As such, the log type argument was removed (printf obviously can't use it, and it's made obsolete by the file and line printing) Also removed some GEKKO cruft.
* Archives: Made the Format function more generic.Subv2015-02-101-5/+3
|
* Archives: Expose the File and Directory classes to HLESubv2015-02-101-53/+27
|
* FS: Allow multiple instances of the same archive type to be open at onceYuri Kunde Schlesner2015-02-101-25/+26
|
* FS: Get rid of completely useless Archive classYuri Kunde Schlesner2015-02-101-36/+26
|
* FS: Remove use of GetHandleYuri Kunde Schlesner2015-02-021-1/+1
|
* Filesys: Move creation of Handles for File/Directory to service handlersYuri Kunde Schlesner2015-02-021-16/+8
|
* archive: Fix initializer list order for the File class.Lioncash2015-01-301-1/+1
|
* Remove result.h InvalidHandleYuri Kunde Schlesner2015-01-301-9/+14
| | | | | It was only being used in two places, where it was replaced by a local constant.
* Services: Stubbed more services.Subv2015-01-241-0/+22
| | | | Implemented FSUser::CreateExtSaveData
* Archives: Changed the unimplemented archives comment.Subv2015-01-061-1/+1
| | | | It now refers to me as the PoC
* Archives: Addressed some commentsSubv2015-01-061-2/+2
|
* 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-10/+10
| | | | 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: Change the folder layout of some archives.Subv2015-01-031-1/+1
| | | | This is to better represent the hardware layout, they are still aren't quite accurate, but this better and will help a bit when implementing the other archives like NAND-RO and NAND-RW
* Archives: Reduced duplicate code in RomFS and SaveCheck.Subv2015-01-031-3/+4
| | | | Fixed a few warnings and cleaned up the code
* SaveDataCheck: Preliminary work in this archive.Subv2015-01-031-3/+34
| | | | | | 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)
* archive: Fix initializer list orderLioncash2015-01-031-3/+3
|
* Archives: Implemented ExtSaveData and SharedExtSaveDataSubv2014-12-301-27/+32
| | | | | | | | 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.
* Kernel: New handle managerYuri Kunde Schlesner2014-12-281-4/+6
| | | | | | | | | | | This handle manager more closely mirrors the behaviour of the CTR-OS one. In addition object ref-counts and support for DuplicateHandle have been added. Note that support for DuplicateHandle is still experimental, since parts of the kernel still use Handles internally, which will likely cause troubles if two different handles to the same object are used to e.g. wait on a synchronization primitive.
* Rename ObjectPool to HandleTableYuri Kunde Schlesner2014-12-281-4/+4
|
* CFG: Implemented the GetConfigInfoBlk2 function.Subv2014-12-211-9/+0
| | | | | | Added a "config" file to the CFG process service (CFG:U), and added a few default blocks to it. Implemented GetSystemModel and GetModelNintendo2DS
* 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/+8
| | | | | | | | Tested with hwtests.
* | Common: Add a clone of std::make_uniqueYuri Kunde Schlesner2014-12-201-6/+7
|/
* SystemSaveData: Fixed a typo that was segfaultingSubv2014-12-191-1/+1
|
* SaveData: Implemented the SystemSaveData archive.Subv2014-12-181-0/+9
| | | | It will be stored in the /syssavedata folder. This archive is user by various Services and possibly games via the FS:U service.
* Filesystem/Archives: Implemented the SaveData archiveSubv2014-12-181-6/+45
| | | | | | | | | | 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
* Work around libstdc++'s lack of support for std::hash on enumsYuri Kunde Schlesner2014-12-161-0/+15
|
* FS.Archive: Clean up treatment of archives and their handlesYuri Kunde Schlesner2014-12-161-150/+102
| | | | | | | - 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::File to FileBackendYuri Kunde Schlesner2014-12-161-1/+1
|
* Service.FS: Rename FileSys::Directory to DirectoryBackendYuri Kunde Schlesner2014-12-161-2/+2
|
* Service.FS: Rename FileSys::Archive to ArchiveBackendYuri Kunde Schlesner2014-12-161-3/+3
|
* Service.FS: Do archive registration using IdCode instead of nameYuri Kunde Schlesner2014-12-161-10/+10
|
* 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/+426