protected virtual void ProcessEvent(SourceStreamEvent msg) { switch (msg.Type) { case SourceStreamEventType.None: break; case SourceStreamEventType.Start: OnStarted(msg as StartEvent); break; case SourceStreamEventType.Stop: OnStopped(msg as StopEvent); break; case SourceStreamEventType.Post: OnPosted(msg as PostEvent); break; case SourceStreamEventType.Reconnect: OnReconnected(msg as ReconnectEvent); break; case SourceStreamEventType.ConnectionStopped: OnConnectionStopped(msg as ConnectionStoppedEvent); break; } }