001package com.github.sarxos.webcam;
002
003import 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 */
011public 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}