<commit_before>package org.osgi.service.usb;

/**
 * Represents a USB device. For each USB device, an object is registered with
 * the framework under the USBDevice interface. A USB base driver must implement
 * this interface.
 * 
 * The values of the USB property names are defined by the USB Implementers
 * Forum, Inc.
 * 
 * The package name is org.osgi.service.usb.
 * 
 */
public interface /* org.osgi.service.usb. */USBDevice {
	
	/**
	 * MANDATORY property key. Value is gUSBh.
	 * 
	 * Constant for the value of the service property DEVICE_CATEGORY used for
	 * all USB devices. A USB base driver bundle must set this property key.
	 * 
	 * See Also org.osgi.service.device.Constants.DEVICE_CATEGORY
	 */
	static final String DEVICE_CATEGORY = "USB";

	/**
	 * OPTIONAL Property key. The value is gUSBSerialh.
	 * 
	 * Constant for the value of the service property DEVICE_CATEGORY used for a
	 * USB device which has a serial communication function such as a USB
	 * dongle. Such a USB base driver bundle must set this property key and
	 * USB.device.comport property.
	 * 
	 * See Also org.osgi.service.device.Constants.DEVICE_CATEGORY
	 */
	static final String DEVICE_CATEGORY_USBSERIAL = "USBSerial";

	/**
	 * OPTIONAL Property key. The value is gMassStorageh.
	 * 
	 * Constant for the value of the service property DEVICE_CATEGORY used for a
	 * USB device which is a MassStorage Class in USB Specification such as a
	 * USB storage. Such a USB base driver bundle must set this property key and
	 * USB.device.mountpoint property.
	 * 
	 * See Also org.osgi.service.device.Constants.DEVICE_CATEGORY
	 */
	static final String DEVICE_CATEGORY_MASSSTORAGE = "MassStorage";

	/**
	 * MANDATORY property key. Value is "USB.device.bcdUSB".
	 * 
	 * The value is string of decimal number, 4-digits, converted from the
	 * 4-digit BCD format. Example: g0210h
	 * 
	 */
	static final String USB_RELEASE_NUMBER = "USB.device.bcdUSB";

	/**
	 * MANDATORY property key. Value is "USB.device.bDeviceClass".
	 * 
	 * The value is hexadecimal, 2-digits. Example: gffh
	 */
	static final String DEVICE_CLASS = "USB.device.bDeviceClass";

	/**
	 * MANDATORY property key. Value is "USB.device.bDeviceSubClass".
	 * 
	 * The value is hexadecimal, 2-digits. Example: gffh
	 */
	static final String DEVICE_SUBCLASS = "USB.device.bDeviceSubClass";

	/**
	 * MANDATORY property key. Value is "USB.device.bDeviceProtocol".
	 * 
	 * The value is hexadecimal, 2-digits. Example: gffh
	 */
	static final String DEVICE_PROTOCOL = "USB.device.bDeviceProtocol";

	/**
	 * MANDATORY property key. Value is "USB.device.idVendor".
	 * 
	 * The value is hexadecimal, 4-digits. Example: g0403h
	 */
	static final String VID = "USB.device.idVendor";

	/**
	 * MANDATORY property key. Value is "USB.device.idProduct".
	 * 
	 * The value is hexadecimal, 4-digits. ExampleF g8372h
	 */
	static final String PID = "USB.device.idProduct";

	/**
	 * MANDATORY property key. Value is "USB.device.bcdDevice".
	 * 
	 * The value is string of decimal number, 4-digits, converted from the
	 * 4-digit BCD format. ExampleF g0200h
	 */
	static final String RELEASE_NUMBER = "USB.device.bcdDevice";

	/**
	 * OPTIONAL Property key. Value is "iManufacturer".
	 * 
	 * The value is string of indicated in iManufacturer. (The value is not the
	 * index.) Example: gBuffalo Inc.h
	 */
	static final String MANUFACTURER = "USB.device.iManufacturer";

	/**
	 * OPTIONAL Property key. Value is "iProduct".
	 * 
	 * The value is string of indicated in iProduct. (The value is not the
	 * index.) ExampleF gUSB2.0 PC Camerah
	 */
	static final String PRODUCT = "USB.device.iProduct";

