クラス Onikiri::Environment

#include <Env.h>

Onikiri::Environmentに対する継承グラフ

Inheritance graph
[凡例]
Onikiri::Environmentのコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

 Environment ()
void Finalize ()
const std::vector< String > & GetCfgXmlFiles ()
const std::vector< String > & GetCmdLineArgs ()
String GetHostWorkPath ()
String GetStartupPath ()
void Initialize (int argc, char *argv[], const std::vector< String > &defaultParams=std::vector< String >())
bool IsDumpSuccess ()
bool IsSuppressedInternalMessage ()
void Print (const char *str,...)
void Print (const std::string &str)
void PrintFatalErrorXML ()
void PrintInternal (const char *str,...)
void SetError (bool error, const std::string &msg)
void SetWarning (bool warning)
 ~Environment ()

構成

class  Path

説明

Env.h46 行で定義されています。


コンストラクタとデストラクタ

Environment::Environment (  ) 

Env.cpp87 行で定義されています。

参照先 Onikiri::String::format()ONIKIRI_VERSIONONIKIRI_VERSION_DECIMAL_POINT.

00088 {
00089     m_cmdLineArgs.clear();
00090     m_execBeginTime = 0;
00091     m_execPeriod = 0;
00092     m_error = false;
00093     m_dumpSuccess = false;
00094     m_outputPrintToSTDOUT = true;
00095     m_suppressInternalMessage = false;
00096     m_suppressWarning = false;
00097     m_paramDBInitialized = false;
00098 
00099     m_versionString.format(
00100         "%x.%02x", 
00101         ONIKIRI_VERSION >> ONIKIRI_VERSION_DECIMAL_POINT,
00102         ONIKIRI_VERSION & ((1<<ONIKIRI_VERSION_DECIMAL_POINT)-1) );
00103 }

関数の呼び出しグラフ:

Environment::~Environment (  ) 

Env.cpp105 行で定義されています。

00106 {
00107 }


関数

void Environment::Finalize (  ) 

Env.cpp154 行で定義されています。

参照先 Onikiri::ParamDB::Finalize()Onikiri::g_paramDBOnikiri::ParamExchange::ReleaseParam().

参照元 main().

