1238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde/* 2238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* Copyright (C) 2015 Samsung System LSI 3238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* Licensed under the Apache License, Version 2.0 (the "License"); 4238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* you may not use this file except in compliance with the License. 5238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* You may obtain a copy of the License at 6238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* 7238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* http://www.apache.org/licenses/LICENSE-2.0 8238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* 9238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* Unless required by applicable law or agreed to in writing, software 10238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* distributed under the License is distributed on an "AS IS" BASIS, 11238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* See the License for the specific language governing permissions and 13238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde* limitations under the License. 14238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde*/ 15238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 16238e0f934f1f47263b384bc745ae0678c777130dCasper Bondepackage android.bluetooth; 17238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 18238e0f934f1f47263b384bc745ae0678c777130dCasper Bondeimport android.os.Parcel; 19238e0f934f1f47263b384bc745ae0678c777130dCasper Bondeimport android.os.Parcelable; 20238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 21238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde/** @hide */ 22238e0f934f1f47263b384bc745ae0678c777130dCasper Bondepublic class SdpPseRecord implements Parcelable { 23238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde private final int mL2capPsm; 24238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde private final int mRfcommChannelNumber; 25238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde private final int mProfileVersion; 26238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde private final int mSupportedFeatures; 27238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde private final int mSupportedRepositories; 28238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde private final String mServiceName; 29238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 30238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public SdpPseRecord(int l2cap_psm, 31238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde int rfcomm_channel_number, 32238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde int profile_version, 33238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde int supported_features, 34238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde int supported_repositories, 35238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde String service_name){ 36238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mL2capPsm = l2cap_psm; 37238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mRfcommChannelNumber = rfcomm_channel_number; 38238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mProfileVersion = profile_version; 39238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mSupportedFeatures = supported_features; 40238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mSupportedRepositories = supported_repositories; 41238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mServiceName = service_name; 42238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 43238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 44238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public SdpPseRecord(Parcel in){ 45238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mRfcommChannelNumber = in.readInt(); 46238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mL2capPsm = in.readInt(); 47238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mProfileVersion = in.readInt(); 48238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mSupportedFeatures = in.readInt(); 49238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mSupportedRepositories = in.readInt(); 50238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde this.mServiceName = in.readString(); 51238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 52238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde @Override 53238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public int describeContents() { 54238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde // TODO Auto-generated method stub 55238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return 0; 56238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 57238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 58238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public int getL2capPsm() { 59238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return mL2capPsm; 60238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 61238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 62238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public int getRfcommChannelNumber() { 63238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return mRfcommChannelNumber; 64238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 65238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 66238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public int getSupportedFeatures() { 67238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return mSupportedFeatures; 68238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 69238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 70238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public String getServiceName() { 71238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return mServiceName; 72238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 73238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 74238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public int getProfileVersion() { 75238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return mProfileVersion; 76238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 77238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 78238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public int getSupportedRepositories() { 79238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return mSupportedRepositories; 80238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 81238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde @Override 82238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public void writeToParcel(Parcel dest, int flags) { 83238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde dest.writeInt(mRfcommChannelNumber); 84238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde dest.writeInt(mL2capPsm); 85238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde dest.writeInt(mProfileVersion); 86238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde dest.writeInt(mSupportedFeatures); 87238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde dest.writeInt(mSupportedRepositories); 88238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde dest.writeString(mServiceName); 89238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 90238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 91238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 92238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public String toString(){ 93238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde String ret = "Bluetooth MNS SDP Record:\n"; 94238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 95238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde if(mRfcommChannelNumber != -1){ 96238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde ret += "RFCOMM Chan Number: " + mRfcommChannelNumber + "\n"; 97238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 98238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde if(mL2capPsm != -1){ 99238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde ret += "L2CAP PSM: " + mL2capPsm + "\n"; 100238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 101238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde if(mProfileVersion != -1){ 102238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde ret += "profile version: " + mProfileVersion + "\n"; 103238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 104238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde if(mServiceName != null){ 105238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde ret += "Service Name: " + mServiceName + "\n"; 106238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 107238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde if(mSupportedFeatures != -1){ 108238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde ret += "Supported features: " + mSupportedFeatures + "\n"; 109238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 110238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde if(mSupportedRepositories != -1){ 111238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde ret += "Supported repositories: " + mSupportedRepositories + "\n"; 112238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 113238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 114238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return ret; 115238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 116238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde 117238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public static final Parcelable.Creator CREATOR = new Parcelable.Creator() { 118238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public SdpPseRecord createFromParcel(Parcel in) { 119238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return new SdpPseRecord(in); 120238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 121238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde public SdpPseRecord[] newArray(int size) { 122238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde return new SdpPseRecord[size]; 123238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde } 124238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde }; 125238e0f934f1f47263b384bc745ae0678c777130dCasper Bonde} 126