001    package com.github.sarxos.webcam.ds.cgt;
002    
003    import org.slf4j.Logger;
004    import org.slf4j.LoggerFactory;
005    
006    import com.github.sarxos.webcam.WebcamDevice;
007    import com.github.sarxos.webcam.WebcamDriver;
008    import com.github.sarxos.webcam.WebcamTask;
009    
010    
011    public 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    }