#ifndef REP_DEBUGINTERFACE_REPLICA_H
#define REP_DEBUGINTERFACE_REPLICA_H

// This is an autogenerated file.
// Do not edit this file, any changes made will be lost the next time it is generated.

#include <QtCore/qobject.h>
#include <QtCore/qdatastream.h>
#include <QtCore/qvariant.h>
#include <QtCore/qmetatype.h>

#include <QtRemoteObjects/qremoteobjectnode.h>
#include <QtRemoteObjects/qremoteobjectpendingcall.h>
#include <QtRemoteObjects/qremoteobjectreplica.h>

#include "debuginterface_types.h"

#include <QString>

class DebugInterfaceReplica : public QRemoteObjectReplica
{
    Q_OBJECT
    Q_CLASSINFO(QCLASSINFO_REMOTEOBJECT_TYPE, "DebugInterface")
    Q_CLASSINFO(QCLASSINFO_REMOTEOBJECT_SIGNATURE, "308c8d427f749fcb653ed368d456c47d4bb7f095")

public:
    DebugInterfaceReplica() : QRemoteObjectReplica() { initialize(); }
    static void registerMetatypes()
    {
        static bool initialized = false;
        if (initialized)
            return;
        initialized = true;
        qRegisterMetaType<KDSME::DebugInterface::TransitionId>();
        qRegisterMetaTypeStreamOperators<KDSME::DebugInterface::TransitionId>();
        qRegisterMetaType<KDSME::DebugInterface::StateType>();
        qRegisterMetaTypeStreamOperators<KDSME::DebugInterface::StateType>();
        qRegisterMetaType<KDSME::DebugInterface::StateId>();
        qRegisterMetaTypeStreamOperators<KDSME::DebugInterface::StateId>();
        qRegisterMetaType<KDSME::DebugInterface::StateMachineConfiguration>();
        qRegisterMetaTypeStreamOperators<KDSME::DebugInterface::StateMachineConfiguration>();
        qRegisterMetaType<QRemoteObjectPendingCall>();
        qRegisterMetaType<QRemoteObjectPendingReply<void>>();
        if (!QMetaType::hasRegisteredConverterFunction<QRemoteObjectPendingReply<void>, QRemoteObjectPendingCall>())
            QMetaType::registerConverter<QRemoteObjectPendingReply<void>, QRemoteObjectPendingCall>();

    }

private:
    DebugInterfaceReplica(QRemoteObjectNode *node, const QString &name = QString())
        : QRemoteObjectReplica(ConstructWithNode)
    {
        initializeNode(node, name);
    }

    void initialize() override
    {
        DebugInterfaceReplica::registerMetatypes();
        QVariantList properties;
        properties.reserve(0);
        setProperties(properties);
    }

public:
    ~DebugInterfaceReplica() override = default;


Q_SIGNALS:
    void statusChanged(bool haveStateMachine, bool running);
    void message(const QString & message);
    void stateAdded(KDSME::DebugInterface::StateId state, KDSME::DebugInterface::StateId parent, bool hasChildren, const QString & label, KDSME::DebugInterface::StateType type, bool connectToInitial);
    void stateEntered(KDSME::DebugInterface::StateId state);
    void stateExited(KDSME::DebugInterface::StateId state);
    void transitionAdded(KDSME::DebugInterface::TransitionId state, KDSME::DebugInterface::StateId source, KDSME::DebugInterface::StateId target, const QString & label);
    void stateConfigurationChanged(const KDSME::DebugInterface::StateMachineConfiguration & config);
    void maximumDepthChanged(int depth);
    void transitionTriggered(KDSME::DebugInterface::TransitionId transition, const QString & label);
    void aboutToRepopulateGraph();
    void graphRepopulated();

public Q_SLOTS:
    void repopulateGraph()
    {
        static int __repc_index = DebugInterfaceReplica::staticMetaObject.indexOfSlot("repopulateGraph()");
        QVariantList __repc_args;
        send(QMetaObject::InvokeMetaMethod, __repc_index, __repc_args);
    }

private:
    friend class QT_PREPEND_NAMESPACE(QRemoteObjectNode);
};


QT_BEGIN_NAMESPACE
QT_END_NAMESPACE


#endif // REP_DEBUGINTERFACE_REPLICA_H
