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

org.osgi.service.upnp.UPnPService Maven / Gradle / Ivy

/*
 * Copyright (c) OSGi Alliance (2002, 2008). All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.osgi.service.upnp;

/**
 * A representation of a UPnP Service.
 * 
 * Each UPnP device contains zero or more services. The UPnP description for a
 * service defines actions, their arguments, and event characteristics.
 * 
 * @version $Revision: 5673 $
 */
public interface UPnPService {
	/**
	 * Property key for the optional service type uri.
	 * 
	 * The service type property is used when registering UPnP Device services
	 * and UPnP Event Listener services. The property contains a String
	 * array (String[]) of service types. A UPnP Device service can
	 * thus announce what types of services it contains. A UPnP Event Listener
	 * service can announce for what type of UPnP services it wants
	 * notifications. The service version is encoded in the type string as
	 * specified in the UPnP specification. A null value is a
	 * wildcard, matching all  service types. Value is
	 * "UPnP.service.type".
	 * 
	 * @see UPnPService#getType()
	 */
	String	TYPE	= "UPnP.service.type";
	/**
	 * Property key for the optional service id.
	 * 
	 * The service id property is used when registering UPnP Device services or
	 * UPnP Event Listener services. The value of the property contains a
	 * String array (String[]) of service ids. A UPnP
	 * Device service can thus announce what service ids it contains. A UPnP
	 * Event Listener service can announce for what UPnP service ids it wants
	 * notifications. A service id does not  have to be universally
	 * unique. It must be unique only within a device. A null value
	 * is a wildcard, matching all  services. The value is
	 * "UPnP.service.id".
	 */
	String	ID		= "UPnP.service.id";

	/**
	 * Returns the serviceId field in the UPnP service description.
	 * 
	 * 
	 * 

* For standard services defined by a UPnP Forum working committee, the * serviceId must contain the following components in the indicated order: *

    *
  • urn:upnp-org:serviceId:
  • *
  • service ID suffix
  • *
* Example: urn:upnp-org:serviceId:serviceID. * *

* Note that upnp-org is used instead of * schemas-upnp-org in this example because an XML schema is not * defined for each serviceId. *

* *

* For non-standard services specified by UPnP vendors, the serviceId must * contain the following components in the indicated order: *

    *
  • urn:
  • *
  • ICANN domain name owned by the vendor
  • *
  • :serviceId:
  • *
  • service ID suffix
  • *
* Example: urn:domain-name:serviceId:serviceID. * * @return The service ID suffix defined by a UPnP Forum working committee * or specified by a UPnP vendor. Must be <= 64 characters. * Single URI. */ String getId(); /** * Returns the serviceType field in the UPnP service description. * *

* For standard services defined by a UPnP Forum working committee, the * serviceType must contain the following components in the indicated order: *

    *
  • urn:schemas-upnp-org:service:
  • *
  • service type suffix:
  • *
  • integer service version
  • *
* Example: urn:schemas-upnp-org:service:serviceType:v. * *

* For non-standard services specified by UPnP vendors, the * serviceType must contain the following components in the * indicated order: *

    *
  • urn:
  • *
  • ICANN domain name owned by the vendor
  • *
  • :service:
  • *
  • service type suffix:
  • *
  • integer service version
  • *
* Example: urn:domain-name:service:serviceType:v. * * @return The service type suffix defined by a UPnP Forum working committee * or specified by a UPnP vendor. Must be <= 64 characters, not * including the version suffix and separating colon. Single URI. */ String getType(); /** * Returns the version suffix encoded in the serviceType field in * the UPnP service description. * * @return The integer service version defined by a UPnP Forum working * committee or specified by a UPnP vendor. */ String getVersion(); /** * Locates a specific action by name. * * Looks up an action by its name. * * @param name Name of action. Must not contain hyphen or hash characters. * Should be < 32 characters. * * @return The requested action or null if no action is found. */ UPnPAction getAction(String name); /** * Lists all actions provided by this service. * * @return Array of actions (UPnPAction[] )or null if * no actions are defined for this service. */ UPnPAction[] getActions(); /** * Lists all UPnPStateVariable objects provided by this service. * * @return Array of state variables or null if none are defined * for this service. */ UPnPStateVariable[] getStateVariables(); /** * Gets a UPnPStateVariable objects provided by this service by * name * * @param name Name of the State Variable * * @return State variable or null if no such state variable * exists for this service. */ UPnPStateVariable getStateVariable(String name); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy