blob: 0ed50ed8f2b33506f931f570d9662430d59712ec [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{
James Benton023a4f82012-09-07 14:23:43 +010025 QApplication::setGraphicsSystem("raster");
Zack Rusin601e8372011-03-24 22:23:21 -040026 QApplication app(argc, argv);
27
Zack Rusinf6667d12011-03-30 11:03:37 -040028 qRegisterMetaType<QList<ApiTraceFrame*> >();
Zack Rusin8f98c3a2011-09-11 18:21:29 -040029 qRegisterMetaType<QVector<ApiTraceCall*> >();
Zack Rusinf389ae82011-04-10 19:27:28 -040030 qRegisterMetaType<ApiTraceState>();
Zack Rusin8f98c3a2011-09-11 18:21:29 -040031 qRegisterMetaType<Qt::CaseSensitivity>();
32 qRegisterMetaType<ApiTrace::SearchResult>();
Zack Rusinad513b32011-09-25 14:33:41 -040033 qRegisterMetaType<ApiTrace::SearchRequest>();
Dan McCabe66dfdda2012-03-05 17:20:39 -080034 qRegisterMetaType<QList<QImage> >();
José Fonsecab7eb1522011-11-27 15:15:33 +000035 QStringList args = app.arguments();
Zack Rusin601e8372011-03-24 22:23:21 -040036
José Fonsecab7eb1522011-11-27 15:15:33 +000037 int i = 1;
38 while (i < args.count()) {
39 QString arg = args[i];
40 if (arg[0] != QLatin1Char('-')) {
41 break;
42 }
43 ++i;
44 if (arg == QLatin1String("--")) {
45 break;
46 } else if (arg == QLatin1String("-h") ||
47 arg == QLatin1String("--help")) {
48 usage();
49 exit(0);
50 } else {
51 usage();
52 exit(1);
53 }
54 }
55
56 MainWindow window;
Zack Rusin601e8372011-03-24 22:23:21 -040057 window.show();
58
José Fonsecab7eb1522011-11-27 15:15:33 +000059 if (i < args.count()) {
60 QString fileName = args[i++];
61
62 int callNum = -1;
63 if (i < args.count()) {
64 callNum = args[i++].toInt();
65 }
66 window.loadTrace(fileName, callNum);
67 }
Zack Rusin601e8372011-03-24 22:23:21 -040068
69 app.exec();
70}