/* * Copyright (C) 2013 4th Line GmbH, Switzerland * * The contents of this file are subject to the terms of either the GNU * Lesser General Public License Version 2 or later ("LGPL") or the * Common Development and Distribution License Version 1 or later * ("CDDL") (collectively, the "License"). You may not use this file * except in compliance with the License. See LICENSE.txt for more * information. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. */ package org.fourthline.cling.model.message.discovery; import org.fourthline.cling.model.message.IncomingDatagramMessage; import org.fourthline.cling.model.message.UpnpRequest; import org.fourthline.cling.model.message.header.MANHeader; import org.fourthline.cling.model.message.header.MXHeader; import org.fourthline.cling.model.message.header.UpnpHeader; import org.fourthline.cling.model.types.NotificationSubtype; /** * @author Christian Bauer */ public class IncomingSearchRequest extends IncomingDatagramMessage<UpnpRequest> { public IncomingSearchRequest(IncomingDatagramMessage<UpnpRequest> source) { super(source); } public UpnpHeader getSearchTarget() { return getHeaders().getFirstHeader(UpnpHeader.Type.ST); } public Integer getMX() { MXHeader header = getHeaders().getFirstHeader(UpnpHeader.Type.MX, MXHeader.class); if (header != null) { return header.getValue(); } return null; } /** * @return <code>true</code> if this message has a MAN with * value {@link org.fourthline.cling.model.types.NotificationSubtype#DISCOVER}. */ public boolean isMANSSDPDiscover() { MANHeader header = getHeaders().getFirstHeader(UpnpHeader.Type.MAN, MANHeader.class); return header != null && header.getValue().equals(NotificationSubtype.DISCOVER.getHeaderString()); } }