package com.dxjia.doubantop.net;
import android.os.Handler;
import android.os.Message;
import retrofit.Callback;
import retrofit.RetrofitError;
import retrofit.client.Response;
/**
* Created by dxjia on 2015-9-2.
*
*/
public class RetrofitCallback<T> implements Callback<T> {
private Handler mHandler;
private int mSuccessEventCode;
private int mFailEventCode;
public static final int EVENT_CALL_FAILED = -1;
public static final int EVENT_CALL_SUCCESS = 0;
Class<T> mClassz;
public RetrofitCallback(Handler handler, Class<T> classz) {
mHandler = handler;
mClassz = classz;
mSuccessEventCode = EVENT_CALL_SUCCESS;
mFailEventCode = EVENT_CALL_FAILED;
}
public RetrofitCallback(Handler handler, int successCode, int failCode, Class<T> classz) {
mHandler = handler;
mClassz = classz;
mSuccessEventCode = successCode;
mFailEventCode = failCode;
}
@Override
public void success(T t, Response response) {
Message message = Message.obtain(mHandler, mSuccessEventCode, t);
message.sendToTarget();
}
@Override
public void failure(RetrofitError error) {
Message message = Message.obtain(mHandler, mFailEventCode, error);
message.sendToTarget();
}
}