001package com.github.sarxos.webcam.ds.cgt;
002
003import org.slf4j.Logger;
004import org.slf4j.LoggerFactory;
005
006import com.github.sarxos.webcam.WebcamDevice;
007import com.github.sarxos.webcam.WebcamDriver;
008import com.github.sarxos.webcam.WebcamTask;
009
010
011public class WebcamCloseTask extends WebcamTask {
012
013        private static final Logger LOG = LoggerFactory.getLogger(WebcamCloseTask.class);
014
015        public WebcamCloseTask(WebcamDriver driver, WebcamDevice device) {
016                super(driver, device);
017        }
018
019        public void close() throws InterruptedException {
020                process();
021        }
022
023        @Override
024        protected void handle() {
025
026                WebcamDevice device = getDevice();
027                if (!device.isOpen()) {
028                        return;
029                }
030
031                LOG.info("Closing {}", device.getName());
032
033                device.close();
034        }
035}