// Path: app/src/main/java/com/testerhome/nativeandroid/models/NotificationResponse.java
// public class NotificationResponse {
// 
//     private List<NotificationEntity> notifications;
// 
//     public  List<NotificationEntity> getNotifications(){
//         return notifications;
//     }
// 
//     public void setNotifications(List<NotificationEntity> notifications){
//         this.notifications = notifications;
//     }
// }
// 
// Path: app/src/main/java/com/testerhome/nativeandroid/models/TopicDetailResponse.java
// public class TopicDetailResponse {
//     private TopicDetailEntity topic;
// 
//     public TopicDetailEntity getTopic() {
//         return topic;
//     }
// 
//     public void setTopic(TopicDetailEntity topic) {
//         this.topic = topic;
//     }
// }
// 
// Path: app/src/main/java/com/testerhome/nativeandroid/models/TopicReplyResponse.java
// public class TopicReplyResponse {
// 
//     private List<TopicReplyEntity> replies;
// 
//     public  List<TopicReplyEntity> getTopicReply(){
//         return replies;
//     }
// 
//     public void setTopicReply(List<TopicReplyEntity> replies){
//         this.replies = replies;
//     }
// }
// 
// Path: app/src/main/java/com/testerhome/nativeandroid/models/TopicsResponse.java
// public class TopicsResponse {
// 
//     private List<TopicEntity> topics;
// 
//     public List<TopicEntity> getTopics() {
//         return topics;
//     }
// 
//     public void setTopics(List<TopicEntity> topics) {
//         this.topics = topics;
//     }
// }
// 
// Path: app/src/main/java/com/testerhome/nativeandroid/models/UserResponse.java
// public class UserResponse {
// 
//     private TesterUser user;
// 
//     public TesterUser getUser() {
//         return user;
//     }
// 
//     public void setUser(TesterUser user) {
//         this.user = user;
//     }
// }


import com.testerhome.nativeandroid.models.NotificationResponse;
import com.testerhome.nativeandroid.models.TopicDetailResponse;
import com.testerhome.nativeandroid.models.TopicReplyResponse;
import com.testerhome.nativeandroid.models.TopicsResponse;
import com.testerhome.nativeandroid.models.UserResponse;
import retrofit.Callback;
import retrofit.client.Response;
import retrofit.http.GET;
import retrofit.http.Path;
import retrofit.http.Query;

    @GET("/topics/{id}.json")
    void getTopicById(@Path("id") String id,
                      Callback<TopicDetailResponse> callback);


    @GET("/users/{username}/topics.json")
    void getUserTopics(@Path("username") String username,
                       @Query("access_token") String accessToken,
                       @Query("offset") int offset,
                       Callback<TopicsResponse> callback);

    @GET("/users/{username}/favorites.json")
    void getUserFavorite(@Path("username") String username,
                       @Query("access_token") String accessToken,
                       @Query("offset") int offset,
                       Callback<TopicsResponse> callback);

    @GET("/users/{username}.json")
    void getUserInfo(@Path("username") String username,
                     @Query("access_token") String accessToken,
                     Callback<UserResponse> callback);

    @GET("/topics/{id}/replies.json")
    void getTopicsReplies(@Path("id") String id,
                          @Query("offset") int offset,
                          Callback<TopicReplyResponse> callback);
    @GET("/notifications.json")
    void getNotifications(@Query("access_token") String access_token,
                          @Query("offset") int offset,
// Path: app/src/main/java/com/testerhome/nativeandroid/models/NotificationResponse.java
// public class NotificationResponse {
// 
//     private List<NotificationEntity> notifications;
// 
//     public  List<NotificationEntity> getNotifications(){
//         return notifications;
//     }
// 
//     public void setNotifications(List<NotificationEntity> notifications){
//         this.notifications = notifications;
//     }
// }
// 
// Path: app/src/main/java/com/testerhome/nativeandroid/models/TopicDetailResponse.java
// public class TopicDetailResponse {
//     private TopicDetailEntity topic;
// 
//     public TopicDetailEntity getTopic() {
//         return topic;
//     }
// 
//     public void setTopic(TopicDetailEntity topic) {
//         this.topic = topic;
//     }
// }
// 
// Path: app/src/main/java/com/testerhome/nativeandroid/models/TopicReplyResponse.java
// public class TopicReplyResponse {
// 
//     private List<TopicReplyEntity> replies;
// 
//     public  List<TopicReplyEntity> getTopicReply(){
//         return replies;
//     }
// 
//     public void setTopicReply(List<TopicReplyEntity> replies){
//         this.replies = replies;
//     }
// }
// 
// Path: app/src/main/java/com/testerhome/nativeandroid/models/TopicsResponse.java
// public class TopicsResponse {
// 
//     private List<TopicEntity> topics;
// 
//     public List<TopicEntity> getTopics() {
//         return topics;
//     }
// 
//     public void setTopics(List<TopicEntity> topics) {
//         this.topics = topics;
//     }
// }
// 
// Path: app/src/main/java/com/testerhome/nativeandroid/models/UserResponse.java
// public class UserResponse {
// 
//     private TesterUser user;
// 
//     public TesterUser getUser() {
//         return user;
//     }
// 
//     public void setUser(TesterUser user) {
//         this.user = user;
//     }
// }


// Path: app/src/main/java/com/testerhome/nativeandroid/networks/TopicsService.java
import com.testerhome.nativeandroid.models.NotificationResponse;
import com.testerhome.nativeandroid.models.TopicDetailResponse;
import com.testerhome.nativeandroid.models.TopicReplyResponse;
import com.testerhome.nativeandroid.models.TopicsResponse;
import com.testerhome.nativeandroid.models.UserResponse;
import retrofit.Callback;
import retrofit.client.Response;
import retrofit.http.GET;
import retrofit.http.Path;
import retrofit.http.Query;


    @GET("/topics/{id}.json")
    void getTopicById(@Path("id") String id,
                      Callback<TopicDetailResponse> callback);


    @GET("/users/{username}/topics.json")
    void getUserTopics(@Path("username") String username,
                       @Query("access_token") String accessToken,
                       @Query("offset") int offset,
                       Callback<TopicsResponse> callback);

    @GET("/users/{username}/favorites.json")
    void getUserFavorite(@Path("username") String username,
                       @Query("access_token") String accessToken,
                       @Query("offset") int offset,
                       Callback<TopicsResponse> callback);

    @GET("/users/{username}.json")
    void getUserInfo(@Path("username") String username,
                     @Query("access_token") String accessToken,
                     Callback<UserResponse> callback);

    @GET("/topics/{id}/replies.json")
    void getTopicsReplies(@Path("id") String id,
                          @Query("offset") int offset,
                          Callback<TopicReplyResponse> callback);
    @GET("/notifications.json")
    void getNotifications(@Query("access_token") String access_token,
                          @Query("offset") int offset,
                          Callback<NotificationResponse> callback);