/*
* Jicofo, the Jitsi Conference Focus.
*
* Distributable under LGPL license.
* See terms of license at gnu.org.
*/
package org.jitsi.impl.protocol.xmpp.extensions;
import org.jivesoftware.smack.packet.*;
import org.jivesoftware.smack.provider.*;
import org.xmlpull.v1.*;
/**
* @author George Politis
*/
public class UserAgentPacketExtension
implements PacketExtension
{
/**
* Name space of browser packet extension.
*/
public static final String NAMESPACE = "http://jitsi.org/jitmeet/user-agent";
/**
* XML element name of browser packet extension.
*/
public static final String ELEMENT_NAME = "user-agent";
/**
* The browser name.
*/
private String userAgent = null;
/**
* Ctor.
*
* @param userAgent
*/
public UserAgentPacketExtension(String userAgent)
{
this.userAgent = userAgent;
}
/**
* Gets the user agent.
*
* @return the user agent.
*/
public String getUserAgent()
{
return this.userAgent;
}
/**
* Sets the user agent.
*
* @param userAgent the user agent.
*/
public void setUserAgent(String userAgent)
{
this.userAgent = userAgent;
}
public String getElementName()
{
return ELEMENT_NAME;
}
public String getNamespace()
{
return NAMESPACE;
}
public String toXML()
{
return new StringBuilder()
.append("<").append(ELEMENT_NAME).append(" xmlns=\"")
.append(NAMESPACE)
.append("\">")
.append(this.getUserAgent())
.append("</")
.append(ELEMENT_NAME)
.append('>')
.toString();
}
public static class Provider implements PacketExtensionProvider
{
public PacketExtension parseExtension(XmlPullParser parser)
throws Exception
{
parser.next();
String userAgent = parser.getText();
while (parser.getEventType() != XmlPullParser.END_TAG)
{
parser.next();
}
return new UserAgentPacketExtension(userAgent);
}
}
}