using System;

namespace Wayne.Lib.MessageBus
{
    internal class Subscription<T> : SubscriptionBase
    {
        public Action<string, T> InvokeAction { get; set; }

        public override Type Type
        {
            get { return typeof(T); }
        }

        public override void Invoke(string topic, object data)
        {
            if (data is T)
            {
                InvokeAction(topic, (T)data);
            }
        }
    }
}