1cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/*
2cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Copyright (c) 2016 The Android Open Source Project
3cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak *
4cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Licensed under the Apache License, Version 2.0 (the "License");
5cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * you may not use this file except in compliance with the License.
6cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * You may obtain a copy of the License at
7cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak *
8cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak *      http://www.apache.org/licenses/LICENSE-2.0
9cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak *
10cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * Unless required by applicable law or agreed to in writing, software
11cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * distributed under the License is distributed on an "AS IS" BASIS,
12cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * See the License for the specific language governing permissions and
14cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak * limitations under the License.
15cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak */
16cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakpackage com.android.ims.internal.uce.options;
17cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
18cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.common.CapInfo;
19cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.os.Parcel;
20cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.os.Parcelable;
21cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.util.Log;
22cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
23cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/** @hide  */
24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakpublic class OptionsCapInfo implements Parcelable {
25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private String mSdp = "";  //  SDP message body. It is client responsibility.
27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private CapInfo mCapInfo;
28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static OptionsCapInfo getOptionsCapInfoInstance() {
30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return new OptionsCapInfo();
31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public String getSdp() {
34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mSdp;
35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setSdp(String sdp) {
38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mSdp = sdp;
39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Constructor for the OptionsCapInfo class.
43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public OptionsCapInfo() {
45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mCapInfo = new CapInfo();
46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    };
47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public CapInfo getCapInfo() {
49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mCapInfo;
50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the CapInfo
53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setCapInfo(CapInfo capInfo) {
55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mCapInfo = capInfo;
56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int describeContents() {
59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return 0;
60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void writeToParcel(Parcel dest, int flags) {
63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeString(mSdp);
64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeParcelable(mCapInfo, flags);
65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final Parcelable.Creator<OptionsCapInfo> CREATOR =
68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak                                new Parcelable.Creator<OptionsCapInfo>() {
69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public OptionsCapInfo createFromParcel(Parcel source) {
71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new OptionsCapInfo(source);
72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public OptionsCapInfo[] newArray(int size) {
75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new OptionsCapInfo[size];
76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    };
78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private OptionsCapInfo(Parcel source) {
80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        readFromParcel(source);
81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void readFromParcel(Parcel source) {
84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mSdp = source.readString();
85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mCapInfo = source.readParcelable(CapInfo.class.getClassLoader());
86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}