Implement native RLV callback service integration (#80)
This commit is contained in:
@@ -305,7 +305,7 @@ impl IRlvQueryCallbacks for RecordingQueries {
|
||||
&self,
|
||||
_: CancellationToken,
|
||||
) -> QueryFuture<'_, (bool, Option<InventoryMap>)> {
|
||||
let value = self.0.lock().unwrap().inventory_map.take();
|
||||
let value = self.0.lock().unwrap().inventory_map.clone();
|
||||
Box::pin(async move { Ok((value.is_some(), value)) })
|
||||
}
|
||||
|
||||
@@ -326,7 +326,7 @@ impl RlvHarness {
|
||||
///
|
||||
/// # Errors
|
||||
///
|
||||
/// Returns the standardized constructor error while the public RLV service is a shim.
|
||||
/// Returns an error if the native RLV service cannot be initialized.
|
||||
pub fn new() -> Result<Self, Error> {
|
||||
let action_callbacks = RecordingActions::default();
|
||||
let query_callbacks = RecordingQueries::default();
|
||||
|
||||
@@ -59,7 +59,11 @@ fn run(command: &str, setup: Setup, sender_item: bool) -> Vec<Guid> {
|
||||
);
|
||||
}
|
||||
match setup {
|
||||
Setup::NoStripItem | Setup::PointNoStrip | Setup::WearableNoStrip => {
|
||||
Setup::NoStripItem
|
||||
| Setup::PointNoStrip
|
||||
| Setup::PointLink
|
||||
| Setup::WearableNoStrip
|
||||
| Setup::WearableLink => {
|
||||
tree.happy_shirt.set_name("nostrip Happy Shirt".into());
|
||||
}
|
||||
_ => {}
|
||||
|
||||
@@ -259,8 +259,9 @@ fn notify_inventory_offer() {
|
||||
}
|
||||
|
||||
fn report_sit_and_unsit(h: &RlvHarness) {
|
||||
block_on(h.service.report_sit(Some(Some(guid(ITEM_3))), None)).unwrap();
|
||||
block_on(h.service.report_unsit(Some(Some(guid(ITEM_3))), None)).unwrap();
|
||||
let sit_target = guid("11111111-1111-4111-8111-111111111111");
|
||||
block_on(h.service.report_sit(Some(Some(sit_target)), None)).unwrap();
|
||||
block_on(h.service.report_unsit(Some(Some(sit_target)), None)).unwrap();
|
||||
block_on(h.service.report_sit(None, None)).unwrap();
|
||||
block_on(h.service.report_unsit(None, None)).unwrap();
|
||||
}
|
||||
|
||||
@@ -15,6 +15,7 @@ enum Setup {
|
||||
PartySpine,
|
||||
PartyChin,
|
||||
BusinessPelvis,
|
||||
BusinessPelvisPrim1,
|
||||
BusinessChin,
|
||||
BusinessChest,
|
||||
RetroPants,
|
||||
@@ -65,6 +66,12 @@ fn apply_setup(tree: &mut SampleInventoryTree, setup: Setup) {
|
||||
tree.business_pants
|
||||
.set_attached_prim_id(Some(Some(guid(PRIM_3))));
|
||||
}
|
||||
Setup::BusinessPelvisPrim1 => {
|
||||
tree.business_pants
|
||||
.set_attached_to(Some(Some(RlvAttachmentPoint::Pelvis)));
|
||||
tree.business_pants
|
||||
.set_attached_prim_id(Some(Some(guid(PRIM_1))));
|
||||
}
|
||||
Setup::BusinessChin => {
|
||||
tree.business_pants
|
||||
.set_attached_to(Some(Some(RlvAttachmentPoint::Chin)));
|
||||
@@ -333,7 +340,7 @@ fn attach_this_not_recursive() {
|
||||
assert!(folder_case_matches(
|
||||
"@attachthis=n",
|
||||
Some((PRIM_1, "Business Pants (Pelvis)")),
|
||||
Setup::BusinessPelvis,
|
||||
Setup::BusinessPelvisPrim1,
|
||||
LockMode::Attach,
|
||||
CLOTHING_LOCKED,
|
||||
&[FolderKey::Clothing],
|
||||
|
||||
Reference in New Issue
Block a user