// SPDX-License-Identifier: GPL-3.0-or-later

// This file is auto-generated by scripts/generate_nymea_api.py
// Any changes made here will be lost when the files are regenerated.
// Do not edit manually.

#pragma once

#include "apiutils.h"

namespace nymea::api {

class ZigbeeNetwork {
public:
    // wire: 'backend' (field)
    QString backend{};
    // wire: 'baudRate' (field)
    quint64 baudRate{};
    // wire: 'channel' (field)
    quint64 channel{};
    // wire: 'channelMask' (field)
    quint64 channelMask{};
    // wire: 'enabled' (field)
    bool enabled{};
    // wire: 'firmwareVersion' (field)
    QString firmwareVersion{};
    // wire: 'macAddress' (field)
    QString macAddress{};
    // wire: 'networkState' (field)
    ZigbeeNetworkState networkState{};
    // wire: 'networkUuid' (field)
    QUuid networkUuid{};
    // wire: 'panId' (field)
    quint64 panId{};
    // wire: 'permitJoiningDuration' (field)
    quint64 permitJoiningDuration{};
    // wire: 'permitJoiningEnabled' (field)
    bool permitJoiningEnabled{};
    // wire: 'permitJoiningRemaining' (field)
    quint64 permitJoiningRemaining{};
    // wire: 'serialPort' (field)
    QString serialPort{};

    static ZigbeeNetwork fromJson(const QJsonObject &object);
    QJsonObject toJson() const;
};

} // namespace nymea::api
