Commit Graph
22 Commits
Author SHA1 Message Date
Dean 157d00d6a5 Merge pull request #11631 from nicolasabosch/feat/npcppwebapi-public-profile-singular
feat(libSceNpCppWebApi): answer the singular public profile request offline
2026-11-03 01:26:15 +13:00
Alexandre Figueiredo b21d67cbdc fix(libSceNpCppWebApi): keep the object when a Vector<unsigned long> pointer is assigned to itself 2026-11-01 20:05:41 +00:00
Alexandre Figueiredo b7ec1d9006 Merge upstream main into fix/npcppwebapi-vector-reference-counts 2026-11-01 00:42:36 +00:00
Nicolas Abosch 024912b6c1 Merge upstream main into feat/npcppwebapi-public-profile-singular
Co-Authored-By: Claude Sonnet 5.5 <[email protected]>

# Conflicts:
#	core/libs/prx/libSceNpCppWebApi/Export.cpp
#	core/libs/prx/libSceNpCppWebApi/include/Api.hpp
#	docs/dev/debt/libSceNpCppWebApi.md
2026-10-31 13:53:19 -03:00
akkadbakkad89andDevin 38004dd687 feat(libSceNpCppWebApi): declare title-imported exports and implement the Common machinery
Adds the exports imported by PPSA20397 and PPSA03530 that had no
provider: Matchmaking::V1, Matches::V1, SessionManager::V1,
UserProfile::V1, TitleCloudStorage::V1, InGameCatalog::V5 domain
surfaces and the Common template instantiations over their types.

IntrusivePtr, Vector, Iterator and Transaction members follow the
layouts already implemented for the earlier titles; API verbs,
factories and transaction entry points fail
SCE_NP_WEBAPI_ERROR_NOT_SIGNED_IN as a signed-out console does;
parameter bookkeeping succeeds without state; response accessors and
vector iteration throw since a failed request produces no response.

Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-31 11:39:09 +05:30
Alexandre Figueiredo 65a8e8e55b test(libSceNpCppWebApi): list the String and unsigned long vector destructors after the String destructor 2026-10-30 13:28:54 +00:00
Alexandre Figueiredo 6d00d394d7 Merge upstream main into fix/npcppwebapi-vector-reference-counts 2026-10-29 10:51:19 +00:00
Dean Galvin 04b3dd67f8 Merge main into feat/npcppwebapi-public-profile-singular
Keep main's argc/argv alias-vector dispatch and TestVectorAliasedGrowth together with the singular public-profile helper and its call in GuestNpCppWebApiIntrusivePtr.cpp.
2026-10-29 23:35:59 +13:00
Alexandre Figueiredo c207cb884d fix(libSceNpCppWebApi): count Vector<String> and Vector<unsigned long> references where the bundled module does 2026-10-28 11:43:40 +00:00
Nicolas AboschandClaude Opus 5.5 531ba12fef test(libSceNpCppWebApi): stop pinning the throw on title-provided vector bodies
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-27 12:01:19 -03:00
Ondra97 1a8c22c90d chore(npcppwebapi): merge main and retain both test suites 2026-10-27 08:13:24 +01:00
Nicolas AboschandClaude Opus 5.5 ecb225f179 feat(libSceNpCppWebApi): answer the singular public profile request offline
Add BasicProfileApi::getPublicProfile with its parameter and
Transaction<GetPublicProfileResponse>, which fail NOT_SIGNED_IN like
the plural request, plus the IntrusivePtr helpers for
GetPublicProfileResponse, PersonalDetail and Avatar, the bool
conversions of BasicProfile and BasicPresence pointers, and size of
the BasicProfile and BasicPresence vectors over host-created bodies.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-26 21:06:03 -03:00
Dean 55939ac105 Merge pull request #11204 from AlexFigas/fix/npcppwebapi-same-object-assignment
fix(libSceNpCppWebApi): keep the reference when an IntrusivePtr is assigned its own object
2026-10-27 10:39:44 +13:00
akkadbakkad89andDevin 7a95148e53 test(libSceNpCppWebApi): exercise the UserProfile exports through registered tests
Generated with [Devin](https://devin.ai)

Co-Authored-By: Devin <158243242+devin-ai-integration[bot]@users.noreply.github.com>
2026-10-26 08:46:49 +00:00
Alexandre Figueiredo 49c93d1357 fix(libSceNpCppWebApi): keep the reference when an IntrusivePtr is assigned its own object 2026-10-25 21:48:55 +00:00
Ondra97 0f998c1574 fix(npcppwebapi): preserve aliased inputs during growth 2026-10-25 02:03:06 +01:00
boykopovar f38d29fd08 refactor(sdk): add canonical headers for remaining libraries 2026-10-24 23:17:42 +03:00
Yossi Yadgar 0ec47d9587 feat(libSceNpCppWebApi): construct, copy, release and dereference the InGameCatalog and TitleCloudStorage IntrusivePtr types
The new instantiations use the shared IntrusivePtr helpers with the pointee's reference-count offset: 0x00 for objects, 0x30 for vector bodies.
2026-10-23 11:12:58 +03:00
DProkosandClaude Opus 5.5 d310c4e27e feat(libSceNpCppWebApi): answer the UserProfile, ProfanityFilter and CommunicationRestrictionStatus requests offline
Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-20 11:22:34 +03:00
akkadbakkad89 8cd400aa49 feat(libs): restore libSceNpCppWebApi for dumps that ship no copy 2026-10-17 05:25:03 +00:00
Adrià FranchandClaude 79057e9160 refactor(libs): drop replacements of modules that titles ship themselves
Co-Authored-By: Claude <[email protected]>
2026-10-06 07:11:33 +02:00
DotDebianandClaude Opus 5.5 f2fb7852bb feat(libs): implement NpCppWebApi IntrusivePtr construction, copy, release and access
IntrusivePtr<T> is three pointers: object, deleter, LibContext. The default
constructors zero them, the copy constructors copy them and take a reference
on the object, operator-> and operator* return the object, and the destructors
drop a reference and hand the object to the deleter when it was the last one.
The last-reference release of a pointer without a deleter needs the object's
destructor and the LibContext memory pool and still throws.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
2026-10-05 11:18:39 +02:00