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.common; 18 19import android.os.Parcel; 20import android.os.Parcelable; 21import android.util.Log; 22 23 24/** Class for UCE status codes. 25 * @hide */ 26public class StatusCode implements Parcelable { 27 28 /** 29 * UCE status code definitions. 30 * @hide 31 */ 32 33 /** Request was processed successfully. */ 34 public static final int UCE_SUCCESS = 0; 35 /** Request was processed unsuccessfully. */ 36 public static final int UCE_FAILURE = 1; 37 /** Asynchronous request was handled successfully; the final 38 * result will be updated through 39 * callback. 40 */ 41 public static final int UCE_SUCCESS_ASYC_UPDATE = 2; 42 /** Provided service handle is not valid. */ 43 public static final int UCE_INVALID_SERVICE_HANDLE = 3; 44 /** Provided listener handler is not valid. */ 45 public static final int UCE_INVALID_LISTENER_HANDLE = 4; 46 /** Invalid parameter(s). */ 47 public static final int UCE_INVALID_PARAM = 5; 48 /** Fetch error. */ 49 public static final int UCE_FETCH_ERROR = 6; 50 /** Request timed out. */ 51 public static final int UCE_REQUEST_TIMEOUT = 7; 52 /** Failure due to insufficient memory available. */ 53 public static final int UCE_INSUFFICIENT_MEMORY = 8; 54 /** Network connection is lost. */ 55 public static final int UCE_LOST_NET = 9; 56 /** Requested feature/resource is not supported. */ 57 public static final int UCE_NOT_SUPPORTED = 10; 58 /** Contact or resource is not found. */ 59 public static final int UCE_NOT_FOUND = 11; 60 /** Service is not available. */ 61 public static final int UCE_SERVICE_UNAVAILABLE = 12; 62 /** No Change in Capabilities */ 63 public static final int UCE_NO_CHANGE_IN_CAP = 13; 64 /** Service is unknown. */ 65 public static final int UCE_SERVICE_UNKNOWN = 14; 66 67 68 private int mStatusCode = UCE_SUCCESS; 69 70 /** 71 * Constructor for the StatusCode class. 72 * @hide 73 */ 74 public StatusCode() {} 75 76 /** 77 * Gets the status code. 78 * @hide 79 */ 80 public int getStatusCode() { 81 return mStatusCode; 82 } 83 84 /** 85 * Sets the status code. 86 * @hide 87 */ 88 public void setStatusCode(int nStatusCode) { 89 this.mStatusCode = nStatusCode; 90 } 91 92 /** @hide */ 93 public int describeContents() { 94 // TODO Auto-generated method stub 95 return 0; 96 } 97 98 /** @hide */ 99 public void writeToParcel(Parcel dest, int flags) { 100 dest.writeInt(mStatusCode); 101 } 102 103 /** @hide */ 104 public static final Parcelable.Creator<StatusCode> CREATOR = 105 new Parcelable.Creator<StatusCode>() { 106 107 public StatusCode createFromParcel(Parcel source) { 108 // TODO Auto-generated method stub 109 return new StatusCode(source); 110 } 111 112 public StatusCode[] newArray(int size) { 113 // TODO Auto-generated method stub 114 return new StatusCode[size]; 115 } 116 }; 117 118 /** @hide */ 119 private StatusCode(Parcel source) { 120 readFromParcel(source); 121 } 122 123 /** @hide */ 124 public void readFromParcel(Parcel source) { 125 mStatusCode = source.readInt(); 126 } 127} 128