update: stardust-xr core
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
use super::{Aspect, AspectIdentifier, Node};
|
||||
use crate::core::{client::Client, error::Result, registry::Registry};
|
||||
use crate::core::{
|
||||
client::Client, error::Result, registry::Registry, scenegraph::MethodResponseSender,
|
||||
};
|
||||
use std::{
|
||||
ops::Add,
|
||||
sync::{Arc, Weak},
|
||||
@@ -86,7 +88,7 @@ impl Aspect for Alias {
|
||||
_node: Arc<Node>,
|
||||
_method: u64,
|
||||
_message: super::Message,
|
||||
_response: crate::core::scenegraph::MethodResponseSender,
|
||||
_response: MethodResponseSender,
|
||||
) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,12 +77,12 @@ impl CameraItem {
|
||||
_message: Message,
|
||||
response: MethodResponseSender,
|
||||
) {
|
||||
response.wrap_sync(move || {
|
||||
response.wrap(move || {
|
||||
let ItemType::Camera(_camera) = &node.get_aspect::<Item>().unwrap().specialization
|
||||
else {
|
||||
bail!("Wrong item type?");
|
||||
};
|
||||
Ok(serialize(())?.into())
|
||||
Ok(serialize(())?)
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
@@ -204,11 +204,11 @@ impl Node {
|
||||
) {
|
||||
if let Ok(alias) = self.get_aspect::<Alias>() {
|
||||
if !alias.info.server_methods.contains(&method) {
|
||||
response.send(Err(ScenegraphError::MemberNotFound));
|
||||
response.send_err(ScenegraphError::MemberNotFound);
|
||||
return;
|
||||
}
|
||||
let Some(alias) = alias.original.upgrade() else {
|
||||
response.send(Err(ScenegraphError::BrokenAlias));
|
||||
response.send_err(ScenegraphError::BrokenAlias);
|
||||
return;
|
||||
};
|
||||
alias.execute_local_method(
|
||||
@@ -223,7 +223,7 @@ impl Node {
|
||||
)
|
||||
} else {
|
||||
let Some(aspect) = self.aspects.0.get(&aspect_id).map(|v| v.clone()) else {
|
||||
response.send(Err(ScenegraphError::AspectNotFound));
|
||||
response.send_err(ScenegraphError::AspectNotFound);
|
||||
return;
|
||||
};
|
||||
aspect.run_method(calling_client, self.clone(), method, message, response);
|
||||
|
||||
Reference in New Issue
Block a user