1 /**
2  * Copyright (C) 2024 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 #include <AnbrMode.h>
18 
19 namespace android
20 {
21 
22 namespace telephony
23 {
24 
25 namespace imsmedia
26 {
27 
28 /** Native representation of android.telephony.imsmedia.AnbrMode */
AnbrMode()29 AnbrMode::AnbrMode()
30 {
31     anbrUplinkMode = 0;
32     anbrDownlinkMode = 0;
33 }
34 
AnbrMode(AnbrMode & param)35 AnbrMode::AnbrMode(AnbrMode& param)
36 {
37     this->anbrUplinkMode = param.anbrUplinkMode;
38     this->anbrDownlinkMode = param.anbrDownlinkMode;
39 }
40 
~AnbrMode()41 AnbrMode::~AnbrMode() {}
42 
operator =(const AnbrMode & param)43 AnbrMode& AnbrMode::operator=(const AnbrMode& param)
44 {
45     if (this != &param)
46     {
47         this->anbrUplinkMode = param.anbrUplinkMode;
48         this->anbrDownlinkMode = param.anbrDownlinkMode;
49     }
50     return *this;
51 }
52 
operator ==(const AnbrMode & param) const53 bool AnbrMode::operator==(const AnbrMode& param) const
54 {
55     return (this->anbrUplinkMode == param.anbrUplinkMode &&
56             this->anbrDownlinkMode == param.anbrDownlinkMode);
57 }
58 
operator !=(const AnbrMode & param) const59 bool AnbrMode::operator!=(const AnbrMode& param) const
60 {
61     return (this->anbrUplinkMode != param.anbrUplinkMode ||
62             this->anbrDownlinkMode != param.anbrDownlinkMode);
63 }
64 
writeToParcel(Parcel * out) const65 status_t AnbrMode::writeToParcel(Parcel* out) const
66 {
67     status_t err;
68     if (out == nullptr)
69     {
70         return BAD_VALUE;
71     }
72 
73     err = out->writeInt32(anbrUplinkMode);
74     if (err != NO_ERROR)
75     {
76         return err;
77     }
78 
79     err = out->writeInt32(anbrDownlinkMode);
80     if (err != NO_ERROR)
81     {
82         return err;
83     }
84     return NO_ERROR;
85 }
86 
readFromParcel(const Parcel * in)87 status_t AnbrMode::readFromParcel(const Parcel* in)
88 {
89     status_t err;
90     if (in == nullptr)
91     {
92         return BAD_VALUE;
93     }
94 
95     err = in->readInt32(&anbrUplinkMode);
96     if (err != NO_ERROR)
97     {
98         return err;
99     }
100 
101     err = in->readInt32(&anbrDownlinkMode);
102     if (err != NO_ERROR)
103     {
104         return err;
105     }
106 
107     return NO_ERROR;
108 }
109 
setAnbrUplinkCodecMode(const int32_t uplinkMode)110 void AnbrMode::setAnbrUplinkCodecMode(const int32_t uplinkMode)
111 {
112     anbrUplinkMode = uplinkMode;
113 }
114 
getAnbrUplinkCodecMode()115 int32_t AnbrMode::getAnbrUplinkCodecMode()
116 {
117     return anbrUplinkMode;
118 }
119 
setAnbrDownlinkCodecMode(const int32_t downlinkMode)120 void AnbrMode::setAnbrDownlinkCodecMode(const int32_t downlinkMode)
121 {
122     anbrDownlinkMode = downlinkMode;
123 }
124 
getAnbrDownlinkCodecMode()125 int32_t AnbrMode::getAnbrDownlinkCodecMode()
126 {
127     return anbrDownlinkMode;
128 }
129 
setDefaultAnbrMode()130 void AnbrMode::setDefaultAnbrMode()
131 {
132     anbrUplinkMode = kAnbrUplinkMode;
133     anbrDownlinkMode = kAnbrDownlinkMode;
134 }
135 
136 }  // namespace imsmedia
137 
138 }  // namespace telephony
139 
140 }  // namespace android
141