blob: 33d272581f4f95c770850b17c0364c89f5e21d75 [file] [log] [blame]
Chong Zhang1f3ecaa2013-05-03 15:55:36 -07001/*
2 * Copyright (C) 2012 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 android.hardware.display;
18
19import android.os.Parcel;
20import android.os.Parcelable;
21
22/**
23 * This class contains information regarding a wifi display session
24 * (such as session id, source ip address, etc.). This is needed for
25 * Wifi Display Certification process.
26 * <p>
27 * This object is immutable.
28 * </p>
29 *
30 * @hide
31 */
32public final class WifiDisplaySessionInfo implements Parcelable {
33 private final boolean mClient;
34 private final int mSessionId;
35 private final String mGroupId;
36 private final String mPassphrase;
37 private final String mIP;
38
39 public static final Creator<WifiDisplaySessionInfo> CREATOR =
40 new Creator<WifiDisplaySessionInfo>() {
41 @Override
42 public WifiDisplaySessionInfo createFromParcel(Parcel in) {
43 boolean client = (in.readInt() != 0);
44 int session = in.readInt();
45 String group = in.readString();
46 String pp = in.readString();
47 String ip = in.readString();
48
49 return new WifiDisplaySessionInfo(client, session, group, pp, ip);
50 }
51
52 @Override
53 public WifiDisplaySessionInfo[] newArray(int size) {
54 return new WifiDisplaySessionInfo[size];
55 }
56 };
57
58 public WifiDisplaySessionInfo() {
59 this(true, 0, "", "", "");
60 }
61
62 public WifiDisplaySessionInfo(
63 boolean client, int session, String group, String pp, String ip) {
64 mClient = client;
65 mSessionId = session;
66 mGroupId = group;
67 mPassphrase = pp;
68 mIP = ip;
69 }
70
71 public boolean isClient() {
72 return mClient;
73 }
74
75 public int getSessionId() {
76 return mSessionId;
77 }
78
79 public String getGroupId() {
80 return mGroupId;
81 }
82
83 public String getPassphrase() {
84 return mPassphrase;
85 }
86
87 public String getIP() {
88 return mIP;
89 }
90
91 @Override
92 public void writeToParcel(Parcel dest, int flags) {
93 dest.writeInt(mClient ? 1 : 0);
94 dest.writeInt(mSessionId);
95 dest.writeString(mGroupId);
96 dest.writeString(mPassphrase);
97 dest.writeString(mIP);
98 }
99
100 @Override
101 public int describeContents() {
102 return 0;
103 }
104
105 // For debugging purposes only.
106 @Override
107 public String toString() {
108 return "WifiDisplaySessionInfo:"
109 +"\n Client/Owner: " + (mClient ? "Client":"Owner")
110 +"\n GroupId: " + mGroupId
111 +"\n Passphrase: " + mPassphrase
112 +"\n SessionId: " + mSessionId
113 +"\n IP Address: " + mIP
114 ;
115 }
116}