1 #include "mainwindow.h"
4 #include "apitracecall.h"
6 #include "os_string.hpp"
7 #include "os_process.hpp"
9 #include <QApplication>
14 Q_DECLARE_METATYPE(QList<ApiTraceFrame*>);
15 Q_DECLARE_METATYPE(QVector<ApiTraceCall*>);
16 Q_DECLARE_METATYPE(Qt::CaseSensitivity);
17 Q_DECLARE_METATYPE(ApiTrace::SearchResult);
18 Q_DECLARE_METATYPE(ApiTrace::SearchRequest);
19 Q_DECLARE_METATYPE(QList<QImage>);
21 static void usage(void)
23 qWarning("usage: qapitrace [TRACE] [CALLNO]\n");
26 int main(int argc, char **argv)
28 QApplication::setGraphicsSystem("raster");
29 QApplication app(argc, argv);
31 qRegisterMetaType<QList<ApiTraceFrame*> >();
32 qRegisterMetaType<QVector<ApiTraceCall*> >();
33 qRegisterMetaType<ApiTraceState>();
34 qRegisterMetaType<Qt::CaseSensitivity>();
35 qRegisterMetaType<ApiTrace::SearchResult>();
36 qRegisterMetaType<ApiTrace::SearchRequest>();
37 qRegisterMetaType<QList<QImage> >();
40 os::String currentProcess = os::getProcessName();
41 currentProcess.trimFilename();
42 QString path = qgetenv("PATH");
43 path = QLatin1String(currentProcess.str()) + QLatin1String(":") + path;
44 qputenv("PATH", path.toLatin1());
47 QStringList args = app.arguments();
50 while (i < args.count()) {
51 QString arg = args[i];
52 if (arg[0] != QLatin1Char('-')) {
56 if (arg == QLatin1String("--")) {
58 } else if (arg == QLatin1String("-h") ||
59 arg == QLatin1String("--help")) {
71 if (i < args.count()) {
72 QString fileName = args[i++];
75 if (i < args.count()) {
76 callNum = args[i++].toInt();
78 window.loadTrace(fileName, callNum);