michael@0: /* This Source Code Form is subject to the terms of the Mozilla Public michael@0: * License, v. 2.0. If a copy of the MPL was not distributed with this michael@0: * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ michael@0: michael@0: #include "PhoneDetailsImpl.h" michael@0: michael@0: #include "csf_common.h" michael@0: michael@0: namespace CSF michael@0: { michael@0: michael@0: PhoneDetailsImpl::PhoneDetailsImpl() michael@0: : model(-1), michael@0: state(ServiceStateType::eUnknown) michael@0: { michael@0: } michael@0: michael@0: PhoneDetailsImpl::~PhoneDetailsImpl() michael@0: { michael@0: } michael@0: michael@0: static const char * _softphoneSupportedModelNames[] = { "Cisco Unified Client Services Framework", michael@0: "Client Services Framework", michael@0: "Client Services Core" }; michael@0: michael@0: bool PhoneDetailsImpl::isSoftPhone() michael@0: { michael@0: if(model == -1 && modelDescription != "") michael@0: { michael@0: // Evaluate based on model description. michael@0: for(int i = 0; i < (int) csf_countof(_softphoneSupportedModelNames); i++) michael@0: { michael@0: if(modelDescription == _softphoneSupportedModelNames[i]) michael@0: return true; michael@0: } michael@0: return false; michael@0: } michael@0: else michael@0: { michael@0: } michael@0: return false; michael@0: } michael@0: michael@0: void PhoneDetailsImpl::setName(const std::string& name) michael@0: { michael@0: this->name = name; michael@0: } michael@0: void PhoneDetailsImpl::setDescription(const std::string& description) michael@0: { michael@0: this->description = description; michael@0: } michael@0: // Note that setting model and model description are mutually exclusive. michael@0: void PhoneDetailsImpl::setModel(int model) michael@0: { michael@0: this->model = model; michael@0: this->modelDescription = ""; michael@0: } michael@0: void PhoneDetailsImpl::setModelDescription(const std::string& description) michael@0: { michael@0: this->model = -1; michael@0: this->modelDescription = description; michael@0: } michael@0: void PhoneDetailsImpl::setLineDNs(const std::vector & lineDNs) michael@0: { michael@0: this->lineDNs.assign(lineDNs.begin(), lineDNs.end()); michael@0: } michael@0: void PhoneDetailsImpl::setServiceState(ServiceStateType::ServiceState state) michael@0: { michael@0: this->state = state; michael@0: } michael@0: void PhoneDetailsImpl::setConfig(const std::string& config) michael@0: { michael@0: this->config = config; michael@0: } michael@0: michael@0: }