blob: 18e07f1ffcb87275aaa777184a22fb839c31f2fd [file] [log] [blame]
Zack Rusin601e8372011-03-24 22:23:21 -04001#include "mainwindow.h"
2
Zack Rusin8f98c3a2011-09-11 18:21:29 -04003#include "apitrace.h"
Zack Rusinf6667d12011-03-30 11:03:37 -04004#include "apitracecall.h"
Zack Rusin601e8372011-03-24 22:23:21 -04005
6#include <QApplication>
7#include <QMetaType>
8#include <QVariant>
Dan McCabe66dfdda2012-03-05 17:20:39 -08009#include <QImage>
Zack Rusin601e8372011-03-24 22:23:21 -040010
Zack Rusinf6667d12011-03-30 11:03:37 -040011Q_DECLARE_METATYPE(QList<ApiTraceFrame*>);
Zack Rusin8f98c3a2011-09-11 18:21:29 -040012Q_DECLARE_METATYPE(QVector<ApiTraceCall*>);
13Q_DECLARE_METATYPE(Qt::CaseSensitivity);
14Q_DECLARE_METATYPE(ApiTrace::SearchResult);
Zack Rusinad513b32011-09-25 14:33:41 -040015Q_DECLARE_METATYPE(ApiTrace::SearchRequest);
Dan McCabe66dfdda2012-03-05 17:20:39 -080016Q_DECLARE_METATYPE(QList<QImage>);
Zack Rusin601e8372011-03-24 22:23:21 -040017
José Fonsecab7eb1522011-11-27 15:15:33 +000018static void usage(void)
19{
20 qWarning("usage: qapitrace [TRACE] [CALLNO]\n");
21}
22
Zack Rusin601e8372011-03-24 22:23:21 -040023int main(int argc, char **argv)
24{
25 QApplication app(argc, argv);
26
Zack Rusinf6667d12011-03-30 11:03:37 -040027 qRegisterMetaType<QList<ApiTraceFrame*> >();
Zack Rusin8f98c3a2011-09-11 18:21:29 -040028 qRegisterMetaType<QVector<ApiTraceCall*> >();
Zack Rusinf389ae82011-04-10 19:27:28 -040029 qRegisterMetaType<ApiTraceState>();
Zack Rusin8f98c3a2011-09-11 18:21:29 -040030 qRegisterMetaType<Qt::CaseSensitivity>();
31 qRegisterMetaType<ApiTrace::SearchResult>();
Zack Rusinad513b32011-09-25 14:33:41 -040032 qRegisterMetaType<ApiTrace::SearchRequest>();
Dan McCabe66dfdda2012-03-05 17:20:39 -080033 qRegisterMetaType<QList<QImage> >();
José Fonsecab7eb1522011-11-27 15:15:33 +000034 QStringList args = app.arguments();
Zack Rusin601e8372011-03-24 22:23:21 -040035
José Fonsecab7eb1522011-11-27 15:15:33 +000036 int i = 1;
37 while (i < args.count()) {
38 QString arg = args[i];
39 if (arg[0] != QLatin1Char('-')) {
40 break;
41 }
42 ++i;
43 if (arg == QLatin1String("--")) {
44 break;
45 } else if (arg == QLatin1String("-h") ||
46 arg == QLatin1String("--help")) {
47 usage();
48 exit(0);
49 } else {
50 usage();
51 exit(1);
52 }
53 }
54
55 MainWindow window;
Zack Rusin601e8372011-03-24 22:23:21 -040056 window.show();
57
José Fonsecab7eb1522011-11-27 15:15:33 +000058 if (i < args.count()) {
59 QString fileName = args[i++];
60
61 int callNum = -1;
62 if (i < args.count()) {
63 callNum = args[i++].toInt();
64 }
65 window.loadTrace(fileName, callNum);
66 }
Zack Rusin601e8372011-03-24 22:23:21 -040067
68 app.exec();
69}