LeviLamina
Loading...
Searching...
No Matches
IEduWebService.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
8struct EDUConfigData;
9struct ServicePack;
10namespace Json { class Value; }
11namespace WebServices::EduSignin { struct SigninError; }
12namespace WebServices::EduSignin { struct SigninResponse; }
13// clang-format on
14
15namespace WebServices {
16
18public:
19 // virtual functions
20 // NOLINTBEGIN
21 virtual ~IEduWebService() = default;
22
23 virtual void setEula() = 0;
24
25 virtual void setPurchaseReceipt(
26 ::std::string const& receipt,
27 ::std::function<void(bool)> const& callback,
28 ::std::string const& anonimizedOId
29 ) = 0;
30
31 virtual void setSkin(::std::string const& newSkin) = 0;
32
33 virtual void signinForDemo(
34 ::std::function<
35 void(::std::variant<::WebServices::EduSignin::SigninResponse, ::WebServices::EduSignin::SigninError>)>
36 callback
37 ) = 0;
38
39 virtual void signin(
40 ::std::function<
41 void(::std::variant<::WebServices::EduSignin::SigninResponse, ::WebServices::EduSignin::SigninError>)>
42 callback,
43 ::std::string const& delegationKey
44 ) = 0;
45
46 virtual void sendInitialPackRequest(::std::function<void(::std::vector<::ServicePack>)> packReturnCallback) = 0;
47 // NOLINTEND
48
49public:
50 // static functions
51 // NOLINTBEGIN
52#ifdef LL_PLAT_C
53 MCNAPI static void commonSigninBody(::Json::Value& body, ::std::string const& appSessionId);
54
55 MCNAPI static ::std::unique_ptr<::WebServices::IEduWebService> create(
56 ::std::unique_ptr<::ResponseVerifier> verifier,
57 ::std::function<::std::string const()> getEduIdentityToken,
58 ::std::function<::std::optional<::EDUConfigData>(::Json::Value&)> configParser,
59 ::std::string const& appSessionId
60 );
61
62 MCNAPI static void setupDemoIdentity(::Json::Value& body);
63#endif
64 // NOLINTEND
65
66public:
67 // virtual function thunks
68 // NOLINTBEGIN
69
70 // NOLINTEND
71
72public:
73 // vftables
74 // NOLINTBEGIN
75 MCNAPI static void** $vftable();
76 // NOLINTEND
77};
78
79} // namespace WebServices
Definition Value.h:16
Definition ResponseVerifier.h:10
Definition EDUConfigData.h:15
Definition ServicePack.h:13
Definition SigninError.h:7
Definition SigninResponse.h:7
Definition IEduWebService.h:17
static MCAPI void ** $vftable()