Update of /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26096/src/java/net/sf/asterisk/manager
Modified Files:
DefaultAsteriskManager.java
Log Message:
Added handling of NewCallerIdEvent
Index: DefaultAsteriskManager.java
===================================================================
RCS file: /cvsroot/asterisk-java/asterisk-java/src/java/net/sf/asterisk/manager/DefaultAsteriskManager.java,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -p -r1.18 -r1.19
--- DefaultAsteriskManager.java 15 Aug 2005 12:34:13 -0000 1.18
+++ DefaultAsteriskManager.java 15 Aug 2005 13:32:32 -0000 1.19
@@ -35,6 +35,7 @@ import net.sf.asterisk.manager.event.Dis
import net.sf.asterisk.manager.event.HangupEvent;
import net.sf.asterisk.manager.event.LinkEvent;
import net.sf.asterisk.manager.event.ManagerEvent;
+import net.sf.asterisk.manager.event.NewCallerIdEvent;
import net.sf.asterisk.manager.event.NewChannelEvent;
import net.sf.asterisk.manager.event.NewExtenEvent;
import net.sf.asterisk.manager.event.NewStateEvent;
@@ -394,6 +395,10 @@ public class DefaultAsteriskManager
{
handleNewStateEvent((NewStateEvent) event);
}
+ else if (event instanceof NewCallerIdEvent)
+ {
+ handleNewCallerIdEvent((NewCallerIdEvent) event);
+ }
else if (event instanceof LinkEvent)
{
handleLinkEvent((LinkEvent) event);
@@ -686,7 +691,28 @@ public class DefaultAsteriskManager
return;
}
- channel.setState(ChannelStateEnum.getEnum(event.getState()));
+ synchronized (channel)
+ {
+ channel.setState(ChannelStateEnum.getEnum(event.getState()));
+ }
+ }
+
+ protected void handleNewCallerIdEvent(NewCallerIdEvent event)
+ {
+ Channel channel = getChannelById(event.getUniqueId());
+
+ if (channel == null)
+ {
+ logger.error("Ignored NewCallerIdEvent for unknown channel "
+ + event.getChannel());
+ return;
+ }
+
+ synchronized (channel)
+ {
+ channel.setCallerId(event.getCallerId());
+ channel.setCallerIdName(event.getCallerIdName());
+ }
}
protected void handleHangupEvent(HangupEvent event)
|