aboutsummaryrefslogtreecommitdiffstats
path: root/sources/shiboken6/tests/libsample/objectmodel.h
blob: 06340446053caa03ef6cc792a7934b26fa4b0c8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright (C) 2016 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0

#ifndef OBJECTMODEL_H
#define OBJECTMODEL_H

#include "objecttype.h"
#include "libsamplemacros.h"

class LIBSAMPLE_API ObjectModel : public ObjectType
{
public:
    explicit ObjectModel(ObjectType *parent = nullptr)
        : ObjectType(parent), m_data(nullptr)
    {}

    void setData(ObjectType* data);
    virtual ObjectType* data() const;

    // The MethodCalled enum and related static methods were created to
    // test bug #630 [http://bugs.openbossa.org/show_bug.cgi?id=630]
    enum MethodCalled { ObjectTypeCalled, ObjectModelCalled };
    static MethodCalled receivesObjectTypeFamily(const ObjectType &object);
    static MethodCalled receivesObjectTypeFamily(const ObjectModel &object);

private:
    // The model holds only one piece of data.
    // (This is just a test after all.)
    ObjectType* m_data;
};

#endif // OBJECTMODEL_H