	/**
	 * OPTIONAL Property key. Value is "USB.device.iSerialNumber".
	 * 
	 * The value is string of indicated in iSerialNumber. (The value is not the
	 * index.) ExampleF g57B0002600000001h
	 */
	static final String SERIALNUMBER = "USB.device.iSerialNumber";

	/**
	 * MANDATORY property key. Value is "USB.device.interfaceclassess".
	 * 
	 * The property value is an array of String for each interfaces. Each String
	 * value is connected with "_" interface descriptor's bInterfaceClass,
	 * bInterfaceSubClass, and bInterface Protocol.
	 * 
	 * 
	 * If there is no subclass code associated with the class code, does not
	 * connect subclass code and protocol code. If there is no protocol code
	 * associated with the class code, the protocol code is not connected.
	 * 
	 * In addition, if the class code is vendor-specific class, does not connect
	 * subclass code and protocol code. Set only the class code.
	 * 
	 * Example: A example of a USB device that has 2 interfaces. The first class
	 * code is CDC, subclass code is ACM(without protocol code). The second
	 * class code is CDC-Data (no subclass code and protocol code).
	 * 
	 * Value: gCDC_ACMh, gCDC-Datah
	 * 
	 */
	static final String USB_CLASS = "USB.device.interfaceclassess";

	/**
	 * MANDATORY property key. Value is "USB.device.bus".
	 * 
	 * Used to identify USB devices with same VID / PID. The value is the string
	 * ID of the USB bus assigned when connecting the USB device. USB bus ID is
	 * Character digit 3 decimal (001-127).
	 * 
	 * The USB bus ID does not change while connecting the USB device.
	 * 
	 * Example: "003" (In the case of the USB bus is "3")
	 */
	static final String USB_BUS = "USB.device.bus";

	/**<commit_msg>Replace bizarre non-ASCII characters in javadoc<commit_after>package org.osgi.service.usb;

/**
 * Represents a USB device. For each USB device, an object is registered with
 * the framework under the USBDevice interface. A USB base driver must implement
 * this interface.
 * 
 * The values of the USB property names are defined by the USB Implementers
 * Forum, Inc.
 * 
 * The package name is org.osgi.service.usb.
 * 
 */
public interface /* org.osgi.service.usb. */USBDevice {
	
	/**
	 * MANDATORY property key. Value is "USB".
	 * 
	 * Constant for the value of the service property DEVICE_CATEGORY used for
	 * all USB devices. A USB base driver bundle must set this property key.
	 * 
	 * See Also org.osgi.service.device.Constants.DEVICE_CATEGORY
	 */
	static final String DEVICE_CATEGORY = "USB";

	/**
	 * OPTIONAL Property key. The value is "USBSerial".
	 * 
	 * Constant for the value of the service property DEVICE_CATEGORY used for a
	 * USB device which has a serial communication function such as a USB
	 * dongle. Such a USB base driver bundle must set this property key and
	 * USB.device.comport property.
	 * 
	 * See Also org.osgi.service.device.Constants.DEVICE_CATEGORY
	 */
	static final String DEVICE_CATEGORY_USBSERIAL = "USBSerial";

	/**
	 * OPTIONAL Property key. The value is "MassStorage".
	 * 
	 * Constant for the value of the service property DEVICE_CATEGORY used for a
	 * USB device which is a MassStorage Class in USB Specification such as a
	 * USB storage. Such a USB base driver bundle must set this property key and
	 * USB.device.mountpoint property.
	 * 
	 * See Also org.osgi.service.device.Constants.DEVICE_CATEGORY
	 */
	static final String DEVICE_CATEGORY_MASSSTORAGE = "MassStorage";

	/**
	 * MANDATORY property key. Value is "USB.device.bcdUSB".
	 * 
	 * The value is string of decimal number, 4-digits, converted from the
	 * 4-digit BCD format. Example: "0210"
	 * 
	 */
	static final String USB_RELEASE_NUMBER = "USB.device.bcdUSB";

