/// <summary> /// Event raised upon completion of ModifySessionAsync. /// </summary> /// <param name="e"></param> private void OnModifySessionCompleted(ModifySessionCompletedArgs e) { if (this.ModifySessionCompleted != null) { this.ModifySessionCompleted(this, e); } }
/// <summary> /// Modifies a Smash session's attendee list. /// </summary> /// <param name="session">Smash session object.</param> /// <param name="managementID">The owner's management secret required to enumerate, modify, wipe sessions.</param> /// <param name="attendeesAdd">List of user names to add.</param> /// <param name="attendeesRemove">List of user names to delete.</param> /// <param name="state">State to be passed as userState in the completion event args.</param> public void ModifySessionAsync(SmashSession session, Guid managementID, IEnumerable<string> attendeesAdd, IEnumerable<string> attendeesRemove, object state) { if (session == null) { throw new ArgumentNullException("session"); } IAsyncResult asyncResult = SmashClientREST.ModifySessionAsync( session.ClientIdentity, session.MeetingToken, session.SessionID, managementID, attendeesAdd, attendeesRemove, new ServiceAgent<Contracts.ModifySessionResponse>.OnCompleteDelegate( (response) => { ModifySessionCompletedArgs e = new ModifySessionCompletedArgs(response.Exception, response.Aborted, response.StateObject); OnModifySessionCompleted(e); }), state); SmashClientREST.HandleCompletion(asyncResult, state); }