Merge "Add Data Saver utils in Firewall test helper class" into main
This commit is contained in:
commit
90428539d6
2 changed files with 23 additions and 1 deletions
|
|
@ -27,6 +27,9 @@ Firewall::Firewall() {
|
|||
|
||||
result = mUidOwnerMap.init(UID_OWNER_MAP_PATH);
|
||||
EXPECT_RESULT_OK(result) << "init mUidOwnerMap failed";
|
||||
|
||||
result = mDataSaverEnabledMap.init(DATA_SAVER_ENABLED_MAP_PATH);
|
||||
EXPECT_RESULT_OK(result) << "init mDataSaverEnabledMap failed";
|
||||
}
|
||||
|
||||
Firewall* Firewall::getInstance() {
|
||||
|
|
@ -116,3 +119,20 @@ Result<void> Firewall::removeUidInterfaceRules(const std::vector<int32_t>& uids)
|
|||
}
|
||||
return {};
|
||||
}
|
||||
|
||||
Result<bool> Firewall::getDataSaverSetting() {
|
||||
std::lock_guard guard(mMutex);
|
||||
auto dataSaverSetting = mDataSaverEnabledMap.readValue(DATA_SAVER_ENABLED_KEY);
|
||||
if (!dataSaverSetting.ok()) {
|
||||
return Errorf("Cannot read the data saver setting: {}", dataSaverSetting.error().message());
|
||||
}
|
||||
return dataSaverSetting;
|
||||
}
|
||||
|
||||
Result<void> Firewall::setDataSaver(bool enabled) {
|
||||
std::lock_guard guard(mMutex);
|
||||
auto res = mDataSaverEnabledMap.writeValue(DATA_SAVER_ENABLED_KEY, enabled, BPF_EXIST);
|
||||
if (!res.ok()) return Errorf("Failed to set data saver: {}", res.error().message());
|
||||
|
||||
return {};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,9 +33,11 @@ class Firewall {
|
|||
Result<void> removeRule(uint32_t uid, UidOwnerMatchType match) EXCLUDES(mMutex);
|
||||
Result<void> addUidInterfaceRules(const std::string& ifName, const std::vector<int32_t>& uids);
|
||||
Result<void> removeUidInterfaceRules(const std::vector<int32_t>& uids);
|
||||
|
||||
Result<bool> getDataSaverSetting();
|
||||
Result<void> setDataSaver(bool enabled);
|
||||
private:
|
||||
BpfMap<uint32_t, uint32_t> mConfigurationMap GUARDED_BY(mMutex);
|
||||
BpfMap<uint32_t, UidOwnerValue> mUidOwnerMap GUARDED_BY(mMutex);
|
||||
BpfMap<uint32_t, bool> mDataSaverEnabledMap GUARDED_BY(mMutex);
|
||||
std::mutex mMutex;
|
||||
};
|
||||
|
|
|
|||
Loading…
Reference in a new issue