Implement typed RLV protocol parser (#78)
Some checks failed
Native code generation / deterministic (push) Failing after 2m0s
Imaging and meshing gate / native (push) Failing after 4m11s
JPEG 2000 feature / linux (push) Successful in 2m52s
Native Rust workspace compile / compile (push) Failing after 6m15s
Skia feature / linux (push) Has been cancelled

This commit is contained in:
2026-08-10 23:12:02 +00:00
parent 88408c9680
commit 468a0f0619
12 changed files with 2282 additions and 24 deletions

View File

@@ -1107,16 +1107,14 @@ pub struct RlvCommandProcessor;
impl RlvCommandProcessor {}
/// C# type: `T:LibreMetaverse.RLV.RlvCommon`.
pub struct RlvCommon;
pub use crate::protocol::RlvCommon;
impl RlvCommon {
/// C# member: `M:LibreMetaverse.RLV.RlvCommon.TryGetAttachmentPointFromItemName(System.String,System.Nullable{LibreMetaverse.RLV.RlvAttachmentPoint}@)`.
pub fn try_get_attachment_point_from_item_name(
item_name: String,
attachment_point: &mut Option<Option<libremetaverse_rlv::RlvAttachmentPoint>>,
) -> bool {
libremetaverse_types::unimplemented_api!(
"M:LibreMetaverse.RLV.RlvCommon.TryGetAttachmentPointFromItemName(System.String,System.Nullable{LibreMetaverse.RLV.RlvAttachmentPoint}@)"
)
Self::native_try_get_attachment_point_from_item_name(item_name, attachment_point)
}
}
@@ -1834,7 +1832,7 @@ pub enum RlvPermissionsServiceTouchLocation {
}
/// C# type: `T:LibreMetaverse.RLV.RlvRestriction`.
pub struct RlvRestriction;
pub use crate::protocol::RlvRestriction;
impl RlvRestriction {
/// C# member: `M:LibreMetaverse.RLV.RlvRestriction.#ctor(LibreMetaverse.RLV.RlvRestrictionType,System.Guid,System.String,System.Collections.Generic.ICollection{System.Object})`.
pub fn new(
@@ -1843,51 +1841,45 @@ impl RlvRestriction {
sender_name: String,
args: Vec<libremetaverse_types::compat::Object>,
) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(
"M:LibreMetaverse.RLV.RlvRestriction.#ctor(LibreMetaverse.RLV.RlvRestrictionType,System.Guid,System.String,System.Collections.Generic.ICollection{System.Object})",
)
Self::native_new(behavior, sender, sender_name, args)
}
/// C# member: `M:LibreMetaverse.RLV.RlvRestriction.Equals(System.Object)`.
pub fn equals(&self, obj: Option<libremetaverse_types::compat::Object>) -> bool {
libremetaverse_types::unimplemented_api!(
"M:LibreMetaverse.RLV.RlvRestriction.Equals(System.Object)"
)
self.native_equals(obj)
}
/// C# member: `M:LibreMetaverse.RLV.RlvRestriction.GetHashCode`.
pub fn get_hash_code(&self) -> i32 {
libremetaverse_types::unimplemented_api!("M:LibreMetaverse.RLV.RlvRestriction.GetHashCode")
self.native_get_hash_code()
}
/// C# member: `M:LibreMetaverse.RLV.RlvRestriction.ToString`.
pub fn to_string(&self) -> String {
libremetaverse_types::unimplemented_api!("M:LibreMetaverse.RLV.RlvRestriction.ToString")
self.native_to_string()
}
/// C# member: `P:LibreMetaverse.RLV.RlvRestriction.Args`.
pub fn args(
&self,
) -> libremetaverse_types::compat::ImmutableList<libremetaverse_types::compat::Object> {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.RLV.RlvRestriction.Args")
self.native_args()
}
/// C# member: `P:LibreMetaverse.RLV.RlvRestriction.Behavior`.
pub fn behavior(&self) -> libremetaverse_rlv::RlvRestrictionType {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.RLV.RlvRestriction.Behavior")
self.native_behavior()
}
/// C# member: `P:LibreMetaverse.RLV.RlvRestriction.IsException`.
pub fn is_exception(&self) -> bool {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.RLV.RlvRestriction.IsException")
self.native_is_exception()
}
/// C# member: `P:LibreMetaverse.RLV.RlvRestriction.OriginalBehavior`.
pub fn original_behavior(&self) -> libremetaverse_rlv::RlvRestrictionType {
libremetaverse_types::unimplemented_api!(
"P:LibreMetaverse.RLV.RlvRestriction.OriginalBehavior"
)
self.native_original_behavior()
}
/// C# member: `P:LibreMetaverse.RLV.RlvRestriction.Sender`.
pub fn sender(&self) -> libremetaverse_types::compat::Guid {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.RLV.RlvRestriction.Sender")
self.native_sender()
}
/// C# member: `P:LibreMetaverse.RLV.RlvRestriction.SenderName`.
pub fn sender_name(&self) -> String {
libremetaverse_types::unimplemented_api!("P:LibreMetaverse.RLV.RlvRestriction.SenderName")
self.native_sender_name()
}
}

View File

@@ -3,6 +3,8 @@
extern crate self as libremetaverse_rlv;
mod generated;
mod protocol;
pub use generated::*;
pub use libremetaverse_types::Error;
pub use protocol::*;

File diff suppressed because it is too large Load Diff