package com.florianmski.tracktoid.rx.observables;
import com.uwetrottmann.trakt.v2.exceptions.CheckinInProgressException;
import com.uwetrottmann.trakt.v2.exceptions.OAuthUnauthorizedException;
import rx.Observable;
import rx.Subscriber;
public abstract class TraktObservable<T> implements Observable.OnSubscribe<T>
{
public abstract T fire() throws OAuthUnauthorizedException, CheckinInProgressException;
@Override
public void call(Subscriber<? super T> subscriber)
{
try
{
T data = fire();
subscriber.onNext(data);
subscriber.onCompleted();
}
catch (Exception e)
{
subscriber.onError(e);
}
}
}