lua_protobuf_rs/descriptor_proto/
enum_reserved_range.rs1use 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}