PresRlmiInfo.java revision cfedd20d54687449bb6a6982085003cbf9a22bcb
1/*
2 * Copyright (c) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package com.android.ims.internal.uce.presence;
18
19import android.os.Parcel;
20import android.os.Parcelable;
21
22/** @hide  */
23public class PresRlmiInfo implements Parcelable {
24
25    /**
26     * uri corresponding to the list.  Typically, this is the URI to
27     * which the SUBSCRIBE request was sent.
28     */
29    private String mUri = "";
30    /** list version number from 0 to 2^32-1 */
31    private int mVersion;
32    /**
33     * Indicate whether the NOTIFY message contains information for
34     * every resource in the list
35     */
36    private boolean mFullState;
37    /** list name */
38    private String mListName = "";
39    /**
40     * unique request ID used to match NOTIFY with original list
41     * SUBSCRIBE
42     */
43    private int mRequestId;
44    /** subscription state*/
45    private PresSubscriptionState mPresSubscriptionState;
46    /** active subscription expires time in second */
47    private int mSubscriptionExpireTime;
48    /** list subscrption terminated reason */
49    private String mSubscriptionTerminatedReason;
50
51    /**
52     * Gets the URI.
53     * @hide
54     */
55    public String getUri() {
56        return mUri;
57    }
58
59    /**
60     * Sets the URI.
61     * @hide
62     */
63    public void setUri(String uri) {
64        this.mUri = uri;
65    }
66
67    /**
68     * Gets the version.
69     * @hide
70     */
71    public int getVersion() {
72        return mVersion;
73    }
74
75    /**
76     * Sets the version.
77     * @hide
78     */
79    public void setVersion(int version) {
80        this.mVersion = version;
81    }
82
83    /**
84     * Gets the RLMI state.
85     * @hide
86     */
87    public boolean isFullState() {
88        return mFullState;
89    }
90
91    /**
92     * Sets the RLMI state.
93     * @hide
94     */
95    public void setFullState(boolean fullState) {
96        this.mFullState = fullState;
97    }
98
99    /**
100     * Gets the RLMI list name.
101     * @hide
102     */
103    public String getListName() {
104        return mListName;
105    }
106
107    /**
108     * Sets the RLMI list name.
109     * @hide
110     */
111    public void setListName(String listName) {
112        this.mListName = listName;
113    }
114
115    /**
116     *  Gets the subscription request ID.
117     *  @hide
118     */
119    public int getRequestId() {
120        return mRequestId;
121    }
122
123    /**
124     * Sets the subscription request ID.
125     * @hide
126     */
127    public void setRequestId(int requestId) {
128        this.mRequestId = requestId;
129    }
130
131    /**
132     * Gets the presence subscription state.
133     * @hide
134     */
135    public PresSubscriptionState getPresSubscriptionState() {
136        return mPresSubscriptionState;
137    }
138
139    /**
140     * Sets the presence subscription state.
141     * @hide
142     */
143    public void setPresSubscriptionState(PresSubscriptionState presSubscriptionState) {
144        this.mPresSubscriptionState = presSubscriptionState;
145    }
146
147    /**
148     * Gets the presence subscription expiration time.
149     * @hide
150     */
151    public int getSubscriptionExpireTime() {
152        return mSubscriptionExpireTime;
153    }
154
155    /**
156     * Sets the presence subscription expiration time.
157     * @hide
158     */
159    public void setSubscriptionExpireTime(int subscriptionExpireTime) {
160        this.mSubscriptionExpireTime = subscriptionExpireTime;
161    }
162
163    /**
164     * Gets the presence subscription terminated reason.
165     * @hide
166     */
167    public String getSubscriptionTerminatedReason() {
168        return mSubscriptionTerminatedReason;
169    }
170
171    /**
172     * Sets the presence subscription terminated reason.
173     * @hide
174     */
175    public void setSubscriptionTerminatedReason(String subscriptionTerminatedReason) {
176        this.mSubscriptionTerminatedReason = subscriptionTerminatedReason;
177    }
178
179    /**
180     * Constructor for the PresTupleInfo class.
181     * @hide
182     */
183    public PresRlmiInfo(){};
184
185    /** @hide */
186    public int describeContents() {
187        return 0;
188    }
189
190    /** @hide */
191    public void writeToParcel(Parcel dest, int flags) {
192        dest.writeString(mUri);
193        dest.writeInt(mVersion);
194        dest.writeInt(mFullState ? 1 : 0);
195        dest.writeString(mListName);
196        dest.writeInt(mRequestId);
197        dest.writeParcelable(mPresSubscriptionState, flags);
198        dest.writeInt(mSubscriptionExpireTime);
199        dest.writeString(mSubscriptionTerminatedReason);
200    }
201
202    /** @hide */
203    public static final Parcelable.Creator<PresRlmiInfo> CREATOR =
204                                new Parcelable.Creator<PresRlmiInfo>() {
205
206        public PresRlmiInfo createFromParcel(Parcel source) {
207            return new PresRlmiInfo(source);
208        }
209
210        public PresRlmiInfo[] newArray(int size) {
211            return new PresRlmiInfo[size];
212        }
213    };
214
215    /** @hide */
216    private PresRlmiInfo(Parcel source) {
217        readFromParcel(source);
218    }
219
220    /** @hide */
221    public void readFromParcel(Parcel source) {
222        mUri = source.readString();
223        mVersion = source.readInt();
224        mFullState = (source.readInt() == 0) ? false : true;
225        mListName = source.readString();
226        mRequestId = source.readInt();
227        mPresSubscriptionState = source.readParcelable(
228                                  PresSubscriptionState.class.getClassLoader());
229        mSubscriptionExpireTime = source.readInt();
230        mSubscriptionTerminatedReason = source.readString();
231    }
232}