Class ContentNegotiator

    • Constructor Detail

      • ContentNegotiator

        public ContentNegotiator​(JingleSession session,
                                 java.lang.String inCreator,
                                 java.lang.String inName)
    • Method Detail

      • dispatchIncomingPacket

        public java.util.List<org.jivesoftware.smack.packet.IQ> dispatchIncomingPacket​(org.jivesoftware.smack.packet.IQ iq,
                                                                                       java.lang.String id)
                                                                                throws org.jivesoftware.smack.XMPPException,
                                                                                       org.jivesoftware.smack.SmackException,
                                                                                       java.lang.InterruptedException
        Description copied from class: JingleNegotiator
        Dispatch an incoming packet. The negotiators form a tree relationship that roughly matches the Jingle stanza format: JingleSession Content Negotiator Media Negotiator Transport Negotiator Content Negotiator Media Negotiator Transport Negotiator <jingle> <content> <description> <transport> <content> <description> <transport> This way, each segment of a Jingle stanza has a corresponding negotiator that know how to deal with that part of the Jingle packet. It also allows us to support Jingle packets of arbitraty complexity. Each parent calls dispatchIncomingPacket for each of its children. The children then pass back a List of results that will get sent when we reach the top level negotiator (JingleSession).
        Specified by:
        dispatchIncomingPacket in class JingleNegotiator
        Parameters:
        iq - the stanza received
        id - the ID of the response that will be sent
        Returns:
        the new stanza to send (either a Jingle or an IQ error).
        Throws:
        org.jivesoftware.smack.XMPPException - if an XMPP protocol error was received.
        org.jivesoftware.smack.SmackException - if Smack detected an exceptional situation.
        java.lang.InterruptedException - if the calling thread was interrupted.
      • getCreator

        public java.lang.String getCreator()
      • getName

        public java.lang.String getName()
      • getJingleMediaSession

        public JingleMediaSession getJingleMediaSession()
        Get the JingleMediaSession of this Jingle Session.
        Returns:
        the JingleMediaSession
      • addTransportNegotiator

        public void addTransportNegotiator​(TransportNegotiator transportNegotiator)
      • setJingleTransportManager

        public void setJingleTransportManager​(JingleTransportManager jingleTransportManager)
        Set jingle transport manager.
        Parameters:
        jingleTransportManager - TODO javadoc me please
      • getTransportManager

        public JingleTransportManager getTransportManager()
        Get jingle transport manager.
        Returns:
        the JingleTransportManager
      • doStart

        protected void doStart()
        Called from above when starting a new session.
        Specified by:
        doStart in class JingleNegotiator
      • close

        public void close()
        Prepare to close the media manager.
        Overrides:
        close in class JingleNegotiator
      • getMediaNegotiator

        public MediaNegotiator getMediaNegotiator()
        Obtain the description negotiator for this session.
        Returns:
        the description negotiator
      • setMediaNegotiator

        protected void setMediaNegotiator​(MediaNegotiator mediaNeg)
        Set the jmf negotiator.
        Parameters:
        mediaNeg - TODO javadoc me please the description negotiator to set
      • destroyMediaNegotiator

        protected void destroyMediaNegotiator()
        Destroy the jmf negotiator.
      • getTransportNegotiator

        public TransportNegotiator getTransportNegotiator()
        Obtain the transport negotiator for this session.
        Returns:
        the transport negotiator instance
      • setTransportNegotiator

        protected void setTransportNegotiator​(TransportNegotiator transNeg)
        Set TransportNegotiator
        Parameters:
        transNeg - TODO javadoc me please the transNeg to set
      • destroyTransportNegotiator

        protected void destroyTransportNegotiator()
        Destroy the transport negotiator.
      • isFullyEstablished

        public boolean isFullyEstablished()
        Return true if the transport and content negotiators have finished.
        Returns:
        true if fully established.
      • triggerContentEstablished

        public void triggerContentEstablished()
                                       throws org.jivesoftware.smack.SmackException.NotConnectedException,
                                              java.lang.InterruptedException
        Throws:
        org.jivesoftware.smack.SmackException.NotConnectedException
        java.lang.InterruptedException
      • stopJingleMediaSession

        public void stopJingleMediaSession()
        Stop a Jingle media session.