// 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"
#include "wirelessaccesspoint.h"

namespace nymea::api {

class WirelessNetworkDevice {
public:
    // wire: 'bitRate' (required)
    QString bitRate{};
    // wire: 'capabilities' (required)
    WirelessCapabilities capabilities{};
    // wire: 'interface' (required)
    QString interface{};
    // wire: 'ipv4Addresses' (required)
    QStringList ipv4Addresses{};
    // wire: 'ipv6Addresses' (required)
    QStringList ipv6Addresses{};
    // wire: 'macAddress' (required)
    QString macAddress{};
    // wire: 'mode' (required)
    WirelessMode mode{};
    // wire: 'currentAccessPoint' (optional, required)
    std::optional<WirelessAccessPoint> currentAccessPoint;
    // wire: 'state' (required)
    NetworkDeviceState state{};

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

} // namespace nymea::api
