/* * $Header: /cvshome/build/org.osgi.service.device/src/org/osgi/service/device/Device.java,v 1.9 2006/06/16 16:31:29 hargrave Exp $ * * Copyright (c) OSGi Alliance (2000, 2006). 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.device; /** *
* Interface for identifying device services. * *
* A service must implement this interface or use the
* {@link Constants#DEVICE_CATEGORY}registration property to indicate that it
* is a device. Any services implementing this interface or registered with the
* DEVICE_CATEGORY property will be discovered by the device manager.
*
*
* Device services implementing this interface give the device manager the
* opportunity to indicate to the device that no drivers were found that could
* (further) refine it. In this case, the device manager calls the
* {@link #noDriverFound}method on the Device object.
*
*
* Specialized device implementations will extend this interface by adding
* methods appropriate to their device category to it.
*
* @version $Revision: 1.9 $
* @see Driver
*/
public interface Device {
/**
* Return value from {@link Driver#match}indicating that the driver cannot
* refine the device presented to it by the device manager.
*
* The value is zero.
*/
public static final int MATCH_NONE = 0;
/**
* Indicates to this Device object that the device manager has
* failed to attach any drivers to it.
*
*
* If this Device object can be configured differently, the
* driver that registered this Device object may unregister it
* and register a different Device service instead.
*/
public void noDriverFound();
}