All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.ocap.hn.upnp.common.UPnPService Maven / Gradle / Ivy

package org.ocap.hn.upnp.common;


/**
 * This interface is an abstract representation of a UPnP service.
 * It provides the data constituting a UPnP service that is
 * independent of the network interface on which it has been advertised.
 */
public interface UPnPService {

    /**
     * Gets the named action from this service.
     *
     * @param actionName The name of the UPnPAction to retrieve.
     *
     * @return The UPnPAction object from this service with the
     * matched name.
     *
     * @throws IllegalArgumentException if the
     * actionName does not match an action
     * name in this service.
     */
    UPnPAction getAction(String actionName);

    /**
     * Gets the actions that can be used with this service.
     *
     * @return An array of UPnPActions. If the service
     * has no actions, returns an zero-length array.
     */
    UPnPAction[] getActions();

    /**
     * Gets the UPnP serviceId of this service. This value is taken
     * from the value of the {@code serviceId} element within the device
     * description.
     *
     * @return The serviceId of this service.
     */
    String getServiceId();

    /**
     * Gets the UPnP serviceType of this service. This value is
     * taken from the value of the {@code serviceType} element within the
     * device description.
     *
     * @return The type of this service.
     */
    String getServiceType();

    /**
     * Gets the UPnP specVersion major and minor values of this
     * service. This value is taken from the value of the major
     * and minor sub-elements of the {@code specVersion} element within the
     * service description.
     * The format of the returned String is the <major>
     * value, followed by '.', followed by the <minor> value.
     *
     * @return The UPnP specVersion of this service.
     */
    String getSpecVersion();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy