apicompatanamdw/compatanalysercmd/headeranalyser/src/Utils.h
author noe\swadi
Tue, 12 Jan 2010 14:52:39 +0530
changeset 0 638b9c697799
child 3 ebe3f8f03b59
permissions -rw-r--r--
1. Licenses updated to EPL. 2. New components test cases added to BC Drivers 3. Some minor fixes and few feature additions to CA.
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
#ifndef __UTILS_H__
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    20
#define __UTILS_H__
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    21
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    22
#ifdef __WIN__
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    23
#pragma warning(disable:4786)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    24
#endif
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    25
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    26
#include <stdio.h>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    27
#include <string>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    28
#include <list>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    29
#include <map>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    30
#include <vector>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    31
#include <stdarg.h>
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    32
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    33
using namespace std;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    34
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    35
#define _X(s) XMLString::transcode(s)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    36
#define _XX(s) XMLString::release(&s)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    37
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    38
#define __FUN_MANGLED__ "__MANGLED__"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    39
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    40
// Mostly used for implementation of headeranalyser
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    41
enum TValue
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    42
    { 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    43
    ELeftValue = 0,
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    44
    ERightValue 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    45
    };
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    46
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    47
// Used for implementation of testing program for headeranalyser
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    48
const string KEmpty = "_DEADBEEF_DEADBEEF_";
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    49
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    50
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    51
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    52
* Convert integer to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    53
* @param value value to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    54
* @param str reference to string where to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    55
* @param radix numeric base into which to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    56
* @return number converted to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    57
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    58
string itoa(int value, string& str, int radix);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    59
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    60
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    61
* Convert long to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    62
* @param value value to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    63
* @param str reference to string where to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    64
* @param radix numeric base into which to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    65
* @return number converted to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    66
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    67
string ltoa(long value, string& str, int radix);
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
* Find from list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    71
* @param aValue value to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    72
* @param aList where to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    73
* @param comparator comparator funtion
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    74
* @param comparatorparam true, if comparator is used 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    75
* @return string list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    76
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    77
list<string>::iterator FindFromList(const string& aValue, list<string>& aList, bool(*comparator)(const string&,const string&,bool)=0, bool comparatorparam=true);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    78
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    79
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    80
* Find from list of paired string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    81
* @param aValue value to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    82
* @param aList where to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    83
* @param comparator comparator funtion
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    84
* @param comparatorparam true, if comparator is used 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    85
* @return string list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    86
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    87
list<pair<string, string> >::iterator FindFromList(const string& aValue, list<pair<string,string> >& aList, bool(*comparator)(const string&,const string&,bool)=0, bool comparatorparam=true);
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
* Find from list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    91
* @param aValue value to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    92
* @param aList where to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    93
* @param compareTo compare left or right value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    94
* @param comparator comparator funtion
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    95
* @param comparatorparam true, if comparator is used 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    96
* @return string list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    97
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    98
list<pair<string, string> >::iterator FindFromList(const string& aValue, list<pair<string, string> >& aList, TValue compareTo, bool(*comparator)(const pair<string,string>&, const string&,bool)=0, bool comparatorparam=true, bool comparewholeString=false);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    99
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   100
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   101
* Find from list of paired string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   102
* @param aValue value to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   103
* @param aList where to find
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   104
* @param compareTo compare left or right value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   105
* @param comparator comparator funtion
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   106
* @param comparatorparam true, if comparator is used 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   107
* @return string list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   108
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   109
list<pair<pair<string, string>,string> >::iterator FindFromList(const string& aValue, list<pair<pair<string, string>,string> >& aList, TValue compareTo, bool(*comparator)(const pair<string,string>&, const string&,bool)=0, bool comparatorparam=true, bool comparewholeString=false);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   110
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   111
* Convert integer to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   112
* @param aString string to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   113
* @return lowercase string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   114
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   115
string toLowerCaseWin(string aString);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   116
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   117
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   118
* Convert integer to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   119
* @param aString string to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   120
* @return lowercase string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   121
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   122
string toLowerCase(string aString);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   123
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   124
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   125
* Convert integer to string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   126
* @param aString string to convert
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   127
* @return uppercase string 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   128
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   129
string toUpperCase(string aString);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   130
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   131
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   132
* Compare files
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   133
* @param tocompare to which to compare
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   134
* @param comparestr what to compare
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   135
* @param tryfilename if this is true, bare filenames are compared to each other
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   136
* @return true if match found
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   137
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   138
bool compareFiles(const string& tocompare, const string& comparestr, bool tryfilename = true);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   139
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   140
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   141
* Compare files
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   142
* @param tocompare to which to compare
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   143
* @param comparestr what to compare
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   144
* @param tryfilename if this is true, bare filenames are compared to each other
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   145
* @return true if match found
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   146
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   147
bool compareFiles(const pair<string, string>& tocompare, const string& comparestr, bool tryfilename = true);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   148
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   149
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   150
* Return the index of the rightmost directory separator in
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   151
* the given string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   152
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   153
* @param aFilename filename to search for
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   154
* @return index
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   155
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   156
string::size_type rightmostDirSeparatorIndex(const string& aFilename);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   157
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   158
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   159
* Removes leading and trailing whitespace from given string between start and 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   160
* end position and returns that trimmed string (without parts outside specified 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   161
* scope).
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   162
*
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   163
* @param aString value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   164
* @param aStartpos where to start trimming
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   165
* @param aEndpos where to end trimming
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   166
* @return trimmed string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   167
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   168
string trimWhiteSpace(string& aString, string::size_type aStartpos = 0, string::size_type aEndpos = string::npos);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   169
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   170
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   171
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   172
* Get line from input stream
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   173
* @param aInput value
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   174
* @return line as string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   175
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   176
string getLine(istream& aInput);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   177
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   178
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   179
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   180
* Parses commandline parameters
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   181
* @param args commandline arguments as string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   182
* @return command line parameters as list
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   183
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   184
//list<string> parseCommandlineParameters(string args);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   185
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   186
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   187
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   188
* Check if the given string is numeric
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   189
* @param str string to check
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   190
* @return true, if string is numeric
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   191
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   192
bool isNum(string str);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   193
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   194
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   195
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   196
* Check if the given string is alpha
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   197
* @param str string to check
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   198
* @return true, if string is alpha 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   199
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   200
bool isAlpha(string str);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   201
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   202
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   203
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   204
* Check if the given string is alphanumeric
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   205
* @param str string to check
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   206
* @return true, if string is alphanumeric
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   207
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   208
bool isAlphaNum(string str);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   209
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   210
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   211
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   212
* Split string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   213
* @param str string to split
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   214
* @param separator separator char
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   215
* @return splitted string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   216
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   217
vector<string> splitString(const string& str, char separator=' ');
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   218
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   219
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   220
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   221
* Trims white space
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   222
* @param aControlString format string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   223
* @return  formated string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   224
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   225
//string printToString(string& aControlString, ...);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   226
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   227
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   228
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   229
* Trims white space
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   230
* @param aControlString format string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   231
* @param params list of params to format
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   232
* @return formatted string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   233
*/ 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   234
string printToString(string& aControlString, list<string> params);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   235
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   236
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   237
* Replaces all occurences of the given character in a string by another one.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   238
* @param str reference to the string, which should be converted.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   239
* @param replaceFrom character that should be replaced by another.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   240
* @param replaceTo The replacing character.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   241
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   242
void replaceChar(string& str, char replaceFrom, char replaceTo);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   243
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   244
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   245
* Remove base part from a string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   246
* @param aString string to be processed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   247
* @param aBase string to be removed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   248
* @return string with base part removed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   249
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   250
string removeBase(string aString, string aBase);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   251
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   252
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   253
* Remove any leading directory separators from a string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   254
* @param aString string to be trimmed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   255
* @return leading directory separator trimmed string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   256
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   257
string trimLeadingDirSeparator(string aString);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   258
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   259
/**
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   260
* Comare base file with current file
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   261
* after excluding sub dirs each time until string ends
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   262
* @param aBasestr base file string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   263
* @param aCurstr base file string
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   264
* @return true if base string matches with current string anytime after 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   265
*  excluding sub dirs.Else false.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   266
*/
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   267
bool compareWholeFileStrings(const string& aBasestr,const string& aCurstr);
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   268
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   269
#define KEY_STRUCT "struct "
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   270
#define KEY_ENUM "enum"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   271
#define KEY_MACRO "#define "
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   272
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   273
#endif