#include "stdafx.h" #include "np_contexts.h" #include "Emu/IdManager.h" score_ctx::score_ctx(vm::cptr communicationId, vm::cptr passphrase) { ensure(!communicationId->data[9] && strlen(communicationId->data) == 9); memcpy(&this->communicationId, communicationId.get_ptr(), sizeof(SceNpCommunicationId)); memcpy(&this->passphrase, passphrase.get_ptr(), sizeof(SceNpCommunicationPassphrase)); } s32 create_score_context(vm::cptr communicationId, vm::cptr passphrase) { return static_cast(idm::make(communicationId, passphrase)); } bool destroy_score_context(s32 ctx_id) { return idm::remove(static_cast(ctx_id)); } score_transaction_ctx::score_transaction_ctx(s32 score_context_id) { this->score_context_id = score_context_id; } s32 create_score_transaction_context(s32 score_context_id) { return static_cast(idm::make(score_context_id)); } bool destroy_score_transaction_context(s32 ctx_id) { return idm::remove(static_cast(ctx_id)); } match2_ctx::match2_ctx(vm::cptr communicationId, vm::cptr passphrase) { ensure(!communicationId->data[9] && strlen(communicationId->data) == 9); memcpy(&this->communicationId, communicationId.get_ptr(), sizeof(SceNpCommunicationId)); memcpy(&this->passphrase, passphrase.get_ptr(), sizeof(SceNpCommunicationPassphrase)); } u16 create_match2_context(vm::cptr communicationId, vm::cptr passphrase) { return static_cast(idm::make(communicationId, passphrase)); } bool destroy_match2_context(u16 ctx_id) { return idm::remove(static_cast(ctx_id)); } bool check_match2_context(u16 ctx_id) { return (idm::check(ctx_id) != nullptr); } std::shared_ptr get_match2_context(u16 ctx_id) { return idm::get(ctx_id); } lookup_title_ctx::lookup_title_ctx(vm::cptr communicationId) { ensure(!communicationId->data[9] && strlen(communicationId->data) == 9); memcpy(&this->communicationId, communicationId.get_ptr(), sizeof(SceNpCommunicationId)); } s32 create_lookup_title_context(vm::cptr communicationId) { return static_cast(idm::make(communicationId)); } bool destroy_lookup_title_context(s32 ctx_id) { return idm::remove(static_cast(ctx_id)); } lookup_transaction_ctx::lookup_transaction_ctx(s32 lt_ctx) { this->lt_ctx = lt_ctx; } s32 create_lookup_transaction_context(s32 lt_ctx) { return static_cast(idm::make(lt_ctx)); } bool destroy_lookup_transaction_context(s32 ctx_id) { return idm::remove(static_cast(ctx_id)); } commerce2_ctx::commerce2_ctx(u32 version, vm::cptr npid, vm::ptr handler, vm::ptr arg) { this->version = version; memcpy(&this->npid, npid.get_ptr(), sizeof(SceNpId)); this->context_callback = handler; this->context_callback_param = arg; } s32 create_commerce2_context(u32 version, vm::cptr npid, vm::ptr handler, vm::ptr arg) { return static_cast(idm::make(version, npid, handler, arg)); } bool destroy_commerce2_context(s32 ctx_id) { return idm::remove(static_cast(ctx_id)); } std::shared_ptr get_commerce2_context(u16 ctx_id) { return idm::get_unlocked(ctx_id); } signaling_ctx::signaling_ctx(vm::ptr npid, vm::ptr handler, vm::ptr arg) { memcpy(&this->npid, npid.get_ptr(), sizeof(SceNpId)); this->handler = handler; this->arg = arg; } s32 create_signaling_context(vm::ptr npid, vm::ptr handler, vm::ptr arg) { return static_cast(idm::make(npid, handler, arg)); } bool destroy_signaling_context(s32 ctx_id) { return idm::remove(static_cast(ctx_id)); }