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");
     }
 }
 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");
     }
 }
Exemple #5
0
 internal void SessionChanged(SessionChange change)
 {
     if (IsPlay)
     {
         Changes.Add(change);
         if (OnSessionChanged != null)
         {
             OnSessionChanged.Invoke(this, change);
         }
     }
 }
Exemple #6
0
 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);
     }
 }
Exemple #7
0
 protected override void OnSessionChange(SessionChangeDescription desc)
 {
     try
     {
         SessionChange?.Invoke(this, new SessionChangeEvent {
             Description = desc
         });
     }
     catch (Exception e)
     {
         EventLog.WriteEntry(e.ToString(), EventLogEntryType.Error, 99);
     }
 }
Exemple #8
0
 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");
        }
Exemple #10
0
        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;
            }
            }
        }
Exemple #12
0
 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");
 }
Exemple #14
0
 protected override void OnSessionChange(SessionChangeDescription changeDescription)
 {
     SessionChange?.Invoke();
 }
Exemple #15
0
 protected virtual void OnSessionChanged(Session session, SessionChange change)
 {
 }