1 #include "trimprocess.h"
9 TrimProcess::TrimProcess(QObject *parent)
12 m_process = new QProcess(this);
14 connect(m_process, SIGNAL(finished(int, QProcess::ExitStatus)),
15 this, SLOT(trimFinished()));
16 connect(m_process, SIGNAL(error(QProcess::ProcessError)),
17 this, SLOT(trimError(QProcess::ProcessError)));
20 QString format = QLatin1String("%1;");
22 QString format = QLatin1String("%1:");
24 QString buildPath = format.arg(APITRACE_BINARY_DIR);
25 QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
26 env.insert("PATH", buildPath + env.value("PATH"));
27 qputenv("PATH", env.value("PATH").toLatin1());
30 TrimProcess::~TrimProcess()
34 void TrimProcess::trimFinished()
36 // consume verbose output spew
37 QByteArray outputStrings = m_process->readAllStandardOutput();
38 QByteArray errorStrings = m_process->readAllStandardError();
40 qDebug()<<"trim finished on " << m_trimPath;
41 qDebug()<<"\terr = "<<errorStrings;
42 qDebug()<<"\tout = "<<outputStrings;
44 emit trimmedFile(m_trimPath);
47 void TrimProcess::trimError(QProcess::ProcessError err)
49 // consume verbose output spew
50 QByteArray outputStrings = m_process->readAllStandardOutput();
51 QByteArray errorStrings = m_process->readAllStandardError();
53 qDebug()<<"trace error = "<<m_tracePath;
54 qDebug()<<"\terr = "<<errorStrings;
55 qDebug()<<"\tout = "<<outputStrings;
57 emit error(errorStrings);
61 void TrimProcess::start()
63 QStringList arguments;
65 QString outputFormat = QLatin1String("--output=%1");
66 QString outputArgument = outputFormat
69 QString callSetFormat = QLatin1String("--calls=0-%1");
70 QString callSetArgument = callSetFormat
73 arguments << QLatin1String("trim");
74 arguments << outputArgument;
75 arguments << callSetArgument;
76 arguments << m_tracePath;
78 m_process->start(QLatin1String("apitrace"), arguments);
81 int TrimProcess::trimIndex()
86 void TrimProcess::setTrimIndex(int trimIndex)
88 m_trimIndex = trimIndex;
93 void TrimProcess::setTracePath(const QString &str)
100 QString TrimProcess::tracePath() const
105 void TrimProcess::updateTrimPath()
108 QFileInfo fi(m_tracePath);
109 QString baseName = fi.baseName();
110 QString path = fi.path();
112 QString format = QString::fromLatin1("%1/%2.%3.trim.trace");
120 #include "trimprocess.moc"