using System.Collections.Generic;
using System.Threading.Tasks;
using xPushService.Models;
namespace xPushService.Interfaces {
public interface IXGroupsPushActions {
///
/// send a message to specific group ...
///
///
///
///
Task SendMessageToGroup (
string groupName,
XPushMessage message
);
///
/// send a message to specific groups ...
///
///
///
///
Task SendMessageToGroups (
IEnumerable groupNames,
XPushMessage message
);
///
/// add a connection to specific group ...
///
///
///
///
Task AddConnectionToGroup (
string connectionId,
string groupName
);
///
/// remove specific connection from a group ...
///
///
///
///
Task RemoveConnectionFromGroup (
string connectionId,
string groupName
);
///
/// retrieve all groups name ...
///
///
Task> GetGroupNames ();
///
/// retrieve all groups with it's connections ...
///
///
Task> GetGroups ();
///
/// remove all connections of specific group ...
///
///
///
Task RemoveGroupConnections (string groupName);
///
/// retrieve all groups name for specific connection ...
///
///
///
Task> GetConnectionGroups (string connectionId);
///
/// retrieve all connections in specific group ...
///
///
///
Task> GetGroupConnections (string groupName);
}
}