lua_protobuf_rs/descriptor_proto/
enum_reserved_range.rs1use crate::{add_message_dyn_trait_method, add_message_full_trait_method, add_message_trait_method};
2use derive_more::{Deref, DerefMut, From, Into};
3use mlua::prelude::LuaUserData;
4use mlua::{MetaMethod, UserDataFields, UserDataMethods};
5use protobuf::descriptor::enum_descriptor_proto::EnumReservedRange;
6
7#[derive(PartialEq, Clone, Default, Debug, Deref, DerefMut, From, Into)]
8pub struct LuaEnumReservedRange(pub EnumReservedRange);
9
10impl LuaUserData for LuaEnumReservedRange {
11 fn add_fields<F: UserDataFields<Self>>(fields: &mut F) {
12 fields.add_field_method_get("start", |_, this| {
13 Ok(this.start)
14 });
15
16 fields.add_field_method_get("end", |_, this| {
17 Ok(this.end)
18 });
19 }
20
21 fn add_methods<M: UserDataMethods<Self>>(methods: &mut M) {
22 methods.add_meta_method(MetaMethod::ToString, |_, this, ()| {
23 Ok(this.to_string())
24 });
25
26 methods.add_method("start", |_, this, ()| {
27 Ok(this.start())
28 });
29
30 methods.add_method_mut("clear_start", |_, this, ()| {
31 this.clear_start();
32 Ok(())
33 });
34
35 methods.add_method("has_start", |_, this, ()| {
36 Ok(this.has_start())
37 });
38
39 methods.add_method_mut("set_start", |_, this, value: i32| {
40 this.set_start(value);
41 Ok(())
42 });
43
44 methods.add_method("end", |_, this, ()| {
45 Ok(this.end())
46 });
47
48 methods.add_method_mut("clear_end", |_, this, ()| {
49 this.clear_end();
50 Ok(())
51 });
52
53 methods.add_method("has_end", |_, this, ()| {
54 Ok(this.has_end())
55 });
56
57 methods.add_method_mut("set_end", |_, this, value: i32| {
58 this.set_end(value);
59 Ok(())
60 });
61
62 add_message_trait_method!(methods, EnumReservedRange, LuaEnumReservedRange);
63
64 add_message_dyn_trait_method!(methods, EnumReservedRange, LuaEnumReservedRange);
65
66 add_message_full_trait_method!(methods, EnumReservedRange, LuaEnumReservedRange);
67 }
68}