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    }