1 /*
2  * This source code has been contributed to the public domain by Mobicents
3  *
4  * This software is provided by NIST as a service and is expressly
5  * provided "AS IS."  NIST MAKES NO WARRANTY OF ANY KIND, EXPRESS, IMPLIED
6  * OR STATUTORY, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTY OF
7  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, NON-INFRINGEMENT
8  * AND DATA ACCURACY.  NIST does not warrant or make any representations
9  * regarding the use of the software or the results thereof, including but
10  * not limited to the correctness, accuracy, reliability or usefulness of
11  * the software.
12  *
13  * Permission to use this software is contingent upon your acceptance
14  * of the terms of this agreement.
15  */
16 package gov.nist.javax.sip;
17 
18 import java.util.EventObject;
19 
20 import javax.sip.Dialog;
21 
22 /**
23  *
24  * DialogAckTimeoutEvent is delivered to the Listener when the
25  * dialog does not receive or send an ACK.
26  *
27  *
28  * @author jean deruelle
29  * @since v2.0
30  *
31  */
32 public class DialogTimeoutEvent extends EventObject {
33 	private static final long serialVersionUID = -2514000059989311925L;
34 	public enum Reason {AckNotReceived, AckNotSent,ReInviteTimeout};
35 	/**
36      * Constructs a DialogTerminatedEvent to indicate a dialog
37      * timeout.
38      *
39      * @param source - the source of TimeoutEvent.
40      * @param dialog - the dialog that timed out.
41      */
DialogTimeoutEvent(Object source, Dialog dialog, Reason reason)42      public DialogTimeoutEvent(Object source, Dialog dialog, Reason reason) {
43          super(source);
44          m_dialog = dialog;
45          m_reason = reason;
46 
47     }
48 
49     /**
50      * Gets the Dialog associated with the event. This
51      * enables application developers to access the dialog associated to this
52      * event.
53      *
54      * @return the dialog associated with the response event or null if there is no dialog.
55      * @since v1.2
56      */
getDialog()57     public Dialog getDialog() {
58         return m_dialog;
59     }
60 
61     /**
62      * The reason for the Dialog Timeout Event being delivered to the application.
63      *
64      * @return the reason for the timeout event.
65      */
getReason()66     public Reason getReason() {
67     	return m_reason;
68     }
69 
70     // internal variables
71     private Dialog m_dialog = null;
72     private Reason m_reason = null;
73 }
74 
75