// Copyright (c) ppy Pty Ltd . Licensed under the MIT Licence. // See the LICENCE file in the repository root for full licence text. using System.Threading.Tasks; using osu.Game.Users; namespace osu.Game.Online.Metadata { /// /// Interface for metadata-related remote procedure calls to be executed on the client side. /// public interface IMetadataClient : IStatefulUserHubClient { /// /// Delivers the set of requested to the client. /// Task BeatmapSetsUpdated(BeatmapUpdates updates); /// /// Delivers an update of the of the user with the supplied . /// Task UserPresenceUpdated(int userId, UserPresence? status); /// /// Delivers an update of the current "daily challenge" status. /// Null value means there is no "daily challenge" currently active. /// Task DailyChallengeUpdated(DailyChallengeInfo? info); /// /// Delivers information that a multiplayer score was set in a watched room. /// To receive these, the client must call for a given room first. /// Task MultiplayerRoomScoreSet(MultiplayerRoomScoreSetEvent roomScoreSetEvent); } }