/* * 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.youtube.upload; import com.google.inject.Inject; import javafx.beans.property.SimpleBooleanProperty; public abstract class AbstractUploadService implements IUploadService { private final Uploader uploader; private final SimpleBooleanProperty running = new SimpleBooleanProperty(false); @Inject protected AbstractUploadService(final Uploader uploader) { this.uploader = uploader; } @Override public void startUploading() { uploader.run(); } @Override public void stopUploading() { uploader.shutdown(); } @Override public void startStarttimeCheck() { uploader.runStarttimeChecker(); } @Override public void stopStarttimeCheck() { uploader.stopStarttimeChecker(); } @Override public void abort(final Upload upload) { uploader.abort(upload); } @Override public SimpleBooleanProperty runningProperty() { return running; } @Override public void setRunning(final boolean running) { this.running.setValue(running); } @Override public boolean getRunning() { return running.getValue(); } @Override public void setMaxUploads(final int maxUploads) { uploader.setMaxUploads(maxUploads); } @Override public void setMaxSpeed(final int maxSpeed) { uploader.setMaxSpeed(maxSpeed); } }