* Copyright (c) 2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
#include "selection_config.h"
#include <algorithm>
#include <sstream>
namespace OHOS {
namespace SelectionFwk {
bool SelectionConfig::GetEnable() const
{
return isEnabled_;
}
bool SelectionConfig::GetTriggered() const
{
return isTriggered_;
}
int SelectionConfig::GetUid() const
{
return uid_;
}
std::string SelectionConfig::GetApplicationInfo() const
{
return applicationInfo_;
}
uint32_t SelectionConfig::GetTimeout() const
{
return timeout_;
}
void SelectionConfig::SetTimeout(uint32_t timeout)
{
timeout_ = timeout;
}
void SelectionConfig::SetEnabled(bool enabled)
{
isEnabled_ = enabled;
}
void SelectionConfig::SetTriggered(bool isTriggered)
{
isTriggered_ = isTriggered;
}
void SelectionConfig::SetUid(int uid)
{
uid_ = uid;
}
void SelectionConfig::SetApplicationInfo(const std::string &applicationInfo)
{
applicationInfo_ = applicationInfo;
}
std::string SelectionConfig::ToString() const
{
std::ostringstream oss;
oss << "enable: " << isEnabled_ << ", trigger: "
<< isTriggered_ << ", applicationInfo: " << applicationInfo_;
return oss.str();
}
MemSelectionConfig& MemSelectionConfig::GetInstance()
{
static MemSelectionConfig instance;
return instance;
}
void MemSelectionConfig::SetSelectionConfig(const SelectionConfig &config)
{
std::lock_guard<std::mutex> lock(mutex_);
delegate_ = config;
}
SelectionConfig MemSelectionConfig::GetSelectionConfig()
{
std::lock_guard<std::mutex> lock(mutex_);
return delegate_;
}
bool MemSelectionConfig::GetEnable() const
{
std::lock_guard<std::mutex> lock(mutex_);
return delegate_.GetEnable();
}
bool MemSelectionConfig::GetTriggered() const
{
std::lock_guard<std::mutex> lock(mutex_);
return delegate_.GetTriggered();
}
std::string MemSelectionConfig::GetApplicationInfo() const
{
std::lock_guard<std::mutex> lock(mutex_);
return delegate_.GetApplicationInfo();
}
uint32_t MemSelectionConfig::GetTimeout() const
{
std::lock_guard<std::mutex> lock(mutex_);
return delegate_.GetTimeout();
}
void MemSelectionConfig::SetTimeout(uint32_t timeout)
{
std::lock_guard<std::mutex> lock(mutex_);
delegate_.SetTimeout(timeout);
}
void MemSelectionConfig::SetEnabled(bool enabled)
{
std::lock_guard<std::mutex> lock(mutex_);
delegate_.SetEnabled(enabled);
}
void MemSelectionConfig::SetTriggered(bool isTriggered)
{
std::lock_guard<std::mutex> lock(mutex_);
delegate_.SetTriggered(isTriggered);
}
void MemSelectionConfig::SetApplicationInfo(const std::string &applicationInfo)
{
std::lock_guard<std::mutex> lock(mutex_);
delegate_.SetApplicationInfo(applicationInfo);
}
}
}