From 59f91c0194f1ac83ae78e4b22f466e25873e1282 Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Fri, 21 Oct 2011 11:00:14 +1000 Subject: Make some qtestlib headers private. These headers should have been private from Day One. Make them private now so that nobody will be tempted to use them outside testlib in the future. Change-Id: I5361777ade124d8187176f9af3cc79cd1a8ecb4f Reviewed-by: Rohan McGovern --- src/testlib/qtestcoreelement_p.h | 180 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 180 insertions(+) create mode 100644 src/testlib/qtestcoreelement_p.h (limited to 'src/testlib/qtestcoreelement_p.h') diff --git a/src/testlib/qtestcoreelement_p.h b/src/testlib/qtestcoreelement_p.h new file mode 100644 index 0000000000..17e6ede4b6 --- /dev/null +++ b/src/testlib/qtestcoreelement_p.h @@ -0,0 +1,180 @@ +/**************************************************************************** +** +** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies). +** All rights reserved. +** Contact: Nokia Corporation (qt-info@nokia.com) +** +** This file is part of the QtTest module of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:LGPL$ +** GNU Lesser General Public License Usage +** This file may be used under the terms of the GNU Lesser General Public +** License version 2.1 as published by the Free Software Foundation and +** appearing in the file LICENSE.LGPL included in the packaging of this +** file. Please review the following information to ensure the GNU Lesser +** General Public License version 2.1 requirements will be met: +** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt LGPL Exception +** version 1.1, included in the file LGPL_EXCEPTION.txt in this package. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU General +** Public License version 3.0 as published by the Free Software Foundation +** and appearing in the file LICENSE.GPL included in the packaging of this +** file. Please review the following information to ensure the GNU General +** Public License version 3.0 requirements will be met: +** http://www.gnu.org/copyleft/gpl.html. +** +** Other Usage +** Alternatively, this file may be used in accordance with the terms and +** conditions contained in a signed written agreement between you and Nokia. +** +** +** +** +** +** $QT_END_LICENSE$ +** +****************************************************************************/ + +#ifndef QTESTCOREELEMENT_P_H +#define QTESTCOREELEMENT_P_H + +// +// W A R N I N G +// ------------- +// +// This file is not part of the Qt API. It exists purely as an +// implementation detail. This header file may change from version to +// version without notice, or even be removed. +// +// We mean it. +// + +#include +#include + +QT_BEGIN_HEADER + +QT_BEGIN_NAMESPACE + +QT_MODULE(Test) + +template +class QTestCoreElement: public QTestCoreList +{ + public: + QTestCoreElement( int type = -1 ); + virtual ~QTestCoreElement(); + + void addAttribute(const QTest::AttributeIndex index, const char *value); + QTestElementAttribute *attributes() const; + const char *attributeValue(QTest::AttributeIndex index) const; + const char *attributeName(QTest::AttributeIndex index) const; + const QTestElementAttribute *attribute(QTest::AttributeIndex index) const; + + const char *elementName() const; + QTest::LogElementType elementType() const; + + private: + QTestElementAttribute *listOfAttributes; + QTest::LogElementType type; +}; + +template +QTestCoreElement::QTestCoreElement(int t) + :listOfAttributes(0), type(QTest::LogElementType(t)) +{ +} + +template +QTestCoreElement::~QTestCoreElement() +{ + delete listOfAttributes; +} + +template +void QTestCoreElement::addAttribute(const QTest::AttributeIndex attributeIndex, const char *value) +{ + if (attributeIndex == -1 || attribute(attributeIndex)) + return; + + QTestElementAttribute *testAttribute = new QTestElementAttribute; + testAttribute->setPair(attributeIndex, value); + testAttribute->addToList(&listOfAttributes); +} + +template +QTestElementAttribute *QTestCoreElement::attributes() const +{ + return listOfAttributes; +} + +template +const char *QTestCoreElement::attributeValue(QTest::AttributeIndex index) const +{ + const QTestElementAttribute *attrb = attribute(index); + if (attrb) + return attrb->value(); + + return 0; +} + +template +const char *QTestCoreElement::attributeName(QTest::AttributeIndex index) const +{ + const QTestElementAttribute *attrb = attribute(index); + if (attrb) + return attrb->name(); + + return 0; +} + +template +const char *QTestCoreElement::elementName() const +{ + const char *xmlElementNames[] = + { + "property", + "properties", + "failure", + "error", + "testcase", + "testsuite", + "benchmark", + "system-err" + }; + + if (type != QTest::LET_Undefined) + return xmlElementNames[type]; + + return 0; +} + +template +QTest::LogElementType QTestCoreElement::elementType() const +{ + return type; +} + +template +const QTestElementAttribute *QTestCoreElement::attribute(QTest::AttributeIndex index) const +{ + QTestElementAttribute *iterator = listOfAttributes; + while (iterator) { + if (iterator->index() == index) + return iterator; + + iterator = iterator->nextElement(); + } + + return 0; +} + +QT_END_NAMESPACE + +QT_END_HEADER + +#endif -- cgit v1.2.3