Skip to content
Snippets Groups Projects
Commit 771f30a6 authored by dt's avatar dt
Browse files

Merge branch 'master' of git@scm.dev.nokia.troll.no:creator/mainline

Task-number: 243747
parents 617ddf03 0e73d5fe
No related branches found
No related tags found
No related merge requests found
...@@ -28,13 +28,18 @@ ...@@ -28,13 +28,18 @@
**************************************************************************/ **************************************************************************/
#include <QtCore/QStringList> #include <QtCore/QStringList>
#include <QtCore/QVector>
#include <QtCore/QTimer>
#include <QtCore/private/qobject_p.h>
#include <string> #include <string>
#include <list> #include <list>
#include <vector>
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
/* Test program for Dumper development/porting. /* Test program for Dumper development/porting.
* Takes the type as first argument. */ * Takes the type as first argument. */
...@@ -106,6 +111,16 @@ static int dumpQIntList() ...@@ -106,6 +111,16 @@ static int dumpQIntList()
return 0; return 0;
} }
static int dumpQIntVector()
{
QVector<int> test = QVector<int>() << 1 << 2;
prepareInBuffer("QVector", "local.qintvector", "local.qintvector", "int");
qDumpObjectData440(2, 42, &test, 1, sizeof(int), 0, 0, 0);
fputs(qDumpOutBuffer, stdout);
fputc('\n', stdout);
return 0;
}
// --------------- std types // --------------- std types
static int dumpStdString() static int dumpStdString()
...@@ -142,28 +157,61 @@ static int dumpStdIntList() ...@@ -142,28 +157,61 @@ static int dumpStdIntList()
return 0; return 0;
} }
static int dumpStdIntVector()
{
std::vector<int> test;
test.push_back(1);
test.push_back(2);
prepareInBuffer("std::vector", "local.intvector", "local.intvector", "int");
qDumpObjectData440(2, 42, &test, 1, sizeof(int), sizeof(std::list<int>::allocator_type), 0, 0);
fputs(qDumpOutBuffer, stdout);
fputc('\n', stdout);
return 0;
}
static int dumpQObject()
{
QTimer t;
QObjectPrivate *tp = reinterpret_cast<QObjectPrivate *>(&t);
const int childOffset = (char*)&tp->children - (char*)tp;
printf("Qt version %s Child offset: %d\n", QT_VERSION_STR, childOffset);
prepareInBuffer("QObject", "local.qobject", "local.qobject", "");
qDumpObjectData440(2, 42, &t, 1, childOffset, 0, 0, 0);
fputs(qDumpOutBuffer, stdout);
fputc('\n', stdout);
return 0;
}
int main(int argc, char *argv[]) int main(int argc, char *argv[])
{ {
printf("Running query protocol\n"); printf("Running query protocol\n");
qDumpObjectData440(1, 42, 0, 1, 0, 0, 0, 0); qDumpObjectData440(1, 42, 0, 1, 0, 0, 0, 0);
fputs(qDumpOutBuffer, stdout); fputs(qDumpOutBuffer, stdout);
fputc('\n', stdout); fputc('\n', stdout);
fputc('\n', stdout); fputc('\n', stdout);
if (argc < 2) if (argc < 2)
return 0; return 0;
const char *arg = argv[1]; for (int i = 1; i < argc; i++) {
if (!qstrcmp(arg, "QString")) const char *arg = argv[i];
return dumpQString(); printf("\nTesting %s\n", arg);
if (!qstrcmp(arg, "QStringList")) if (!qstrcmp(arg, "QString"))
return dumpQStringList(); dumpQString();
if (!qstrcmp(arg, "QList<int>")) if (!qstrcmp(arg, "QStringList"))
return dumpQIntList(); dumpQStringList();
if (!qstrcmp(arg, "string")) if (!qstrcmp(arg, "QList<int>"))
return dumpStdString(); dumpQIntList();
if (!qstrcmp(arg, "list<int>")) if (!qstrcmp(arg, "QVector<int>"))
return dumpStdIntList(); dumpQIntVector();
if (!qstrcmp(arg, "list<string>")) if (!qstrcmp(arg, "string"))
return dumpStdStringList(); dumpStdString();
fprintf(stderr, "Unhandled type %s\n", arg); if (!qstrcmp(arg, "list<int>"))
return 1; dumpStdIntList();
if (!qstrcmp(arg, "list<string>"))
dumpStdStringList();
if (!qstrcmp(arg, "vector<int>"))
dumpStdIntVector();
if (!qstrcmp(arg, "QObject"))
dumpQObject();
}
return 0;
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment