lua_protobuf_rs/descriptor_proto/
enum_reserved_range.rs

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