1 /*
2  * Copyright (C) 2010 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 com.android.internal.telephony;
18 
19 import android.compat.annotation.UnsupportedAppUsage;
20 
21 public class UUSInfo {
22 
23     /*
24      * User-to-User signaling Info activation types derived from 3GPP 23.087
25      * v8.0
26      */
27 
28     public static final int UUS_TYPE1_IMPLICIT = 0;
29 
30     public static final int UUS_TYPE1_REQUIRED = 1;
31 
32     public static final int UUS_TYPE1_NOT_REQUIRED = 2;
33 
34     public static final int UUS_TYPE2_REQUIRED = 3;
35 
36     public static final int UUS_TYPE2_NOT_REQUIRED = 4;
37 
38     public static final int UUS_TYPE3_REQUIRED = 5;
39 
40     public static final int UUS_TYPE3_NOT_REQUIRED = 6;
41 
42     /*
43      * User-to-User Signaling Information data coding schemes. Possible values
44      * for Octet 3 (Protocol Discriminator field) in the UUIE. The values have
45      * been specified in section 10.5.4.25 of 3GPP TS 24.008
46      */
47 
48     public static final int UUS_DCS_USP = 0; /* User specified protocol */
49 
50     public static final int UUS_DCS_OSIHLP = 1; /* OSI higher layer protocol */
51 
52     public static final int UUS_DCS_X244 = 2; /* X.244 */
53 
54     public static final int UUS_DCS_RMCF = 3; /*
55                                                * Reserved for system management
56                                                * convergence function
57                                                */
58 
59     public static final int UUS_DCS_IA5c = 4; /* IA5 characters */
60 
61     private int mUusType;
62 
63     private int mUusDcs;
64 
65     private byte[] mUusData;
66 
UUSInfo()67     public UUSInfo() {
68         mUusType = UUS_TYPE1_IMPLICIT;
69         mUusDcs = UUS_DCS_IA5c;
70         mUusData = null;
71     }
72 
UUSInfo(int uusType, int uusDcs, byte[] uusData)73     public UUSInfo(int uusType, int uusDcs, byte[] uusData) {
74         mUusType = uusType;
75         mUusDcs = uusDcs;
76         mUusData = uusData;
77     }
78 
79     @UnsupportedAppUsage
getDcs()80     public int getDcs() {
81         return mUusDcs;
82     }
83 
setDcs(int uusDcs)84     public void setDcs(int uusDcs) {
85         mUusDcs = uusDcs;
86     }
87 
88     @UnsupportedAppUsage
getType()89     public int getType() {
90         return mUusType;
91     }
92 
setType(int uusType)93     public void setType(int uusType) {
94         mUusType = uusType;
95     }
96 
97     @UnsupportedAppUsage
getUserData()98     public byte[] getUserData() {
99         return mUusData;
100     }
101 
setUserData(byte[] uusData)102     public void setUserData(byte[] uusData) {
103         mUusData = uusData;
104     }
105 }
106