/// <summary> /// Add a Rosteritem to the Roster /// </summary> /// <param name="iqSender"><see cref="IClientIqSender"/></param> /// <param name="jid">The BARE jid of the rosteritem that should be removed</param> /// <param name="nickname">Nickname for the RosterItem</param> /// <param name="group">An Array of groups when you want to add the Rosteritem to multiple groups</param> /// <param name="timeout">The timeout in milliseconds.</param> /// <param name="cancellationToken">The cancellation token used to cancel the request.</param> /// <returns></returns> public static async Task <Iq> AddRosterItemAsync(this IClientIqSender iqSender, Jid jid, string nickname, string[] groups, int timeout, CancellationToken cancellationToken) { var riq = RosterBuilder.AddRosterItem(jid, nickname, groups); return(await iqSender.SendIqAsync(riq, timeout, cancellationToken)); }
/// <summary> /// Remove a contact from the contact list, aka roster /// </summary> /// <param name="iqSender"><see cref="IClientIqSender"/></param> /// <param name="jid">The jid to remove</param> /// <param name="timeout">The timeout</param> /// <param name="cancellationToken">The cancellation token used to cancel the request.</param> /// <returns></returns> public static async Task <Iq> RemoveRosterItemAsync(this IClientIqSender iqSender, Jid jid, int timeout, CancellationToken cancellationToken) { return(await iqSender.SendIqAsync(RosterBuilder.RemoveRosterItem(jid), timeout, cancellationToken)); }
/// <summary> /// Request the roster (contact list) asynchronous from the server. /// </summary> /// <param name="iqSender"><see cref="IClientIqSender"/></param> /// <param name="version"></param> /// <param name="timeout"></param> /// <param name="cancellationToken">The cancellation token used to cancel the request.</param> /// <returns></returns> public static async Task <Iq> RequestRosterAsync(this IClientIqSender iqSender, string version, int timeout, CancellationToken cancellationToken) { return(await iqSender.SendIqAsync(RosterBuilder.RequestRoster(version), timeout, cancellationToken)); }