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 PresServiceInfo implements Parcelable {
24cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
25cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** Presence Service Information
26cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     *  @hide
27cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
28cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
29cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** No media capability. */
30cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final int UCE_PRES_MEDIA_CAP_NONE = 0;
31cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** Full duplex audio only. */
32cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final int UCE_PRES_MEDIA_CAP_FULL_AUDIO_ONLY = 1;
33cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** Full duplex audio and video. */
34cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final int UCE_PRES_MEDIA_CAP_FULL_AUDIO_AND_VIDEO = 2;
35cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** Media cap is unknown. */
36cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final int UCE_PRES_MEDIA_CAP_UNKNOWN = 3;
37cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
38cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
39cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private int mMediaCap = UCE_PRES_MEDIA_CAP_NONE;
40cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private String mServiceID = "";
41cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private String mServiceDesc = "";
42cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private String mServiceVer = "";
43cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
44cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
45cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the media type.
46cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
47cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
48cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int getMediaType() {
49cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mMediaCap;
50cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
51cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
52cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
53cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the media type.
54cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
55cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
56cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setMediaType(int nMediaCap) {
57cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mMediaCap = nMediaCap;
58cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
59cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
60cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
61cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the service ID.
62cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
63cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
64cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public String getServiceId() {
65cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mServiceID;
66cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
67cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
68cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
69cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the service ID.
70cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
71cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
72cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setServiceId(String serviceID) {
73cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mServiceID = serviceID;
74cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
75cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
76cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the service description.
77cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
78cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
79cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public String getServiceDesc() {
80cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mServiceDesc;
81cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
82cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
83cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
84cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the service description.
85cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
86cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
87cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setServiceDesc(String serviceDesc) {
88cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mServiceDesc = serviceDesc;
89cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
90cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
91cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
92cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Gets the service version.
93cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
94cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
95cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public String getServiceVer() {
96cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return mServiceVer;
97cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
98cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
99cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
100cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Sets the service version.
101cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
102cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
103cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void setServiceVer(String serviceVer) {
104cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        this.mServiceVer = serviceVer;
105cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
106cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
107cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /**
108cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * Constructor for the PresServiceInfo class.
109cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     * @hide
110cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak     */
111cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public PresServiceInfo() {};
112cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
113cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
114cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
115cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public int describeContents() {
116cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        return 0;
117cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
118cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
119cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
120cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void writeToParcel(Parcel dest, int flags) {
121cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeString(mServiceID);
122cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeString(mServiceDesc);
123cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeString(mServiceVer);
124cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        dest.writeInt(mMediaCap);
125cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
126cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
127cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
128cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public static final Parcelable.Creator<PresServiceInfo> CREATOR =
129cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak                                new Parcelable.Creator<PresServiceInfo>() {
130cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
131cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public PresServiceInfo createFromParcel(Parcel source) {
132cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new PresServiceInfo(source);
133cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
134cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
135cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        public PresServiceInfo[] newArray(int size) {
136cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak            return new PresServiceInfo[size];
137cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        }
138cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    };
139cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
140cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
141cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    private PresServiceInfo(Parcel source) {
142cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        readFromParcel(source);
143cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
144cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak
145cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    /** @hide */
146cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    public void readFromParcel(Parcel source) {
147cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mServiceID = source.readString();
148cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mServiceDesc = source.readString();
149cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mServiceVer = source.readString();
150cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak        mMediaCap = source.readInt();
151cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak    }
152cfedd20d54687449bb6a6982085003cbf9a22bcbPavel Zhamaitsiak}