Example #1
0
        /// <summary>
        ///     Handles a twitter event.
        /// </summary>
        /// <param name="json"> The json describing the event. </param>
        private void HandleEvent(string json)
        {
            JsonData parsed = JsonMapper.ToObject(json);

            string          eventStr  = (string)parsed["event"];
            StreamEventType eventType = StreamEventType.Unknown;

            if (!string.IsNullOrWhiteSpace(eventStr))
            {
                try
                {
                    eventType = (StreamEventType)Enum.Parse(typeof(StreamEventType), eventStr.Replace("_", string.Empty), true);
                }
                catch (ArgumentException)
                {
                    eventType = StreamEventType.Unknown;
                }
            }

            switch (eventType)
            {
            case StreamEventType.Favorite:
            case StreamEventType.Unfavorite:
                LogTo.Debug("Favorite received");
                FavoriteEventReceived?.Invoke(this, new FavoriteStreamEventArgs(json));
                break;

            default:
                LogTo.Debug("Unknown event received");
                LogTo.Debug(json);
                UnknownEventReceived?.Invoke(this, new EventStreamEventArgs(json));
                break;
            }
        }
Example #2
0
 /// <summary>
 /// Creates a new instance of StreamEventLog
 /// </summary>
 /// <param name="streamEventType">The type of streaming event that occurred.</param>
 /// <param name="position">The position of playback when the operation occured.</param>
 /// <param name="duration">The duration of the stream.</param>
 public StreamEventLog(StreamEventType streamEventType, TimeSpan position, TimeSpan duration)
 {
     TimeStamp       = DateTimeOffset.Now;
     Type            = EventTypes.StreamEvent;
     StreamEventType = streamEventType;
     Position        = position;
     Duration        = duration;
     Id        = Guid.NewGuid();
     ExtraData = new Dictionary <string, object>();
 }
 /// <summary>
 /// Creates a new instance of StreamEventLog
 /// </summary>
 /// <param name="streamEventType">The type of streaming event that occurred.</param>
 /// <param name="position">The position of playback when the operation occured.</param>
 /// <param name="duration">The duration of the stream.</param>
 public StreamEventLog(StreamEventType streamEventType, TimeSpan position, TimeSpan duration)
 {
     TimeStamp = DateTimeOffset.Now;
     Type = EventTypes.StreamEvent;
     StreamEventType = streamEventType;
     Position = position;
     Duration = duration;
     Id = Guid.NewGuid();
     ExtraData = new Dictionary<string, object>();
 }
Example #4
0
 protected StreamResponse(StreamEventType eventType)
 {
     this.EventType = eventType;
 }