WSF
WsfExecution.hpp
Go to the documentation of this file.
1// ****************************************************************************
2// CUI
3//
4// The Advanced Framework for Simulation, Integration, and Modeling (AFSIM)
5//
6// Copyright 2003-2015 The Boeing Company. All rights reserved.
7//
8// The use, dissemination or disclosure of data in this file is subject to
9// limitation or restriction. See accompanying README and LICENSE for details.
10// ****************************************************************************
11
12#ifndef WSFEXECUTION_HPP
13#define WSFEXECUTION_HPP
14
15#include <QFile>
16#include <QProcess>
17#include <QTextDocument>
18
19#include "UtPath.hpp"
20#include "ViExport.hpp"
21
22namespace wizard
23{
24class WsfExe;
25
27class VI_EXPORT WsfExecution : public QProcess
28{
29 Q_OBJECT
30
31public:
32 QSharedPointer<QTextDocument> mOutputText;
33
34 static WsfExecution* NewExecution(WsfExe* aExe,
35 const UtPath& aWorkingDir,
36 const std::vector<UtPath>& aStartupFiles,
37 const QString& aCmdLineArgs,
38 const QString& aProjectName,
39 int aXioRecvPort,
40 bool aUseDebugging);
41 WsfExecution(QString aName, WsfExe* aExePtr, const UtPath& aWorkingDir, const QStringList& aArguments);
42
43 void Start(const std::vector<UtPath>& aStartupFiles);
44 void Kill();
45 WsfExe* GetExe() const { return mExePtr; }
46 QStringList GetArguments() const { return mArguments; }
47 ExitStatus GetExitStatus() const { return mExitStatus; }
48 static std::string DebugSettingsString(int aPort);
49 void SetOutputLogPath(const QString& aPath);
50 UtPath GetWorkingDir() const { return mWorkingDir; }
51
53 {
55 : mUsingXIO(false)
56 , mXIO_Port(0)
57 {
58 }
60 std::string mXIO_Address;
61 std::string mXIO_Interface;
63 };
64
66 QString mName; // scenario name .. temporary placeholder
67
68signals:
69 void Done();
70 void StandardOutputText(const QString& aText);
71
72protected slots:
74 void Finished();
75
76protected:
77 void LimitOutputSize(QTextCursor* aCursorPtr);
78 int Exec();
79
83 QStringList mArguments;
84 QRegExp mErrExp;
87 bool mDone;
89 ExitStatus mExitStatus;
90};
91} // namespace wizard
92
93#endif
#define VI_EXPORT
Definition ViExport.hpp:38
Definition WsfExe.hpp:46
void Start(const std::vector< UtPath > &aStartupFiles)
Definition WsfExecution.cpp:63
QString mName
Definition WsfExecution.hpp:66
ExitStatus mExitStatus
Definition WsfExecution.hpp:89
UtPath mWorkingDir
Definition WsfExecution.hpp:81
QFile mOutputLog
Definition WsfExecution.hpp:80
UtPath GetWorkingDir() const
Definition WsfExecution.hpp:50
ConnectionParameters mConnectionParameters
Definition WsfExecution.hpp:65
WsfExe * mExePtr
Definition WsfExecution.hpp:82
QRegExp mInFileLineColExp
Definition WsfExecution.hpp:85
bool mStarted
Definition WsfExecution.hpp:88
static WsfExecution * NewExecution(WsfExe *aExe, const UtPath &aWorkingDir, const std::vector< UtPath > &aStartupFiles, const QString &aCmdLineArgs, const QString &aProjectName, int aXioRecvPort, bool aUseDebugging)
Definition WsfExecution.cpp:214
void LimitOutputSize(QTextCursor *aCursorPtr)
Definition WsfExecution.cpp:139
bool mDone
Definition WsfExecution.hpp:87
void Kill()
Definition WsfExecution.cpp:151
WsfExecution(QString aName, WsfExe *aExePtr, const UtPath &aWorkingDir, const QStringList &aArguments)
Definition WsfExecution.cpp:28
QStringList GetArguments() const
Definition WsfExecution.hpp:46
QRegExp mErrExp
Definition WsfExecution.hpp:84
void ReadyReadStandardOutput()
Definition WsfExecution.cpp:106
void StandardOutputText(const QString &aText)
void Finished()
Definition WsfExecution.cpp:119
QRegExp mInFileEofExp
Definition WsfExecution.hpp:86
WsfExe * GetExe() const
Definition WsfExecution.hpp:45
QSharedPointer< QTextDocument > mOutputText
Definition WsfExecution.hpp:32
ExitStatus GetExitStatus() const
Definition WsfExecution.hpp:47
QStringList mArguments
Definition WsfExecution.hpp:83
Definition Runner.hpp:22
Definition WsfExecution.hpp:53
int mXIO_Port
Definition WsfExecution.hpp:62
ConnectionParameters()
Definition WsfExecution.hpp:54
std::string mXIO_Interface
Definition WsfExecution.hpp:61
std::string mXIO_Address
Definition WsfExecution.hpp:60
bool mUsingXIO
Definition WsfExecution.hpp:59
Copyrights Multiple, All Rights Reserved