Home | History | Annotate | Download | only in telephony
      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 
     17 package android.telephony;
     18 
     19 import android.os.Parcel;
     20 import android.os.Parcelable;
     21 
     22 /**
     23  * Contains Carrier-specific (and opaque) Protocol configuration Option
     24  * Data.  In general this is only passed on to carrier-specific applications
     25  * for interpretation.
     26  *
     27  * @hide
     28  */
     29 public class PcoData implements Parcelable {
     30 
     31     public final int cid;
     32     public final String bearerProto;
     33     public final int pcoId;
     34     public final byte[] contents;
     35 
     36     public PcoData(int cid, String bearerProto, int pcoId, byte[]contents) {
     37         this.cid = cid;
     38         this.bearerProto = bearerProto;
     39         this.pcoId = pcoId;
     40         this.contents = contents;
     41     }
     42 
     43     public PcoData(Parcel in) {
     44         cid = in.readInt();
     45         bearerProto = in.readString();
     46         pcoId = in.readInt();
     47         contents = in.createByteArray();
     48     }
     49 
     50     /**
     51      * {@link Parcelable#writeToParcel}
     52      */
     53     public void writeToParcel(Parcel out, int flags) {
     54         out.writeInt(cid);
     55         out.writeString(bearerProto);
     56         out.writeInt(pcoId);
     57         out.writeByteArray(contents);
     58     }
     59 
     60     /**
     61      * {@link Parcelable#describeContents}
     62      */
     63     public int describeContents() {
     64         return 0;
     65     }
     66 
     67     /**
     68      * {@link Parcelable.Creator}
     69      *
     70      * @hide
     71      */
     72     public static final Parcelable.Creator<PcoData> CREATOR = new Parcelable.Creator() {
     73         public PcoData createFromParcel(Parcel in) {
     74             return new PcoData(in);
     75         }
     76 
     77         public PcoData[] newArray(int size) {
     78             return new PcoData[size];
     79         }
     80     };
     81 
     82     @Override
     83     public String toString() {
     84         return "PcoData(" + cid + ", " + bearerProto + ", " + pcoId + ", contents[" +
     85                 contents.length + "])";
     86     }
     87 }
     88