summaryrefslogtreecommitdiffstats
path: root/src/scxml/qscxmlevent.h
blob: dc8df0150b67b886c7e32729f0e6b42e1b726aff (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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/****************************************************************************
 **
 ** Copyright (c) 2015 Digia Plc
 ** For any questions to Digia, please use contact form at http://qt.digia.com/
 **
 ** All Rights Reserved.
 **
 ** NOTICE: All information contained herein is, and remains
 ** the property of Digia Plc and its suppliers,
 ** if any. The intellectual and technical concepts contained
 ** herein are proprietary to Digia Plc
 ** and its suppliers and may be covered by Finnish and Foreign Patents,
 ** patents in process, and are protected by trade secret or copyright law.
 ** Dissemination of this information or reproduction of this material
 ** is strictly forbidden unless prior written permission is obtained
 ** from Digia Plc.
 ****************************************************************************/

#ifndef SCXMLEVENT_H
#define SCXMLEVENT_H

#include <QtScxml/qscxmlglobals.h>

#include <QEvent>
#include <QStringList>
#include <QVariantList>

QT_BEGIN_NAMESPACE

namespace QScxmlInternal {
class WrappedQStateMachine;
}

class QScxmlEventPrivate;

class Q_SCXML_EXPORT QScxmlEvent: public QEvent
{
public:
    QScxmlEvent();
    ~QScxmlEvent();

    QScxmlEvent &operator=(const QScxmlEvent &other);
    QScxmlEvent(const QScxmlEvent &other);

    enum EventType {
        PlatformEvent,
        InternalEvent,
        ExternalEvent
    };

    QByteArray name() const;
    void setName(const QByteArray &name);

    EventType eventType() const;
    void setEventType(const EventType &type);

    QString scxmlType() const;

    QByteArray sendId() const;
    void setSendId(const QByteArray &sendId);

    QString origin() const;
    void setOrigin(const QString &origin);

    QString originType() const;
    void setOriginType(const QString &originType);

    QString invokeId() const;
    void setInvokeId(const QString &invokeId);

    int delay() const;
    void setDelay(int delayInMiliSecs);

    void clear();

    QVariant data() const;
    void setData(const QVariant &data);

protected:
    friend QScxmlInternal::WrappedQStateMachine;
    static QEvent::Type scxmlEventType;
    static QEvent::Type ignoreEventType;
    void makeIgnorable();

private:
    QScxmlEventPrivate *d;

};

QT_END_NAMESPACE

#endif // SCXMLEVENT_H