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