Enables initial jingle parsing

cusax-fix
Emil Ivov 16 years ago
parent e25112eb6a
commit e2f92e9dfb

@ -83,22 +83,6 @@ public void registrationStateChanged(RegistrationStateChangeEvent evt)
JingleIQ.NAMESPACE,
new JingleIQProvider());
//<description/> provider
providerManager.addExtensionProvider(
RtpDescriptionPacketExtension.ELEMENT_NAME,
RtpDescriptionPacketExtension.NAMESPACE,
new DefaultPacketExtensionProvider
<RtpDescriptionPacketExtension>(
RtpDescriptionPacketExtension.class));
//<payload-type/> provider
providerManager.addExtensionProvider(
PayloadTypePacketExtension.ELEMENT_NAME,
RtpDescriptionPacketExtension.NAMESPACE,
new DefaultPacketExtensionProvider
<PayloadTypePacketExtension>(
PayloadTypePacketExtension.class));
subscribeForJinglePackets();
if (logger.isInfoEnabled())

@ -102,7 +102,7 @@ public String toXML()
//add the rest of the attributes if any
for(Map.Entry<String, Object> entry : attributes.entrySet())
{
bldr.append(" " + entry.getKey() + "=" + entry.getValue());
bldr.append(" " + entry.getKey() + "='" + entry.getValue() + "'");
}
//add child elements if any
@ -115,6 +115,7 @@ public String toXML()
}
else
{
bldr.append(">");
for(PacketExtension packExt : childElements)
{
bldr.append(packExt.toXML());

@ -101,9 +101,9 @@ public C parseExtension(XmlPullParser parser) throws Exception
= provider.parseExtension(parser);
packetExtension.addChildExtension(childExtension);
}
else if (eventType == XmlPullParser.END_TAG)
if (eventType == XmlPullParser.END_TAG)
{
if (parser.getName().equals(JingleIQ.ELEMENT_NAME))
if (parser.getName().equals(packetExtension.getElementName()))
{
done = true;
}

@ -89,7 +89,15 @@ public static enum SendersEnum
};
/**
* Creates a new <tt>ContentPacketExtension</tt> instance with only required
* Creates a new <tt>ContentPacketExtension</tt>.
*/
public ContentPacketExtension()
{
super(null, ELEMENT_NAME);
}
/**
* Creates a new <tt>ContentPacketExtension</tt>. instance with only required
* parameters.
*
* @param creator indicates which party originally generated the content

@ -5,7 +5,9 @@
* See terms of license at gnu.org.
*/
package net.java.sip.communicator.impl.protocol.jabber.extensions.jingle;
import net.java.sip.communicator.util.*;
import java.util.logging.*;
import net.java.sip.communicator.impl.protocol.jabber.extensions.*;
import org.jivesoftware.smack.provider.*;
import org.xmlpull.v1.XmlPullParser;
@ -25,6 +27,39 @@ public class JingleIQProvider implements IQProvider
private static final Logger logger = Logger
.getLogger(JingleIQProvider.class.getName());
/**
* Creates a new instance of the <tt>JingleIQProvider</tt> and register all
* jingle related extension providers. It is the responsibility of the
* application to register the <tt>JingleIQProvider</tt> itself.
*/
public JingleIQProvider()
{
ProviderManager providerManager = ProviderManager.getInstance();
//<description/> provider
providerManager.addExtensionProvider(
RtpDescriptionPacketExtension.ELEMENT_NAME,
RtpDescriptionPacketExtension.NAMESPACE,
new DefaultPacketExtensionProvider
<RtpDescriptionPacketExtension>(
RtpDescriptionPacketExtension.class));
//<payload-type/> provider
providerManager.addExtensionProvider(
PayloadTypePacketExtension.ELEMENT_NAME,
RtpDescriptionPacketExtension.NAMESPACE,
new DefaultPacketExtensionProvider
<PayloadTypePacketExtension>(
PayloadTypePacketExtension.class));
//<parameter/> provider
providerManager.addExtensionProvider(
ParameterPacketExtension.ELEMENT_NAME,
RtpDescriptionPacketExtension.NAMESPACE,
new DefaultPacketExtensionProvider
<ParameterPacketExtension>(ParameterPacketExtension.class));
}
/**
* Parses a Jingle IQ sub-document and returns a {@link JingleIQ} instance.
*
@ -57,7 +92,9 @@ public JingleIQ parseIQ(XmlPullParser parser)
boolean done = false;
// Sub-elements providers
ContentProvider contentProvider = new ContentProvider();
DefaultPacketExtensionProvider<ContentPacketExtension> contentProvider
= new DefaultPacketExtensionProvider
<ContentPacketExtension>(ContentPacketExtension.class);
ReasonProvider reasonProvider = new ReasonProvider();
// Now go on and parse the jingle element's content.

@ -73,7 +73,7 @@ else if (elementName.equals(
}
else if (eventType == XmlPullParser.END_TAG)
{
if (parser.getName().equals(Jingle.getElementName()))
if (parser.getName().equals(JingleIQ.ELEMENT_NAME))
{
done = true;
}

Loading…
Cancel
Save