aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/PSVita/Leaderboards/PSVitaLeaderboardManager.cpp
blob: c5a44878d48cfa4c5e7c82ff8264887a8d593fd7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#include "stdafx.h"

#include "PSVitaLeaderboardManager.h"

#include "PSVita\PSVita_App.h"
#include "PSVita\PSVitaExtras\ShutdownManager.h"

#include "Common\Consoles_App.h"
#include "Common\Network\Sony\SQRNetworkManager.h"

#include "..\..\..\Minecraft.World\StringHelpers.h"

#include <cstdlib>

#include <np.h>

LeaderboardManager *LeaderboardManager::m_instance = new PSVitaLeaderboardManager(); //Singleton instance of the LeaderboardManager

PSVitaLeaderboardManager::PSVitaLeaderboardManager() : SonyLeaderboardManager() {}

HRESULT PSVitaLeaderboardManager::initialiseScoreUtility() 
{
	return sceNpScoreInit( SCE_KERNEL_DEFAULT_PRIORITY_USER, SCE_KERNEL_THREAD_CPU_AFFINITY_MASK_DEFAULT, nullptr);
}

bool PSVitaLeaderboardManager::scoreUtilityAlreadyInitialised(HRESULT hr) 
{ 
	return hr == SCE_NP_COMMUNITY_ERROR_ALREADY_INITIALIZED; 
}

HRESULT PSVitaLeaderboardManager::createTitleContext(const SceNpId &npId)
{ 
	return sceNpScoreCreateTitleCtx(&s_npCommunicationId, &s_npCommunicationPassphrase, &npId); 
}

HRESULT PSVitaLeaderboardManager::destroyTitleContext(int titleContext)
{
	return sceNpScoreDestroyTitleCtx(titleContext);
}

HRESULT PSVitaLeaderboardManager::createTransactionContext(int titleContext)
{
	return sceNpScoreCreateRequest(titleContext);
}

HRESULT PSVitaLeaderboardManager::abortTransactionContext(int transactionContext)
{
	return sceNpScoreAbortRequest(transactionContext);
}

HRESULT PSVitaLeaderboardManager::destroyTransactionContext(int transactionContext)
{
	return sceNpScoreDeleteRequest(transactionContext);
}

HRESULT PSVitaLeaderboardManager::getFriendsList(sce::Toolkit::NP::Utilities::Future<sce::Toolkit::NP::FriendsList> &friendsList)
{
	return sce::Toolkit::NP::Friends::Interface::getFriendslist(&friendsList, false);
}

char *PSVitaLeaderboardManager::getComment(SceNpScoreComment *comment)
{
	return comment->utf8Comment;
}