1b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner/*
2b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * Copyright (c) 2011-2014, Intel Corporation
3b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * All rights reserved.
4b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner *
5b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * Redistribution and use in source and binary forms, with or without modification,
6b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * are permitted provided that the following conditions are met:
7b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner *
8b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * 1. Redistributions of source code must retain the above copyright notice, this
9b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * list of conditions and the following disclaimer.
10b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner *
11b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * 2. Redistributions in binary form must reproduce the above copyright notice,
12b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * this list of conditions and the following disclaimer in the documentation and/or
13b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * other materials provided with the distribution.
14b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner *
15b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * 3. Neither the name of the copyright holder nor the names of its contributors
16b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * may be used to endorse or promote products derived from this software without
17b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * specific prior written permission.
18b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner *
19b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
20b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
21b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
22b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
23b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
24b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
26b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28b76c9d6de717a9a1cfd94e7a8eca7ee4a2035cd7David Wagner * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2968a912857707864bbaaff9808717813105072a6ePatrick Benavoli */
3068a912857707864bbaaff9808717813105072a6ePatrick Benavoli#include "ParameterFrameworkConfiguration.h"
3168a912857707864bbaaff9808717813105072a6ePatrick Benavoli
3268a912857707864bbaaff9808717813105072a6ePatrick Benavoli#define base CElement
3368a912857707864bbaaff9808717813105072a6ePatrick Benavoli
3468a912857707864bbaaff9808717813105072a6ePatrick BenavoliCParameterFrameworkConfiguration::CParameterFrameworkConfiguration()
3595ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    : _bTuningAllowed(false), _uiServerPort(0)
3668a912857707864bbaaff9808717813105072a6ePatrick Benavoli{
3768a912857707864bbaaff9808717813105072a6ePatrick Benavoli}
3868a912857707864bbaaff9808717813105072a6ePatrick Benavoli
39d9526499d6ab53b7d13d1434f748f6f2161c2e0aSebastien Gonzalvestd::string CParameterFrameworkConfiguration::getKind() const
4068a912857707864bbaaff9808717813105072a6ePatrick Benavoli{
4168a912857707864bbaaff9808717813105072a6ePatrick Benavoli    return "ParameterFrameworkConfiguration";
4268a912857707864bbaaff9808717813105072a6ePatrick Benavoli}
4368a912857707864bbaaff9808717813105072a6ePatrick Benavoli
4468a912857707864bbaaff9808717813105072a6ePatrick Benavolibool CParameterFrameworkConfiguration::childrenAreDynamic() const
4568a912857707864bbaaff9808717813105072a6ePatrick Benavoli{
4668a912857707864bbaaff9808717813105072a6ePatrick Benavoli    return true;
4768a912857707864bbaaff9808717813105072a6ePatrick Benavoli}
4895ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli
4995ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli// System class name
50d9526499d6ab53b7d13d1434f748f6f2161c2e0aSebastien Gonzalveconst std::string& CParameterFrameworkConfiguration::getSystemClassName() const
5195ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli{
5295ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    return _strSystemClassName;
5395ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli}
5495ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli
5595ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli// Tuning allowed
5695ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavolibool CParameterFrameworkConfiguration::isTuningAllowed() const
5795ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli{
5895ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    return _bTuningAllowed;
5995ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli}
6095ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli
6195ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli// Server port
6295ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoliuint16_t CParameterFrameworkConfiguration::getServerPort() const
6395ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli{
6495ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    return _uiServerPort;
6595ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli}
6695ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli
6795ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli// From IXmlSink
6895ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavolibool CParameterFrameworkConfiguration::fromXml(const CXmlElement& xmlElement, CXmlSerializingContext& serializingContext)
6995ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli{
7095ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    // System class name
7195ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    _strSystemClassName = xmlElement.getAttributeString("SystemClassName");
7295ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli
7395ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    // Tuning allowed
7495ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    _bTuningAllowed = xmlElement.getAttributeBoolean("TuningAllowed");
7595ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli
7695ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    // Server port
7795ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    _uiServerPort = (uint16_t)xmlElement.getAttributeInteger("ServerPort");
7895ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli
7995ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    // Base
8095ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli    return base::fromXml(xmlElement, serializingContext);
8195ac034b72580306e9246f7efa3f7ba709a02183Patrick Benavoli}
82