3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/deps/core/threading/Async.h"
7#include "mc/deps/core/utility/EnableNonOwnerReferences.h"
8#include "mc/deps/crypto/asymmetric/system/System.h"
9#include "mc/platform/brstd/future.h"
18namespace Bedrock::Http {
struct Url; }
29 struct BlockingInitRecursiveContext {
38 BlockingInitRecursiveContext& operator=(BlockingInitRecursiveContext
const&);
39 BlockingInitRecursiveContext(BlockingInitRecursiveContext
const&);
40 BlockingInitRecursiveContext();
66 MinecraftServiceKeyManager& operator=(MinecraftServiceKeyManager
const&);
67 MinecraftServiceKeyManager(MinecraftServiceKeyManager
const&);
68 MinecraftServiceKeyManager();
73 virtual ~MinecraftServiceKeyManager() =
default;
80 ::std::unique_ptr<::IMinecraftServiceKeySource> keySource,
81 ::std::function<int64()> timeFn,
84 ::std::optional<::MinecraftServiceKeysMetadata>>(
::TaskGroup&, ::std::string
const&,
bool)> metadataFn,
86 ::std::optional<::std::unordered_map<::std::string, ::WebKey>>>(
::TaskGroup&, ::std::string
const&,
bool)>
91 MCNAPI
void _blockingInitRecursive(
93 ::std::shared_ptr<::MinecraftServiceKeyManager::BlockingInitRecursiveContext>
context
97 MCNAPI ::Bedrock::Threading::Async<::MinecraftServiceKeyInfo>
_fullFetch(
bool highPriority);
102 MCNAPI ::brstd::future<bool> blockingInit();
111 MCNAPI
void setHostKey(::std::string
const& hostKey, ::Crypto::Asymmetric::System type);
113 MCNAPI ::std::optional<::WebKey>
tryGetKey(::std::string
const& kid)
const;
115 MCNAPI ::Bedrock::Threading::Async<::MinecraftServiceKeyInfo>
updateKeys();
122 ::std::unique_ptr<::IMinecraftServiceKeySource> keySource,
123 ::std::function<int64()> timeFn,
126 ::std::optional<::MinecraftServiceKeysMetadata>>(
::TaskGroup&, ::std::string
const&,
bool)> metadataFn,
128 ::std::optional<::std::unordered_map<::std::string, ::WebKey>>>(
::TaskGroup&, ::std::string
const&,
bool)>
Definition EnableNonOwnerReferences.h:7
The game spells this as an AsyncImplBase<T> base subobject holding the handle; a member at the same o...
Definition Async.h:13
Definition IMinecraftServiceKeySource.h:14
MCAPI ::Bedrock::Threading::Async<::MinecraftServiceKeyInfo > getKeysIfWeDontAlreadyHaveThem()
MCAPI MinecraftServiceKeyManager(::std::unique_ptr<::IMinecraftServiceKeySource > keySource, ::std::function< int64()> timeFn, ::std::function<::Bedrock::Threading::Async<::Bedrock::Http::Url >()> urlFn, ::std::function<::Bedrock::Threading::Async< ::std::optional<::MinecraftServiceKeysMetadata > >(::TaskGroup &, ::std::string const &, bool)> metadataFn, ::std::function<::Bedrock::Threading::Async< ::std::optional<::std::unordered_map<::std::string, ::WebKey > > >(::TaskGroup &, ::std::string const &, bool)> keysFn)
MCAPI void _updateTrustedKeys()
MCAPI ::std::optional<::WebKey > tryGetKey(::std::string const &kid) const
MCAPI void setHostKey(::std::string const &hostKey, ::Crypto::Asymmetric::System type)
MCAPI ::Bedrock::Threading::Async<::MinecraftServiceKeyInfo > updateKeys()
MCAPI::MinecraftServiceKeyInfo getKeyInfo() const
MCAPI void * $ctor(::std::unique_ptr<::IMinecraftServiceKeySource > keySource, ::std::function< int64()> timeFn, ::std::function<::Bedrock::Threading::Async<::Bedrock::Http::Url >()> urlFn, ::std::function<::Bedrock::Threading::Async< ::std::optional<::MinecraftServiceKeysMetadata > >(::TaskGroup &, ::std::string const &, bool)> metadataFn, ::std::function<::Bedrock::Threading::Async< ::std::optional<::std::unordered_map<::std::string, ::WebKey > > >(::TaskGroup &, ::std::string const &, bool)> keysFn)
MCAPI ::Bedrock::Threading::Async<::MinecraftServiceKeyInfo > _fullFetch(bool highPriority)
Definition TaskGroup.h:86
Definition MinecraftServiceKeyInfo.h:5
Definition MinecraftServiceKeyManager.h:29