00155 {
00156     EndExec();
00157     ReleaseParam();
00158 
00159     if(m_paramDBInitialized){
00160         DumpResult();
00161         m_dumpSuccess = true;
00162     }
00163 
00164     g_paramDB.Finalize();
00165 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

const vector< String > & Environment::GetCfgXmlFiles (  ) 

Env.cpp232 行で定義されています。

00233 {
00234     return m_cfgXmlFiles;
00235 }

const vector< String > & Environment::GetCmdLineArgs (  ) 

Env.cpp237 行で定義されています。

00238 {
00239     return m_cmdLineArgs;
00240 }

String Environment::GetHostWorkPath (  ) 

Env.cpp242 行で定義されています。

参照元 Onikiri::VisualizationDumper::Initialize()Onikiri::CountDumper::Initialize()Initialize()Onikiri::EmulationTraceSystem::Run().

00243 {
00244     return m_hostWorkPath.Get();
00245 }

Here is the caller graph for this function:

String Environment::GetStartupPath (  ) 

Env.cpp247 行で定義されています。

00248 {
00249     return m_startupPath;
00250 }

void Environment::Initialize ( int  argc,
char *  argv[],
const std::vector< String > &  defaultParams = std::vector< String >() 
)

Env.cpp110 行で定義されています。

参照先 Onikiri::ParamDB::AddUserDefaultParam()Onikiri::g_paramDBGetHostWorkPath()Onikiri::ParamDB::Initialize()Onikiri::ParamExchange::LoadParam()Onikiri::ParamDB::LoadParameters()PrintInternal()Onikiri::SuppressWaning()THROW_RUNTIME_ERROR.

参照元 main().

00114 {
00115     if( argc <= 1 ){
00116         THROW_RUNTIME_ERROR( "No input parameter is passed." );
00117     }
00118 
00119     m_startupPath = 
00120         boost::filesystem::initial_path().string() + "/";
00121 
00122     if(!g_paramDB.Initialize( m_startupPath )){
00123         THROW_RUNTIME_ERROR("Initializing ParamDB failed.");
00124     }
00125     m_paramDBInitialized = true;
00126 
00127     for(size_t i = 0; i < defaultParams.size(); i++){
00128         g_paramDB.AddUserDefaultParam( defaultParams[i] );
00129     }
00130 
00131     for( int i = 0; i < argc; i++){
00132         m_cmdLineArgs.push_back(argv[i]);
00133     }
00134     g_paramDB.LoadParameters( m_cmdLineArgs );
00135 
00136     LoadParam();
00137     m_hostWorkPath.Initialize(*this);
00138 
00139     m_outputPrintToSTDOUT = m_outputPrintFileName == "";
00140     if(!m_outputPrintToSTDOUT){
00141         String printFileName = GetHostWorkPath() + m_outputPrintFileName;
00142         m_outputPrintStream.open( printFileName );
00143         if(!m_outputPrintStream){
00144             m_outputPrintToSTDOUT = true;   // It is required to output below message.
00145             THROW_RUNTIME_ERROR( "Could not open '%s'.", m_outputPrintFileName.c_str() );
00146         }
00147     }
00148 
00149     SuppressWaning( m_suppressWarning );
00150     PrintInternal( "Onikiri Version %s\n", m_versionString.c_str() );
00151     BeginExec();
00152 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

bool Environment::IsDumpSuccess (  ) 

Env.cpp269 行で定義されています。

参照元 main().

00270 {
00271     return m_dumpSuccess;
00272 }

Here is the caller graph for this function:

bool Environment::IsSuppressedInternalMessage (  ) 

Env.cpp284 行で定義されています。

00285 {
00286     return m_suppressInternalMessage;
00287 };

void Environment::Print ( const char *  str,
  ... 
)

Env.cpp204 行で定義されています。

参照先 str.

00205 {
00206     String str;
00207     va_list arg;
00208     va_start(arg, fmt);
00209     str.format_arg(fmt, arg);
00210     va_end(arg);
00211 
00212     // 
00213     if( m_outputPrintToSTDOUT )
00214         printf( "%s", str.c_str() );
00215     else
00216         m_outputPrintStream << str;
00217 }

void Environment::Print ( const std::string &  str  ) 

Env.cpp199 行で定義されています。

参照元 Onikiri::StreamPrefetcher::AllocateStream()Onikiri::SampleNull::Finalize()Onikiri::SampleNull::Initialize()Onikiri::EmulatorUtility::Linux64SyscallConv::kill_helper()main()Onikiri::StridePrefetcher::OnCacheAccess()Onikiri::StreamPrefetcher::OnCacheAccess()Onikiri::SampleHookModule::OnCycleBegin()Onikiri::SampleHookModule::OnCycleEvaluate()Onikiri::SampleHookModule::OnCycleProcess()Onikiri::SampleHookModule::OnOpDispatch()Onikiri::SampleHookModule::OnOpExecutionFinish()Onikiri::SampleHookModule::OnOpFetch()Onikiri::SampleHookModule::OnOpFlushed()Onikiri::SampleHookModule::OnOpIssue()Onikiri::SampleHookModule::OnOpRename()Onikiri::SampleHookModule::OnOpRescheduled()Onikiri::SampleHookModule::OnOpRetire()Onikiri::StreamPrefetcher::Prefetch()PrintFatalErrorXML()PrintInternal()Onikiri::EmulatorUtility::Operation::testroundmode()Onikiri::StreamPrefetcher::UpdateMonitorStream()Onikiri::StreamPrefetcher::UpdateTrainingStream().

00200 {
00201     return Print( str.c_str() );
00202 }

Here is the caller graph for this function:

void Environment::PrintFatalErrorXML (  ) 

Env.cpp274 行で定義されています。

参照先 Print().

参照元 main().

00275 {
00276     Print(
00277         "<?xml version='1.0' encoding='UTF-8'?>\n"
00278         "<Session>\n"
00279         "  <Result Error='1'>\n"
00280         "</Session>\n"
00281     );
00282 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void Environment::PrintInternal ( const char *  str,
  ... 
)

Env.cpp219 行で定義されています。

参照先 Print()str.

参照元 Onikiri::DebugStub::DebugStub()Initialize()Onikiri::SystemManager::InitializeEmulator()Onikiri::SystemManager::InitializeResources().

00220 {
00221     String str;
00222     va_list arg;
00223     va_start(arg, fmt);
00224     str.format_arg(fmt, arg);
00225     va_end(arg);
00226 
00227     if(!m_suppressInternalMessage)
00228         Print(str.c_str());
00229 }

関数の呼び出しグラフ:

Here is the caller graph for this function:

void Environment::SetError ( bool  error,
const std::string &  msg 
)

Env.cpp263 行で定義されています。

参照元 main().

00264 {
00265     m_error = error;
00266     m_errorMsg = msg;
00267 }

Here is the caller graph for this function:

void Onikiri::Environment::SetWarning ( bool  warning  ) 


このクラスの説明は次のファイルから生成されました:
Onikiri2に対してTue Jun 18 14:58:04 2013に生成されました。  doxygen 1.4.7