001    package com.github.sarxos.webcam;
002    
003    import java.util.EventObject;
004    
005    
006    /**
007     * This event is generated when webcam has been found or lost.
008     * 
009     * @author Bartosz Firyn (sarxos)
010     */
011    public class WebcamDiscoveryEvent extends EventObject {
012    
013            private static final long serialVersionUID = 1L;
014    
015            /**
016             * Event type informing about newly connected webcam.
017             */
018            public static final int ADDED = 1;
019    
020            /**
021             * Event type informing about lately disconnected webcam.
022             */
023            public static final int REMOVED = 2;
024    
025            /**
026             * Event type (webcam connected / disconnected).
027             */
028            private int type = -1;
029    
030            /**
031             * Create new webcam discovery event.
032             * 
033             * @param webcam the webcam which has been found or removed
034             * @param type the event type
035             * @see #ADDED
036             * @see #REMOVED
037             */
038            public WebcamDiscoveryEvent(Webcam webcam, int type) {
039                    super(webcam);
040                    this.type = type;
041            }
042    
043            /**
044             * Return the webcam which has been found or removed.
045             * 
046             * @return Webcam instance
047             */
048            public Webcam getWebcam() {
049                    return (Webcam) getSource();
050            }
051    
052            /**
053             * Return event type (webcam connected / disconnected)
054             * 
055             * @return Integer value
056             * @see #ADDED
057             * @see #REMOVED
058             */
059            public int getType() {
060                    return type;
061            }
062    }