blob: d7af53dde789c219e76dae1428254f3b58337dfd [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>
9
Zack Rusinf6667d12011-03-30 11:03:37 -040010Q_DECLARE_METATYPE(QList<ApiTraceFrame*>);
Zack Rusin8f98c3a2011-09-11 18:21:29 -040011Q_DECLARE_METATYPE(QVector<ApiTraceCall*>);
12Q_DECLARE_METATYPE(Qt::CaseSensitivity);
13Q_DECLARE_METATYPE(ApiTrace::SearchResult);
Zack Rusinad513b32011-09-25 14:33:41 -040014Q_DECLARE_METATYPE(ApiTrace::SearchRequest);
Zack Rusin601e8372011-03-24 22:23:21 -040015
José Fonsecab7eb1522011-11-27 15:15:33 +000016static void usage(void)
17{
18 qWarning("usage: qapitrace [TRACE] [CALLNO]\n");
19}
20
Zack Rusin601e8372011-03-24 22:23:21 -040021int main(int argc, char **argv)
22{
23 QApplication app(argc, argv);
24
Zack Rusinf6667d12011-03-30 11:03:37 -040025 qRegisterMetaType<QList<ApiTraceFrame*> >();
Zack Rusin8f98c3a2011-09-11 18:21:29 -040026 qRegisterMetaType<QVector<ApiTraceCall*> >();
Zack Rusinf389ae82011-04-10 19:27:28 -040027 qRegisterMetaType<ApiTraceState>();
Zack Rusin8f98c3a2011-09-11 18:21:29 -040028 qRegisterMetaType<Qt::CaseSensitivity>();
29 qRegisterMetaType<ApiTrace::SearchResult>();
Zack Rusinad513b32011-09-25 14:33:41 -040030 qRegisterMetaType<ApiTrace::SearchRequest>();
José Fonsecab7eb1522011-11-27 15:15:33 +000031 QStringList args = app.arguments();
Zack Rusin601e8372011-03-24 22:23:21 -040032
José Fonsecab7eb1522011-11-27 15:15:33 +000033 int i = 1;
34 while (i < args.count()) {
35 QString arg = args[i];
36 if (arg[0] != QLatin1Char('-')) {
37 break;
38 }
39 ++i;
40 if (arg == QLatin1String("--")) {
41 break;
42 } else if (arg == QLatin1String("-h") ||
43 arg == QLatin1String("--help")) {
44 usage();
45 exit(0);
46 } else {
47 usage();
48 exit(1);
49 }
50 }
51
52 MainWindow window;
Zack Rusin601e8372011-03-24 22:23:21 -040053 window.show();
54
José Fonsecab7eb1522011-11-27 15:15:33 +000055 if (i < args.count()) {
56 QString fileName = args[i++];
57
58 int callNum = -1;
59 if (i < args.count()) {
60 callNum = args[i++].toInt();
61 }
62 window.loadTrace(fileName, callNum);
63 }
Zack Rusin601e8372011-03-24 22:23:21 -040064
65 app.exec();
66}