// Generated by the protocol buffer compiler.  DO NOT EDIT!
// clang-format off
// source: deviceapis/device/v1/deviceapis_device_system_v1.proto

// This CPP symbol can be defined to use imports that match up to the framework
// imports needed when using CocoaPods.
#if !defined(GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS)
 #define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0
#endif

#if GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS
 #import <Protobuf/GPBProtocolBuffers.h>
#else
 #import "GPBProtocolBuffers.h"
#endif

#if GOOGLE_PROTOBUF_OBJC_VERSION < 30007
#error This file was generated by a newer version of protoc which is incompatible with your Protocol Buffer library sources.
#endif
#if 30007 < GOOGLE_PROTOBUF_OBJC_MIN_SUPPORTED_VERSION
#error This file was generated by an older version of protoc which is incompatible with your Protocol Buffer library sources.
#endif

// @@protoc_insertion_point(imports)

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wdeprecated-declarations"

CF_EXTERN_C_BEGIN

@class DEVICEAPISDEVICEV1DeviceInfo;

NS_ASSUME_NONNULL_BEGIN

#pragma mark - DEVICEAPISDEVICEV1DeviceapisDeviceSystemV1Root

/**
 * Exposes the extension registry for this file.
 *
 * The base class provides:
 * @code
 *   + (GPBExtensionRegistry *)extensionRegistry;
 * @endcode
 * which is a @c GPBExtensionRegistry that includes all the extensions defined by
 * this file and all files that it depends on.
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeviceapisDeviceSystemV1Root : GPBRootObject
@end

#pragma mark - DEVICEAPISDEVICEV1PostSystemRebootRequest

/**
 * Запрос удаленной перезагрузки
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1PostSystemRebootRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1PostSystemRebootResponse

/**
 * Ответ на запрос удаленной перезагрузки
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1PostSystemRebootResponse : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1DeviceInfo

typedef GPB_ENUM(DEVICEAPISDEVICEV1DeviceInfo_FieldNumber) {
  DEVICEAPISDEVICEV1DeviceInfo_FieldNumber_FirmwareVersion = 1,
  DEVICEAPISDEVICEV1DeviceInfo_FieldNumber_HardwareVersion = 2,
  DEVICEAPISDEVICEV1DeviceInfo_FieldNumber_Model = 3,
  DEVICEAPISDEVICEV1DeviceInfo_FieldNumber_MacAddress = 4,
  DEVICEAPISDEVICEV1DeviceInfo_FieldNumber_Ip = 5,
  DEVICEAPISDEVICEV1DeviceInfo_FieldNumber_SerialNumber = 6,
  DEVICEAPISDEVICEV1DeviceInfo_FieldNumber_Uptime = 7,
  DEVICEAPISDEVICEV1DeviceInfo_FieldNumber_McFirmwareVersion = 8,
};

/**
 * Общая информация об устройстве
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1DeviceInfo : GPBMessage

/** Версия программного обеспечения */
@property(nonatomic, readwrite, copy, null_resettable) NSString *firmwareVersion;

/** Версия аппаратного обеспечения */
@property(nonatomic, readwrite, copy, null_resettable) NSString *hardwareVersion;

/** Модель */
@property(nonatomic, readwrite, copy, null_resettable) NSString *model;

/**
 * MAC-адрес.
 * Диапазон: 17..17.
 * Паттерн: /^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$/
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *macAddress;

/**
 * IP адрес.
 * Диапазон: 7..15.
 * Паттерн: /^((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/
 **/
@property(nonatomic, readwrite, copy, null_resettable) NSString *ip;

/** Серийный номер */
@property(nonatomic, readwrite, copy, null_resettable) NSString *serialNumber;

/**
 * Время работы в секундах.
 * Диапазон: 0..2147483647
 **/
@property(nonatomic, readwrite) int32_t uptime;

/** Версия программного обеспечения микроконтроллера */
@property(nonatomic, readwrite, copy, null_resettable) NSString *mcFirmwareVersion;

@end

#pragma mark - DEVICEAPISDEVICEV1GetSystemInfoRequest

/**
 * Запрос получения общей информации об устройстве
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSystemInfoRequest : GPBMessage

@end

#pragma mark - DEVICEAPISDEVICEV1GetSystemInfoResponse

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSystemInfoResponse_FieldNumber) {
  DEVICEAPISDEVICEV1GetSystemInfoResponse_FieldNumber_Data_p = 1,
};

typedef GPB_ENUM(DEVICEAPISDEVICEV1GetSystemInfoResponse_Type_OneOfCase) {
  DEVICEAPISDEVICEV1GetSystemInfoResponse_Type_OneOfCase_GPBUnsetOneOfCase = 0,
  DEVICEAPISDEVICEV1GetSystemInfoResponse_Type_OneOfCase_Data_p = 1,
};

/**
 * Ответ на запрос получения общей информации об устройстве
 **/
GPB_FINAL @interface DEVICEAPISDEVICEV1GetSystemInfoResponse : GPBMessage

/** Тип ответа */
@property(nonatomic, readonly) DEVICEAPISDEVICEV1GetSystemInfoResponse_Type_OneOfCase typeOneOfCase;

/** Общая информация об устройстве */
@property(nonatomic, readwrite, strong, null_resettable) DEVICEAPISDEVICEV1DeviceInfo *data_p;

@end

/**
 * Clears whatever value was set for the oneof 'type'.
 **/
void DEVICEAPISDEVICEV1GetSystemInfoResponse_ClearTypeOneOfCase(DEVICEAPISDEVICEV1GetSystemInfoResponse *message);

NS_ASSUME_NONNULL_END

CF_EXTERN_C_END

#pragma clang diagnostic pop

// @@protoc_insertion_point(global_scope)

// clang-format on
