@Override public <T extends EventListener> void addListener(T t) { if (!isStarting()) throw new IllegalStateException(); if (!_enabled) throw new UnsupportedOperationException(); super.addListener(t); ListenerHolder holder = getServletHandler().newListenerHolder(Source.JAVAX_API); holder.setListener(t); getServletHandler().addListener(holder); }
@Override public IGPIOPinInputListener addingService(ServiceReference<IGPIOPinInputListener> reference) { // get service IGPIOPinInputListener gPIOInputListener = context.getService(reference); if (gPIOInputListener == null) return null; // Get pinId Integer pinId = IGPIOPin.Util.getPinId(reference); if (pinId == null) pinId = new Integer(IGPIOPin.DEFAULT_INPUT_PIN); Pin pin = Pi4jGPIOPin.getPinForId(pinId.intValue()); if (pin != null) { // Get pinName String pinName = IGPIOPin.Util.getPinName(reference); if (pinName == null) pinName = String.valueOf(pinId); // Get pullresistance Integer pullResistance = IGPIOPin.Util.getInputPullResistance(reference); // If it's not set, set to PUL if (pullResistance == null) pullResistance = new Integer(IGPIOPin.PIN_DEFAULTINPUTPULLRESISTANCE); PinPullResistance pr = Pi4jGPIOPin.getPinPullResistance(pullResistance.intValue()); if (pr == null) pr = PinPullResistance.PULL_DOWN; // Get controller GPIO synchronized (refToListenerMap) { // Find reference ListenerHolder listenerHolder = refToListenerMap.get(reference); GpioPinDigitalInput inputListener = null; // We've not seen this request before if (listenerHolder == null) { inputListener = Activator.getGPIOController().provisionDigitalInputPin(pin, pinName, pr); listenerHolder = new ListenerHolder(inputListener); } else // We've seen it before so we use the old inputListener inputListener = listenerHolder.inputListener; // create new Pi4jGPIOPinInputListener Pi4jGPIOPinInputListener listener = new Pi4jGPIOPinInputListener(inputListener, gPIOInputListener); // set on the listener holder listenerHolder.setListener(listener); // put into map refToListenerMap.put(reference, listenerHolder); } } else { System.err.println( "adding IGPIOPinInputListener service...pinId is not available for pinId=" + pinId); } return gPIOInputListener; }
/** * Finish constructing handlers and link them together. * * @see org.eclipse.jetty.server.handler.ContextHandler#startContext() */ @Override protected void startContext() throws Exception { ServletContainerInitializerCaller sciBean = getBean(ServletContainerInitializerCaller.class); if (sciBean != null) sciBean.start(); if (_servletHandler != null) { // Call decorators on all holders, and also on any EventListeners before // decorators are called on any other classes (like servlets and filters) if (_servletHandler.getListeners() != null) { for (ListenerHolder holder : _servletHandler.getListeners()) { _objFactory.decorate(holder.getListener()); } } } super.startContext(); // OK to Initialize servlet handler now that all relevant object trees have been started if (_servletHandler != null) _servletHandler.initialize(); }
private void doCancel(final Dialog dialog) { assert TransactionUtils.isTransactionExecutionThread() : "Code run in wrong thread. Must be run in TransactionThread. Now in " + Thread.currentThread(); assert !done.get(); final InviteClntTransaction transaction = getTransactionManager().findTransaction(dialog, SIP_INVITE_CLIENT); final DialogStateEvent<BaseSipMessage> stateEvent = new DefaultDialogStateEvent<BaseSipMessage>(dialog, SessionState.SESSION_TERMINATED, null); dialogStateListenerHolder.getNotifier().onSessionTerminated(stateEvent); // dialogStateListenerHolder.getNotifier().onSessionEnded(stateEvent); // DIALOG.putCustomParameter(ParamKey.INITIAL_MESSAGE, ((Transaction) // transaction).getInitialMessage()); if (transaction != null) { transaction.cancel(); } }
public void handleIncomingCancel(Request msg) throws DialogStateException { assert !done.get(); assert msg != null && MessageType.SIP_CANCEL == MessageType.parse(msg.getMethod()); if (!done.get()) { Logger.log("Remote party has sent SIP_CANCEL"); final Dialog dialog = getStackContext().getDialogStorage().findDialogForMessage(msg); if (dialog != null) { dialog.getMessageHistory().addMessage(msg, true); final InviteSrvTransaction transaction = getTransactionManager().findTransaction(dialog, SIP_INVITE_SERVER); if (transaction != null) { final DialogStateEvent<BaseSipMessage> stateEvent = new DefaultDialogStateEvent<BaseSipMessage>( dialog, SessionState.SESSION_TERMINATED, msg); dialogStateListenerHolder.getNotifier().onSessionTerminated(stateEvent); dialogStateListenerHolder.getNotifier().onSessionEnded(stateEvent); // DIALOG.putCustomParameter(ParamKey.INITIAL_MESSAGE, ((Transaction) // transaction).getInitialMessage()); transaction.cancel(); } else { // assert false : "Transaction already terminated for msg: " + msg.shortDescription() + " // dialog: " + dialog; throw new DialogStateException( dialog, DialogStateException.Error.REQUEST_FOR_UNKNOWN_DIALOG, msg); } } else { // assert false : "Dialog is already terminated or never exist. Message :" + // msg.shortDescription(); throw new DialogStateException( dialog, DialogStateException.Error.REQUEST_FOR_UNKNOWN_DIALOG, msg); } } }
public void removeIncomingCallListener(final IncomingCallListener listener) { incomingCallListenerHolder.removeListener(listener); }
public void addIncomingCallListener( ClientIdentity identity, SDPType type, IncomingCallListener listener) { incomingCallListenerHolder.addListener(listener, identity, type); }
public void addIncomingCallListener( ClientIdentity clientIdentity, IncomingCallListener listener) { incomingCallListenerHolder.addListener(listener, clientIdentity); }
public void addIncomingCallListener(SDPType sdpType, final IncomingCallListener listener) { incomingCallListenerHolder.addListener(listener, sdpType); }
public void addIncomingCallListener(final IncomingCallListener listener) { incomingCallListenerHolder.addListener(listener); }
public void removeDialogStateListener(final DialogStateListener<BaseSipMessage> listener) { dialogStateListenerHolder.removeListener(listener); }
public void addDialogStateListener( final Dialog dialog, final DialogStateListener<BaseSipMessage> listener) { dialogStateListenerHolder.addListener(listener, dialog); }