	/**
	 * MANDATORY property key. Value is "USB.device.bDeviceClass".
	 * 
	 * The value is hexadecimal, 2-digits. Example: "ff"
	 */
	static final String DEVICE_CLASS = "USB.device.bDeviceClass";

	/**
	 * MANDATORY property key. Value is "USB.device.bDeviceSubClass".
	 * 
	 * The value is hexadecimal, 2-digits. Example: "ff"
	 */
	static final String DEVICE_SUBCLASS = "USB.device.bDeviceSubClass";

	/**
	 * MANDATORY property key. Value is "USB.device.bDeviceProtocol".
	 * 
	 * The value is hexadecimal, 2-digits. Example: "ff"
	 */
	static final String DEVICE_PROTOCOL = "USB.device.bDeviceProtocol";

	/**
	 * MANDATORY property key. Value is "USB.device.idVendor".
	 * 
	 * The value is hexadecimal, 4-digits. Example: "0403"
	 */
	static final String VID = "USB.device.idVendor";

	/**
	 * MANDATORY property key. Value is "USB.device.idProduct".
	 * 
	 * The value is hexadecimal, 4-digits. Example: "8372"
	 */
	static final String PID = "USB.device.idProduct";

	/**
	 * MANDATORY property key. Value is "USB.device.bcdDevice".
	 * 
	 * The value is string of decimal number, 4-digits, converted from the
	 * 4-digit BCD format. Example: "0200"
	 */
	static final String RELEASE_NUMBER = "USB.device.bcdDevice";

	/**
	 * OPTIONAL Property key. Value is "iManufacturer".
	 * 
	 * The value is string of indicated in iManufacturer. (The value is not the
	 * index.) Example: "Buffalo Inc."
	 */
	static final String MANUFACTURER = "USB.device.iManufacturer";

	/**
	 * OPTIONAL Property key. Value is "iProduct".
	 * 
	 * The value is string of indicated in iProduct. (The value is not the
	 * index.) Example: "USB2.0 PC Camera"
	 */
	static final String PRODUCT = "USB.device.iProduct";

	/**
	 * OPTIONAL Property key. Value is "USB.device.iSerialNumber".
	 * 
	 * The value is string of indicated in iSerialNumber. (The value is not the
	 * index.) Example: "57B0002600000001"
	 */
	static final String SERIALNUMBER = "USB.device.iSerialNumber";

	/**
	 * MANDATORY property key. Value is "USB.device.interfaceclassess".
	 * 
	 * The property value is an array of String for each interfaces. Each String
	 * value is connected with "_" interface descriptor's bInterfaceClass,
	 * bInterfaceSubClass, and bInterface Protocol.
	 * 
	 * 
	 * If there is no subclass code associated with the class code, does not
	 * connect subclass code and protocol code. If there is no protocol code
	 * associated with the class code, the protocol code is not connected.
	 * 
	 * In addition, if the class code is vendor-specific class, does not connect
	 * subclass code and protocol code. Set only the class code.
	 * 
	 * Example: A example of a USB device that has 2 interfaces. The first class
	 * code is CDC, subclass code is ACM(without protocol code). The second
	 * class code is CDC-Data (no subclass code and protocol code).
	 * 
	 * Value: "CDC_ACM", "CDC-Data"
	 * 
	 */
	static final String USB_CLASS = "USB.device.interfaceclassess";

	/**
	 * MANDATORY property key. Value is "USB.device.bus".
	 * 
	 * Used to identify USB devices with same VID / PID. The value is the string
	 * ID of the USB bus assigned when connecting the USB device. USB bus ID is
	 * Character digit 3 decimal (001-127).
	 * 
	 * The USB bus ID does not change while connecting the USB device.
	 * 
	 * Example: "003" (In the case of the USB bus is "3")
	 */
	static final String USB_BUS = "USB.device.bus";

	/**
{'fraction_non_alphanumeric': 0.092, 'fraction_numerical': 0.010046511627906977, 'mean_word_length': 3.2578217821782176, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 2, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5561734', 'n_tokens_mistral': 3555, 'n_tokens_neox': 3161, 'n_words': 1261}