23#include <unordered_map>
51 std::u16string publisher;
84 [[nodiscard]]
virtual std::vector<kernel::XCONTENT_AGGREGATE_DATA>
ListContent(
86 u32 title_id = 0xFFFFFFFF) = 0;
146 u32 license_mask = 0) = 0;
152 std::string_view file_name, u64 xuid, u32 title_id,
173 const std::filesystem::path& package_path)
const = 0;
187 const std::filesystem::path& package_path,
const InstallOptions& options = {}) = 0;
201 std::optional<u64> xuid = std::nullopt) = 0;
Definition content_manager.h:73
virtual Result< std::vector< u8 > > GetContentThumbnail(u64 xuid, const kernel::XCONTENT_AGGREGATE_DATA &data)=0
virtual Result< void > SetContentThumbnail(u64 xuid, const kernel::XCONTENT_AGGREGATE_DATA &data, std::vector< u8 > buffer)=0
virtual Result< PackageInfo > InspectPackage(const std::filesystem::path &package_path) const =0
virtual std::vector< kernel::XCONTENT_AGGREGATE_DATA > ListContent(u32 device_id, u64 xuid, rex::kernel::XContentType content_type, u32 title_id=0xFFFFFFFF)=0
virtual Result< u32 > OpenContent(std::string_view root_name, u64 xuid, const kernel::XCONTENT_AGGREGATE_DATA &data)=0
virtual rex::ScopeGuard OnContentChanged(rex::MoveOnlyFunction< void()> callback)=0
virtual Result< void > CreateContent(std::string_view root_name, u64 xuid, const kernel::XCONTENT_AGGREGATE_DATA &data)=0
virtual Result< void > WriteContentHeaderFile(u64 xuid, kernel::XCONTENT_AGGREGATE_DATA data, u32 license_mask=0)=0
virtual Result< void > SetContentEnabled(const kernel::XCONTENT_AGGREGATE_DATA &data, bool enabled, std::optional< u64 > xuid=std::nullopt)=0
virtual std::vector< InstalledPackage > ListInstalledPackages(u32 title_id=kernel::kRunningTitleID) const =0
virtual Result< void > DeleteContent(u64 xuid, const kernel::XCONTENT_AGGREGATE_DATA &data)=0
virtual Result< u32 > GetContentDeviceID(std::string_view root_name) const =0
virtual Result< void > CloseContent(std::string_view root_name)=0
virtual void CloseOpenedFilesFromContent(std::string_view root_name)=0
virtual Result< kernel::XCONTENT_AGGREGATE_DATA > ReadContentHeaderFile(std::string_view file_name, u64 xuid, u32 title_id, rex::kernel::XContentType content_type) const =0
virtual std::filesystem::path ResolveGameUserContentPath()=0
virtual Result< kernel::XCONTENT_AGGREGATE_DATA > InstallContent(const std::filesystem::path &package_path, const InstallOptions &options={})=0
Content package and language IDs.
XContentType
Definition content.h:33
@ kInvalid
Definition content.h:34
constexpr u32 kRunningTitleID
Definition content.h:72
typename detail::MoveOnlyFunctionFor< Signature >::type MoveOnlyFunction
Definition utility.h:254
std::expected< T, Error > Result
Definition result.h:98
Bit, byte and ring buffer streams over memory.
Definition content_manager.h:58
bool extract
Definition content_manager.h:62
bool require_running_title
Definition content_manager.h:60
Definition content_manager.h:66
bool enabled
Definition content_manager.h:69
bool in_place
Definition content_manager.h:70
Definition content_manager.h:46
std::u16string description
Definition content_manager.h:50
std::vector< u8 > thumbnail
Definition content_manager.h:54
u32 license_mask
Definition content_manager.h:53
std::array< u8, 20 > content_id
Definition content_manager.h:52
std::map< kernel::XLanguage, std::u16string > display_names
Definition content_manager.h:49
Integer types, byte order wrappers and size literals.
Move only function, const propagating pointer and scope guard.