summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/acc (follow)
Commit message (Collapse)AuthorAgeFilesLines
* service: account: Save user profile folder on first user creationgerman772023-06-031-0/+1
|
* general: fix spelling mistakesLiam2023-03-122-4/+4
|
* hle: rename legacy errors to ResultsLiam2023-03-072-18/+18
|
* service: move hle_ipc from kernelLiam2023-03-014-62/+62
|
* Merge pull request #9832 from liamwhite/hle-mpliamwhite2023-03-012-12/+14
|\ | | | | service: HLE multiprocess
| * service: refactor server architectureLiam2023-02-212-12/+14
| | | | | | | | Converts services to have their own processes
* | core: Update service function tables to 16.0.0+Narr the Reg2023-02-252-0/+12
|/
* general: rename CurrentProcess to ApplicationProcessLiam2023-02-141-2/+2
|
* general: fix compile for Apple ClangLiam2022-11-232-0/+2
|
* core: hle: service: acc: Fix ListOpenContextStoredUsers/StoreOpenContext.bunnei2022-11-035-23/+42
| | | | | | - These APIs are used to capture the opened users and allow that state to be persisted across processes. - They are not intended to just return the system opened users, that is what ListOpenUsers is for. - Fixes the launch hang with Bayonetta 3.
* kernel: remove KWritableEventLiam2022-10-131-1/+1
|
* core/acc: Make CheckAvailability use LOG_DEBUGFearlessTobi2022-08-271-1/+1
| | | | Previously it was spamming the logs in certain multiplayer games like Puyo Puyo Tetris.
* service: ac: Replace intances of ProfileData with UserDatagerman772022-07-143-24/+22
|
* core: Replace all instances of ResultCode with Resultgerman772022-06-276-20/+20
|
* general: Convert source file copyright comments over to SPDXMorph2022-04-2315-45/+30
| | | | | This formats all copyright comments according to SPDX formatting guidelines. Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
* common: Reduce unused includesameerj2022-03-191-0/+1
|
* core: Reduce unused includesameerj2022-03-191-1/+0
|
* general: Rename NewUUID to UUID, and remove the previous UUID implMorph2022-02-054-69/+68
| | | | This completes the removal of the old UUID implementation.
* profile: Migrate to the new UUID implementationMorph2022-02-054-92/+94
|
* service/acc: Update unknown function namesLioncash2022-01-212-4/+4
| | | | Switchbrew has the function names now.
* general: Get the current process program id directly from the systemMorph2021-11-041-4/+2
| | | | This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
* general: Rename GetTitleID to GetProgramIDMorph2021-11-041-2/+2
|
* Merge pull request #7282 from ameerj/core-includesbunnei2021-11-041-2/+0
|\ | | | | core: Reduce unused header includes
| * core: Remove unused includesameerj2021-11-041-2/+0
| |
* | service/acc: Rename Unknown160 to InitializeApplicationInfoV2german772021-11-043-3/+3
| |
* | service: acc: Stub acc:u0 '160'Morph2021-11-043-0/+9
|/ | | | | | - Used by Animal Crossing: New Horizons v2.0.0 Since the name is currently unknown, '160' is used as a placeholder.
* service: Replace service event creation with ServiceContext::CreateEventMorph2021-10-022-9/+15
| | | | The service context helps to manage all created events and allows us to close them upon destruction.
* common/uuid: Add validity checking functions to interfaceLioncash2021-09-222-6/+6
| | | | | Given we have a function to invalidate, we should also have ones to query the validity. Also makes the code more straightforward to read.
* Mark is_complete as atomicChloe Marcec2021-09-082-4/+5
|
* Addressed issuesChloe Marcec2021-09-083-15/+14
|
* address name shadowing with systemChloe Marcec2021-09-061-2/+2
|
* account: EnsureTokenIdCacheAsyncChloe Marcec2021-09-063-19/+152
| | | | Closes #2547, #6946
* common: uuid: Return a lower-case hex string in FormatMorph2021-07-271-11/+11
|
* service: Append service name prefix to common filenamesMorph2021-07-142-2/+2
|
* general: Make most settings a BasicSettinglat9nq2021-06-281-1/+2
| | | | | | | | | | | Creates a new BasicSettings class in common/settings, and forces setting a default and label for each setting that uses it in common/settings. Moves defaults and labels from both frontends into common settings. Creates a helper function in each frontend to facillitate reading the settings now with the new default and label properties. Settings::Setting is also now a subclass of Settings::BasicSetting. Also adds documentation for both Setting and BasicSetting.
* general: Replace RESULT_UNKNOWN with ResultUnknownMorph2021-06-021-3/+3
| | | | Transition to PascalCase for result names.
* general: Replace RESULT_SUCCESS with ResultSuccessMorph2021-06-022-28/+28
| | | | Transition to PascalCase for result names.
* common: fs: Rework the Common Filesystem interface to make use of std::filesystem (#6270)Morph2021-05-262-28/+33
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * common: fs: fs_types: Create filesystem types Contains various filesystem types used by the Common::FS library * common: fs: fs_util: Add std::string to std::u8string conversion utility * common: fs: path_util: Add utlity functions for paths Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library * common: fs: file: Rewrite the IOFile implementation * common: fs: Reimplement Common::FS library using std::filesystem * common: fs: fs_paths: Add fs_paths to replace common_paths * common: fs: path_util: Add the rest of the path functions * common: Remove the previous Common::FS implementation * general: Remove unused fs includes * string_util: Remove unused function and include * nvidia_flags: Migrate to the new Common::FS library * settings: Migrate to the new Common::FS library * logging: backend: Migrate to the new Common::FS library * core: Migrate to the new Common::FS library * perf_stats: Migrate to the new Common::FS library * reporter: Migrate to the new Common::FS library * telemetry_session: Migrate to the new Common::FS library * key_manager: Migrate to the new Common::FS library * bis_factory: Migrate to the new Common::FS library * registered_cache: Migrate to the new Common::FS library * xts_archive: Migrate to the new Common::FS library * service: acc: Migrate to the new Common::FS library * applets/profile: Migrate to the new Common::FS library * applets/web: Migrate to the new Common::FS library * service: filesystem: Migrate to the new Common::FS library * loader: Migrate to the new Common::FS library * gl_shader_disk_cache: Migrate to the new Common::FS library * nsight_aftermath_tracker: Migrate to the new Common::FS library * vulkan_library: Migrate to the new Common::FS library * configure_debug: Migrate to the new Common::FS library * game_list_worker: Migrate to the new Common::FS library * config: Migrate to the new Common::FS library * configure_filesystem: Migrate to the new Common::FS library * configure_per_game_addons: Migrate to the new Common::FS library * configure_profile_manager: Migrate to the new Common::FS library * configure_ui: Migrate to the new Common::FS library * input_profiles: Migrate to the new Common::FS library * yuzu_cmd: config: Migrate to the new Common::FS library * yuzu_cmd: Migrate to the new Common::FS library * vfs_real: Migrate to the new Common::FS library * vfs: Migrate to the new Common::FS library * vfs_libzip: Migrate to the new Common::FS library * service: bcat: Migrate to the new Common::FS library * yuzu: main: Migrate to the new Common::FS library * vfs_real: Delete the contents of an existing file in CreateFile Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now. * input_profiles: Don't iterate the input profile dir if it does not exist Silences an error produced in the log if the directory does not exist. * game_list_worker: Skip parsing file if the returned VfsFile is nullptr Prevents crashes in GetLoader when the virtual file is nullptr * common: fs: Validate paths for path length * service: filesystem: Open the mod load directory as read only
* hle: kernel: Rename Process to KProcess.bunnei2021-05-061-1/+1
|
* service: Resolve cases of member field shadowingLioncash2021-05-048-20/+22
| | | | | Now all that remains is for kernel code to be 'shadow-free' and then -Wshadow can be turned into an error.
* acc/lbl: Remove unused variablesLioncash2021-04-231-4/+0
|
* common: Move settings to common from core.bunnei2021-04-151-1/+1
| | | | - Removes a dependency on core and input_common from common.
* dauth_o: Update to 11.xMorph2021-04-071-6/+11
|
* acc_u1: Update to 12.xMorph2021-04-071-13/+15
|
* acc_su: Update to 12.xMorph2021-04-071-17/+19
|
* acc: Stub GetNintendoAccountUserResourceCacheForApplicationMorph2021-02-211-1/+17
| | | | | | | | | | This command returns a Nintendo Account ID and writes 2 output buffers. The first output buffer is a NasUserBaseForApplication and the second output buffer is currently empty. Used by: - Pokken Tournament DX - Super Smash Bros. Ultimate - Super Nintendo Entertainment System - Nintendo Switch Online - Mario Kart 8 Deluxe
* Fix user changing to 0 if validgerman2021-01-291-2/+8
|
* acc: Stub StoreSaveDataThumbnailChloe Marcec2021-01-195-6/+66
| | | | Fixes ACA NEOGEO METAL SLUG hanging on boot.
* core: Silence Wclass-memaccess warningsReinUsesLisp2021-01-153-15/+15
| | | | | This requires making several types trivial and properly initialize them whenever they are called.
* service: Eliminate usages of the global system instanceLioncash2020-11-272-43/+50
| | | | | Completely removes all usages of the global system instance within the services code by passing in the using system instance to the services.
* patch_manager: Remove usages of the global system instanceLioncash2020-11-181-2/+4
| | | | | | | With this, only 19 usages of the global system instance remain within the core library. We're almost there.
* ipc_helpers: Remove usage of the global system instanceLioncash2020-11-081-0/+1
| | | | | | | | | Resolves numerous deprecation warnings throughout the codebase due to inclusion of this header. Now building core should be significantly less noisy (and also relying on less global state). This also uncovered quite a few modules that were relying on indirect includes, which have also been fixed.
* Revert "core: Fix clang build"bunnei2020-10-211-8/+5
|
* Merge pull request #4796 from lioncash/clangLC2020-10-211-5/+8
|\ | | | | core: Fix clang build
| * core: Fix clang buildLioncash2020-10-181-5/+8
| | | | | | | | | | | | | | Recent changes to the build system that made more warnings be flagged as errors caused building via clang to break. Fixes #4795
* | service: acc: Stub IManagerForApplication::StoreOpenContext.bunnei2020-10-151-1/+7
|/ | | | - Used by Super Mario 3D All-Stars.
* acc: Stub LoadOpenContextMorph2020-09-213-1/+13
| | | | | | | | | | This is used in multiple games such as: - Clubhouse Games: 51 Worldwide Classics - Grandia HD Collection - XCOM 2 Collection - Baldur's Gate 1/2 - Dr Kawashima's Brain Training - Super Mario 3D All-Stars
* common/fileutil: Convert namespace to Common::FSLioncash2020-08-162-15/+15
| | | | | | | | | | | | Migrates a remaining common file over to the Common namespace, making it consistent with the rest of common files. This also allows for high-traffic FS related code to alias the filesystem function namespace as namespace FS = Common::FS; for more concise typing.
* Merge pull request #4474 from lioncash/hle-profileDavid2020-08-041-17/+26
|\ | | | | profile_manager: Make use of designated initializers
| * profile_manager: Make use of std::nulloptLioncash2020-08-031-4/+4
| | | | | | | | | | Allows some implementations to completely avoid unnecessarily zeroing out the internal buffer.
| * profile_manager: Make use of designated initializersLioncash2020-08-031-13/+22
| | | | | | | | More compact code.
* | ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer (#4465)David2020-08-031-4/+2
|/ | | | | | | | | | | | | * ipc: Allow all trivially copyable objects to be passed directly into WriteBuffer With the support of C++20, we can use concepts to deduce if a type is an STL container or not. * More agressive concept for stl containers * Add -fconcepts * Move to common namespace * Add Common::IsBaseOf
* acc: ListOpenContextStoredUsers partial stubDavid Marcec2020-06-285-4/+14
| | | | Needed by Baldur's Gate 1/2
* account: Update function tables and add missing classes (#4145)VolcaEM2020-06-225-42/+384
| | | | | | | | | | | * account: Update function tables and add missing classes * clang-format * Add missing "public" * Add missing public again * Add missing final
* Merge pull request #3822 from ogniK5377/GetAccountIdbunnei2020-05-041-5/+8
|\ | | | | acc: Return a unique value per account for GetAccountId
| * acc: Return a unique value per account for GetAccountIdDavid Marcec2020-04-291-5/+8
| |
* | Merge pull request #3821 from ogniK5377/InitializeApplicationInfo-fixbunnei2020-05-022-22/+15
|\ \ | | | | | | acc: Fix InitializeApplicationInfo
| * | acc: Fix InitializeApplicationInfoDavid Marcec2020-04-292-22/+15
| |/ | | | | | | We're not suppose to pop a u64, should just read the sent pid and check that
* | Updated comment to reflect ListQualifiedUsers betterDavid Marcec2020-04-281-1/+3
| |
* | account: ListQualifiedUsersDavid Marcec2020-04-285-3/+13
|/ | | | Closes #2844
* service: Update function tablesLioncash2020-04-202-0/+3
| | | | | | Keeps the service function tables up to date. Updated based off information on SwitchBrew.
* core: Initialize several structs that make use of Common::UUID.bunnei2020-01-043-21/+22
|
* Merge pull request #3094 from lioncash/tablesbunnei2019-11-252-0/+4
|\ | | | | service: Update function tables
| * service: Update function tablesLioncash2019-11-122-0/+4
| | | | | | | | | | | | Keeps the function tables up to date. Updated based off information from Switchbrew.
* | service: Resolve sign conversion errorsLioncash2019-11-122-5/+5
|/ | | | | These are fairly trivial to resolve and most of the changes entail using RESULT_UNKNOWN over ResultCode(-1).
* service/acc: Lower log severity from INFO to DEBUGFearlessTobi2019-09-221-7/+7
| | | | According to ogniK, this should have always been Debug and not Info.
* Merge pull request #2667 from DarkLordZach/profile-editorbunnei2019-09-145-10/+130
|\ | | | | acc: Implement IProfileEditor interface and 'Store'/'StoreWithImage' commands
| * acc_su: Implement GetProfileEditor (205)Zach Hilman2019-07-033-1/+13
| | | | | | Takes a UUID of a user and provides and interface that allows RW access to user data/settings.
| * acc: Implement IProfileEditor-specific commands 'Store' and 'StoreWithImage'Zach Hilman2019-07-031-1/+73
| | | | | | Verified with IDA
| * profile_manager: Add setter for ProfileBase and ProfileDataZach Hilman2019-07-032-0/+13
| | | | | | Needed by IProfileEditor 'Store' and 'StoreWithImage'
| * acc: Add IProfileCommon for IProfile and IProfileEditorZach Hilman2019-07-031-8/+31
| | | | | | Since 2/3 of the commands are shared, this is likely how its done on HW.
* | Addressed issuesDavid Marcec2019-06-282-17/+12
| |
* | Implemented InitializeApplicationInfo & InitializeApplicationInfoRestrictedDavid Marcec2019-06-274-6/+114
|/ | | | InitializeApplicationInfoRestricted will need further implementation as it's checking for other user requirements about the game. As we're emulating, we're assuming the user owns the game so we skip these checks currently, implementation will need to be added further on
* service/acc: Silence truncation warningsLioncash2019-06-211-3/+3
| | | | | The sanitizing function ensures that the returned type is always the correct type. This eliminates warnings without extra casts.
* Addressed issuesDavid Marcec2019-06-172-7/+12
|
* CleanupDavid Marcec2019-06-1610-27/+36
|
* Impl'd IsUserAccountSwitchLocked, SetAudioOutVolume, GetAudioOutVolume & Partial impl of GetAccumulatedSuspendedTickChangedEventDavid Marcec2019-06-163-4/+32
| | | | IPC-100 was changed to InitializeApplicationInfoOld instead of InitializeApplicationInfo. IPC-150 makes an indentical call to IPC-100 however does extra processing. They should not have the same name as it's quite confusing to debug.
* constants: Extract backup JPEG used by account servicesZach Hilman2019-06-071-16/+4
|
* mii_manager: Cleanup and optimizationZach Hilman2019-04-251-4/+4
|
* common: Extract UUID to its own classZach Hilman2019-04-253-78/+28
| | | Since the Mii database uses UUIDs very similar to the Accounts database, it makes no sense to not share code between them.
* service: Update service function tablesLioncash2019-04-114-0/+24
| | | | Updates function tables based off information from SwitchBrew.
* Merge pull request #1801 from ogniK5377/log-before-executebunnei2018-11-291-2/+3
|\ | | | | Changed logging to be "Log before execution", Added more error logging, all services/svc should now log on some level
| * Changed logging to be "Log before execution", Added more error logging, all services should now log on some levelDavid Marcec2018-11-261-2/+3
| |
* | profile_manager: Save and load ProfileData from diskZach Hilman2018-11-263-17/+19
|/ | | | The ProfileData is a 0x80-sized structure that stores various pieces of miscellaneous data for the account.
* Merge pull request #1697 from lioncash/accbunnei2018-11-152-15/+23
|\ | | | | acc/profile_manager: Minor cleanup-related changes
| * profile_manager: Replace iterative loop with a ranged-for loop in ParseUserSaveFile()Lioncash2018-11-141-4/+5
| |
| * profile_manager: Move UUID Format function definitions into the cpp fileLioncash2018-11-142-11/+18
| | | | | | | | Avoids relying on fmt always being indirectly included.
* | service/acc: Correct error case within TrySelectUserWithoutInteraction()Lioncash2018-11-141-2/+4
|/ | | | | | empty() in this case will always return false, since the returned container is a std::array. Instead, check if all given users are invalid before returning the error code.
* fixed spelling errorDavid Marcec2018-11-071-1/+1
|
* Added missing logDavid Marcec2018-11-071-0/+1
|
* Implement acc:TrySelectUserWithoutInteractionDavid Marcec2018-11-075-3/+25
| | | | Needed for Shantae - Half-Genie Hero - Ultimate Edition!
* Merge pull request #1615 from lioncash/inputbunnei2018-11-021-1/+2
|\ | | | | configure_system: Contrain profile usernames to 32 characters
| * configure_system: Contrain profile usernames to 32 charactersLioncash2018-10-311-1/+2
| | | | | | | | | | | | | | | | | | | | Previously, we would let a user enter an unbounded name and then silently truncate away characters that went over the 32-character limit. This is kind of bad from the UX point of view, because we're essentially not doing what the user intended in certain scenarios. Instead, we clamp it to 32 characters and make that visually apparent in the dialog box to provide a name for a user.
* | global: Use std::optional instead of boost::optional (#1578)Frederic L2018-10-301-1/+1
|/ | | | | | | | | | | | | | | | * get rid of boost::optional * Remove optional references * Use std::reference_wrapper for optional references * Fix clang format * Fix clang format part 2 * Adressed feedback * Fix clang format and MacOS build
* Merge pull request #1576 from lioncash/acc-warnbunnei2018-10-251-25/+27
|\ | | | | service/acc: Silence compiler truncation warnings
| * service/acc: Move fallback image to file scopeLioncash2018-10-251-14/+13
| | | | | | | | | | | | This is just flat data, so it doesn't really need to be in the function itself. This also allows deduplicating the constant for the backup size in GetImageSize().
| * service/acc: Silence compiler warningsLioncash2018-10-251-5/+8
| | | | | | | | | | Silences compiler warnings related to truncation. This also introduces a small helper function to perform the clamping of the image size.
| * service/acc: Early return in failure case in LoadImage()Lioncash2018-10-251-8/+8
| | | | | | | | Allows unindenting the other branch's code.
* | profile_manager: Use std::optional instead of boost::optionalLioncash2018-10-242-42/+47
|/ | | | | Now that we can actually use std::optional on macOS, we don't need to continue using boost::optional here.
* profile_manager: Create save data if it doesn't exist on useZach Hilman2018-10-242-13/+37
|
* acc: Fix account UUID duplication errorZach Hilman2018-10-243-7/+28
|
* configure_system: Clear selection after user deleteZach Hilman2018-10-241-1/+1
|
* profile_manager: Load user icons, names, and UUIDs from system saveZach Hilman2018-10-243-24/+123
|
* acc: Load user images from config dirZach Hilman2018-10-241-9/+45
|
* profile_manager: Load users from emulator settingsZach Hilman2018-10-242-5/+7
|
* Fixed GetAccountId stub, Added error code for OpenDirectory and added ActivateNpadWithRevisionDavid Marcec2018-09-191-5/+4
| | | | With these, `Nintendo Entertainment System - Nintendo Switch Online` loads
* Merge pull request #1348 from ogniK5377/GetImageSizebunnei2018-09-191-1/+9
|\ | | | | Implemented IProfile::GetImageSize
| * Implemented GetImageSizeDavid Marcec2018-09-181-1/+9
| |
* | Invalid default value of username in yuzu_cmd (#1334)Philippe Babin2018-09-191-2/+3
|/ | | | | | | | | | * Fix bug where default username value for yuzu_cmd create an userprofile with uninitialize data as username * Fix format * Apply code review changes * Remove nullptr check
* Port #4182 from Citra: "Prefix all size_t with std::"fearlessTobi2018-09-152-20/+23
|
* service: Use nested namespace specifiers where applicableLioncash2018-09-131-4/+2
| | | | | | There were a few places where nested namespace specifiers weren't being used where they could be within the service code. This amends that to make the namespacing a tiny bit more compact.
* hle/service: Default constructors and destructors in the cpp file where applicableLioncash2018-09-1110-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a destructor isn't defaulted into a cpp file, it can cause the use of forward declarations to seemingly fail to compile for non-obvious reasons. It also allows inlining of the construction/destruction logic all over the place where a constructor or destructor is invoked, which can lead to code bloat. This isn't so much a worry here, given the services won't be created and destroyed frequently. The cause of the above mentioned non-obvious errors can be demonstrated as follows: ------- Demonstrative example, if you know how the described error happens, skip forwards ------- Assume we have the following in the header, which we'll call "thing.h": \#include <memory> // Forward declaration. For example purposes, assume the definition // of Object is in some header named "object.h" class Object; class Thing { public: // assume no constructors or destructors are specified here, // or the constructors/destructors are defined as: // // Thing() = default; // ~Thing() = default; // // ... Some interface member functions would be defined here private: std::shared_ptr<Object> obj; }; If this header is included in a cpp file, (which we'll call "main.cpp"), this will result in a compilation error, because even though no destructor is specified, the destructor will still need to be generated by the compiler because std::shared_ptr's destructor is *not* trivial (in other words, it does something other than nothing), as std::shared_ptr's destructor needs to do two things: 1. Decrement the shared reference count of the object being pointed to, and if the reference count decrements to zero, 2. Free the Object instance's memory (aka deallocate the memory it's pointing to). And so the compiler generates the code for the destructor doing this inside main.cpp. Now, keep in mind, the Object forward declaration is not a complete type. All it does is tell the compiler "a type named Object exists" and allows us to use the name in certain situations to avoid a header dependency. So the compiler needs to generate destruction code for Object, but the compiler doesn't know *how* to destruct it. A forward declaration doesn't tell the compiler anything about Object's constructor or destructor. So, the compiler will issue an error in this case because it's undefined behavior to try and deallocate (or construct) an incomplete type and std::shared_ptr and std::unique_ptr make sure this isn't the case internally. Now, if we had defaulted the destructor in "thing.cpp", where we also include "object.h", this would never be an issue, as the destructor would only have its code generated in one place, and it would be in a place where the full class definition of Object would be visible to the compiler. ---------------------- End example ---------------------------- Given these service classes are more than certainly going to change in the future, this defaults the constructors and destructors into the relevant cpp files to make the construction and destruction of all of the services consistent and unlikely to run into cases where forward declarations are indirectly causing compilation errors. It also has the plus of avoiding the need to rebuild several services if destruction logic changes, since it would only be necessary to recompile the single cpp file.
* acc: Replace profile_manager include with a forward declarationLioncash2018-08-212-2/+6
| | | | This is only used in a shared_ptr, so we can forward declare it.
* acc: Simplify WriteBuffer call within LoadImage()Lioncash2018-08-211-3/+3
| | | | | | We have an overload of WriteBuffer that accepts containers that satisfy the ContiguousContainer concept, which std::array does, so we only need to pass in the array itself.
* acc: Correct IProfile's constructor initializer list orderLioncash2018-08-211-1/+1
| | | | Arranges them in the order the members would be initialized
* acc: Remove unused DEFAULT_USER_IDLioncash2018-08-211-3/+0
| | | | This is no longer used, so it can be removed.
* profile_manager: Use INVALID_UUID in the initializer of last_opened_userLioncash2018-08-211-1/+1
| | | | Makes it a little bit more self-documenting.
* profile_manager: Remove unnecessary memcpy in GetProfileBaseAndData()Lioncash2018-08-211-1/+1
| | | | | Given the source and destination types are the same std::array type, we can simply use regular assignment to perform the same behavior.
* profile_manager: Use type aliases for username data, profile data, and user arraysLioncash2018-08-212-19/+22
| | | | | Avoids the need to repeatedly specify the whole array type in multiple places.
* profile_manager: Take ProfileInfo by const reference where applicableLioncash2018-08-212-8/+8
| | | | | | ProfileInfo is quite a large struct in terms of data, and we don't need to perform a copy in these instances, so we can just pass constant references instead.
* profile_manager: Make array parameter to CreateNewUser a const referenceLioncash2018-08-212-2/+2
| | | | | This doesn't modify the passed in array, so this can be a const reference.
* profile_manager: Remove unnecessary staticLioncash2018-08-211-1/+1
| | | | This can just be constexpr like the others
* profile_manager: Simplify UUID's two param constructor, operator==, and operator boolLioncash2018-08-211-6/+4
| | | | | | We can use the constructor initializer list and just compare the contained u128's together instead of comparing each element individually. Ditto for comparing against an invalid UUID.
* profile_manager: Move UUID generation function to the cpp fileLioncash2018-08-212-10/+12
| | | | | This avoids needing to dump the contents of <random> into other files that include the profile manager header.
* profile_manager: Remove unnecessary std::move in AddToProfiles() and CreateNewUser()Lioncash2018-08-201-2/+2
| | | | | | Moving a const reference isn't possible, so this just results in a copy (and given ProfileInfo is composed of trivial types and aggregates, a move wouldn't really do anything).
* Better UUID randomnessDavid Marcec2018-08-111-2/+7
|
* Removed un-needed count from ListOpenUsers and ListAllUsersDavid Marcec2018-08-111-4/+2
|
* Added better explanations in the profile managerDavid Marcec2018-08-112-1/+34
|
* Code cleanup for profile managerDavid Marcec2018-08-113-40/+47
|
* Removed const from ProfileBase InvalidateDavid Marcec2018-08-111-1/+1
|
* fixed invalid uuid bool operatorDavid Marcec2018-08-111-1/+1
|
* Added GetOpenUserCountDavid Marcec2018-08-113-3/+14
|
* Removed all for loops from the profile managerDavid Marcec2018-08-111-9/+4
|
* Added missing ListAllUsers countDavid Marcec2018-08-111-1/+2
|
* If statement style changeDavid Marcec2018-08-111-11/+19
|
* Second round of account changesDavid Marcec2018-08-113-18/+21
|
* First round of account changesDavid Marcec2018-08-113-49/+55
|
* Refactored profile manager sharingDavid Marcec2018-08-1110-20/+28
|
* Merge remote-tracking branch 'origin/master' into better-accountDavid Marcec2018-08-111-1/+22
|\
| * Service/Account: stub LoadImage functionmailwl2018-08-081-1/+22
| |
* | Added IsUserRegistrationRequestPermittedDavid Marcec2018-08-117-3/+19
| |
* | Don't add user if the uuid already existsDavid Marcec2018-08-091-0/+4
| |
* | Open first user addedDavid Marcec2018-08-081-1/+3
| |
* | Inital pass of account backend implementationDavid Marcec2018-08-083-12/+22
| | | | | | | | This commit verified working on puyo
* | GetProfileBase and GetProfileBaseAndData addedDavid Marcec2018-08-083-44/+106
| |
* | began initial implementation of "ProfileManager"David Marcec2018-08-084-44/+200
| |
* | Switched uuids from u128 to new UUID structDavid Marcec2018-08-082-10/+49
|/
* acc: Add missing function table entries for GetUserCountLioncash2018-08-082-2/+2
| | | | | Given this is stubbed within the common module in 5ac7b84, it should be added to the other relevant tables as well.
* acc: Stub GetUserCount. (#973)bunnei2018-08-083-1/+9
| | | - Used by Pokken Tournament DX.
* Added ability to change username & language code in the settings ui. Added IProfile::Get and SET::GetLanguageCode for libnx tests (#851)David2018-08-031-3/+27
|
* core: Make converting constructors explicit where applicableLioncash2018-07-241-1/+1
| | | | | Avoids unwanted implicit conversions. Thankfully, given the large amount of cleanup in past PRs, only this tiny amount is left over to cover.
* HLE/ACC: Stub IManagerForApplication::GetAccountId to return an error.Subv2018-07-201-6/+8
| | | | | | And make IManagerForApplication::CheckAvailability always return false. Returning a bogus id from GetAccountId causes games to crash on boot. We should investigate this with a hwtest and either stub it properly or implement it.
* Merge pull request #728 from Subv/acc_profilebunnei2018-07-201-7/+16
|\ | | | | HLE/ACC: Change the default user id and small improvements to the way we handle profiles
| * HLE/ACC: Return an IProfile that is consistent with what was requested.Subv2018-07-191-5/+15
| | | | | | | | | | The default username for now is "yuzu". We should eventually allow the creation of users in the emulator and have the ability to modify their parameters.
| * HLE/ACC: Change the default user id to be consistent with what we tell games on startup.Subv2018-07-191-2/+1
| | | | | | | | In IApplicationFunctions::PopLaunchParameter we tell the games that they were launched as user id 1.
* | Merge pull request #727 from Subv/acc_usersbunnei2018-07-201-4/+6
|\ \ | | | | | | HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.
| * | HLE/ACC: Write a single whole user id in ListAllUsers and ListOpenUsers.Subv2018-07-191-4/+6
| |/ | | | | | | We only emulate a single user id for now.
* / hle/service: Make constructors explicit where applicableLioncash2018-07-191-1/+1
|/ | | | | Prevents implicit construction and makes these lingering non-explicit constructors consistent with the rest of the other classes in services.
* Rename logging macro back to LOG_*James Rowe2018-07-031-10/+10
|
* acc: Move logging macros over to new fmt-compatible onesLioncash2018-04-241-10/+10
|
* service: Use nested namespace specifiers where applicableLioncash2018-04-209-36/+18
| | | | Tidies up namespace declarations
* Various service name fixes - part 2 (rebased) (#322)Hexagon122018-04-171-0/+8
| | | | | | | | | | | | | | | | * Updated ACC with more service names * Updated SVC with more service names * Updated set with more service names * Updated sockets with more service names * Updated SPL with more service names * Updated time with more service names * Updated vi with more service names
* Service/ACC: convert to module, add acc:aa, acc:su, acc:u1 servicesmailwl2018-04-1010-127/+336
|
* acc_u0: Stub ListOpenUsers service function.bunnei2018-02-192-1/+11
|
* service: Remove remaining uses of BufferDescriptor*.bunnei2018-02-141-2/+1
|
* acc_u0: Implement ListAllUsers.bunnei2018-02-092-2/+15
|
* logger: Add "account" service logging category.bunnei2018-02-041-8/+8
|
* acc_u0: Stub out GetLastOpenedUser.bunnei2018-02-042-0/+10
|
* acc:u0 : stub GetAccountIdmailwl2018-02-041-1/+9
|
* hle: Rename RequestBuilder to ResponseBuilder.bunnei2018-01-251-6/+6
|
* service: Fix all incorrect IPC response headers.bunnei2018-01-251-2/+2
|
* acc, set, applet_oe: stub various functions, add set service (#105)goaaats2018-01-192-0/+76
| | | | | | | | | | | | | | * Stubs for various acc:u0 funcs needed * Stub for GetDesiredLanguage in IApplicationFunctions * Add set service + stubs needed for games * Fix formatting * Implement IProfile, IManagerForApplication, return bool in CheckAvailability, style fixes * Remove IProfile::Get(needs more research), fix IPC response sizes
* acc_u0: Add IPC interface and stub InitializeApplicationInfo.bunnei2018-01-174-0/+80