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 Zhamaitsiak
17cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakpackage com.android.ims.internal.uce.options;
18cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
19cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.common.StatusCode;
20cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport com.android.ims.internal.uce.common.CapInfo;
21cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
22cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.os.Parcel;
23cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.os.Parcelable;
24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/** @hide  */
26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakpublic class OptionsCmdStatus implements Parcelable {
27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private OptionsCmdId mCmdId;
29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private StatusCode mStatus;
30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private int mUserData;
31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private CapInfo mCapInfo;
32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the UCE command ID.
35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public OptionsCmdId getCmdId() {
38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mCmdId;
39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the command ID.
42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setCmdId(OptionsCmdId cmdId) {
45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mCmdId = cmdId;
46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the user data.
50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int getUserData() {
53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mUserData;
54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak       Sets the user data.
58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak       @hide  */
59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setUserData(int userData) {
60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mUserData = userData;
61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the status code.
65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public StatusCode getStatus() {
68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mStatus;
69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the status code.
73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setStatus(StatusCode status) {
76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mStatus = status;
77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Constructor for the OptionsCmdStatus class.
81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public OptionsCmdStatus() {
84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mStatus = new StatusCode();
85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mCapInfo = new CapInfo();
86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mCmdId = new OptionsCmdId();
87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mUserData = 0;
88cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    };
89cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
90cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
91cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public CapInfo getCapInfo() {
92cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mCapInfo;
93cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
94cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
95cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
96cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the CapInfo
97cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
98cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
99cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setCapInfo(CapInfo capInfo) {
100cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mCapInfo = capInfo;
101cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
102cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
103cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
104cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the instance of the OptionsCmdStatus class.
105cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
106cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
107cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static OptionsCmdStatus getOptionsCmdStatusInstance() {
108cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return new OptionsCmdStatus();
109cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
110cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
111cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
112cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int describeContents() {
113cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return 0;
114cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
115cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
116cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
117cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void writeToParcel(Parcel dest, int flags) {
118cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeInt(mUserData);
119cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeParcelable(mCmdId, flags);
120cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeParcelable(mStatus, flags);
121cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeParcelable(mCapInfo, flags);
122cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
123cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
124cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
125cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final Parcelable.Creator<OptionsCmdStatus> CREATOR =
126cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak                   new Parcelable.Creator<OptionsCmdStatus>() {
127cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public OptionsCmdStatus createFromParcel(Parcel source) {
128cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new OptionsCmdStatus(source);
129cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
130cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public OptionsCmdStatus[] newArray(int size) {
131cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new OptionsCmdStatus[size];
132cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
133cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    };
134cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
135cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
136cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private OptionsCmdStatus(Parcel source) {
137cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        readFromParcel(source);
138cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
139cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
140cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
141cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void readFromParcel(Parcel source) {
142cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mUserData = source.readInt();
143cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mCmdId = source.readParcelable(OptionsCmdId.class.getClassLoader());
144cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mStatus = source.readParcelable(StatusCode.class.getClassLoader());
145cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mCapInfo = source.readParcelable(CapInfo.class.getClassLoader());
146cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
147cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}