// Code generated by protoc-gen-zig
///! package dergrimm.eink_feed
const std = @import("std");
const Allocator = std.mem.Allocator;
const ArrayList = std.ArrayList;

const protobuf = @import("protobuf");
const ManagedString = protobuf.ManagedString;
const fd = protobuf.fd;
const ManagedStruct = protobuf.ManagedStruct;

pub const Orientation = enum(i32) {
    PORTRAIT_UP = 0,
    PORTRAIT_DOWN = 1,
    LANDSCAPE_LEFT = 2,
    LANDSCAPE_RIGHT = 3,
    _,
};

pub const Display = struct {
    width: u32 = 0,
    height: u32 = 0,
    orientation: Orientation = @enumFromInt(0),

    pub const _desc_table = .{
        .width = fd(1, .{ .Varint = .Simple }),
        .height = fd(2, .{ .Varint = .Simple }),
        .orientation = fd(3, .{ .Varint = .Simple }),
    };

    pub usingnamespace protobuf.MessageMixins(@This());
};

pub const FrameMessage = struct {
    display: ?Display = null,
    pixels: ManagedString = .Empty,

    pub const _desc_table = .{
        .display = fd(1, .{ .SubMessage = {} }),
        .pixels = fd(2, .Bytes),
    };

    pub usingnamespace protobuf.MessageMixins(@This());
};

pub const ServerMessage = struct {
    frame: ?FrameMessage = null,

    pub const _desc_table = .{
        .frame = fd(1, .{ .SubMessage = {} }),
    };

    pub usingnamespace protobuf.MessageMixins(@This());
};

pub const KeyUpdate = struct {
    key_code: u32 = 0,
    key_name: ManagedString = .Empty,
    value: u32 = 0,

    pub const _desc_table = .{
        .key_code = fd(1, .{ .Varint = .Simple }),
        .key_name = fd(2, .String),
        .value = fd(3, .{ .Varint = .Simple }),
    };

    pub usingnamespace protobuf.MessageMixins(@This());
};

pub const ClientKeyUpdateMessage = struct {
    key_update: ?KeyUpdate = null,

    pub const _desc_table = .{
        .key_update = fd(1, .{ .SubMessage = {} }),
    };

    pub usingnamespace protobuf.MessageMixins(@This());
};

pub const ClientMessage = struct {
    key_update: ?ClientKeyUpdateMessage = null,

    pub const _desc_table = .{
        .key_update = fd(1, .{ .SubMessage = {} }),
    };

    pub usingnamespace protobuf.MessageMixins(@This());
};
