apicompatanamdw/compatanalysercmd/headeranalyser/src/AnalyserParams.cpp
author shrivatsa
Mon, 27 Sep 2010 14:51:17 +0530
changeset 12 a0eee409ff14
parent 0 638b9c697799
permissions -rw-r--r--
Updates to CompatibilityAnalyser - The Tool should now work with Symbian^4 - Some minor bug fixes related to Qt headers in the Symbian Platform
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     1
/*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     2
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     3
* All rights reserved.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     4
* This component and the accompanying materials are made available
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     5
* under the terms of "Eclipse Public License v1.0"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     6
* which accompanies this distribution, and is available
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     8
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     9
* Initial Contributors:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    10
* Nokia Corporation - initial contribution.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    11
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    12
* Contributors:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    13
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    14
* Description:  
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    15
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    16
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    17
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    18
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    19
#include "CmdGlobals.h"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    20
#ifdef __WIN__
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    21
#pragma warning(disable:4786)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    22
#endif
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    23
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    24
#include <string>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    25
#include <map>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    26
#include "HAException.h"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    27
#include "AnalyserParams.h"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    28
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    29
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    30
using namespace std;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    31
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    32
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    33
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    34
// AnalyserParams::parameterExists
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    35
// Return true, if the parameter parameter is given
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    36
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    37
//
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    38
bool AnalyserParams::parameterExists(const string& aParm)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    39
{
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    40
    bool ret = false;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    41
    map<string, pair<string, bool> >::iterator mapitem = iParameters.find(aParm);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    42
    if (mapitem != iParameters.end())
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    43
    {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    44
        ret = true;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    45
    }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    46
    return ret;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    47
}
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    48
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    49
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    50
// AnalyserParams::givenParameter
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    51
// Return true, if the parameter parameter is given
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    52
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    53
//
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    54
bool AnalyserParams::givenParameter(const string& aParm)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    55
{
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    56
    bool ret = false;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    57
    map<string, pair<string, bool> >::iterator mapitem = iParameters.find(aParm);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    58
    if (mapitem != iParameters.end())
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    59
    {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    60
        ret = mapitem->second.second;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    61
    }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    62
    return ret;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    63
}
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    64
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    65
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    66
// AnalyserParams::storeParameter
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    67
// Store given parameter to parameter map
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    68
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    69
//
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    70
void AnalyserParams::storeParameter(string aParm, string aVal, bool aFromCmdline)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    71
{
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    72
    pair<string, pair<string, bool> >parameter(aParm,pair<string, bool>(aVal,aFromCmdline));
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    73
    map<string, pair<string, bool> >::iterator mapitem = iParameters.find(aParm);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    74
    bool isValidParm = mapitem == iParameters.end() ? false : true;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    75
    if (!isValidParm)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    76
    {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    77
        iParameters.insert(parameter);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    78
    }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    79
    else
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    80
    {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    81
        if (((*mapitem).second).second == true) 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    82
        {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    83
            (*mapitem).second = pair<string,bool>(aVal,true);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    84
        }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    85
        else 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    86
        {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    87
            (*mapitem).second = pair<string,bool>(aVal,aFromCmdline);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    88
        }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    89
    }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    90
}
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    91
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    92
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    93
// AnalyserParams::getParameter
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    94
// Store given parameter value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    95
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    96
//
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    97
string AnalyserParams::getParameter(const string& aParm)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    98
{
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    99
    map<string, pair<string, bool> >::iterator mapitem = iParameters.find(aParm);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   100
    bool isValidParm = mapitem == iParameters.end() ? false : true;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   101
    if (!isValidParm)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   102
    {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   103
        string excstr = "No such parameter: ";
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   104
        excstr += aParm;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   105
        throw HAException(excstr);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   106
    }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   107
    return (mapitem->second).first;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   108
}
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   109
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   110
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   111
// AnalyserParams::getGivenParameters
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   112
// ----------------------------------------------------------------------------
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   113
//
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   114
const map <string, string> AnalyserParams::getGivenParameters()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   115
{
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   116
    map<string, string> givenparams;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   117
    map<string, pair<string, bool> >::iterator begin = iParameters.begin();
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   118
    map<string, pair<string, bool> >::iterator end = iParameters.end();
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   119
    map<string, pair<string, bool> >::iterator find;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   120
    map<string, pair<string, bool> >::iterator endfind = iParameters.end();
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   121
    while(begin != end)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   122
    {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   123
        string param = (*begin).first;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   124
        pair<string, bool> values = (*begin).second;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   125
        string val;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   126
        if(values.second == true)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   127
        {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   128
            val = values.first;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   129
            if (param == BASELINEDIR)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   130
            {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   131
                find =  iParameters.find(BASELINE);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   132
                if (find != iParameters.end())
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   133
                {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   134
                    val += DIR_SEPARATOR;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   135
                    val += ((*find).second).first;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   136
                }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   137
            }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   138
            if (param == BASELINE)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   139
            {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   140
                find =  iParameters.find(BASELINEDIR);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   141
                val = ((*find).second).first;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   142
                val += DIR_SEPARATOR;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   143
                val += values.first;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   144
            }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   145
            if (param == CURRENT)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   146
            {
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   147
                find =  iParameters.find(CURRENTDIR);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   148
                val = ((*find).second).first;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   149
                val += DIR_SEPARATOR;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   150
                val += values.first;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   151
            }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   152
            givenparams.insert(pair<string,string>(param,val));
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   153
        }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   154
        ++begin;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   155
    }
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   156
    return givenparams;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   157
}