xref: /aosp_15_r20/system/chre/apps/wifi_offload/scan_config.cc (revision 84e339476a462649f82315436d70fd732297a399)
1*84e33947SAndroid Build Coastguard Worker /*
2*84e33947SAndroid Build Coastguard Worker  * Copyright (C) 2017 The Android Open Source Project
3*84e33947SAndroid Build Coastguard Worker  *
4*84e33947SAndroid Build Coastguard Worker  * Licensed under the Apache License, Version 2.0 (the "License");
5*84e33947SAndroid Build Coastguard Worker  * you may not use this file except in compliance with the License.
6*84e33947SAndroid Build Coastguard Worker  * You may obtain a copy of the License at
7*84e33947SAndroid Build Coastguard Worker  *
8*84e33947SAndroid Build Coastguard Worker  *      http://www.apache.org/licenses/LICENSE-2.0
9*84e33947SAndroid Build Coastguard Worker  *
10*84e33947SAndroid Build Coastguard Worker  * Unless required by applicable law or agreed to in writing, software
11*84e33947SAndroid Build Coastguard Worker  * distributed under the License is distributed on an "AS IS" BASIS,
12*84e33947SAndroid Build Coastguard Worker  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*84e33947SAndroid Build Coastguard Worker  * See the License for the specific language governing permissions and
14*84e33947SAndroid Build Coastguard Worker  * limitations under the License.
15*84e33947SAndroid Build Coastguard Worker  */
16*84e33947SAndroid Build Coastguard Worker 
17*84e33947SAndroid Build Coastguard Worker #include "chre/apps/wifi_offload/scan_config.h"
18*84e33947SAndroid Build Coastguard Worker 
19*84e33947SAndroid Build Coastguard Worker namespace wifi_offload {
20*84e33947SAndroid Build Coastguard Worker 
operator ==(const ScanConfig & other) const21*84e33947SAndroid Build Coastguard Worker bool ScanConfig::operator==(const ScanConfig &other) const {
22*84e33947SAndroid Build Coastguard Worker   if (this == &other) {
23*84e33947SAndroid Build Coastguard Worker     return true;
24*84e33947SAndroid Build Coastguard Worker   }
25*84e33947SAndroid Build Coastguard Worker   return scan_params_ == other.scan_params_ &&
26*84e33947SAndroid Build Coastguard Worker          scan_filter_ == other.scan_filter_;
27*84e33947SAndroid Build Coastguard Worker }
28*84e33947SAndroid Build Coastguard Worker 
Serialize(flatbuffers::FlatBufferBuilder * builder) const29*84e33947SAndroid Build Coastguard Worker flatbuffers::Offset<ScanConfig::FbsType> ScanConfig::Serialize(
30*84e33947SAndroid Build Coastguard Worker     flatbuffers::FlatBufferBuilder *builder) const {
31*84e33947SAndroid Build Coastguard Worker   auto params_offset = scan_params_.Serialize(builder);
32*84e33947SAndroid Build Coastguard Worker   auto filter_offset = scan_filter_.Serialize(builder);
33*84e33947SAndroid Build Coastguard Worker   return fbs::CreateScanConfig(*builder, params_offset, filter_offset);
34*84e33947SAndroid Build Coastguard Worker }
35*84e33947SAndroid Build Coastguard Worker 
Deserialize(const ScanConfig::FbsType & fbs_config)36*84e33947SAndroid Build Coastguard Worker bool ScanConfig::Deserialize(const ScanConfig::FbsType &fbs_config) {
37*84e33947SAndroid Build Coastguard Worker   if (fbs_config.scan_params() == nullptr ||
38*84e33947SAndroid Build Coastguard Worker       fbs_config.scan_filter() == nullptr) {
39*84e33947SAndroid Build Coastguard Worker     LOGE("Failed to deserialize ScanConfig. Null or incomplete members.");
40*84e33947SAndroid Build Coastguard Worker     return false;
41*84e33947SAndroid Build Coastguard Worker   }
42*84e33947SAndroid Build Coastguard Worker 
43*84e33947SAndroid Build Coastguard Worker   return scan_params_.Deserialize(*fbs_config.scan_params()) &&
44*84e33947SAndroid Build Coastguard Worker          scan_filter_.Deserialize(*fbs_config.scan_filter());
45*84e33947SAndroid Build Coastguard Worker }
46*84e33947SAndroid Build Coastguard Worker 
Log() const47*84e33947SAndroid Build Coastguard Worker void ScanConfig::Log() const {
48*84e33947SAndroid Build Coastguard Worker   scan_params_.Log();
49*84e33947SAndroid Build Coastguard Worker   scan_filter_.Log();
50*84e33947SAndroid Build Coastguard Worker }
51*84e33947SAndroid Build Coastguard Worker 
52*84e33947SAndroid Build Coastguard Worker }  // namespace wifi_offload
53