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

javax.bluetooth.DeviceClass Maven / Gradle / Ivy

/**
 *  BlueCove - Java library for Bluetooth
 *  Copyright (C) 2004 Intel Corporation
 * 
 *  This library is free software; you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public
 *  License as published by the Free Software Foundation; either
 *  version 2.1 of the License, or (at your option) any later version.
 *
 *  This library 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.  See the GNU
 *  Lesser General Public License for more details.
 *
 *  You should have received a copy of the GNU Lesser General Public
 *  License along with this library; if not, write to the Free Software
 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 *
 *
 * Java docs licensed under the Apache License, Version 2.0
 *  http://www.apache.org/licenses/LICENSE-2.0 
 *   (c) Copyright 2001, 2002 Motorola, Inc.  ALL RIGHTS RESERVED.
 *  
 *   
 *  @version $Id: DeviceClass.java 860 2007-07-31 20:15:58Z skarzhevskyy $
 */ 
package javax.bluetooth;

import com.intel.bluetooth.BluetoothConsts;
import com.intel.bluetooth.DebugLog;

/**
 * The DeviceClass class represents the class of device (CoD)
 * record as defined by the Bluetooth specification.  This record is defined in
 * the Bluetooth Assigned Numbers document
 * and contains information on the type of the device and the type of services
 * available on the device.
 * 

* The Bluetooth Assigned Numbers document * ( * http://www.bluetooth.org/assigned-numbers/baseband.htm) * defines the service class, major device class, and minor device class. The * table below provides some examples of possible return values and their * meaning: *

* * * * * * * * * * * * * * * * * *
MethodReturn ValueClass of Device
getServiceClasses()0x22000Networking and Limited Discoverable Major Service Classes
getServiceClasses()0x100000Object Transfer Major Service Class
getMajorDeviceClass()0x00Miscellaneous Major Device Class
getMajorDeviceClass()0x200Phone Major Device Class
getMinorDeviceClass()0x0CWith a Computer Major Device Class, * Laptop Minor Device Class
getMinorDeviceClass()0x04With a Phone Major Device Class, * Cellular Minor Device Class
* * @version 1.0 February 11, 2002 */ public class DeviceClass { private static final int SERVICE_MASK = 0xffe000; private static final int MAJOR_MASK = 0x001f00; private static final int MINOR_MASK = 0x0000fc; private int record; /** * Creates a DeviceClass from the class of device record * provided. record must follow the format of the * class of device record in the Bluetooth specification. * * @param record describes the classes of a device * * @exception IllegalArgumentException if record has any bits * between 24 and 31 set */ public DeviceClass(int record) { DebugLog.debug("new DeviceClass", record); this.record = record; if ((record & 0xff000000) != 0) throw new IllegalArgumentException(); } /** * Retrieves the major service classes. A device may have multiple major * service classes. When this occurs, the major service classes are * bitwise OR'ed together. * * @return the major service classes */ public int getServiceClasses() { return record & SERVICE_MASK; } /** * Retrieves the major device class. A device may have only a single major * device class. * * @return the major device class */ public int getMajorDeviceClass() { return record & MAJOR_MASK; } /** * Retrieves the minor device class. * * @return the minor device class */ public int getMinorDeviceClass() { return record & MINOR_MASK; } /** * @deprecated Use ((Object)deviceClass).toString() if you want your application to run in MDIP profile */ public String toString() { return BluetoothConsts.toString(this); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy