Copyright (C) 2015 Belledonne Communications, Grenoble, FranceThis program is free software; you can redistribute it and/ormodify it under the terms of the GNU General Public Licenseas published by the Free Software Foundation; either version 2of the License, or (at your option) any later version.This program is distributed in the hope that it will be useful,but WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See theGNU General Public License for more details.You should have received a copy of the GNU General Public Licensealong with this program; if not, write to the Free Software

/// </summary>/// <param name="configPath">The path to the user configuration file that must be readable and writable</param>/// <param name="factoryConfigPath">The path to the factory configuration file that only needs to be readable</param>

/// <summary>/// Gets a boolean configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="defaultValue">The value to return if the configuration item is not found</param>/// <returns>The value of the configuration item or defaultValue if the item is not found</returns>boolGetBool(Platform::String^section,Platform::String^key,booldefaultValue);/// <summary>/// Sets a boolean configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="value">The value to set for the configuration item</param>voidSetBool(Platform::String^section,Platform::String^key,boolvalue);/// <summary>/// Gets an integer configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="defaultValue">The value to return if the configuration item is not found</param>/// <returns>The value of the configuration item or defaultValue if the item is not found</returns>intGetInt(Platform::String^section,Platform::String^key,intdefaultValue);/// <summary>/// Sets an integer configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="value">The value to set for the configuration item</param>voidSetInt(Platform::String^section,Platform::String^key,intvalue);/// <summary>/// Gets a 64 bit integer configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="defaultValue">The value to return if the configuration item is not found</param>/// <returns>The value of the configuration item or defaultValue if the item is not found</returns>int64GetInt64(Platform::String^section,Platform::String^key,int64defaultValue);/// <summary>/// Sets a 64 bit integer configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="value">The value to set for the configuration item</param>voidSetInt64(Platform::String^section,Platform::String^key,int64value);/// <summary>/// Gets a float configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="defaultValue">The value to return if the configuration item is not found</param>/// <returns>The value of the configuration item or defaultValue if the item is not found</returns>floatGetFloat(Platform::String^section,Platform::String^key,floatdefaultValue);/// <summary>/// Sets a float configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="value">The value to set for the configuration item</param>voidSetFloat(Platform::String^section,Platform::String^key,floatvalue);/// <summary>/// Gets a string configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="defaultValue">The value to return if the configuration item is not found</param>/// <returns>The value of the configuration item or defaultValue if the item is not found</returns>Platform::String^GetString(Platform::String^section,Platform::String^key,Platform::String^defaultValue);/// <summary>/// Sets a string configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="value">The value to set for the configuration item</param>voidSetString(Platform::String^section,Platform::String^key,Platform::String^value);/// <summary>/// Gets an integer range configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="defaultValue">The value to return if the configuration item is not found</param>/// <returns>The value of the configuration item or defaultValue if the item is not found</returns>Platform::Array<int>^GetRange(Platform::String^section,Platform::String^key,constPlatform::Array<int>^defaultValue);/// <summary>/// Sets an integer range configuration item./// </summary>/// <param name="section">The name of the configuration section where the item is located</param>/// <param name="key">The configuration item name</param>/// <param name="value">The value to set for the configuration item</param>voidSetRange(Platform::String^section,Platform::String^key,constPlatform::Array<int>^value);private:friendclassUtils;friendrefclassCore;