using FundamentalInterfaces;

var source = new SimpleColdSource();
var sub = new MySubscriber<string>();
source.Subscribe(sub);

// Ten przykład pokazuje jak wyglądają podstawowwe interfejsy Rx. Są one zdefiniowane
// w .NET, więc nie musimy definiować ich samodzielnie; dlatego zostały 
// zapisane w bloku #if false
#if false
    public interface IObservable<out T>
    {
        IDisposable Subscribe(IObserver<T> observer);
    }

    public interface IObserver<in T>
    {
        void OnCompleted();
        void OnError(Exception error);
        void OnNext(T value);
    }
#endif
