DeviceDescriptionURI.java :  » Media » jems » net » kodeninja » UPnP » internal » description » Java Open Source

Java Open Source » Media » jems 
jems » net » kodeninja » UPnP » internal » description » DeviceDescriptionURI.java
package net.kodeninja.UPnP.internal.description;

import net.kodeninja.UPnP.UPnP;
import net.kodeninja.UPnP.UPnPAdvertiseOperation;
import net.kodeninja.http.packet.HTTPBody;
import net.kodeninja.http.packet.HTTPHeader;
import net.kodeninja.http.packet.HTTPPacket;
import net.kodeninja.http.packet.HTTPResponseCode;
import net.kodeninja.http.packet.HTTPVersion;
import net.kodeninja.http.service.HTTPSocket;
import net.kodeninja.http.service.handlers.URIHandler;

public class DeviceDescriptionURI extends UPnPURIParser implements URIHandler {
  
  public DeviceDescriptionURI(UPnP host) {
    super(host);
  }

  public  HTTPPacket<? extends HTTPBody> process(HTTPSocket Socket,
      HTTPPacket<? extends HTTPBody> Packet) {
    
    if (parseURI(Packet.getHeader().getLocation().getPath()) == false)
      return null;

    if ((serviceId != null) || (uriAction.equals("description.xml") == false))
      return null;
      
    UPnPAdvertiseOperation advertiser = host.getAdvertisterByRootUUID(deviceId);
    if (advertiser == null)
      return null;

    HTTPHeader header = new HTTPHeader(HTTPVersion.HTTP1_1, HTTPResponseCode.HTTP_200_OK);
    HTTPPacket<HTTPBody> packet = new HTTPPacket<HTTPBody>(header, advertiser.getDeviceDescriptionBody());
    
    header.setParameter("Content-Language", "en");
    return packet;
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.