001package com.github.sarxos.webcam;
002
003import java.util.List;
004
005
006/**
007 * This is interface for all webcam drivers.
008 * 
009 * @author Bartosz Firyn (SarXos)
010 */
011public 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}