File indexing completed on 2025-02-02 05:02:41

0001 /*
0002     SPDX-FileCopyrightText: 2020-2022 Volker Krause <vkrause@kde.org>
0003     SPDX-License-Identifier: LGPL-2.0-or-later
0004 */
0005 
0006 #include "mock_jniobject.h"
0007 
0008 using namespace KAndroidExtras::Internal;
0009 
0010 QStringList MockJniObjectBase::m_staticProtocol;
0011 
0012 class MockJniObjectBasePrivate : public QSharedData
0013 {
0014 public:
0015     QStringList protocol;
0016     QHash<QByteArray, QVariant> properties;
0017     QVariant value;
0018 };
0019 
0020 MockJniObjectBase::MockJniObjectBase()
0021     : d(new MockJniObjectBasePrivate)
0022 {
0023 }
0024 
0025 MockJniObjectBase::MockJniObjectBase(const char *className)
0026     : d(new MockJniObjectBasePrivate)
0027 {
0028     addToProtocol(QLatin1StringView("ctor: ") + QLatin1StringView(className));
0029 }
0030 
0031 MockJniObjectBase::MockJniObjectBase(jobject object)
0032     : d(new MockJniObjectBasePrivate)
0033 {
0034     Q_UNUSED(object);
0035     addToProtocol(QLatin1StringView("ctor: o"));
0036 }
0037 
0038 MockJniObjectBase::MockJniObjectBase(const MockJniObjectBase&) = default;
0039 MockJniObjectBase & MockJniObjectBase::operator=(const MockJniObjectBase&) = default;
0040 MockJniObjectBase::~MockJniObjectBase() = default;
0041 
0042 QStringList MockJniObjectBase::protocol() const
0043 {
0044     return d->protocol;
0045 }
0046 
0047 void MockJniObjectBase::addToProtocol(const QString &line) const
0048 {
0049     d->protocol.push_back(line);
0050 }
0051 
0052 void MockJniObjectBase::setProtocol(const QStringList &protocol)
0053 {
0054     d->protocol = protocol;
0055 }
0056 
0057 QVariant MockJniObjectBase::property(const QByteArray &name) const
0058 {
0059     return d->properties.value(name);
0060 }
0061 
0062 void MockJniObjectBase::setProperty(const QByteArray &name, const QVariant &value)
0063 {
0064     d->properties.insert(name, value);
0065 }
0066 
0067 QVariant MockJniObjectBase::value() const
0068 {
0069     return d->value;
0070 }
0071 
0072 void MockJniObjectBase::setValue(const QVariant &value)
0073 {
0074     d->value = value;
0075 }
0076 
0077 void MockJniObjectBase::setData(jobject object)
0078 {
0079     d = reinterpret_cast<MockJniObjectBasePrivate*>(object);
0080 }