// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMCurrentWeather.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMCurrentWeather {
// 
//     @SerializedName("id")
//     private String mCityId;
//     @SerializedName("name")
//     private String mCityName;
//     @SerializedName("main")
//     private Main mMain;
//     @SerializedName("wind")
//     private Wind mWind;
//     @SerializedName("sys")
//     private System mSystem;
// 
//     public String getCityId() {
//         return mCityId;
//     }
// 
//     public String getCityName() {
//         return mCityName;
//     }
// 
//     public Main getMain() {
//         return mMain;
//     }
// 
//     public Wind getWind() {
//         return mWind;
//     }
// 
//     public System getSystem() {
//         return mSystem;
//     }
// 
//     public class Main {
//         @SerializedName("temp")
//         private double mTemp;
//         @SerializedName("humidity")
//         private int mHumidity;
// 
//         public double getTemp() {
//             return mTemp;
//         }
// 
//         public int getHumidity() {
//             return mHumidity;
//         }
//     }
// 
//     public class Wind {
//         @SerializedName("speed")
//         private double mSpeed;
// 
//         public double getSpeed() {
//             return mSpeed;
//         }
//     }
// 
//     public class System {
//         @SerializedName("country")
//         private String mCountry;
// 
//         public String getCountry() {
//             return mCountry;
//         }
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMCurrentWeatherList.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMCurrentWeatherList {
// 
//     @SerializedName("count")
//     private int mCount;
//     @SerializedName("list")
//     private List<OWMCurrentWeather> mCurrentWeatherList;
// 
//     public int getCount() {
//         return mCount;
//     }
// 
//     public List<OWMCurrentWeather> getList() {
//         return mCurrentWeatherList;
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMDailyForecastList.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMDailyForecastList {
// 
//     @SerializedName("cnt")
//     private int mCount;
//     @SerializedName("city")
//     private City mCity;
//     @SerializedName("list")
//     private List<OWMDailyForecast> mDailyForecasts;
// 
//     public int getCount() {
//         return mCount;
//     }
// 
//     public City getCity() {
//         return mCity;
//     }
// 
//     public List<OWMDailyForecast> getList() {
//         return mDailyForecasts;
//     }
// 
//     public class City {
//         @SerializedName("id")
//         private String mId;
// 
//         public String getId() {
//             return mId;
//         }
//     }
// }


import cat.ppicas.cleanarch.owm.model.OWMCurrentWeather;
import cat.ppicas.cleanarch.owm.model.OWMCurrentWeatherList;
import cat.ppicas.cleanarch.owm.model.OWMDailyForecastList;
import retrofit.http.GET;
import retrofit.http.Headers;
import retrofit.http.Query;
/*
 * Copyright (C) 2015 Pau Picas Sans <pau.picas@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package cat.ppicas.cleanarch.owm;


public interface OWMService {

    @GET("/data/2.5/find?units=metric")
    @Headers("Cache-Control: max-age=300, max-stale=900")
    OWMCurrentWeatherList getCurrentWeatherByCityName(@Query("q") String query);

    @GET("/data/2.5/weather?units=metric")
    @Headers("Cache-Control: max-age=300, max-stale=900")
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMCurrentWeather.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMCurrentWeather {
// 
//     @SerializedName("id")
//     private String mCityId;
//     @SerializedName("name")
//     private String mCityName;
//     @SerializedName("main")
//     private Main mMain;
//     @SerializedName("wind")
//     private Wind mWind;
//     @SerializedName("sys")
//     private System mSystem;
// 
//     public String getCityId() {
//         return mCityId;
//     }
// 
//     public String getCityName() {
//         return mCityName;
//     }
// 
//     public Main getMain() {
//         return mMain;
//     }
// 
//     public Wind getWind() {
//         return mWind;
//     }
// 
//     public System getSystem() {
//         return mSystem;
//     }
// 
//     public class Main {
//         @SerializedName("temp")
//         private double mTemp;
//         @SerializedName("humidity")
//         private int mHumidity;
// 
//         public double getTemp() {
//             return mTemp;
//         }
// 
//         public int getHumidity() {
//             return mHumidity;
//         }
//     }
// 
//     public class Wind {
//         @SerializedName("speed")
//         private double mSpeed;
// 
//         public double getSpeed() {
//             return mSpeed;
//         }
//     }
// 
//     public class System {
//         @SerializedName("country")
//         private String mCountry;
// 
//         public String getCountry() {
//             return mCountry;
//         }
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMCurrentWeatherList.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMCurrentWeatherList {
// 
//     @SerializedName("count")
//     private int mCount;
//     @SerializedName("list")
//     private List<OWMCurrentWeather> mCurrentWeatherList;
// 
//     public int getCount() {
//         return mCount;
//     }
// 
//     public List<OWMCurrentWeather> getList() {
//         return mCurrentWeatherList;
//     }
// }
// 
// Path: core/src/main/java/cat/ppicas/cleanarch/owm/model/OWMDailyForecastList.java
// @SuppressWarnings("UnusedDeclaration")
// public class OWMDailyForecastList {
// 
//     @SerializedName("cnt")
//     private int mCount;
//     @SerializedName("city")
//     private City mCity;
//     @SerializedName("list")
//     private List<OWMDailyForecast> mDailyForecasts;
// 
//     public int getCount() {
//         return mCount;
//     }
// 
//     public City getCity() {
//         return mCity;
//     }
// 
//     public List<OWMDailyForecast> getList() {
//         return mDailyForecasts;
//     }
// 
//     public class City {
//         @SerializedName("id")
//         private String mId;
// 
//         public String getId() {
//             return mId;
//         }
//     }
// }


// Path: core/src/main/java/cat/ppicas/cleanarch/owm/OWMService.java
import cat.ppicas.cleanarch.owm.model.OWMCurrentWeather;
import cat.ppicas.cleanarch.owm.model.OWMCurrentWeatherList;
import cat.ppicas.cleanarch.owm.model.OWMDailyForecastList;
import retrofit.http.GET;
import retrofit.http.Headers;
import retrofit.http.Query;

/*
 * Copyright (C) 2015 Pau Picas Sans <pau.picas@gmail.com>
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 *
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */

package cat.ppicas.cleanarch.owm;


public interface OWMService {

    @GET("/data/2.5/find?units=metric")
    @Headers("Cache-Control: max-age=300, max-stale=900")
    OWMCurrentWeatherList getCurrentWeatherByCityName(@Query("q") String query);

    @GET("/data/2.5/weather?units=metric")
    @Headers("Cache-Control: max-age=300, max-stale=900")
    OWMCurrentWeather getCurrentWeatherByCityId(@Query("id") String id);