Add and use ILinkHandler interface

This commit is contained in:
Bartłomiej Dach
2022-06-20 20:04:21 +02:00
parent 3f288c69a3
commit 34f1c80b7c
4 changed files with 39 additions and 6 deletions

View File

@ -0,0 +1,30 @@
// Copyright (c) ppy Pty Ltd <contact@ppy.sh>. Licensed under the MIT Licence.
// See the LICENCE file in the repository root for full licence text.
using osu.Framework.Allocation;
using osu.Game.Online.Chat;
namespace osu.Game.Online
{
/// <summary>
/// Handle an arbitrary URL. Displays via in-game overlays where possible.
/// Methods can be called from a non-thread-safe non-game-loaded state.
/// </summary>
[Cached]
public interface ILinkHandler
{
/// <summary>
/// Handle an arbitrary URL. Displays via in-game overlays where possible.
/// This can be called from a non-thread-safe non-game-loaded state.
/// </summary>
/// <param name="url">The URL to load.</param>
void HandleLink(string url);
/// <summary>
/// Handle a specific <see cref="LinkDetails"/>.
/// This can be called from a non-thread-safe non-game-loaded state.
/// </summary>
/// <param name="link">The link to load.</param>
void HandleLink(LinkDetails link);
}
}