Files
MinecraftConsoles/Minecraft.Client/PS3/Network/SonyRemoteStorage_PS3.h
2026-03-01 12:16:08 +08:00

65 lines
1.8 KiB
C++

#pragma once
#include "Common\Network\Sony\sceRemoteStorage\header\sceRemoteStorage.h"
class SonyRemoteStorage_PS3 : public SonyRemoteStorage
{
public:
virtual bool init(CallbackFunc cb, LPVOID lpParam);
virtual bool getRemoteFileInfo(SceRemoteStorageStatus* pInfo, CallbackFunc cb, LPVOID lpParam);
virtual bool getData(const char* remotePath, const char* localPath, CallbackFunc cb, LPVOID lpParam);
virtual void abort();
virtual bool setDataInternal();
bool isWaitingForTicket() { return m_waitingForTicket; }
void npauthhandler(int event, int result, void *arg);
void SetSecureID(char* id) { memcpy(m_secureFileId, id, CELL_SAVEDATA_SECUREFILEID_SIZE); }
void CompressSaveData();
bool dataCompressDone() { return (m_compressedSaveState == e_state_Idle);}
private:
int reqId;
void * psnTicket;
size_t psnTicketSize;
bool m_waitingForTicket;
bool initialized;
SceRemoteStorageStatus* outputGetStatus;
SceRemoteStorageData outputGetData;
enum CompressSaveState
{
e_state_LoadingSave,
e_state_CompressedSave,
e_state_SavingSave,
e_state_Idle
};
CompressSaveState m_compressedSaveState;
char m_secureFileId[CELL_SAVEDATA_SECUREFILEID_SIZE];
int32_t m_lastErrorCode;
int m_getDataProgress;
int m_setDataProgress;
char m_saveFilename[SCE_REMOTE_STORAGE_DATA_NAME_MAX_LEN];
char m_saveFileDesc[SCE_REMOTE_STORAGE_DATA_DESCRIPTION_MAX_LEN];
char m_remoteFilename[SCE_REMOTE_STORAGE_DATA_NAME_MAX_LEN];
int initPreconditions();
static void staticInternalCallback(const SceRemoteStorageEvent event, int32_t retCode, void * userData);
void internalCallback(const SceRemoteStorageEvent event, int32_t retCode);
virtual void runCallback();
static int SaveCompressCallback(LPVOID lpParam,bool bRes);
static int LoadCompressCallback(void *pParam,bool bIsCorrupt, bool bIsOwner);
};