/* * Copyright 2017 Samsung Electronics Co., Ltd * * Licensed under the Flora License, Version 1.1 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://floralicense.org/license/ * * 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 "HdVoiceStateSource.h" #include "common.h" namespace callui { using namespace ucl; HdVoiceStateSource::Bits::Bits(): property(convertEnumValueToInt(IndicatorProperty::HD_VOICE)), isEnable(0) { } HdVoiceStateSource::Bits::Bits(const IndicatorState &state): value(state.value) { if (property != convertEnumValueToInt(IndicatorProperty::HD_VOICE)) { ELOG("State of incorrect property type [%d]", property); *this = {}; } } HdVoiceStateSource::HdVoiceStateSource(bool isEnable) { m_bits.isEnable = isEnable; } HdVoiceStateSource::~HdVoiceStateSource() { } void HdVoiceStateSource::updateState(bool isEnable) { if (m_bits.isEnable != isEnable) { m_bits.isEnable = isEnable; if (m_handler) { m_handler(); } } } IndicatorState HdVoiceStateSource::getState() const { return {m_bits.value}; } void HdVoiceStateSource::setStateChangeHandler(const NotiHandler &handler) { m_handler = handler; } bool getHDVoiceState(IndicatorState state) { return HdVoiceStateSource::Bits(state).isEnable; } }