/* * Copyright (c) 2014 Dennis Fischer. * All rights reserved. This program and the accompanying materials * are made available under the terms of the GNU Public License v3.0+ * which accompanies this distribution, and is available at * http://www.gnu.org/licenses/gpl.html * * Contributors: Dennis Fischer */ package de.chaosfisch.google; import com.google.api.client.http.HttpTransport; import com.google.api.client.http.javanet.NetHttpTransport; import com.google.api.client.json.JsonFactory; import com.google.api.client.json.gson.GsonFactory; import com.google.api.services.youtube.YouTube; import com.google.inject.AbstractModule; import com.google.inject.Singleton; import com.google.inject.assistedinject.FactoryModuleBuilder; import de.chaosfisch.google.processors.ProcessorsModule; import de.chaosfisch.google.youtube.upload.IUploadJobFactory; public class GoogleModule extends AbstractModule { @Override protected void configure() { install(new FactoryModuleBuilder().build(IUploadJobFactory.class)); install(new ProcessorsModule()); bind(HttpTransport.class).toInstance(new NetHttpTransport()); bind(JsonFactory.class).toInstance(new GsonFactory()); bind(YouTube.class).toProvider(YouTubeProvider.class).in(Singleton.class); } }