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.presence;
18cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
19cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.os.Parcel;
20cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakimport android.os.Parcelable;
21cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
22cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak/** @hide  */
23cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiakpublic class PresSipResponse implements Parcelable {
24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private PresCmdId mCmdId = new PresCmdId();
26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private int mRequestId = 0;
27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private int mSipResponseCode = 0;
28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private int mRetryAfter = 0;
29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private String mReasonPhrase = "";
30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the Presence command ID.
33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public PresCmdId getCmdId() {
36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mCmdId;
37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the Presence command ID.
41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setCmdId(PresCmdId cmdId) {
44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mCmdId = cmdId;
45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the request ID.
49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int getRequestId() {
52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mRequestId;
53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the request ID.
57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setRequestId(int requestId) {
60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mRequestId = requestId;
61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the SIP response code.
65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int getSipResponseCode() {
68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mSipResponseCode;
69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the SIP response code.
73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setSipResponseCode(int sipResponseCode) {
76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mSipResponseCode = sipResponseCode;
77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the reason phrase associated with the SIP responce
82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * code.
83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public String getReasonPhrase() {
86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mReasonPhrase;
87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
88cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
89cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
90cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the SIP response code reason phrase.
91cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
92cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
93cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setReasonPhrase(String reasonPhrase) {
94cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mReasonPhrase = reasonPhrase;
95cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
96cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
97cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
98cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the SIP retryAfter sec value.
99cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
100cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
101cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int getRetryAfter() {
102cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mRetryAfter;
103cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
104cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
105cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
106cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the SIP retryAfter sec value
107cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
108cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
109cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setRetryAfter(int retryAfter) {
110cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mRetryAfter = retryAfter;
111cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
112cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
113cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
114cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Constructor for the PresSipResponse class.
115cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
116cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
117cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public PresSipResponse(){};
118cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
119cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
120cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int describeContents() {
121cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return 0;
122cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
123cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
124cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
125cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void writeToParcel(Parcel dest, int flags) {
126cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeInt(mRequestId);
127cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeInt(mSipResponseCode);
128cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeString(mReasonPhrase);
129cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeParcelable(mCmdId, flags);
130cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeInt(mRetryAfter);
131cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
132cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
133cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
134cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final Parcelable.Creator<PresSipResponse> CREATOR =
135cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak                            new Parcelable.Creator<PresSipResponse>() {
136cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
137cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public PresSipResponse createFromParcel(Parcel source) {
138cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new PresSipResponse(source);
139cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
140cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
141cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public PresSipResponse[] newArray(int size) {
142cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new PresSipResponse[size];
143cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
144cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    };
145cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
146cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
147cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private PresSipResponse(Parcel source) {
148cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        readFromParcel(source);
149cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
150cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
151cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
152cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void readFromParcel(Parcel source) {
153cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mRequestId = source.readInt();
154cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mSipResponseCode = source.readInt();
155cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mReasonPhrase = source.readString();
156cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mCmdId = source.readParcelable(PresCmdId.class.getClassLoader());
157cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mRetryAfter = source.readInt();
158cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
159cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}