## @file
# This file is used to define class Configuration
#
# Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR>
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
# which accompanies this distribution.  The full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#

##
# Import Modules
#
from __future__ import print_function
import Common.LongFilePathOs as os
import Common.EdkLogger as EdkLogger
from Common.DataType import *
from Common.StringUtils import *
from Common.LongFilePathSupport import OpenLongFilePath as open

_ConfigFileToInternalTranslation = {
    # not same
    "ModifierList":"ModifierSet",

    # same
    # please keep this in correct alphabetical order.
    "AutoCorrect":"AutoCorrect",
    "BinaryExtList":"BinaryExtList",
    "CFunctionLayoutCheckAll":"CFunctionLayoutCheckAll",
    "CFunctionLayoutCheckDataDeclaration":"CFunctionLayoutCheckDataDeclaration",
    "CFunctionLayoutCheckFunctionBody":"CFunctionLayoutCheckFunctionBody",
    "CFunctionLayoutCheckFunctionName":"CFunctionLayoutCheckFunctionName",
    "CFunctionLayoutCheckFunctionPrototype":"CFunctionLayoutCheckFunctionPrototype",
    "CFunctionLayoutCheckNoDeprecated":"CFunctionLayoutCheckNoDeprecated",
    "CFunctionLayoutCheckNoInitOfVariable":"CFunctionLayoutCheckNoInitOfVariable",
    "CFunctionLayoutCheckNoStatic":"CFunctionLayoutCheckNoStatic",
    "CFunctionLayoutCheckOptionalFunctionalModifier":"CFunctionLayoutCheckOptionalFunctionalModifier",
    "CFunctionLayoutCheckReturnType":"CFunctionLayoutCheckReturnType",
    "CheckAll":"CheckAll",
    "Copyright":"Copyright",
    "DeclarationDataTypeCheckAll":"DeclarationDataTypeCheckAll",
    "DeclarationDataTypeCheckEFIAPIModifier":"DeclarationDataTypeCheckEFIAPIModifier",
    "DeclarationDataTypeCheckEnumeratedType":"DeclarationDataTypeCheckEnumeratedType",
    "DeclarationDataTypeCheckInOutModifier":"DeclarationDataTypeCheckInOutModifier",
    "DeclarationDataTypeCheckNoUseCType":"DeclarationDataTypeCheckNoUseCType",
    "DeclarationDataTypeCheckSameStructure":"DeclarationDataTypeCheckSameStructure",
    "DeclarationDataTypeCheckStructureDeclaration":"DeclarationDataTypeCheckStructureDeclaration",
    "DeclarationDataTypeCheckUnionType":"DeclarationDataTypeCheckUnionType",
    "DoxygenCheckAll":"DoxygenCheckAll",
    "DoxygenCheckCommand":"DoxygenCheckCommand",
    "DoxygenCheckCommentDescription":"DoxygenCheckCommentDescription",
    "DoxygenCheckCommentFormat":"DoxygenCheckCommentFormat",
    "DoxygenCheckFileHeader":"DoxygenCheckFileHeader",
    "DoxygenCheckFunctionHeader":"DoxygenCheckFunctionHeader",
    "GeneralCheckAll":"GeneralCheckAll",
    "GeneralCheckCarriageReturn":"GeneralCheckCarriageReturn",
    "GeneralCheckFileExistence":"GeneralCheckFileExistence",