Add callbacks for cellVideoUpload

This commit is contained in:
scribam 2018-01-18 20:15:28 +01:00 committed by Ivan
parent 68143bc47c
commit 2821915eae
2 changed files with 28 additions and 13 deletions

View File

@ -2,13 +2,24 @@
#include "Emu/Cell/PPUModule.h"
#include "cellVideoUpload.h"
#include "cellSysutil.h"
logs::channel cellVideoUpload("cellVideoUpload");
s32 cellVideoUploadInitialize(vm::cptr<CellVideoUploadParam> pParam, vm::ptr<CellVideoUploadCallback> cb, vm::ptr<void> userdata)
error_code cellVideoUploadInitialize(vm::cptr<CellVideoUploadParam> pParam, vm::ptr<CellVideoUploadCallback> cb, vm::ptr<void> userdata)
{
cellVideoUpload.todo("cellVideoUploadInitialize(pParam=*0x%x, cb=*0x%x, userdata=*0x%x)", pParam, cb, userdata);
sysutil_register_cb([=](ppu_thread& ppu) -> s32
{
vm::var<char[]> pResultURL(128);
cb(ppu, CELL_VIDEO_UPLOAD_STATUS_INITIALIZED, CELL_OK, pResultURL, userdata);
cb(ppu, CELL_VIDEO_UPLOAD_STATUS_FINALIZED, CELL_OK, pResultURL, userdata);
return CELL_OK;
});
return CELL_OK;
}

View File

@ -1,7 +1,5 @@
#pragma once
namespace vm { using namespace ps3; }
struct CellVideoUploadOption
{
be_t<s32> type;
@ -11,27 +9,27 @@ struct CellVideoUploadOption
struct CellVideoUploadParam
{
be_t<s32> siteID;
vm::bcptr<char> pFilePath;
vm::ps3::bcptr<char> pFilePath;
union
{
struct
{
vm::bcptr<char> pClientId;
vm::bcptr<char> pDeveloperKey;
vm::bcptr<char> pTitle_UTF8;
vm::bcptr<char> pDescription_UTF8;
vm::bcptr<char> pKeyword_1_UTF8;
vm::bcptr<char> pKeyword_2_UTF8;
vm::bcptr<char> pKeyword_3_UTF8;
vm::ps3::bcptr<char> pClientId;
vm::ps3::bcptr<char> pDeveloperKey;
vm::ps3::bcptr<char> pTitle_UTF8;
vm::ps3::bcptr<char> pDescription_UTF8;
vm::ps3::bcptr<char> pKeyword_1_UTF8;
vm::ps3::bcptr<char> pKeyword_2_UTF8;
vm::ps3::bcptr<char> pKeyword_3_UTF8;
u8 isPrivate;
u8 rating;
} youtube;
} u;
be_t<s32> numOfOption;
vm::bptr<CellVideoUploadOption> pOption;
vm::ps3::bptr<CellVideoUploadOption> pOption;
};
typedef void(CellVideoUploadCallback)(s32 status, s32 errorCode, vm::cptr<char> pResultURL, vm::ptr<void> userdata);
using CellVideoUploadCallback = void(s32 status, s32 errorCode, vm::ps3::cptr<char> pResultURL, vm::ps3::ptr<void> userdata);
enum
{
@ -59,3 +57,9 @@ enum
CELL_VIDEO_UPLOAD_ERROR_FILE_OPEN = 0x8002d023,
CELL_VIDEO_UPLOAD_ERROR_INVALID_STATE = 0x8002d024
};
enum
{
CELL_VIDEO_UPLOAD_STATUS_INITIALIZED = 1,
CELL_VIDEO_UPLOAD_STATUS_FINALIZED = 2
};