/// <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; } }
/// <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>(); }
protected StreamResponse(StreamEventType eventType) { this.EventType = eventType; }