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); } }