OpenASIP  2.0
TestHDBCmdLineOptions.cc
Go to the documentation of this file.
1 /*
2  Copyright (c) 2002-2009 Tampere University.
3 
4  This file is part of TTA-Based Codesign Environment (TCE).
5 
6  Permission is hereby granted, free of charge, to any person obtaining a
7  copy of this software and associated documentation files (the "Software"),
8  to deal in the Software without restriction, including without limitation
9  the rights to use, copy, modify, merge, publish, distribute, sublicense,
10  and/or sell copies of the Software, and to permit persons to whom the
11  Software is furnished to do so, subject to the following conditions:
12 
13  The above copyright notice and this permission notice shall be included in
14  all copies or substantial portions of the Software.
15 
16  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
19  THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
20  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
21  FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
22  DEALINGS IN THE SOFTWARE.
23  */
24 /**
25  * @file TestHDBCmdLineOptions.cc
26  *
27  * Implementation of TestHDBCmdLineOptions class.
28  *
29  * @author Otto Esko 2010 (otto.esko-no.spam-tut.fi)
30  * @note rating: red
31  */
32 
33 #include <iostream>
34 #include <string>
35 #include "CmdLineOptions.hh"
36 #include "TestHDBCmdLineOptions.hh"
37 
38 using std::string;
39 const std::string TestHDBCmdLineOptions::FU_ID_PARAM_NAME = "fuid";
40 const std::string TestHDBCmdLineOptions::RF_ID_PARAM_NAME = "rfid";
41 const std::string TestHDBCmdLineOptions::VERBOSE_PARAM_NAME = "verbose";
42 const std::string TestHDBCmdLineOptions::DIRTY_PARAM_NAME = "leave-dirty";
43 const std::string TestHDBCmdLineOptions::SIM_PARAM_NAME = "simulator";
44 
45 /**
46  * The constructor.
47  */
51  FU_ID_PARAM_NAME, "Entry id of FU component to be tested. If this"
52  " is and RF ID are not defined whole HDB will be tested.", "f");
56  RF_ID_PARAM_NAME, "Entry id of RF component to be tested. If this"
57  " is and FU ID are not defined whole HDB will be tested.", "r");
61  VERBOSE_PARAM_NAME, "Enable verbose output", "v");
65  DIRTY_PARAM_NAME, "Don't delete created files", "d");
66  addOption(dirty);
67  StringCmdLineOptionParser* simulator =
69  SIM_PARAM_NAME, "HDL simulator used to simulate testbench. "
70  "Accepted values are 'ghdl' and 'modelsim'. Default is ghdl",
71  "s");
72  addOption(simulator);
73 }
74 
75 /**
76  * The destructor.
77  */
79 }
80 
81 /**
82  * Returns information whether this option was given
83  *
84  * @return Is FU entryID defined
85  */
88  return option->isDefined();
89 }
90 
91 /**
92  * Returns information whether this option was given
93  *
94  * @return Is RF entryID defined
95  */
98  return option->isDefined();
99 }
100 
101 /**
102  * Returns information whether this option was given
103  *
104  * @return Is verbose output defined
105  */
108  return option->isFlagOn();
109 }
110 
111 /**
112  * Returns information whether this option was given
113  *
114  * @return Is leave dirty defined
115  */
118  return option->isFlagOn();
119 }
120 
121 /**
122  * Returns FU entryID
123  *
124  * @return The FU entryID
125  */
128  return option->integer();
129 }
130 
131 /**
132  * Returns RF entryID
133  *
134  * @return The RF entryID
135  */
138  return option->integer();
139 }
140 
141 
142 /**
143  * Returns HDB file name
144  *
145  * @return The HDB file name
146  */
147 std::string TestHDBCmdLineOptions::hdbFile() const {
148  return argument(numberOfArguments());
149 }
150 
151 /**
152  * Returns HDL simulator to be used
153  *
154  * @return The HDL simulator name
155  */
156 std::string TestHDBCmdLineOptions::vhdlSim() const {
158  return option->String();
159 }
160 
161 /**
162  * Prints the version of the application.
163  */
165  std::cout << "testhdb - HDB test utility "
166  << Application::TCEVersionString() << std::endl;
167 }
168 
169 /**
170  * Prints help of the application.
171  */
173  printVersion();
174  std::cout << "Usage: testhdb <options> HDB-file" << std::endl;
176 }
TestHDBCmdLineOptions::hdbFile
std::string hdbFile() const
Definition: TestHDBCmdLineOptions.cc:147
TestHDBCmdLineOptions.hh
TestHDBCmdLineOptions::vhdlSim
std::string vhdlSim() const
Definition: TestHDBCmdLineOptions.cc:156
TestHDBCmdLineOptions::fuEntryID
int fuEntryID() const
Definition: TestHDBCmdLineOptions.cc:126
CmdLineParser::numberOfArguments
virtual int numberOfArguments() const
CmdLineOptionParser::isDefined
bool isDefined()
Definition: CmdLineOptionParser.cc:169
TestHDBCmdLineOptions::TestHDBCmdLineOptions
TestHDBCmdLineOptions()
Definition: TestHDBCmdLineOptions.cc:48
CmdLineOptions.hh
TestHDBCmdLineOptions::SIM_PARAM_NAME
static const std::string SIM_PARAM_NAME
Long name of VHDL simulator parameter.
Definition: TestHDBCmdLineOptions.hh:73
TestHDBCmdLineOptions::~TestHDBCmdLineOptions
~TestHDBCmdLineOptions()
Definition: TestHDBCmdLineOptions.cc:78
TestHDBCmdLineOptions::verbose
bool verbose() const
Definition: TestHDBCmdLineOptions.cc:106
CmdLineOptionParser::isFlagOn
virtual bool isFlagOn() const
Definition: CmdLineOptionParser.cc:126
CmdLineParser::addOption
void addOption(CmdLineOptionParser *opt)
CmdLineOptionParser
Definition: CmdLineOptionParser.hh:56
TestHDBCmdLineOptions::RF_ID_PARAM_NAME
static const std::string RF_ID_PARAM_NAME
Long name of the RFentryID parameter.
Definition: TestHDBCmdLineOptions.hh:67
CmdLineOptions
Definition: CmdLineOptions.hh:54
BoolCmdLineOptionParser
Definition: CmdLineOptionParser.hh:278
CmdLineOptions::printHelp
virtual void printHelp() const
Definition: CmdLineOptions.cc:262
TestHDBCmdLineOptions::FU_ID_PARAM_NAME
static const std::string FU_ID_PARAM_NAME
Long name of the FUentryID parameter.
Definition: TestHDBCmdLineOptions.hh:65
TestHDBCmdLineOptions::isFUEntryIDGiven
bool isFUEntryIDGiven() const
Definition: TestHDBCmdLineOptions.cc:86
CmdLineOptionParser::String
virtual std::string String(int index=0) const
Definition: CmdLineOptionParser.cc:102
TestHDBCmdLineOptions::printVersion
virtual void printVersion() const
Definition: TestHDBCmdLineOptions.cc:164
TestHDBCmdLineOptions::isRFEntryIDGiven
bool isRFEntryIDGiven() const
Definition: TestHDBCmdLineOptions.cc:96
TestHDBCmdLineOptions::leaveDirty
bool leaveDirty() const
Definition: TestHDBCmdLineOptions.cc:116
TestHDBCmdLineOptions::DIRTY_PARAM_NAME
static const std::string DIRTY_PARAM_NAME
Long name of leave dirty parameter.
Definition: TestHDBCmdLineOptions.hh:71
CmdLineOptionParser::integer
virtual int integer(int index=0) const
Definition: CmdLineOptionParser.cc:84
TestHDBCmdLineOptions::VERBOSE_PARAM_NAME
static const std::string VERBOSE_PARAM_NAME
Long name of verbose output parameter.
Definition: TestHDBCmdLineOptions.hh:69
CmdLineParser::findOption
CmdLineOptionParser * findOption(std::string name) const
Definition: CmdLineParser.cc:160
TestHDBCmdLineOptions::rfEntryID
int rfEntryID() const
Definition: TestHDBCmdLineOptions.cc:136
CmdLineParser::argument
virtual std::string argument(int index) const
Application::TCEVersionString
static std::string TCEVersionString()
Definition: Application.cc:510
StringCmdLineOptionParser
Definition: CmdLineOptionParser.hh:180
TestHDBCmdLineOptions::printHelp
virtual void printHelp() const
Definition: TestHDBCmdLineOptions.cc:172
IntegerCmdLineOptionParser
Definition: CmdLineOptionParser.hh:117