1da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde/* 2da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * Copyright (C) 2015 The Android Open Source Project 3da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * 4da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * Licensed under the Apache License, Version 2.0 (the "License"); 5da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * you may not use this file except in compliance with the License. 6da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * You may obtain a copy of the License at 7da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * 8da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * http://www.apache.org/licenses/LICENSE-2.0 9da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * 10da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * Unless required by applicable law or agreed to in writing, software 11da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * distributed under the License is distributed on an "AS IS" BASIS, 12da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * See the License for the specific language governing permissions and 14da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde * limitations under the License. 15da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde */ 16da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 17da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bondepackage android.bluetooth; 18da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 19da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bondeimport android.os.Parcel; 20da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bondeimport android.os.Parcelable; 21da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 22da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde/** @hide */ 23da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bondepublic class SdpSapsRecord implements Parcelable { 24da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde private final int mRfcommChannelNumber; 25da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde private final int mProfileVersion; 26da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde private final String mServiceName; 27da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 28da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public SdpSapsRecord(int rfcomm_channel_number, 29da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde int profile_version, 30da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde String service_name) { 31da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde this.mRfcommChannelNumber = rfcomm_channel_number; 32da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde this.mProfileVersion = profile_version; 33da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde this.mServiceName = service_name; 34da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 35da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 36da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public SdpSapsRecord(Parcel in) { 37da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde this.mRfcommChannelNumber = in.readInt(); 38da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde this.mProfileVersion = in.readInt(); 39da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde this.mServiceName = in.readString(); 40da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 41da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 42da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde @Override 43da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public int describeContents() { 44da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde return 0; 45da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 46da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 47da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public int getRfcommCannelNumber() { 48da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde return mRfcommChannelNumber; 49da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 50da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 51da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public int getProfileVersion() { 52da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde return mProfileVersion; 53da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 54da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 55da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public String getServiceName() { 56da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde return mServiceName; 57da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 58da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 59da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde @Override 60da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public void writeToParcel(Parcel dest, int flags) { 61da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde dest.writeInt(this.mRfcommChannelNumber); 62da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde dest.writeInt(this.mProfileVersion); 63da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde dest.writeString(this.mServiceName); 64da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 65da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 66da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 67da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde @Override 68da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public String toString() { 69da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde String ret = "Bluetooth MAS SDP Record:\n"; 70da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 71da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde if (mRfcommChannelNumber != -1) { 72da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde ret += "RFCOMM Chan Number: " + mRfcommChannelNumber + "\n"; 73da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 74da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde if (mServiceName != null) { 75da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde ret += "Service Name: " + mServiceName + "\n"; 76da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 77da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde if (mProfileVersion != -1) { 78da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde ret += "Profile version: " + mProfileVersion + "\n"; 79da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 80da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde return ret; 81da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 82da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde 83da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { 84da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public SdpSapsRecord createFromParcel(Parcel in) { 85da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde return new SdpSapsRecord(in); 86da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 87da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde public SdpRecord[] newArray(int size) { 88da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde return new SdpRecord[size]; 89da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde } 90da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde }; 91da177bb5a0972fec1ecedcb7d9dbd969a1b09b25Casper Bonde} 92