public SessionChangedEventArgs(SessionChange change, SessionAnnouncement newAnnouncement, SessionAnnouncement oldAnnouncement, int index) : base(NotifyCollectionChangedAction.Replace, newAnnouncement, oldAnnouncement) { if (change != SessionChange.Update) { throw new Exception("Invalid SessionChange for this constructor"); } }
public SessionChangedEventArgs(SessionChange change, SessionAnnouncement announcement, int index) : base(ToCollectionChangedAction(change), announcement, index) { if (change == SessionChange.Update) { throw new Exception("Invalid SessionChange for this constructor"); } }
internal void SessionChanged(SessionChange change) { if (IsPlay) { Changes.Add(change); if (OnSessionChanged != null) { OnSessionChanged.Invoke(this, change); } } }
protected override void OnSessionChange(SessionChangeDescription changeDescription) { try { SessionChange?.Invoke(this, new SessionChangeEventArgs(changeDescription.Reason, changeDescription.SessionId)); } catch (Exception e) { WriteEntry(ServiceName, $"{ServiceName} threw an exception: {e}", EventLogEntryType.Error); } }
protected override void OnSessionChange(SessionChangeDescription desc) { try { SessionChange?.Invoke(this, new SessionChangeEvent { Description = desc }); } catch (Exception e) { EventLog.WriteEntry(e.ToString(), EventLogEntryType.Error, 99); } }
public void AddSessionChange(SessionChange sessionChange) { using (var db = _ctxFactory()) { var bug = sessionChange.Bug; sessionChange.Bug = null; sessionChange.BugID = bug.Id; var session = sessionChange.Session; sessionChange.Session = null; sessionChange.SessionId = session.Id; db.SessionChanges.Add(sessionChange); db.SaveChanges(); } }
private static NotifyCollectionChangedAction ToCollectionChangedAction(SessionChange change) { switch (change) { case SessionChange.New: return(NotifyCollectionChangedAction.Add); case SessionChange.Delete: return(NotifyCollectionChangedAction.Remove); case SessionChange.Update: return(NotifyCollectionChangedAction.Replace); } throw new Exception("Unknown SessionChange value"); }
internal async Task UpdateSessionAsync(SessionChange change, object changeData = null) { switch (change) { case SessionChange.Connect: { SocketVoiceServer voiceServer = (SocketVoiceServer)changeData; JObject eventData = new JObject(); eventData.Add("token", voiceServer.Token); eventData.Add("guild_id", voiceServer.Guild.Id.ToString()); eventData.Add("endpoint", voiceServer.Endpoint); JObject data = new JObject(); data.Add("op", "voiceUpdate"); data.Add("guildId", voiceServer.Guild.Id.ToString()); data.Add("sessionId", sessionId); data.Add("event", eventData); await manager.GetWebSocket().SendAsync(data.ToString()); break; } case SessionChange.Disconnect: { ulong guildId = (ulong)changeData; JObject data = new JObject(); data.Add("op", "destroy"); data.Add("guildId", guildId.ToString()); await manager.GetWebSocket().SendAsync(data.ToString()); break; } case SessionChange.Moved: { VoiceChannel = (IVoiceChannel)changeData; break; } } }
internal async Task UpdateSessionAsync(SessionChange change, object changeData = null) { switch (change) { case SessionChange.Connect: { SocketVoiceServer voiceServer = (SocketVoiceServer)changeData; JObject eventData = new JObject(); eventData.Add("token", voiceServer.Token); eventData.Add("guild_id", voiceServer.Guild.Id.ToString()); eventData.Add("endpoint", voiceServer.Endpoint); JObject data = new JObject(); data.Add("op", "voiceUpdate"); data.Add("guildId", voiceServer.Guild.Id.ToString()); data.Add("sessionId", sessionId); data.Add("event", eventData); await manager.GetWebSocket().SendAsync(data.ToString()); break; } case SessionChange.Disconnect: { ulong guildId = (ulong)changeData; JObject data = new JObject(); data.Add("op", "destroy"); data.Add("guildId", guildId.ToString()); await manager.GetWebSocket().SendAsync(data.ToString()); break; } default: { Console.WriteLine(new LogMessage(LogSeverity.Debug, "Lavalink", $"Warning: Unknown SessionChange ({change.ToString()})")); break; } } }
protected override void OnSessionChanged(Session session, SessionChange change) { Send.Invoke(Interpretor.Interpretate(session)); }
private static NotifyCollectionChangedAction ToCollectionChangedAction(SessionChange change) { switch (change) { case SessionChange.New: return NotifyCollectionChangedAction.Add; case SessionChange.Delete: return NotifyCollectionChangedAction.Remove; case SessionChange.Update: return NotifyCollectionChangedAction.Replace; } throw new Exception("Unknown SessionChange value"); }
protected override void OnSessionChange(SessionChangeDescription changeDescription) { SessionChange?.Invoke(); }
protected virtual void OnSessionChanged(Session session, SessionChange change) { }