001 package com.github.sarxos.webcam;
002
003 import java.util.List;
004
005
006 /**
007 * This is interface for all webcam drivers.
008 *
009 * @author Bartosz Firyn (SarXos)
010 */
011 public interface WebcamDriver {
012
013 /**
014 * Return all registered webcam devices.
015 *
016 * @return List of webcam devices
017 */
018 List<WebcamDevice> getDevices();
019
020 /**
021 * Is driver thread-safe. Thread safe drivers operations does not have to be
022 * synchronized.
023 *
024 * @return True in case if driver is thread-safe, false otherwise
025 */
026 boolean isThreadSafe();
027
028 }