• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2 * Copyright (C) 2015 Samsung System LSI
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *      http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 package android.bluetooth;
16 
17 import android.os.Parcel;
18 import android.os.Parcelable;
19 
20 /** @hide */
21 public class SdpMasRecord implements Parcelable {
22     private final int mMasInstanceId;
23     private final int mL2capPsm;
24     private final int mRfcommChannelNumber;
25     private final int mProfileVersion;
26     private final int mSupportedFeatures;
27     private final int mSupportedMessageTypes;
28     private final String mServiceName;
29     public static final class MessageType {
30         public static final int EMAIL    = 0x01;
31         public static final int SMS_GSM  = 0x02;
32         public static final int SMS_CDMA = 0x04;
33         public static final int MMS      = 0x08;
34     }
35 
SdpMasRecord(int mas_instance_id, int l2cap_psm, int rfcomm_channel_number, int profile_version, int supported_features, int supported_message_types, String service_name)36     public SdpMasRecord(int mas_instance_id,
37                                  int l2cap_psm,
38                                  int rfcomm_channel_number,
39                                  int profile_version,
40                                  int supported_features,
41                                  int supported_message_types,
42                                  String service_name){
43         this.mMasInstanceId = mas_instance_id;
44         this.mL2capPsm = l2cap_psm;
45         this.mRfcommChannelNumber = rfcomm_channel_number;
46         this.mProfileVersion = profile_version;
47         this.mSupportedFeatures = supported_features;
48         this.mSupportedMessageTypes = supported_message_types;
49         this.mServiceName = service_name;
50     }
51 
SdpMasRecord(Parcel in)52     public SdpMasRecord(Parcel in){
53         this.mMasInstanceId = in.readInt();
54         this.mL2capPsm = in.readInt();
55         this.mRfcommChannelNumber = in.readInt();
56         this.mProfileVersion = in.readInt();
57         this.mSupportedFeatures = in.readInt();
58         this.mSupportedMessageTypes = in.readInt();
59         this.mServiceName = in.readString();
60     }
61     @Override
describeContents()62     public int describeContents() {
63         // TODO Auto-generated method stub
64         return 0;
65     }
66 
getMasInstanceId()67     public int getMasInstanceId() {
68         return mMasInstanceId;
69     }
70 
getL2capPsm()71     public int getL2capPsm() {
72         return mL2capPsm;
73     }
74 
getRfcommCannelNumber()75     public int getRfcommCannelNumber() {
76         return mRfcommChannelNumber;
77     }
78 
getProfileVersion()79     public int getProfileVersion() {
80         return mProfileVersion;
81     }
82 
getSupportedFeatures()83     public int getSupportedFeatures() {
84         return mSupportedFeatures;
85     }
86 
getSupportedMessageTypes()87     public int getSupportedMessageTypes() {
88         return mSupportedMessageTypes;
89     }
90 
msgSupported(int msg)91     public boolean msgSupported(int msg) {
92         return (mSupportedMessageTypes & msg) != 0;
93     }
94 
getServiceName()95     public String getServiceName() {
96         return mServiceName;
97     }
98 
99     @Override
writeToParcel(Parcel dest, int flags)100     public void writeToParcel(Parcel dest, int flags) {
101 
102         dest.writeInt(this.mMasInstanceId);
103         dest.writeInt(this.mL2capPsm);
104         dest.writeInt(this.mRfcommChannelNumber);
105         dest.writeInt(this.mProfileVersion);
106         dest.writeInt(this.mSupportedFeatures);
107         dest.writeInt(this.mSupportedMessageTypes);
108         dest.writeString(this.mServiceName);
109 
110     }
111     @Override
toString()112     public String toString(){
113         String ret = "Bluetooth MAS SDP Record:\n";
114 
115         if(mMasInstanceId != -1){
116             ret += "Mas Instance Id: " + mMasInstanceId + "\n";
117         }
118         if(mRfcommChannelNumber != -1){
119             ret += "RFCOMM Chan Number: " + mRfcommChannelNumber + "\n";
120         }
121         if(mL2capPsm != -1){
122             ret += "L2CAP PSM: " + mL2capPsm + "\n";
123         }
124         if(mServiceName != null){
125             ret += "Service Name: " + mServiceName + "\n";
126         }
127         if(mProfileVersion != -1){
128             ret += "Profile version: " + mProfileVersion + "\n";
129         }
130         if(mSupportedMessageTypes != -1){
131             ret += "Supported msg types: " + mSupportedMessageTypes + "\n";
132         }
133         if(mSupportedFeatures != -1){
134             ret += "Supported features: " + mSupportedFeatures + "\n";
135         }
136         return ret;
137     }
138 
139     public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
140         public SdpMasRecord createFromParcel(Parcel in) {
141             return new SdpMasRecord(in);
142         }
143         public SdpRecord[] newArray(int size) {
144             return new SdpRecord[size];
145         }
146     };
147 }
148