#include #include #include "SceTypes.hpp" #include "prx/libc/include/General.hpp" #include #include #include namespace { std::atomic g_initialized{false}; } extern "C" { int APS5_VABI sceContentSearchInit(const ContentSearchInitParam* init_param) { if (init_param == nullptr) APS5_INVALID_ARG_EX; bool expected = false; if (!g_initialized.compare_exchange_strong(expected, true)) throw std::logic_error(std::string(__func__) + ": already initialized"); return 0; } int APS5_VABI sceContentSearchCloseMetadata(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchGetMetadataFieldInfo(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchGetMetadataValue(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchOpenMetadata(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchSearchContent(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchGetContentLastUpdateId(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchOpenMetadataByContentId(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchGetTotalContentSize(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchGetNumOfContent(void) { NotImplemented_nid_no_patch(__func__); return 0; } int APS5_VABI sceContentSearchTerm(void) { bool expected = true; if (!g_initialized.compare_exchange_strong(expected, false)) throw std::logic_error(std::string(__func__) + ": not initialized"); return 0; } }