org.cybergarage.upnp.ssdp.SSDPResponse Maven / Gradle / Ivy
/******************************************************************
*
* CyberUPnP for Java
*
* Copyright (C) Satoshi Konno 2002
*
* File: SSDPResponse.java
*
* Revision;
*
* 01/14/03
* - first revision.
* 01/23/04
* - Oliver Newell
* - Overided HTTPResponse::getHeader() for Intel UPnP control points.
* 03/16/04
* - Thanks for Darrell Young
* - Fixed to set v1.1 to the HTTP version.
* 10/20/04
* - Brent Hills
* - Added setMYNAME() and getMYNAME().
*
******************************************************************/
package org.cybergarage.upnp.ssdp;
import java.io.InputStream;
import org.cybergarage.http.*;
public class SSDPResponse extends HTTPResponse
{
////////////////////////////////////////////////
// Constructor
////////////////////////////////////////////////
public SSDPResponse()
{
setVersion(HTTP.VERSION_11);
}
public SSDPResponse(InputStream in)
{
super(in);
}
////////////////////////////////////////////////
// ST (SearchTarget)
////////////////////////////////////////////////
public void setST(String value)
{
setHeader(HTTP.ST, value);
}
public String getST()
{
return getHeaderValue(HTTP.ST);
}
////////////////////////////////////////////////
// Location
////////////////////////////////////////////////
public void setLocation(String value)
{
setHeader(HTTP.LOCATION, value);
}
public String getLocation()
{
return getHeaderValue(HTTP.LOCATION);
}
////////////////////////////////////////////////
// USN
////////////////////////////////////////////////
public void setUSN(String value)
{
setHeader(HTTP.USN, value);
}
public String getUSN()
{
return getHeaderValue(HTTP.USN);
}
////////////////////////////////////////////////
// MYNAME
////////////////////////////////////////////////
public void setMYNAME(String value)
{
setHeader(HTTP.MYNAME, value);
}
public String getMYNAME()
{
return getHeaderValue(HTTP.MYNAME);
}
////////////////////////////////////////////////
// CacheControl
////////////////////////////////////////////////
public void setLeaseTime(int len)
{
setHeader(HTTP.CACHE_CONTROL, "max-age=" + Integer.toString(len));
}
public int getLeaseTime()
{
String cacheCtrl = getHeaderValue(HTTP.CACHE_CONTROL);
return SSDP.getLeaseTime(cacheCtrl);
}
////////////////////////////////////////////////
// BootId
////////////////////////////////////////////////
public void setBootId(int bootId)
{
setHeader(HTTP.BOOTID_UPNP_ORG, bootId);
}
public int getBootId()
{
return getIntegerHeaderValue(HTTP.BOOTID_UPNP_ORG);
}
////////////////////////////////////////////////
// getHeader (Override)
////////////////////////////////////////////////
public String getHeader()
{
StringBuffer str = new StringBuffer();
str.append(getStatusLineString());
str.append(getHeaderString());
str.append(HTTP.CRLF); // for Intel UPnP control points.
return str.toString();
}
}