aspnetcore/samples/ChatSample/HubWithPresence.cs

35 lines
916 B
C#

// Copyright (c) .NET Foundation. All rights reserved.
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.SignalR;
namespace ChatSample
{
public class HubWithPresence : Hub
{
private IUserTracker<HubWithPresence> _userTracker;
public HubWithPresence(IUserTracker<HubWithPresence> userTracker)
{
_userTracker = userTracker;
}
public Task<IEnumerable<UserDetails>> GetUsersOnline()
{
return _userTracker.UsersOnline();
}
public virtual Task OnUsersJoined(UserDetails[] user)
{
return Task.CompletedTask;
}
public virtual Task OnUsersLeft(UserDetails[] user)
{
return Task.CompletedTask;
}
}
}