Add complete downstream API gate
Some checks failed
Rust API gates / api-gates (push) Has been cancelled

This commit is contained in:
2026-08-08 13:11:55 +02:00
parent 643762fd1d
commit c8a953996e
16 changed files with 183714 additions and 295 deletions

31
.gitea/workflows/ci.yml Normal file
View File

@@ -0,0 +1,31 @@
name: Rust API gates
on:
push:
pull_request:
jobs:
api-gates:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@1.85.0
with:
components: clippy,rustfmt
- name: Generated mapping and API coverage
run: |
python3 tools/generate_rust_mapping.py --check
python3 tools/generate_api_shims.py --check
python3 tools/check_api_coverage.py
- name: Formatting
run: cargo fmt --all -- --check
- name: Workspace check
run: cargo check --workspace --all-targets
- name: Downstream API fixture
run: cargo check --locked --manifest-path tests/api-compile/Cargo.toml
- name: Test compilation
run: cargo test --workspace --no-run
- name: Clippy
run: cargo clippy --workspace --all-targets --all-features -- -D warnings
- name: Documentation
run: cargo doc --workspace --no-deps

1
.gitignore vendored
View File

@@ -1,4 +1,5 @@
/target/
/tests/api-compile/target/
__pycache__/
/tools/api-catalog/bin/
/tools/api-catalog/obj/

View File

@@ -11,8 +11,9 @@ target. Types, StructuredData, Imaging, PrimMesher, both rendering adapters, and
the main assembly's packet/message/asset/primitive wire-data, core
runtime/networking, avatar-facing manager, world/social/service manager, RLV,
LSL tools, Utilities, Vivox, and WebRTC slices now have complete callable,
failure-only signatures. The downstream 100% coverage audit and semantic Rust
test translations are still required before Stage 0 is complete.
failure-only signatures. The independent downstream fixture compiles every
cataloged type and member with zero exclusions; semantic Rust test translations
are the next stage.
The source snapshot, compatibility rules, dependency research, and ordered
implementation plan are in [RUSTREWRITE.md](RUSTREWRITE.md).

View File

@@ -62,12 +62,13 @@ The current workspace is a structural baseline, not a working client:
- all nine sample/tool projects have compiling Rust binary targets;
- the 128 TestClient command source files are retained as a command inventory.
No generated type shells remain pending: all cataloged members are callable.
`api/SURFACE.tsv` is still an inventory aid, not proof of API coverage: it
records declaration lines but does not fully parse multiline signatures.
Likewise, a generated `pending` test is a parity placeholder, not a semantic
translation. **This repository is therefore at Stage 0 and still requires the
independent downstream API audit and full test-suite gate.**
No generated type shells remain pending: all cataloged members are callable,
and the standalone downstream fixture names or invokes all 3,066 types and
30,789 members with zero exclusions. `api/SURFACE.tsv` is still an inventory
aid, not proof of API coverage: it records declaration lines but does not fully
parse multiline signatures. Likewise, a generated `pending` test is a parity
placeholder, not a semantic translation. **The full public API signature shim
gate is complete; semantic test translation is the next stage.**
The avatar-facing slice preserves the C# agent, movement/camera, appearance and
outfit-policy, inventory/AIS/store, asset/cache, avatar, and animesh concepts.
@@ -89,8 +90,8 @@ Blocking compatibility surfaces stay explicit, stored callbacks and events use
typed ownership, and parser/voice bodies fail before performing parsing,
networking, device access, or proprietary/native work.
No functional porting starts until both missing gates are complete across the
entire workspace, rather than one crate at a time:
No functional porting starts until the semantic test-suite gate is complete
across the entire workspace, rather than one crate at a time:
1. every public C# type and member has a reviewed, callable Rust signature with
an intentionally failing body;
@@ -706,7 +707,11 @@ Required gates:
```sh
cargo fmt --all -- --check
python3 tools/generate_rust_mapping.py --check
python3 tools/generate_api_shims.py --check
python3 tools/check_api_coverage.py
cargo check --workspace --all-targets
cargo check --locked --manifest-path tests/api-compile/Cargo.toml
cargo test --workspace --no-run
cargo clippy --workspace --all-targets --all-features -- -D warnings
cargo doc --workspace --no-deps

31
api/API-COVERAGE.md Normal file
View File

@@ -0,0 +1,31 @@
# Complete API gate coverage
Generated by `python3 tools/check_api_coverage.py --write`; do not edit by hand.
| Assembly | Catalog types | Mapped/exported/fixture types | Catalog members | Mapped/exported/fixture members |
|---|---:|---:|---:|---:|
| `LibreMetaverse` | 2,711 | 2,711 | 27,281 | 27,281 |
| `LibreMetaverse.Imaging.Abstractions` | 3 | 3 | 20 | 20 |
| `LibreMetaverse.Imaging.Skia` | 1 | 1 | 3 | 3 |
| `LibreMetaverse.LslTools` | 164 | 164 | 768 | 768 |
| `LibreMetaverse.PrimMesher` | 17 | 17 | 207 | 207 |
| `LibreMetaverse.RLV` | 28 | 28 | 499 | 499 |
| `LibreMetaverse.Rendering.MeshFoundry` | 1 | 1 | 14 | 14 |
| `LibreMetaverse.Rendering.Simple` | 1 | 1 | 6 | 6 |
| `LibreMetaverse.StructuredData` | 16 | 16 | 295 | 295 |
| `LibreMetaverse.Types` | 45 | 45 | 942 | 942 |
| `LibreMetaverse.Utilities` | 3 | 3 | 13 | 13 |
| `LibreMetaverse.Voice.Vivox` | 64 | 64 | 531 | 531 |
| `LibreMetaverse.Voice.WebRTC` | 12 | 12 | 210 | 210 |
| **Total** | **3,066** | **3,066** | **30,789** | **30,789** |
## Exclusions and boundary records
- Public catalog type exclusions: **0**.
- Public catalog member exclusions: **0**.
- External signature types: **142** mapped to core/std, adopted cross-platform crates, or project-owned boundary types; their external member APIs are intentionally not copied.
- Referenced non-public support traits: **2** mapped because public inheritance signatures require them.
- Intentional delegate APM differences: **80**; every replacement is exported and compiled by the fixture.
- Forbidden erased shim patterns: **0** (`ShimValue`, dynamic argument bags, invented variadics, or `Vec<Box<dyn Any>>` argument bags).
The fixture is a standalone Rust workspace with path dependencies only. Building it requires neither .NET nor compiled LibreMetaverse assemblies.

View File

@@ -39,6 +39,7 @@ python3 tools/generate_rust_mapping.py
python3 tools/generate_rust_mapping.py --check
python3 tools/generate_api_shims.py
python3 tools/generate_api_shims.py --check
python3 tools/check_api_coverage.py
```
The checker rejects duplicate C# IDs, duplicate Rust destinations, invalid
@@ -51,8 +52,10 @@ The two support traits in `RUST-TYPES.tsv` are included because compiled public
inheritance records reference them even though they are absent from the public
type table.
`generate_api_shims.py` consumes the catalog and reviewed mapping ledger. It
currently owns the completed Types and StructuredData slices, formats their
generated Rust deterministically, and rejects any missing or stale type/member
documentation ID. `SHIM-COVERAGE.md` distinguishes callable slices from the
remaining milestone work; mapping coverage alone is not callable coverage.
`generate_api_shims.py` consumes the catalog and reviewed mapping ledger,
formats all 13 generated Rust assemblies deterministically, and generates the
standalone `tests/api-compile` downstream fixture. `check_api_coverage.py`
compares catalog IDs, mapping rows, exported shim IDs, and fixture probes;
rejects stale, missing, duplicate, or erased entries; and verifies
`API-COVERAGE.md`. Regenerate that report with
`python3 tools/check_api_coverage.py --write`.

View File

@@ -1,272 +1,272 @@
csharp_id csharp_kind csharp_signature rust_crate rust_module rust_item_path rust_signature ownership asyncness error_model overload_decision mapping_kind status
E:LibreMetaverse.AgentManager.AgentDataReply event System.EventHandler<LibreMetaverse.AgentDataReplyEventArgs> LibreMetaverse.AgentManager.AgentDataReply libremetaverse libremetaverse::AgentManager::agent_data_reply pub fn subscribe_agent_data_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentDataReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AgentExperiencesUpdated event System.EventHandler<LibreMetaverse.AgentExperiencesEventArgs> LibreMetaverse.AgentManager.AgentExperiencesUpdated libremetaverse libremetaverse::AgentManager::agent_experiences_updated pub fn subscribe_agent_experiences_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentExperiencesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AgentPreferencesUpdated event System.EventHandler<LibreMetaverse.AgentPreferencesEventArgs> LibreMetaverse.AgentManager.AgentPreferencesUpdated libremetaverse libremetaverse::AgentManager::agent_preferences_updated pub fn subscribe_agent_preferences_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentPreferencesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AlertMessage event System.EventHandler<LibreMetaverse.AlertMessageEventArgs> LibreMetaverse.AgentManager.AlertMessage libremetaverse libremetaverse::AgentManager::alert_message pub fn subscribe_alert_message(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AlertMessageEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AnimationsChanged event System.EventHandler<LibreMetaverse.AnimationsChangedEventArgs> LibreMetaverse.AgentManager.AnimationsChanged libremetaverse libremetaverse::AgentManager::animations_changed pub fn subscribe_animations_changed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AnimationsChangedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AvatarRenderInfoUpdated event System.EventHandler<LibreMetaverse.AvatarRenderInfoEventArgs> LibreMetaverse.AgentManager.AvatarRenderInfoUpdated libremetaverse libremetaverse::AgentManager::avatar_render_info_updated pub fn subscribe_avatar_render_info_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarRenderInfoEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AvatarSitResponse event System.EventHandler<LibreMetaverse.AvatarSitResponseEventArgs> LibreMetaverse.AgentManager.AvatarSitResponse libremetaverse libremetaverse::AgentManager::avatar_sit_response pub fn subscribe_avatar_sit_response(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarSitResponseEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.CameraConstraint event System.EventHandler<LibreMetaverse.CameraConstraintEventArgs> LibreMetaverse.AgentManager.CameraConstraint libremetaverse libremetaverse::AgentManager::camera_constraint pub fn subscribe_camera_constraint(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::CameraConstraintEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ChatFromSimulator event System.EventHandler<LibreMetaverse.ChatEventArgs> LibreMetaverse.AgentManager.ChatFromSimulator libremetaverse libremetaverse::AgentManager::chat_from_simulator pub fn subscribe_chat_from_simulator(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ChatEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ChatSessionMemberAdded event System.EventHandler<LibreMetaverse.ChatSessionMemberAddedEventArgs> LibreMetaverse.AgentManager.ChatSessionMemberAdded libremetaverse libremetaverse::AgentManager::chat_session_member_added pub fn subscribe_chat_session_member_added(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ChatSessionMemberAddedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ChatSessionMemberLeft event System.EventHandler<LibreMetaverse.ChatSessionMemberLeftEventArgs> LibreMetaverse.AgentManager.ChatSessionMemberLeft libremetaverse libremetaverse::AgentManager::chat_session_member_left pub fn subscribe_chat_session_member_left(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ChatSessionMemberLeftEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ExperienceInfoReceived event System.EventHandler<LibreMetaverse.ExperienceInfoEventArgs> LibreMetaverse.AgentManager.ExperienceInfoReceived libremetaverse libremetaverse::AgentManager::experience_info_received pub fn subscribe_experience_info_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ExperienceInfoEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ExperiencePreferencesUpdated event System.EventHandler<LibreMetaverse.ExperiencePreferencesEventArgs> LibreMetaverse.AgentManager.ExperiencePreferencesUpdated libremetaverse libremetaverse::AgentManager::experience_preferences_updated pub fn subscribe_experience_preferences_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ExperiencePreferencesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.GroupChatJoined event System.EventHandler<LibreMetaverse.GroupChatJoinedEventArgs> LibreMetaverse.AgentManager.GroupChatJoined libremetaverse libremetaverse::AgentManager::group_chat_joined pub fn subscribe_group_chat_joined(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupChatJoinedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.IM event System.EventHandler<LibreMetaverse.InstantMessageEventArgs> LibreMetaverse.AgentManager.IM libremetaverse libremetaverse::AgentManager::im pub fn subscribe_im(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InstantMessageEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.LoadURL event System.EventHandler<LibreMetaverse.LoadUrlEventArgs> LibreMetaverse.AgentManager.LoadURL libremetaverse libremetaverse::AgentManager::load_url pub fn subscribe_load_url(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoadUrlEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.MeanCollision event System.EventHandler<LibreMetaverse.MeanCollisionEventArgs> LibreMetaverse.AgentManager.MeanCollision libremetaverse libremetaverse::AgentManager::mean_collision pub fn subscribe_mean_collision(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::MeanCollisionEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.MoneyBalance event System.EventHandler<LibreMetaverse.BalanceEventArgs> LibreMetaverse.AgentManager.MoneyBalance libremetaverse libremetaverse::AgentManager::money_balance pub fn subscribe_money_balance(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::BalanceEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.MoneyBalanceReply event System.EventHandler<LibreMetaverse.MoneyBalanceReplyEventArgs> LibreMetaverse.AgentManager.MoneyBalanceReply libremetaverse libremetaverse::AgentManager::money_balance_reply pub fn subscribe_money_balance_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::MoneyBalanceReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.MuteListUpdated event System.EventHandler<System.EventArgs> LibreMetaverse.AgentManager.MuteListUpdated libremetaverse libremetaverse::AgentManager::mute_list_updated pub fn subscribe_mute_list_updated(&self, handler: libremetaverse_types::compat::EventHandler<()>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.NavMeshStatusUpdate event System.EventHandler<LibreMetaverse.NavMeshStatusUpdateEventArgs> LibreMetaverse.AgentManager.NavMeshStatusUpdate libremetaverse libremetaverse::AgentManager::nav_mesh_status_update pub fn subscribe_nav_mesh_status_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::NavMeshStatusUpdateEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ProductInfoUpdated event System.EventHandler<LibreMetaverse.ProductInfoEventArgs> LibreMetaverse.AgentManager.ProductInfoUpdated libremetaverse libremetaverse::AgentManager::product_info_updated pub fn subscribe_product_info_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ProductInfoEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.RegionCrossed event System.EventHandler<LibreMetaverse.RegionCrossedEventArgs> LibreMetaverse.AgentManager.RegionCrossed libremetaverse libremetaverse::AgentManager::region_crossed pub fn subscribe_region_crossed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionCrossedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.RegionCrossingPredicted event System.EventHandler<LibreMetaverse.RegionCrossingPredictionEventArgs> LibreMetaverse.AgentManager.RegionCrossingPredicted libremetaverse libremetaverse::AgentManager::region_crossing_predicted pub fn subscribe_region_crossing_predicted(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionCrossingPredictionEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.RegionExperiencesUpdated event System.EventHandler<LibreMetaverse.RegionExperiencesEventArgs> LibreMetaverse.AgentManager.RegionExperiencesUpdated libremetaverse libremetaverse::AgentManager::region_experiences_updated pub fn subscribe_region_experiences_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionExperiencesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ScriptControlChange event System.EventHandler<LibreMetaverse.ScriptControlEventArgs> LibreMetaverse.AgentManager.ScriptControlChange libremetaverse libremetaverse::AgentManager::script_control_change pub fn subscribe_script_control_change(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptControlEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ScriptDialog event System.EventHandler<LibreMetaverse.ScriptDialogEventArgs> LibreMetaverse.AgentManager.ScriptDialog libremetaverse libremetaverse::AgentManager::script_dialog pub fn subscribe_script_dialog(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptDialogEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ScriptQuestion event System.EventHandler<LibreMetaverse.ScriptQuestionEventArgs> LibreMetaverse.AgentManager.ScriptQuestion libremetaverse libremetaverse::AgentManager::script_question pub fn subscribe_script_question(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptQuestionEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ScriptSensorReply event System.EventHandler<LibreMetaverse.ScriptSensorReplyEventArgs> LibreMetaverse.AgentManager.ScriptSensorReply libremetaverse libremetaverse::AgentManager::script_sensor_reply pub fn subscribe_script_sensor_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptSensorReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.SetDisplayNameReply event System.EventHandler<LibreMetaverse.SetDisplayNameReplyEventArgs> LibreMetaverse.AgentManager.SetDisplayNameReply libremetaverse libremetaverse::AgentManager::set_display_name_reply pub fn subscribe_set_display_name_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SetDisplayNameReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.TeleportProgress event System.EventHandler<LibreMetaverse.TeleportEventArgs> LibreMetaverse.AgentManager.TeleportProgress libremetaverse libremetaverse::AgentManager::teleport_progress pub fn subscribe_teleport_progress(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TeleportEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ViewerBenefitsUpdated event System.EventHandler<LibreMetaverse.ViewerBenefitsEventArgs> LibreMetaverse.AgentManager.ViewerBenefitsUpdated libremetaverse libremetaverse::AgentManager::viewer_benefits_updated pub fn subscribe_viewer_benefits_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerBenefitsEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AppearanceManager.AgentWearablesReply event System.EventHandler<LibreMetaverse.AgentWearablesReplyEventArgs> LibreMetaverse.AppearanceManager.AgentWearablesReply libremetaverse libremetaverse::AppearanceManager::agent_wearables_reply pub fn subscribe_agent_wearables_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentWearablesReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AppearanceManager.AppearanceSet event System.EventHandler<LibreMetaverse.AppearanceSetEventArgs> LibreMetaverse.AppearanceManager.AppearanceSet libremetaverse libremetaverse::AppearanceManager::appearance_set pub fn subscribe_appearance_set(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AppearanceSetEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AppearanceManager.CachedBakesReply event System.EventHandler<LibreMetaverse.AgentCachedBakesReplyEventArgs> LibreMetaverse.AppearanceManager.CachedBakesReply libremetaverse libremetaverse::AppearanceManager::cached_bakes_reply pub fn subscribe_cached_bakes_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentCachedBakesReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AppearanceManager.RebakeAvatarRequested event System.EventHandler<LibreMetaverse.RebakeAvatarTexturesEventArgs> LibreMetaverse.AppearanceManager.RebakeAvatarRequested libremetaverse libremetaverse::AppearanceManager::rebake_avatar_requested pub fn subscribe_rebake_avatar_requested(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RebakeAvatarTexturesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.AssetUploaded event System.EventHandler<LibreMetaverse.AssetUploadEventArgs> LibreMetaverse.AssetManager.AssetUploaded libremetaverse libremetaverse::AssetManager::asset_uploaded pub fn subscribe_asset_uploaded(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AssetUploadEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.ImageReceiveProgress event System.EventHandler<LibreMetaverse.ImageReceiveProgressEventArgs> LibreMetaverse.AssetManager.ImageReceiveProgress libremetaverse libremetaverse::AssetManager::image_receive_progress pub fn subscribe_image_receive_progress(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ImageReceiveProgressEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.InitiateDownload event System.EventHandler<LibreMetaverse.InitiateDownloadEventArgs> LibreMetaverse.AssetManager.InitiateDownload libremetaverse libremetaverse::AssetManager::initiate_download pub fn subscribe_initiate_download(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InitiateDownloadEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.UploadProgress event System.EventHandler<LibreMetaverse.AssetUploadEventArgs> LibreMetaverse.AssetManager.UploadProgress libremetaverse libremetaverse::AssetManager::upload_progress pub fn subscribe_upload_progress(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AssetUploadEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.XferReceived event System.EventHandler<LibreMetaverse.XferReceivedEventArgs> LibreMetaverse.AssetManager.XferReceived libremetaverse libremetaverse::AssetManager::xfer_received pub fn subscribe_xfer_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::XferReceivedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AudioDevice.OnAudioSourceEncodedSample event System.Action<System.UInt32, System.Byte[]> LibreMetaverse.AudioDevice.OnAudioSourceEncodedSample libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::on_audio_source_encoded_sample pub fn subscribe_on_audio_source_encoded_sample(&self, handler: Option<Box<dyn Fn(u32, Vec<u8>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AudioDevice.OnPlaybackActiveChanged event System.Action<System.Boolean> LibreMetaverse.AudioDevice.OnPlaybackActiveChanged libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::on_playback_active_changed pub fn subscribe_on_playback_active_changed(&self, handler: Option<Box<dyn Fn(bool) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AudioDevice.OnRecordingActiveChanged event System.Action<System.Boolean> LibreMetaverse.AudioDevice.OnRecordingActiveChanged libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::on_recording_active_changed pub fn subscribe_on_recording_active_changed(&self, handler: Option<Box<dyn Fn(bool) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarAnimation event System.EventHandler<LibreMetaverse.AvatarAnimationEventArgs> LibreMetaverse.AvatarManager.AvatarAnimation libremetaverse libremetaverse::AvatarManager::avatar_animation pub fn subscribe_avatar_animation(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarAnimationEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarAppearance event System.EventHandler<LibreMetaverse.AvatarAppearanceEventArgs> LibreMetaverse.AvatarManager.AvatarAppearance libremetaverse libremetaverse::AvatarManager::avatar_appearance pub fn subscribe_avatar_appearance(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarAppearanceEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarClassifiedReply event System.EventHandler<LibreMetaverse.AvatarClassifiedReplyEventArgs> LibreMetaverse.AvatarManager.AvatarClassifiedReply libremetaverse libremetaverse::AvatarManager::avatar_classified_reply pub fn subscribe_avatar_classified_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarClassifiedReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarGroupsReply event System.EventHandler<LibreMetaverse.AvatarGroupsReplyEventArgs> LibreMetaverse.AvatarManager.AvatarGroupsReply libremetaverse libremetaverse::AvatarManager::avatar_groups_reply pub fn subscribe_avatar_groups_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarGroupsReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarInterestsReply event System.EventHandler<LibreMetaverse.AvatarInterestsReplyEventArgs> LibreMetaverse.AvatarManager.AvatarInterestsReply libremetaverse libremetaverse::AvatarManager::avatar_interests_reply pub fn subscribe_avatar_interests_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarInterestsReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarNotesReply event System.EventHandler<LibreMetaverse.AvatarNotesReplyEventArgs> LibreMetaverse.AvatarManager.AvatarNotesReply libremetaverse libremetaverse::AvatarManager::avatar_notes_reply pub fn subscribe_avatar_notes_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarNotesReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarPickerReply event System.EventHandler<LibreMetaverse.AvatarPickerReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPickerReply libremetaverse libremetaverse::AvatarManager::avatar_picker_reply pub fn subscribe_avatar_picker_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarPickerReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarPicksReply event System.EventHandler<LibreMetaverse.AvatarPicksReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPicksReply libremetaverse libremetaverse::AvatarManager::avatar_picks_reply pub fn subscribe_avatar_picks_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarPicksReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarPropertiesReply event System.EventHandler<LibreMetaverse.AvatarPropertiesReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPropertiesReply libremetaverse libremetaverse::AvatarManager::avatar_properties_reply pub fn subscribe_avatar_properties_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarPropertiesReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.ClassifiedInfoReply event System.EventHandler<LibreMetaverse.ClassifiedInfoReplyEventArgs> LibreMetaverse.AvatarManager.ClassifiedInfoReply libremetaverse libremetaverse::AvatarManager::classified_info_reply pub fn subscribe_classified_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ClassifiedInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.DisplayNameUpdate event System.EventHandler<LibreMetaverse.DisplayNameUpdateEventArgs> LibreMetaverse.AvatarManager.DisplayNameUpdate libremetaverse libremetaverse::AvatarManager::display_name_update pub fn subscribe_display_name_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DisplayNameUpdateEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.PickInfoReply event System.EventHandler<LibreMetaverse.PickInfoReplyEventArgs> LibreMetaverse.AvatarManager.PickInfoReply libremetaverse libremetaverse::AvatarManager::pick_info_reply pub fn subscribe_pick_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PickInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.UUIDNameReply event System.EventHandler<LibreMetaverse.UUIDNameReplyEventArgs> LibreMetaverse.AvatarManager.UUIDNameReply libremetaverse libremetaverse::AvatarManager::uuid_name_reply pub fn subscribe_uuid_name_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::UUIDNameReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.ViewerEffect event System.EventHandler<LibreMetaverse.ViewerEffectEventArgs> LibreMetaverse.AvatarManager.ViewerEffect libremetaverse libremetaverse::AvatarManager::viewer_effect pub fn subscribe_viewer_effect(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerEffectEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.ViewerEffectLookAt event System.EventHandler<LibreMetaverse.ViewerEffectLookAtEventArgs> LibreMetaverse.AvatarManager.ViewerEffectLookAt libremetaverse libremetaverse::AvatarManager::viewer_effect_look_at pub fn subscribe_viewer_effect_look_at(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerEffectLookAtEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.ViewerEffectPointAt event System.EventHandler<LibreMetaverse.ViewerEffectPointAtEventArgs> LibreMetaverse.AvatarManager.ViewerEffectPointAt libremetaverse libremetaverse::AvatarManager::viewer_effect_point_at pub fn subscribe_viewer_effect_point_at(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerEffectPointAtEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Caps.CapabilitiesReceived event System.EventHandler<LibreMetaverse.CapabilitiesReceivedEventArgs> LibreMetaverse.Caps.CapabilitiesReceived libremetaverse libremetaverse::Caps::capabilities_received pub fn subscribe_capabilities_received(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse::CapabilitiesReceivedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirClassifiedsReply event System.EventHandler<LibreMetaverse.DirClassifiedsReplyEventArgs> LibreMetaverse.DirectoryManager.DirClassifiedsReply libremetaverse libremetaverse::DirectoryManager::dir_classifieds_reply pub fn subscribe_dir_classifieds_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirClassifiedsReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirEventsReply event System.EventHandler<LibreMetaverse.DirEventsReplyEventArgs> LibreMetaverse.DirectoryManager.DirEventsReply libremetaverse libremetaverse::DirectoryManager::dir_events_reply pub fn subscribe_dir_events_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirEventsReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirGroupsReply event System.EventHandler<LibreMetaverse.DirGroupsReplyEventArgs> LibreMetaverse.DirectoryManager.DirGroupsReply libremetaverse libremetaverse::DirectoryManager::dir_groups_reply pub fn subscribe_dir_groups_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirGroupsReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirLandReply event System.EventHandler<LibreMetaverse.DirLandReplyEventArgs> LibreMetaverse.DirectoryManager.DirLandReply libremetaverse libremetaverse::DirectoryManager::dir_land_reply pub fn subscribe_dir_land_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirLandReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirPeopleReply event System.EventHandler<LibreMetaverse.DirPeopleReplyEventArgs> LibreMetaverse.DirectoryManager.DirPeopleReply libremetaverse libremetaverse::DirectoryManager::dir_people_reply pub fn subscribe_dir_people_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirPeopleReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirPlacesReply event System.EventHandler<LibreMetaverse.DirPlacesReplyEventArgs> LibreMetaverse.DirectoryManager.DirPlacesReply libremetaverse libremetaverse::DirectoryManager::dir_places_reply pub fn subscribe_dir_places_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirPlacesReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.EventInfoReply event System.EventHandler<LibreMetaverse.EventInfoReplyEventArgs> LibreMetaverse.DirectoryManager.EventInfoReply libremetaverse libremetaverse::DirectoryManager::event_info_reply pub fn subscribe_event_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EventInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.PlacesReply event System.EventHandler<LibreMetaverse.PlacesReplyEventArgs> LibreMetaverse.DirectoryManager.PlacesReply libremetaverse libremetaverse::DirectoryManager::places_reply pub fn subscribe_places_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PlacesReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EnvironmentManager.LegacyEnvironmentUpdated event System.EventHandler<LibreMetaverse.LegacyEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.LegacyEnvironmentUpdated libremetaverse libremetaverse::EnvironmentManager::legacy_environment_updated pub fn subscribe_legacy_environment_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LegacyEnvironmentEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EnvironmentManager.ParcelEnvironmentUpdated event System.EventHandler<LibreMetaverse.ParcelEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.ParcelEnvironmentUpdated libremetaverse libremetaverse::EnvironmentManager::parcel_environment_updated pub fn subscribe_parcel_environment_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelEnvironmentEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EnvironmentManager.RegionEnvironmentUpdated event System.EventHandler<LibreMetaverse.RegionEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.RegionEnvironmentUpdated libremetaverse libremetaverse::EnvironmentManager::region_environment_updated pub fn subscribe_region_environment_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionEnvironmentEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateBansReply event System.EventHandler<LibreMetaverse.EstateBansReplyEventArgs> LibreMetaverse.EstateTools.EstateBansReply libremetaverse libremetaverse::EstateTools::estate_bans_reply pub fn subscribe_estate_bans_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateBansReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateCovenantReply event System.EventHandler<LibreMetaverse.EstateCovenantReplyEventArgs> LibreMetaverse.EstateTools.EstateCovenantReply libremetaverse libremetaverse::EstateTools::estate_covenant_reply pub fn subscribe_estate_covenant_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateCovenantReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateExperienceReply event System.EventHandler<LibreMetaverse.EstateExperienceReplyEventArgs> LibreMetaverse.EstateTools.EstateExperienceReply libremetaverse libremetaverse::EstateTools::estate_experience_reply pub fn subscribe_estate_experience_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateExperienceReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateGroupsReply event System.EventHandler<LibreMetaverse.EstateGroupsReplyEventArgs> LibreMetaverse.EstateTools.EstateGroupsReply libremetaverse libremetaverse::EstateTools::estate_groups_reply pub fn subscribe_estate_groups_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateGroupsReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateManagersReply event System.EventHandler<LibreMetaverse.EstateManagersReplyEventArgs> LibreMetaverse.EstateTools.EstateManagersReply libremetaverse libremetaverse::EstateTools::estate_managers_reply pub fn subscribe_estate_managers_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateManagersReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateUpdateInfoReply event System.EventHandler<LibreMetaverse.EstateUpdateInfoReplyEventArgs> LibreMetaverse.EstateTools.EstateUpdateInfoReply libremetaverse libremetaverse::EstateTools::estate_update_info_reply pub fn subscribe_estate_update_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateUpdateInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateUsersReply event System.EventHandler<LibreMetaverse.EstateUsersReplyEventArgs> LibreMetaverse.EstateTools.EstateUsersReply libremetaverse libremetaverse::EstateTools::estate_users_reply pub fn subscribe_estate_users_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateUsersReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.TopCollidersReply event System.EventHandler<LibreMetaverse.TopCollidersReplyEventArgs> LibreMetaverse.EstateTools.TopCollidersReply libremetaverse libremetaverse::EstateTools::top_colliders_reply pub fn subscribe_top_colliders_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TopCollidersReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.TopScriptsReply event System.EventHandler<LibreMetaverse.TopScriptsReplyEventArgs> LibreMetaverse.EstateTools.TopScriptsReply libremetaverse libremetaverse::EstateTools::top_scripts_reply pub fn subscribe_top_scripts_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TopScriptsReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.CallingCardOffered event System.EventHandler<LibreMetaverse.CallingCardOfferedEventArgs> LibreMetaverse.FriendsManager.CallingCardOffered libremetaverse libremetaverse::FriendsManager::calling_card_offered pub fn subscribe_calling_card_offered(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::CallingCardOfferedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendFoundReply event System.EventHandler<LibreMetaverse.FriendFoundReplyEventArgs> LibreMetaverse.FriendsManager.FriendFoundReply libremetaverse libremetaverse::FriendsManager::friend_found_reply pub fn subscribe_friend_found_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendFoundReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendNames event System.EventHandler<LibreMetaverse.FriendNamesEventArgs> LibreMetaverse.FriendsManager.FriendNames libremetaverse libremetaverse::FriendsManager::friend_names pub fn subscribe_friend_names(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendNamesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendOffline event System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendOffline libremetaverse libremetaverse::FriendsManager::friend_offline pub fn subscribe_friend_offline(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendInfoEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendOnline event System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendOnline libremetaverse libremetaverse::FriendsManager::friend_online pub fn subscribe_friend_online(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendInfoEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendRightsUpdate event System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendRightsUpdate libremetaverse libremetaverse::FriendsManager::friend_rights_update pub fn subscribe_friend_rights_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendInfoEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendshipOffered event System.EventHandler<LibreMetaverse.FriendshipOfferedEventArgs> LibreMetaverse.FriendsManager.FriendshipOffered libremetaverse libremetaverse::FriendsManager::friendship_offered pub fn subscribe_friendship_offered(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendshipOfferedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendshipResponse event System.EventHandler<LibreMetaverse.FriendshipResponseEventArgs> LibreMetaverse.FriendsManager.FriendshipResponse libremetaverse libremetaverse::FriendsManager::friendship_response pub fn subscribe_friendship_response(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendshipResponseEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendshipTerminated event System.EventHandler<LibreMetaverse.FriendshipTerminatedEventArgs> LibreMetaverse.FriendsManager.FriendshipTerminated libremetaverse libremetaverse::FriendsManager::friendship_terminated pub fn subscribe_friendship_terminated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendshipTerminatedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.friendsListReady event System.EventHandler<LibreMetaverse.FriendsReadyEventArgs> LibreMetaverse.FriendsManager.friendsListReady libremetaverse libremetaverse::FriendsManager::friends_list_ready pub fn subscribe_friends_list_ready(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendsReadyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.CoarseLocationUpdate event System.EventHandler<LibreMetaverse.CoarseLocationUpdateEventArgs> LibreMetaverse.GridManager.CoarseLocationUpdate libremetaverse libremetaverse::GridManager::coarse_location_update pub fn subscribe_coarse_location_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::CoarseLocationUpdateEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.GridItems event System.EventHandler<LibreMetaverse.GridItemsEventArgs> LibreMetaverse.GridManager.GridItems libremetaverse libremetaverse::GridManager::grid_items pub fn subscribe_grid_items(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GridItemsEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.GridLayer event System.EventHandler<LibreMetaverse.GridLayerEventArgs> LibreMetaverse.GridManager.GridLayer libremetaverse libremetaverse::GridManager::grid_layer pub fn subscribe_grid_layer(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GridLayerEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.GridRegion event System.EventHandler<LibreMetaverse.GridRegionEventArgs> LibreMetaverse.GridManager.GridRegion libremetaverse libremetaverse::GridManager::grid_region pub fn subscribe_grid_region(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GridRegionEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.RegionHandleReply event System.EventHandler<LibreMetaverse.RegionHandleReplyEventArgs> LibreMetaverse.GridManager.RegionHandleReply libremetaverse libremetaverse::GridManager::region_handle_reply pub fn subscribe_region_handle_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionHandleReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.BannedAgents event System.EventHandler<LibreMetaverse.BannedAgentsEventArgs> LibreMetaverse.GroupManager.BannedAgents libremetaverse libremetaverse::GroupManager::banned_agents pub fn subscribe_banned_agents(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::BannedAgentsEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.CurrentGroups event System.EventHandler<LibreMetaverse.CurrentGroupsEventArgs> LibreMetaverse.GroupManager.CurrentGroups libremetaverse libremetaverse::GroupManager::current_groups pub fn subscribe_current_groups(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::CurrentGroupsEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupAccountSummaryReply event System.EventHandler<LibreMetaverse.GroupAccountSummaryReplyEventArgs> LibreMetaverse.GroupManager.GroupAccountSummaryReply libremetaverse libremetaverse::GroupManager::group_account_summary_reply pub fn subscribe_group_account_summary_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupAccountSummaryReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupCreatedReply event System.EventHandler<LibreMetaverse.GroupCreatedReplyEventArgs> LibreMetaverse.GroupManager.GroupCreatedReply libremetaverse libremetaverse::GroupManager::group_created_reply pub fn subscribe_group_created_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupCreatedReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupDropped event System.EventHandler<LibreMetaverse.GroupDroppedEventArgs> LibreMetaverse.GroupManager.GroupDropped libremetaverse libremetaverse::GroupManager::group_dropped pub fn subscribe_group_dropped(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupDroppedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupInvitation event System.EventHandler<LibreMetaverse.GroupInvitationEventArgs> LibreMetaverse.GroupManager.GroupInvitation libremetaverse libremetaverse::GroupManager::group_invitation pub fn subscribe_group_invitation(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupInvitationEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupJoinedReply event System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupJoinedReply libremetaverse libremetaverse::GroupManager::group_joined_reply pub fn subscribe_group_joined_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupOperationEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupLeaveReply event System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupLeaveReply libremetaverse libremetaverse::GroupManager::group_leave_reply pub fn subscribe_group_leave_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupOperationEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupMemberEjected event System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupMemberEjected libremetaverse libremetaverse::GroupManager::group_member_ejected pub fn subscribe_group_member_ejected(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupOperationEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupMembersReply event System.EventHandler<LibreMetaverse.GroupMembersReplyEventArgs> LibreMetaverse.GroupManager.GroupMembersReply libremetaverse libremetaverse::GroupManager::group_members_reply pub fn subscribe_group_members_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupMembersReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupNamesReply event System.EventHandler<LibreMetaverse.GroupNamesEventArgs> LibreMetaverse.GroupManager.GroupNamesReply libremetaverse libremetaverse::GroupManager::group_names_reply pub fn subscribe_group_names_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupNamesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupNoticesListReply event System.EventHandler<LibreMetaverse.GroupNoticesListReplyEventArgs> LibreMetaverse.GroupManager.GroupNoticesListReply libremetaverse libremetaverse::GroupManager::group_notices_list_reply pub fn subscribe_group_notices_list_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupNoticesListReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupProfile event System.EventHandler<LibreMetaverse.GroupProfileEventArgs> LibreMetaverse.GroupManager.GroupProfile libremetaverse libremetaverse::GroupManager::group_profile pub fn subscribe_group_profile(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupProfileEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupRoleDataReply event System.EventHandler<LibreMetaverse.GroupRolesDataReplyEventArgs> LibreMetaverse.GroupManager.GroupRoleDataReply libremetaverse libremetaverse::GroupManager::group_role_data_reply pub fn subscribe_group_role_data_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupRolesDataReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupRoleMembersReply event System.EventHandler<LibreMetaverse.GroupRolesMembersReplyEventArgs> LibreMetaverse.GroupManager.GroupRoleMembersReply libremetaverse libremetaverse::GroupManager::group_role_members_reply pub fn subscribe_group_role_members_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupRolesMembersReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupTitlesReply event System.EventHandler<LibreMetaverse.GroupTitlesReplyEventArgs> LibreMetaverse.GroupManager.GroupTitlesReply libremetaverse libremetaverse::GroupManager::group_titles_reply pub fn subscribe_group_titles_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupTitlesReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Inventory.InventoryObjectAdded event System.EventHandler<LibreMetaverse.InventoryObjectAddedEventArgs> LibreMetaverse.Inventory.InventoryObjectAdded libremetaverse libremetaverse::Inventory::inventory_object_added pub fn subscribe_inventory_object_added(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InventoryObjectAddedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Inventory.InventoryObjectRemoved event System.EventHandler<LibreMetaverse.InventoryObjectRemovedEventArgs> LibreMetaverse.Inventory.InventoryObjectRemoved libremetaverse libremetaverse::Inventory::inventory_object_removed pub fn subscribe_inventory_object_removed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InventoryObjectRemovedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Inventory.InventoryObjectUpdated event System.EventHandler<LibreMetaverse.InventoryObjectUpdatedEventArgs> LibreMetaverse.Inventory.InventoryObjectUpdated libremetaverse libremetaverse::Inventory::inventory_object_updated pub fn subscribe_inventory_object_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InventoryObjectUpdatedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.FindObjectByPathReply event System.EventHandler<LibreMetaverse.FindObjectByPathReplyEventArgs> LibreMetaverse.InventoryManager.FindObjectByPathReply libremetaverse libremetaverse::InventoryManager::find_object_by_path_reply pub fn subscribe_find_object_by_path_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FindObjectByPathReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.FolderUpdated event System.EventHandler<LibreMetaverse.FolderUpdatedEventArgs> LibreMetaverse.InventoryManager.FolderUpdated libremetaverse libremetaverse::InventoryManager::folder_updated pub fn subscribe_folder_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FolderUpdatedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.InventoryObjectOffered event System.EventHandler<LibreMetaverse.InventoryObjectOfferedEventArgs> LibreMetaverse.InventoryManager.InventoryObjectOffered libremetaverse libremetaverse::InventoryManager::inventory_object_offered pub fn subscribe_inventory_object_offered(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InventoryObjectOfferedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.ItemReceived event System.EventHandler<LibreMetaverse.ItemReceivedEventArgs> LibreMetaverse.InventoryManager.ItemReceived libremetaverse libremetaverse::InventoryManager::item_received pub fn subscribe_item_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ItemReceivedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.SaveAssetToInventory event System.EventHandler<LibreMetaverse.SaveAssetToInventoryEventArgs> LibreMetaverse.InventoryManager.SaveAssetToInventory libremetaverse libremetaverse::InventoryManager::save_asset_to_inventory pub fn subscribe_save_asset_to_inventory(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SaveAssetToInventoryEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.ScriptRunningReply event System.EventHandler<LibreMetaverse.ScriptRunningReplyEventArgs> LibreMetaverse.InventoryManager.ScriptRunningReply libremetaverse libremetaverse::InventoryManager::script_running_reply pub fn subscribe_script_running_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptRunningReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.TaskInventoryReply event System.EventHandler<LibreMetaverse.TaskInventoryReplyEventArgs> LibreMetaverse.InventoryManager.TaskInventoryReply libremetaverse libremetaverse::InventoryManager::task_inventory_reply pub fn subscribe_task_inventory_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TaskInventoryReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.TaskItemReceived event System.EventHandler<LibreMetaverse.TaskItemReceivedEventArgs> LibreMetaverse.InventoryManager.TaskItemReceived libremetaverse libremetaverse::InventoryManager::task_item_received pub fn subscribe_task_item_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TaskItemReceivedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Logger.OnLogMessage event LibreMetaverse.Logger.LogCallback LibreMetaverse.Logger.OnLogMessage libremetaverse libremetaverse::Logger::on_log_message pub fn subscribe_on_log_message(&self, handler: Option<libremetaverse::LoggerLogCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.LslSyntax.SyntaxChanged event System.EventHandler LibreMetaverse.LslSyntax.SyntaxChanged libremetaverse libremetaverse::LslSyntax::syntax_changed pub fn subscribe_syntax_changed(&self, handler: libremetaverse_types::compat::EventHandler<()>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Marketplace.MarketplaceManager.Error event System.EventHandler<LibreMetaverse.Marketplace.MarketplaceErrorEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.Error libremetaverse marketplace libremetaverse::marketplace::MarketplaceManager::error pub fn subscribe_error(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::marketplace::MarketplaceErrorEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Marketplace.MarketplaceManager.ListingChanged event System.EventHandler<LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.ListingChanged libremetaverse marketplace libremetaverse::marketplace::MarketplaceManager::listing_changed pub fn subscribe_listing_changed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::marketplace::MarketplaceListingChangedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Marketplace.MarketplaceManager.ListingsSynced event System.EventHandler<LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.ListingsSynced libremetaverse marketplace libremetaverse::marketplace::MarketplaceManager::listings_synced pub fn subscribe_listings_synced(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::marketplace::MarketplaceListingsSyncedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.Disconnected event System.EventHandler<LibreMetaverse.DisconnectedEventArgs> LibreMetaverse.NetworkManager.Disconnected libremetaverse libremetaverse::NetworkManager::disconnected pub fn subscribe_disconnected(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DisconnectedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.EventQueueRunning event System.EventHandler<LibreMetaverse.EventQueueRunningEventArgs> LibreMetaverse.NetworkManager.EventQueueRunning libremetaverse libremetaverse::NetworkManager::event_queue_running pub fn subscribe_event_queue_running(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EventQueueRunningEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.GenericStreamingMessage event System.EventHandler<LibreMetaverse.GenericStreamingMessageEventArgs> LibreMetaverse.NetworkManager.GenericStreamingMessage libremetaverse libremetaverse::NetworkManager::generic_streaming_message pub fn subscribe_generic_streaming_message(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GenericStreamingMessageEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.LoggedOut event System.EventHandler<LibreMetaverse.LoggedOutEventArgs> LibreMetaverse.NetworkManager.LoggedOut libremetaverse libremetaverse::NetworkManager::logged_out pub fn subscribe_logged_out(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoggedOutEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.LoginProgress event System.EventHandler<LibreMetaverse.LoginProgressEventArgs> LibreMetaverse.NetworkManager.LoginProgress libremetaverse libremetaverse::NetworkManager::login_progress pub fn subscribe_login_progress(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoginProgressEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.PacketSent event System.EventHandler<LibreMetaverse.PacketSentEventArgs> LibreMetaverse.NetworkManager.PacketSent libremetaverse libremetaverse::NetworkManager::packet_sent pub fn subscribe_packet_sent(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PacketSentEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.SimChanged event System.EventHandler<LibreMetaverse.SimChangedEventArgs> LibreMetaverse.NetworkManager.SimChanged libremetaverse libremetaverse::NetworkManager::sim_changed pub fn subscribe_sim_changed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimChangedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.SimConnected event System.EventHandler<LibreMetaverse.SimConnectedEventArgs> LibreMetaverse.NetworkManager.SimConnected libremetaverse libremetaverse::NetworkManager::sim_connected pub fn subscribe_sim_connected(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimConnectedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.SimConnecting event System.EventHandler<LibreMetaverse.SimConnectingEventArgs> LibreMetaverse.NetworkManager.SimConnecting libremetaverse libremetaverse::NetworkManager::sim_connecting pub fn subscribe_sim_connecting(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimConnectingEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.SimDisconnected event System.EventHandler<LibreMetaverse.SimDisconnectedEventArgs> LibreMetaverse.NetworkManager.SimDisconnected libremetaverse libremetaverse::NetworkManager::sim_disconnected pub fn subscribe_sim_disconnected(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimDisconnectedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.AvatarSitChanged event System.EventHandler<LibreMetaverse.AvatarSitChangedEventArgs> LibreMetaverse.ObjectManager.AvatarSitChanged libremetaverse libremetaverse::ObjectManager::avatar_sit_changed pub fn subscribe_avatar_sit_changed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarSitChangedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.AvatarUpdate event System.EventHandler<LibreMetaverse.AvatarUpdateEventArgs> LibreMetaverse.ObjectManager.AvatarUpdate libremetaverse libremetaverse::ObjectManager::avatar_update pub fn subscribe_avatar_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarUpdateEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.KillObject event System.EventHandler<LibreMetaverse.KillObjectEventArgs> LibreMetaverse.ObjectManager.KillObject libremetaverse libremetaverse::ObjectManager::kill_object pub fn subscribe_kill_object(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::KillObjectEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.KillObjects event System.EventHandler<LibreMetaverse.KillObjectsEventArgs> LibreMetaverse.ObjectManager.KillObjects libremetaverse libremetaverse::ObjectManager::kill_objects pub fn subscribe_kill_objects(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::KillObjectsEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectAnimation event System.EventHandler<LibreMetaverse.ObjectAnimationEventArgs> LibreMetaverse.ObjectManager.ObjectAnimation libremetaverse libremetaverse::ObjectManager::object_animation pub fn subscribe_object_animation(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectAnimationEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectDataBlockUpdate event System.EventHandler<LibreMetaverse.ObjectDataBlockUpdateEventArgs> LibreMetaverse.ObjectManager.ObjectDataBlockUpdate libremetaverse libremetaverse::ObjectManager::object_data_block_update pub fn subscribe_object_data_block_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectDataBlockUpdateEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectProperties event System.EventHandler<LibreMetaverse.ObjectPropertiesEventArgs> LibreMetaverse.ObjectManager.ObjectProperties libremetaverse libremetaverse::ObjectManager::object_properties pub fn subscribe_object_properties(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectPropertiesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectPropertiesFamily event System.EventHandler<LibreMetaverse.ObjectPropertiesFamilyEventArgs> LibreMetaverse.ObjectManager.ObjectPropertiesFamily libremetaverse libremetaverse::ObjectManager::object_properties_family pub fn subscribe_object_properties_family(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectPropertiesFamilyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectPropertiesUpdated event System.EventHandler<LibreMetaverse.ObjectPropertiesUpdatedEventArgs> LibreMetaverse.ObjectManager.ObjectPropertiesUpdated libremetaverse libremetaverse::ObjectManager::object_properties_updated pub fn subscribe_object_properties_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectPropertiesUpdatedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectUpdate event System.EventHandler<LibreMetaverse.PrimEventArgs> LibreMetaverse.ObjectManager.ObjectUpdate libremetaverse libremetaverse::ObjectManager::object_update pub fn subscribe_object_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PrimEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ParticleUpdate event System.EventHandler<LibreMetaverse.ParticleUpdateEventArgs> LibreMetaverse.ObjectManager.ParticleUpdate libremetaverse libremetaverse::ObjectManager::particle_update pub fn subscribe_particle_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParticleUpdateEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.PayPriceReply event System.EventHandler<LibreMetaverse.PayPriceReplyEventArgs> LibreMetaverse.ObjectManager.PayPriceReply libremetaverse libremetaverse::ObjectManager::pay_price_reply pub fn subscribe_pay_price_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PayPriceReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.PhysicsProperties event System.EventHandler<LibreMetaverse.PhysicsPropertiesEventArgs> LibreMetaverse.ObjectManager.PhysicsProperties libremetaverse libremetaverse::ObjectManager::physics_properties pub fn subscribe_physics_properties(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PhysicsPropertiesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.TerseObjectUpdate event System.EventHandler<LibreMetaverse.TerseObjectUpdateEventArgs> LibreMetaverse.ObjectManager.TerseObjectUpdate libremetaverse libremetaverse::ObjectManager::terse_object_update pub fn subscribe_terse_object_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TerseObjectUpdateEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ForceSelectObjectsReply event System.EventHandler<LibreMetaverse.ForceSelectObjectsReplyEventArgs> LibreMetaverse.ParcelManager.ForceSelectObjectsReply libremetaverse libremetaverse::ParcelManager::force_select_objects_reply pub fn subscribe_force_select_objects_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ForceSelectObjectsReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelAccessListReply event System.EventHandler<LibreMetaverse.ParcelAccessListReplyEventArgs> LibreMetaverse.ParcelManager.ParcelAccessListReply libremetaverse libremetaverse::ParcelManager::parcel_access_list_reply pub fn subscribe_parcel_access_list_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelAccessListReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelDwellReply event System.EventHandler<LibreMetaverse.ParcelDwellReplyEventArgs> LibreMetaverse.ParcelManager.ParcelDwellReply libremetaverse libremetaverse::ParcelManager::parcel_dwell_reply pub fn subscribe_parcel_dwell_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelDwellReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelInfoReply event System.EventHandler<LibreMetaverse.ParcelInfoReplyEventArgs> LibreMetaverse.ParcelManager.ParcelInfoReply libremetaverse libremetaverse::ParcelManager::parcel_info_reply pub fn subscribe_parcel_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelMediaCommand event System.EventHandler<LibreMetaverse.ParcelMediaCommandEventArgs> LibreMetaverse.ParcelManager.ParcelMediaCommand libremetaverse libremetaverse::ParcelManager::parcel_media_command pub fn subscribe_parcel_media_command(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelMediaCommandEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelMediaUpdateReply event System.EventHandler<LibreMetaverse.ParcelMediaUpdateReplyEventArgs> LibreMetaverse.ParcelManager.ParcelMediaUpdateReply libremetaverse libremetaverse::ParcelManager::parcel_media_update_reply pub fn subscribe_parcel_media_update_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelMediaUpdateReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelObjectOwnersReply event System.EventHandler<LibreMetaverse.ParcelObjectOwnersReplyEventArgs> LibreMetaverse.ParcelManager.ParcelObjectOwnersReply libremetaverse libremetaverse::ParcelManager::parcel_object_owners_reply pub fn subscribe_parcel_object_owners_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelObjectOwnersReplyEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelOverlaysDownloaded event System.EventHandler<LibreMetaverse.ParcelOverlayEventArgs> LibreMetaverse.ParcelManager.ParcelOverlaysDownloaded libremetaverse libremetaverse::ParcelManager::parcel_overlays_downloaded pub fn subscribe_parcel_overlays_downloaded(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelOverlayEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelProperties event System.EventHandler<LibreMetaverse.ParcelPropertiesEventArgs> LibreMetaverse.ParcelManager.ParcelProperties libremetaverse libremetaverse::ParcelManager::parcel_properties pub fn subscribe_parcel_properties(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelPropertiesEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.SimParcelsDownloaded event System.EventHandler<LibreMetaverse.SimParcelsDownloadedEventArgs> LibreMetaverse.ParcelManager.SimParcelsDownloaded libremetaverse libremetaverse::ParcelManager::sim_parcels_downloaded pub fn subscribe_sim_parcels_downloaded(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimParcelsDownloadedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.RLV.RlvRestrictionManager.RestrictionUpdated event System.EventHandler<LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs> LibreMetaverse.RLV.RlvRestrictionManager.RestrictionUpdated libremetaverse-rlv libremetaverse_rlv::RlvRestrictionManager::restriction_updated pub fn subscribe_restriction_updated(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_rlv::event_arguments::RestrictionUpdatedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.SoundManager.AttachedSound event System.EventHandler<LibreMetaverse.AttachedSoundEventArgs> LibreMetaverse.SoundManager.AttachedSound libremetaverse libremetaverse::SoundManager::attached_sound pub fn subscribe_attached_sound(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AttachedSoundEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.SoundManager.AttachedSoundGainChange event System.EventHandler<LibreMetaverse.AttachedSoundGainChangeEventArgs> LibreMetaverse.SoundManager.AttachedSoundGainChange libremetaverse libremetaverse::SoundManager::attached_sound_gain_change pub fn subscribe_attached_sound_gain_change(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AttachedSoundGainChangeEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.SoundManager.PreloadSound event System.EventHandler<LibreMetaverse.PreloadSoundEventArgs> LibreMetaverse.SoundManager.PreloadSound libremetaverse libremetaverse::SoundManager::preload_sound pub fn subscribe_preload_sound(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PreloadSoundEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.SoundManager.SoundTrigger event System.EventHandler<LibreMetaverse.SoundTriggerEventArgs> LibreMetaverse.SoundManager.SoundTrigger libremetaverse libremetaverse::SoundManager::sound_trigger pub fn subscribe_sound_trigger(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SoundTriggerEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.TerrainManager.LandPatchReceived event System.EventHandler<LibreMetaverse.LandPatchReceivedEventArgs> LibreMetaverse.TerrainManager.LandPatchReceived libremetaverse libremetaverse::TerrainManager::land_patch_received pub fn subscribe_land_patch_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LandPatchReceivedEventArgs>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.TCPPipe.OnDisconnected event LibreMetaverse.Voice.Vivox.TCPPipe.OnDisconnectedCallback LibreMetaverse.Voice.Vivox.TCPPipe.OnDisconnected libremetaverse-voice-vivox libremetaverse_voice_vivox::TCPPipe::on_disconnected pub fn subscribe_on_disconnected(&self, handler: Option<libremetaverse_voice_vivox::TCPPipeOnDisconnectedCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.TCPPipe.OnReceiveLine event LibreMetaverse.Voice.Vivox.TCPPipe.OnReceiveLineCallback LibreMetaverse.Voice.Vivox.TCPPipe.OnReceiveLine libremetaverse-voice-vivox libremetaverse_voice_vivox::TCPPipe::on_receive_line pub fn subscribe_on_receive_line(&self, handler: Option<libremetaverse_voice_vivox::TCPPipeOnReceiveLineCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAccountLoginResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceAccountEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAccountLoginResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_account_login_response pub fn subscribe_on_account_login_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceAccountEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAccountLoginStateChangeEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.AccountLoginStateChangeEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAccountLoginStateChangeEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_account_login_state_change_event pub fn subscribe_on_account_login_state_change_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayAccountLoginStateChangeEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxAudioPropertiesEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.AudioPropertiesEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxAudioPropertiesEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_aux_audio_properties_event pub fn subscribe_on_aux_audio_properties_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayAudioPropertiesEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxGetCaptureDevicesResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceDevicesEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxGetCaptureDevicesResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_aux_get_capture_devices_response pub fn subscribe_on_aux_get_capture_devices_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceDevicesEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxGetRenderDevicesResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceDevicesEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxGetRenderDevicesResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_aux_get_render_devices_response pub fn subscribe_on_aux_get_render_devices_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceDevicesEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnConnectorCreateResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceConnectorEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnConnectorCreateResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_connector_create_response pub fn subscribe_on_connector_create_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceConnectorEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonConnected event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonConnectedCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonConnected libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_connected pub fn subscribe_on_daemon_connected(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonConnectedCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonCouldntConnect event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonCouldntConnectCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonCouldntConnect libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_couldnt_connect pub fn subscribe_on_daemon_couldnt_connect(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonCouldntConnectCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonCouldntRun event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonCouldntRunCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonCouldntRun libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_couldnt_run pub fn subscribe_on_daemon_couldnt_run(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonCouldntRunCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonDisconnected event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonDisconnectedCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonDisconnected libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_disconnected pub fn subscribe_on_daemon_disconnected(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonDisconnectedCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonExited event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonExitedCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonExited libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_exited pub fn subscribe_on_daemon_exited(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonExitedCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonRunning event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonRunningCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonRunning libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_running pub fn subscribe_on_daemon_running(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonRunningCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionAddedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionAddedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionAddedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_added_event pub fn subscribe_on_session_added_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionAddedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionCreate event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionCreate libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_create pub fn subscribe_on_session_create(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionCreateResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceSessionEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionCreateResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_create_response pub fn subscribe_on_session_create_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceSessionEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionGroupAddedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionGroupAddedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionGroupAddedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_group_added_event pub fn subscribe_on_session_group_added_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionGroupAddedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionMediaEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionMediaEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionMediaEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_media_event pub fn subscribe_on_session_media_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionMediaEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionNewEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.NewSessionEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionNewEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_new_event pub fn subscribe_on_session_new_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayNewSessionEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantAddedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantAddedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantAddedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_added_event pub fn subscribe_on_session_participant_added_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantAddedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantPropertiesEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantPropertiesEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantPropertiesEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_properties_event pub fn subscribe_on_session_participant_properties_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantPropertiesEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantRemovedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantRemovedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantRemovedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_removed_event pub fn subscribe_on_session_participant_removed_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantRemovedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantStateChangeEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantStateChangeEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantStateChangeEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_state_change_event pub fn subscribe_on_session_participant_state_change_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantStateChangeEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantUpdatedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantUpdatedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantUpdatedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_updated_event pub fn subscribe_on_session_participant_updated_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantUpdatedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionRemove event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionRemove libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_remove pub fn subscribe_on_session_remove(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionRemovedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionRemovedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionRemovedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_removed_event pub fn subscribe_on_session_removed_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionRemovedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionStateChangeEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionStateChangeEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionStateChangeEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_state_change_event pub fn subscribe_on_session_state_change_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionStateChangeEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionUpdatedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionUpdatedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionUpdatedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_updated_event pub fn subscribe_on_session_updated_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionUpdatedEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceConnectionChange event LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceConnectionChangeCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceConnectionChange libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_voice_connection_change pub fn subscribe_on_voice_connection_change(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayVoiceConnectionChangeCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceMicTest event LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceMicTestCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceMicTest libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_voice_mic_test pub fn subscribe_on_voice_mic_test(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayVoiceMicTestCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceResponseEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_voice_response pub fn subscribe_on_voice_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceResponseEventArgs>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnAccountChannelGetList event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnAccountChannelGetList libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_account_channel_get_list pub fn subscribe_on_account_channel_get_list(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnAccountLogout event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnAccountLogout libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_account_logout pub fn subscribe_on_account_logout(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnAuxAudioProperties event LibreMetaverse.Voice.Vivox.VoiceManager.AuxAudioPropertiesCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnAuxAudioProperties libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_aux_audio_properties pub fn subscribe_on_aux_audio_properties(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerAuxAudioPropertiesCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnCaptureDevices event LibreMetaverse.Voice.Vivox.VoiceManager.DevicesCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnCaptureDevices libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_capture_devices pub fn subscribe_on_capture_devices(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerDevicesCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnConnectorCreated event LibreMetaverse.Voice.Vivox.VoiceManager.ConnectorCreatedCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnConnectorCreated libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_connector_created pub fn subscribe_on_connector_created(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerConnectorCreatedCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnConnectorInitiateShutdown event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnConnectorInitiateShutdown libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_connector_initiate_shutdown pub fn subscribe_on_connector_initiate_shutdown(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnLogin event LibreMetaverse.Voice.Vivox.VoiceManager.LoginCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnLogin libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_login pub fn subscribe_on_login(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerLoginCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnLoginStateChange event LibreMetaverse.Voice.Vivox.VoiceManager.LoginStateChangeCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnLoginStateChange libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_login_state_change pub fn subscribe_on_login_state_change(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerLoginStateChangeCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnNewSession event LibreMetaverse.Voice.Vivox.VoiceManager.NewSessionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnNewSession libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_new_session pub fn subscribe_on_new_session(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerNewSessionCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnParcelVoiceInfo event LibreMetaverse.Voice.Vivox.VoiceManager.ParcelVoiceInfoCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnParcelVoiceInfo libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_parcel_voice_info pub fn subscribe_on_parcel_voice_info(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerParcelVoiceInfoCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnParticipantProperties event LibreMetaverse.Voice.Vivox.VoiceManager.ParticipantPropertiesCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnParticipantProperties libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_participant_properties pub fn subscribe_on_participant_properties(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerParticipantPropertiesCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnParticipantStateChange event LibreMetaverse.Voice.Vivox.VoiceManager.ParticipantStateChangeCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnParticipantStateChange libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_participant_state_change pub fn subscribe_on_participant_state_change(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerParticipantStateChangeCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnProvisionAccount event LibreMetaverse.Voice.Vivox.VoiceManager.ProvisionAccountCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnProvisionAccount libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_provision_account pub fn subscribe_on_provision_account(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerProvisionAccountCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnRenderDevices event LibreMetaverse.Voice.Vivox.VoiceManager.DevicesCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnRenderDevices libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_render_devices pub fn subscribe_on_render_devices(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerDevicesCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionConnected event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionConnected libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_session_connected pub fn subscribe_on_session_connected(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionCreated event LibreMetaverse.Voice.Vivox.VoiceManager.SessionCreatedCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionCreated libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_session_created pub fn subscribe_on_session_created(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerSessionCreatedCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionStateChange event LibreMetaverse.Voice.Vivox.VoiceManager.SessionStateChangeCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionStateChange libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_session_state_change pub fn subscribe_on_session_state_change(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerSessionStateChangeCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionTerminated event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionTerminated libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_session_terminated pub fn subscribe_on_session_terminated(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantAdded event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantAdded libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceSession::on_participant_added pub fn subscribe_on_participant_added(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantRemoved event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantRemoved libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceSession::on_participant_removed pub fn subscribe_on_participant_removed(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantUpdate event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantUpdate libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceSession::on_participant_update pub fn subscribe_on_participant_update(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.GainMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.PeerManager.GainMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::gain_map_received pub fn subscribe_gain_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, i32>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.MuteMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.PeerManager.MuteMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::mute_map_received pub fn subscribe_mute_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, bool>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerAudioUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.PeerManager.PeerAudioUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_audio_updated pub fn subscribe_peer_audio_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionPeerAudioState) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerJoined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.PeerManager.PeerJoined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_joined pub fn subscribe_peer_joined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerLeft event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.PeerManager.PeerLeft libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_left pub fn subscribe_peer_left(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerListUpdated event System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.PeerManager.PeerListUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_list_updated pub fn subscribe_peer_list_updated(&self, handler: Option<Box<dyn Fn(Vec<libremetaverse_types::UUID>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerPositionUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.PeerManager.PeerPositionUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_position_updated pub fn subscribe_peer_position_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_structured_data::OSDMap) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PongReceived event System.Action LibreMetaverse.Voice.WebRTC.PeerManager.PongReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::pong_received pub fn subscribe_pong_received(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.GainMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.VoiceManager.GainMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::gain_map_received pub fn subscribe_gain_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, i32>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.MuteMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.VoiceManager.MuteMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::mute_map_received pub fn subscribe_mute_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, bool>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoinFailed event System.Action<LibreMetaverse.UUID, System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoinFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_group_voice_join_failed pub fn subscribe_on_group_voice_join_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_group_voice_joined pub fn subscribe_on_group_voice_joined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceLeft event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceLeft libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_group_voice_left pub fn subscribe_on_group_voice_left(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallAccepted event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallAccepted libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_accepted pub fn subscribe_on_p2_p_call_accepted(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallDeclined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallDeclined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_declined pub fn subscribe_on_p2_p_call_declined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallEnded event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallEnded libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_ended pub fn subscribe_on_p2_p_call_ended(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallFailed event System.Action<LibreMetaverse.UUID, System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_failed pub fn subscribe_on_p2_p_call_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallIncoming event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallIncoming libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_incoming pub fn subscribe_on_p2_p_call_incoming(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallStarted event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallStarted libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_started pub fn subscribe_on_p2_p_call_started(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnParcelVoiceInfo event System.Action<System.String, System.Int32, System.String> LibreMetaverse.Voice.WebRTC.VoiceManager.OnParcelVoiceInfo libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_parcel_voice_info pub fn subscribe_on_parcel_voice_info(&self, handler: Option<Box<dyn Fn(String, i32, String) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionChangeDetected event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionChangeDetected libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_region_change_detected pub fn subscribe_on_region_change_detected(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionCompleted event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionCompleted libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_region_transition_completed pub fn subscribe_on_region_transition_completed(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionFailed event System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_region_transition_failed pub fn subscribe_on_region_transition_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionFailed event System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_reprovision_failed pub fn subscribe_on_reprovision_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionSucceeded event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionSucceeded libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_reprovision_succeeded pub fn subscribe_on_reprovision_succeeded(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnVoicePermissionChanged event System.Action<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.OnVoicePermissionChanged libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_voice_permission_changed pub fn subscribe_on_voice_permission_changed(&self, handler: Option<Box<dyn Fn(bool) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerAudioUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerAudioUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_audio_updated pub fn subscribe_peer_audio_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionPeerAudioState) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionClosed event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionClosed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_connection_closed pub fn subscribe_peer_connection_closed(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionReady event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionReady libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_connection_ready pub fn subscribe_peer_connection_ready(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerJoined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerJoined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_joined pub fn subscribe_peer_joined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerLeft event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerLeft libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_left pub fn subscribe_peer_left(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerListUpdated event System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerListUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_list_updated pub fn subscribe_peer_list_updated(&self, handler: Option<Box<dyn Fn(Vec<libremetaverse_types::UUID>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_position_updated pub fn subscribe_peer_position_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_structured_data::OSDMap) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdatedTyped event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdatedTyped libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_position_updated_typed pub fn subscribe_peer_position_updated_typed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionAvatarPosition) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnDataChannelReady event System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnDataChannelReady libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_data_channel_ready pub fn subscribe_on_data_channel_ready(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnGainMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnGainMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_gain_map_received pub fn subscribe_on_gain_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, i32>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnMuteMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnMuteMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_mute_map_received pub fn subscribe_on_mute_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, bool>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerAudioUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerAudioUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_audio_updated pub fn subscribe_on_peer_audio_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionPeerAudioState) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionClosed event System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionClosed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_connection_closed pub fn subscribe_on_peer_connection_closed(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionReady event System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionReady libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_connection_ready pub fn subscribe_on_peer_connection_ready(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerJoined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerJoined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_joined pub fn subscribe_on_peer_joined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerLeft event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerLeft libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_left pub fn subscribe_on_peer_left(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerListUpdated event System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerListUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_list_updated pub fn subscribe_on_peer_list_updated(&self, handler: Option<Box<dyn Fn(Vec<libremetaverse_types::UUID>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_position_updated pub fn subscribe_on_peer_position_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_structured_data::OSDMap) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdatedTyped event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdatedTyped libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_position_updated_typed pub fn subscribe_on_peer_position_updated_typed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionAvatarPosition) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionFailed event System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_reprovision_failed pub fn subscribe_on_reprovision_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionSucceeded event System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionSucceeded libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_reprovision_succeeded pub fn subscribe_on_reprovision_succeeded(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AgentDataReply event System.EventHandler<LibreMetaverse.AgentDataReplyEventArgs> LibreMetaverse.AgentManager.AgentDataReply libremetaverse libremetaverse::AgentManager::agent_data_reply pub fn subscribe_agent_data_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentDataReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AgentExperiencesUpdated event System.EventHandler<LibreMetaverse.AgentExperiencesEventArgs> LibreMetaverse.AgentManager.AgentExperiencesUpdated libremetaverse libremetaverse::AgentManager::agent_experiences_updated pub fn subscribe_agent_experiences_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentExperiencesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AgentPreferencesUpdated event System.EventHandler<LibreMetaverse.AgentPreferencesEventArgs> LibreMetaverse.AgentManager.AgentPreferencesUpdated libremetaverse libremetaverse::AgentManager::agent_preferences_updated pub fn subscribe_agent_preferences_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentPreferencesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AlertMessage event System.EventHandler<LibreMetaverse.AlertMessageEventArgs> LibreMetaverse.AgentManager.AlertMessage libremetaverse libremetaverse::AgentManager::alert_message pub fn subscribe_alert_message(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AlertMessageEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AnimationsChanged event System.EventHandler<LibreMetaverse.AnimationsChangedEventArgs> LibreMetaverse.AgentManager.AnimationsChanged libremetaverse libremetaverse::AgentManager::animations_changed pub fn subscribe_animations_changed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AnimationsChangedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AvatarRenderInfoUpdated event System.EventHandler<LibreMetaverse.AvatarRenderInfoEventArgs> LibreMetaverse.AgentManager.AvatarRenderInfoUpdated libremetaverse libremetaverse::AgentManager::avatar_render_info_updated pub fn subscribe_avatar_render_info_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarRenderInfoEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.AvatarSitResponse event System.EventHandler<LibreMetaverse.AvatarSitResponseEventArgs> LibreMetaverse.AgentManager.AvatarSitResponse libremetaverse libremetaverse::AgentManager::avatar_sit_response pub fn subscribe_avatar_sit_response(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarSitResponseEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.CameraConstraint event System.EventHandler<LibreMetaverse.CameraConstraintEventArgs> LibreMetaverse.AgentManager.CameraConstraint libremetaverse libremetaverse::AgentManager::camera_constraint pub fn subscribe_camera_constraint(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::CameraConstraintEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ChatFromSimulator event System.EventHandler<LibreMetaverse.ChatEventArgs> LibreMetaverse.AgentManager.ChatFromSimulator libremetaverse libremetaverse::AgentManager::chat_from_simulator pub fn subscribe_chat_from_simulator(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ChatEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ChatSessionMemberAdded event System.EventHandler<LibreMetaverse.ChatSessionMemberAddedEventArgs> LibreMetaverse.AgentManager.ChatSessionMemberAdded libremetaverse libremetaverse::AgentManager::chat_session_member_added pub fn subscribe_chat_session_member_added(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ChatSessionMemberAddedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ChatSessionMemberLeft event System.EventHandler<LibreMetaverse.ChatSessionMemberLeftEventArgs> LibreMetaverse.AgentManager.ChatSessionMemberLeft libremetaverse libremetaverse::AgentManager::chat_session_member_left pub fn subscribe_chat_session_member_left(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ChatSessionMemberLeftEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ExperienceInfoReceived event System.EventHandler<LibreMetaverse.ExperienceInfoEventArgs> LibreMetaverse.AgentManager.ExperienceInfoReceived libremetaverse libremetaverse::AgentManager::experience_info_received pub fn subscribe_experience_info_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ExperienceInfoEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ExperiencePreferencesUpdated event System.EventHandler<LibreMetaverse.ExperiencePreferencesEventArgs> LibreMetaverse.AgentManager.ExperiencePreferencesUpdated libremetaverse libremetaverse::AgentManager::experience_preferences_updated pub fn subscribe_experience_preferences_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ExperiencePreferencesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.GroupChatJoined event System.EventHandler<LibreMetaverse.GroupChatJoinedEventArgs> LibreMetaverse.AgentManager.GroupChatJoined libremetaverse libremetaverse::AgentManager::group_chat_joined pub fn subscribe_group_chat_joined(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupChatJoinedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.IM event System.EventHandler<LibreMetaverse.InstantMessageEventArgs> LibreMetaverse.AgentManager.IM libremetaverse libremetaverse::AgentManager::im pub fn subscribe_im(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InstantMessageEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.LoadURL event System.EventHandler<LibreMetaverse.LoadUrlEventArgs> LibreMetaverse.AgentManager.LoadURL libremetaverse libremetaverse::AgentManager::load_url pub fn subscribe_load_url(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoadUrlEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.MeanCollision event System.EventHandler<LibreMetaverse.MeanCollisionEventArgs> LibreMetaverse.AgentManager.MeanCollision libremetaverse libremetaverse::AgentManager::mean_collision pub fn subscribe_mean_collision(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::MeanCollisionEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.MoneyBalance event System.EventHandler<LibreMetaverse.BalanceEventArgs> LibreMetaverse.AgentManager.MoneyBalance libremetaverse libremetaverse::AgentManager::money_balance pub fn subscribe_money_balance(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::BalanceEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.MoneyBalanceReply event System.EventHandler<LibreMetaverse.MoneyBalanceReplyEventArgs> LibreMetaverse.AgentManager.MoneyBalanceReply libremetaverse libremetaverse::AgentManager::money_balance_reply pub fn subscribe_money_balance_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::MoneyBalanceReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.MuteListUpdated event System.EventHandler<System.EventArgs> LibreMetaverse.AgentManager.MuteListUpdated libremetaverse libremetaverse::AgentManager::mute_list_updated pub fn subscribe_mute_list_updated(&self, handler: libremetaverse_types::compat::EventHandler<()>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.NavMeshStatusUpdate event System.EventHandler<LibreMetaverse.NavMeshStatusUpdateEventArgs> LibreMetaverse.AgentManager.NavMeshStatusUpdate libremetaverse libremetaverse::AgentManager::nav_mesh_status_update pub fn subscribe_nav_mesh_status_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::NavMeshStatusUpdateEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ProductInfoUpdated event System.EventHandler<LibreMetaverse.ProductInfoEventArgs> LibreMetaverse.AgentManager.ProductInfoUpdated libremetaverse libremetaverse::AgentManager::product_info_updated pub fn subscribe_product_info_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ProductInfoEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.RegionCrossed event System.EventHandler<LibreMetaverse.RegionCrossedEventArgs> LibreMetaverse.AgentManager.RegionCrossed libremetaverse libremetaverse::AgentManager::region_crossed pub fn subscribe_region_crossed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionCrossedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.RegionCrossingPredicted event System.EventHandler<LibreMetaverse.RegionCrossingPredictionEventArgs> LibreMetaverse.AgentManager.RegionCrossingPredicted libremetaverse libremetaverse::AgentManager::region_crossing_predicted pub fn subscribe_region_crossing_predicted(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionCrossingPredictionEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.RegionExperiencesUpdated event System.EventHandler<LibreMetaverse.RegionExperiencesEventArgs> LibreMetaverse.AgentManager.RegionExperiencesUpdated libremetaverse libremetaverse::AgentManager::region_experiences_updated pub fn subscribe_region_experiences_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionExperiencesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ScriptControlChange event System.EventHandler<LibreMetaverse.ScriptControlEventArgs> LibreMetaverse.AgentManager.ScriptControlChange libremetaverse libremetaverse::AgentManager::script_control_change pub fn subscribe_script_control_change(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptControlEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ScriptDialog event System.EventHandler<LibreMetaverse.ScriptDialogEventArgs> LibreMetaverse.AgentManager.ScriptDialog libremetaverse libremetaverse::AgentManager::script_dialog pub fn subscribe_script_dialog(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptDialogEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ScriptQuestion event System.EventHandler<LibreMetaverse.ScriptQuestionEventArgs> LibreMetaverse.AgentManager.ScriptQuestion libremetaverse libremetaverse::AgentManager::script_question pub fn subscribe_script_question(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptQuestionEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ScriptSensorReply event System.EventHandler<LibreMetaverse.ScriptSensorReplyEventArgs> LibreMetaverse.AgentManager.ScriptSensorReply libremetaverse libremetaverse::AgentManager::script_sensor_reply pub fn subscribe_script_sensor_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptSensorReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.SetDisplayNameReply event System.EventHandler<LibreMetaverse.SetDisplayNameReplyEventArgs> LibreMetaverse.AgentManager.SetDisplayNameReply libremetaverse libremetaverse::AgentManager::set_display_name_reply pub fn subscribe_set_display_name_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SetDisplayNameReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.TeleportProgress event System.EventHandler<LibreMetaverse.TeleportEventArgs> LibreMetaverse.AgentManager.TeleportProgress libremetaverse libremetaverse::AgentManager::teleport_progress pub fn subscribe_teleport_progress(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TeleportEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AgentManager.ViewerBenefitsUpdated event System.EventHandler<LibreMetaverse.ViewerBenefitsEventArgs> LibreMetaverse.AgentManager.ViewerBenefitsUpdated libremetaverse libremetaverse::AgentManager::viewer_benefits_updated pub fn subscribe_viewer_benefits_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerBenefitsEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AppearanceManager.AgentWearablesReply event System.EventHandler<LibreMetaverse.AgentWearablesReplyEventArgs> LibreMetaverse.AppearanceManager.AgentWearablesReply libremetaverse libremetaverse::AppearanceManager::agent_wearables_reply pub fn subscribe_agent_wearables_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentWearablesReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AppearanceManager.AppearanceSet event System.EventHandler<LibreMetaverse.AppearanceSetEventArgs> LibreMetaverse.AppearanceManager.AppearanceSet libremetaverse libremetaverse::AppearanceManager::appearance_set pub fn subscribe_appearance_set(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AppearanceSetEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AppearanceManager.CachedBakesReply event System.EventHandler<LibreMetaverse.AgentCachedBakesReplyEventArgs> LibreMetaverse.AppearanceManager.CachedBakesReply libremetaverse libremetaverse::AppearanceManager::cached_bakes_reply pub fn subscribe_cached_bakes_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AgentCachedBakesReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AppearanceManager.RebakeAvatarRequested event System.EventHandler<LibreMetaverse.RebakeAvatarTexturesEventArgs> LibreMetaverse.AppearanceManager.RebakeAvatarRequested libremetaverse libremetaverse::AppearanceManager::rebake_avatar_requested pub fn subscribe_rebake_avatar_requested(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RebakeAvatarTexturesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.AssetUploaded event System.EventHandler<LibreMetaverse.AssetUploadEventArgs> LibreMetaverse.AssetManager.AssetUploaded libremetaverse libremetaverse::AssetManager::asset_uploaded pub fn subscribe_asset_uploaded(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AssetUploadEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.ImageReceiveProgress event System.EventHandler<LibreMetaverse.ImageReceiveProgressEventArgs> LibreMetaverse.AssetManager.ImageReceiveProgress libremetaverse libremetaverse::AssetManager::image_receive_progress pub fn subscribe_image_receive_progress(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ImageReceiveProgressEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.InitiateDownload event System.EventHandler<LibreMetaverse.InitiateDownloadEventArgs> LibreMetaverse.AssetManager.InitiateDownload libremetaverse libremetaverse::AssetManager::initiate_download pub fn subscribe_initiate_download(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InitiateDownloadEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.UploadProgress event System.EventHandler<LibreMetaverse.AssetUploadEventArgs> LibreMetaverse.AssetManager.UploadProgress libremetaverse libremetaverse::AssetManager::upload_progress pub fn subscribe_upload_progress(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AssetUploadEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AssetManager.XferReceived event System.EventHandler<LibreMetaverse.XferReceivedEventArgs> LibreMetaverse.AssetManager.XferReceived libremetaverse libremetaverse::AssetManager::xfer_received pub fn subscribe_xfer_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::XferReceivedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AudioDevice.OnAudioSourceEncodedSample event System.Action<System.UInt32, System.Byte[]> LibreMetaverse.AudioDevice.OnAudioSourceEncodedSample libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::on_audio_source_encoded_sample pub fn subscribe_on_audio_source_encoded_sample(&self, handler: Option<Box<dyn Fn(u32, Vec<u8>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AudioDevice.OnPlaybackActiveChanged event System.Action<System.Boolean> LibreMetaverse.AudioDevice.OnPlaybackActiveChanged libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::on_playback_active_changed pub fn subscribe_on_playback_active_changed(&self, handler: Option<Box<dyn Fn(bool) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AudioDevice.OnRecordingActiveChanged event System.Action<System.Boolean> LibreMetaverse.AudioDevice.OnRecordingActiveChanged libremetaverse-voice-webrtc libre_metaverse libremetaverse_voice_webrtc::libre_metaverse::AudioDevice::on_recording_active_changed pub fn subscribe_on_recording_active_changed(&self, handler: Option<Box<dyn Fn(bool) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarAnimation event System.EventHandler<LibreMetaverse.AvatarAnimationEventArgs> LibreMetaverse.AvatarManager.AvatarAnimation libremetaverse libremetaverse::AvatarManager::avatar_animation pub fn subscribe_avatar_animation(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarAnimationEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarAppearance event System.EventHandler<LibreMetaverse.AvatarAppearanceEventArgs> LibreMetaverse.AvatarManager.AvatarAppearance libremetaverse libremetaverse::AvatarManager::avatar_appearance pub fn subscribe_avatar_appearance(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarAppearanceEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarClassifiedReply event System.EventHandler<LibreMetaverse.AvatarClassifiedReplyEventArgs> LibreMetaverse.AvatarManager.AvatarClassifiedReply libremetaverse libremetaverse::AvatarManager::avatar_classified_reply pub fn subscribe_avatar_classified_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarClassifiedReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarGroupsReply event System.EventHandler<LibreMetaverse.AvatarGroupsReplyEventArgs> LibreMetaverse.AvatarManager.AvatarGroupsReply libremetaverse libremetaverse::AvatarManager::avatar_groups_reply pub fn subscribe_avatar_groups_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarGroupsReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarInterestsReply event System.EventHandler<LibreMetaverse.AvatarInterestsReplyEventArgs> LibreMetaverse.AvatarManager.AvatarInterestsReply libremetaverse libremetaverse::AvatarManager::avatar_interests_reply pub fn subscribe_avatar_interests_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarInterestsReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarNotesReply event System.EventHandler<LibreMetaverse.AvatarNotesReplyEventArgs> LibreMetaverse.AvatarManager.AvatarNotesReply libremetaverse libremetaverse::AvatarManager::avatar_notes_reply pub fn subscribe_avatar_notes_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarNotesReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarPickerReply event System.EventHandler<LibreMetaverse.AvatarPickerReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPickerReply libremetaverse libremetaverse::AvatarManager::avatar_picker_reply pub fn subscribe_avatar_picker_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarPickerReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarPicksReply event System.EventHandler<LibreMetaverse.AvatarPicksReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPicksReply libremetaverse libremetaverse::AvatarManager::avatar_picks_reply pub fn subscribe_avatar_picks_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarPicksReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.AvatarPropertiesReply event System.EventHandler<LibreMetaverse.AvatarPropertiesReplyEventArgs> LibreMetaverse.AvatarManager.AvatarPropertiesReply libremetaverse libremetaverse::AvatarManager::avatar_properties_reply pub fn subscribe_avatar_properties_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarPropertiesReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.ClassifiedInfoReply event System.EventHandler<LibreMetaverse.ClassifiedInfoReplyEventArgs> LibreMetaverse.AvatarManager.ClassifiedInfoReply libremetaverse libremetaverse::AvatarManager::classified_info_reply pub fn subscribe_classified_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ClassifiedInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.DisplayNameUpdate event System.EventHandler<LibreMetaverse.DisplayNameUpdateEventArgs> LibreMetaverse.AvatarManager.DisplayNameUpdate libremetaverse libremetaverse::AvatarManager::display_name_update pub fn subscribe_display_name_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DisplayNameUpdateEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.PickInfoReply event System.EventHandler<LibreMetaverse.PickInfoReplyEventArgs> LibreMetaverse.AvatarManager.PickInfoReply libremetaverse libremetaverse::AvatarManager::pick_info_reply pub fn subscribe_pick_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PickInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.UUIDNameReply event System.EventHandler<LibreMetaverse.UUIDNameReplyEventArgs> LibreMetaverse.AvatarManager.UUIDNameReply libremetaverse libremetaverse::AvatarManager::uuid_name_reply pub fn subscribe_uuid_name_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::UUIDNameReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.ViewerEffect event System.EventHandler<LibreMetaverse.ViewerEffectEventArgs> LibreMetaverse.AvatarManager.ViewerEffect libremetaverse libremetaverse::AvatarManager::viewer_effect pub fn subscribe_viewer_effect(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerEffectEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.ViewerEffectLookAt event System.EventHandler<LibreMetaverse.ViewerEffectLookAtEventArgs> LibreMetaverse.AvatarManager.ViewerEffectLookAt libremetaverse libremetaverse::AvatarManager::viewer_effect_look_at pub fn subscribe_viewer_effect_look_at(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerEffectLookAtEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.AvatarManager.ViewerEffectPointAt event System.EventHandler<LibreMetaverse.ViewerEffectPointAtEventArgs> LibreMetaverse.AvatarManager.ViewerEffectPointAt libremetaverse libremetaverse::AvatarManager::viewer_effect_point_at pub fn subscribe_viewer_effect_point_at(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ViewerEffectPointAtEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Caps.CapabilitiesReceived event System.EventHandler<LibreMetaverse.CapabilitiesReceivedEventArgs> LibreMetaverse.Caps.CapabilitiesReceived libremetaverse libremetaverse::Caps::capabilities_received pub fn subscribe_capabilities_received(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse::CapabilitiesReceivedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirClassifiedsReply event System.EventHandler<LibreMetaverse.DirClassifiedsReplyEventArgs> LibreMetaverse.DirectoryManager.DirClassifiedsReply libremetaverse libremetaverse::DirectoryManager::dir_classifieds_reply pub fn subscribe_dir_classifieds_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirClassifiedsReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirEventsReply event System.EventHandler<LibreMetaverse.DirEventsReplyEventArgs> LibreMetaverse.DirectoryManager.DirEventsReply libremetaverse libremetaverse::DirectoryManager::dir_events_reply pub fn subscribe_dir_events_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirEventsReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirGroupsReply event System.EventHandler<LibreMetaverse.DirGroupsReplyEventArgs> LibreMetaverse.DirectoryManager.DirGroupsReply libremetaverse libremetaverse::DirectoryManager::dir_groups_reply pub fn subscribe_dir_groups_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirGroupsReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirLandReply event System.EventHandler<LibreMetaverse.DirLandReplyEventArgs> LibreMetaverse.DirectoryManager.DirLandReply libremetaverse libremetaverse::DirectoryManager::dir_land_reply pub fn subscribe_dir_land_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirLandReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirPeopleReply event System.EventHandler<LibreMetaverse.DirPeopleReplyEventArgs> LibreMetaverse.DirectoryManager.DirPeopleReply libremetaverse libremetaverse::DirectoryManager::dir_people_reply pub fn subscribe_dir_people_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirPeopleReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.DirPlacesReply event System.EventHandler<LibreMetaverse.DirPlacesReplyEventArgs> LibreMetaverse.DirectoryManager.DirPlacesReply libremetaverse libremetaverse::DirectoryManager::dir_places_reply pub fn subscribe_dir_places_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DirPlacesReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.EventInfoReply event System.EventHandler<LibreMetaverse.EventInfoReplyEventArgs> LibreMetaverse.DirectoryManager.EventInfoReply libremetaverse libremetaverse::DirectoryManager::event_info_reply pub fn subscribe_event_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EventInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.DirectoryManager.PlacesReply event System.EventHandler<LibreMetaverse.PlacesReplyEventArgs> LibreMetaverse.DirectoryManager.PlacesReply libremetaverse libremetaverse::DirectoryManager::places_reply pub fn subscribe_places_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PlacesReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EnvironmentManager.LegacyEnvironmentUpdated event System.EventHandler<LibreMetaverse.LegacyEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.LegacyEnvironmentUpdated libremetaverse libremetaverse::EnvironmentManager::legacy_environment_updated pub fn subscribe_legacy_environment_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LegacyEnvironmentEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EnvironmentManager.ParcelEnvironmentUpdated event System.EventHandler<LibreMetaverse.ParcelEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.ParcelEnvironmentUpdated libremetaverse libremetaverse::EnvironmentManager::parcel_environment_updated pub fn subscribe_parcel_environment_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelEnvironmentEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EnvironmentManager.RegionEnvironmentUpdated event System.EventHandler<LibreMetaverse.RegionEnvironmentEventArgs> LibreMetaverse.EnvironmentManager.RegionEnvironmentUpdated libremetaverse libremetaverse::EnvironmentManager::region_environment_updated pub fn subscribe_region_environment_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionEnvironmentEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateBansReply event System.EventHandler<LibreMetaverse.EstateBansReplyEventArgs> LibreMetaverse.EstateTools.EstateBansReply libremetaverse libremetaverse::EstateTools::estate_bans_reply pub fn subscribe_estate_bans_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateBansReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateCovenantReply event System.EventHandler<LibreMetaverse.EstateCovenantReplyEventArgs> LibreMetaverse.EstateTools.EstateCovenantReply libremetaverse libremetaverse::EstateTools::estate_covenant_reply pub fn subscribe_estate_covenant_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateCovenantReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateExperienceReply event System.EventHandler<LibreMetaverse.EstateExperienceReplyEventArgs> LibreMetaverse.EstateTools.EstateExperienceReply libremetaverse libremetaverse::EstateTools::estate_experience_reply pub fn subscribe_estate_experience_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateExperienceReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateGroupsReply event System.EventHandler<LibreMetaverse.EstateGroupsReplyEventArgs> LibreMetaverse.EstateTools.EstateGroupsReply libremetaverse libremetaverse::EstateTools::estate_groups_reply pub fn subscribe_estate_groups_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateGroupsReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateManagersReply event System.EventHandler<LibreMetaverse.EstateManagersReplyEventArgs> LibreMetaverse.EstateTools.EstateManagersReply libremetaverse libremetaverse::EstateTools::estate_managers_reply pub fn subscribe_estate_managers_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateManagersReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateUpdateInfoReply event System.EventHandler<LibreMetaverse.EstateUpdateInfoReplyEventArgs> LibreMetaverse.EstateTools.EstateUpdateInfoReply libremetaverse libremetaverse::EstateTools::estate_update_info_reply pub fn subscribe_estate_update_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateUpdateInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.EstateUsersReply event System.EventHandler<LibreMetaverse.EstateUsersReplyEventArgs> LibreMetaverse.EstateTools.EstateUsersReply libremetaverse libremetaverse::EstateTools::estate_users_reply pub fn subscribe_estate_users_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EstateUsersReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.TopCollidersReply event System.EventHandler<LibreMetaverse.TopCollidersReplyEventArgs> LibreMetaverse.EstateTools.TopCollidersReply libremetaverse libremetaverse::EstateTools::top_colliders_reply pub fn subscribe_top_colliders_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TopCollidersReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.EstateTools.TopScriptsReply event System.EventHandler<LibreMetaverse.TopScriptsReplyEventArgs> LibreMetaverse.EstateTools.TopScriptsReply libremetaverse libremetaverse::EstateTools::top_scripts_reply pub fn subscribe_top_scripts_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TopScriptsReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.CallingCardOffered event System.EventHandler<LibreMetaverse.CallingCardOfferedEventArgs> LibreMetaverse.FriendsManager.CallingCardOffered libremetaverse libremetaverse::FriendsManager::calling_card_offered pub fn subscribe_calling_card_offered(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::CallingCardOfferedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendFoundReply event System.EventHandler<LibreMetaverse.FriendFoundReplyEventArgs> LibreMetaverse.FriendsManager.FriendFoundReply libremetaverse libremetaverse::FriendsManager::friend_found_reply pub fn subscribe_friend_found_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendFoundReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendNames event System.EventHandler<LibreMetaverse.FriendNamesEventArgs> LibreMetaverse.FriendsManager.FriendNames libremetaverse libremetaverse::FriendsManager::friend_names pub fn subscribe_friend_names(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendNamesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendOffline event System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendOffline libremetaverse libremetaverse::FriendsManager::friend_offline pub fn subscribe_friend_offline(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendInfoEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendOnline event System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendOnline libremetaverse libremetaverse::FriendsManager::friend_online pub fn subscribe_friend_online(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendInfoEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendRightsUpdate event System.EventHandler<LibreMetaverse.FriendInfoEventArgs> LibreMetaverse.FriendsManager.FriendRightsUpdate libremetaverse libremetaverse::FriendsManager::friend_rights_update pub fn subscribe_friend_rights_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendInfoEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendshipOffered event System.EventHandler<LibreMetaverse.FriendshipOfferedEventArgs> LibreMetaverse.FriendsManager.FriendshipOffered libremetaverse libremetaverse::FriendsManager::friendship_offered pub fn subscribe_friendship_offered(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendshipOfferedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendshipResponse event System.EventHandler<LibreMetaverse.FriendshipResponseEventArgs> LibreMetaverse.FriendsManager.FriendshipResponse libremetaverse libremetaverse::FriendsManager::friendship_response pub fn subscribe_friendship_response(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendshipResponseEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.FriendshipTerminated event System.EventHandler<LibreMetaverse.FriendshipTerminatedEventArgs> LibreMetaverse.FriendsManager.FriendshipTerminated libremetaverse libremetaverse::FriendsManager::friendship_terminated pub fn subscribe_friendship_terminated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendshipTerminatedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.FriendsManager.friendsListReady event System.EventHandler<LibreMetaverse.FriendsReadyEventArgs> LibreMetaverse.FriendsManager.friendsListReady libremetaverse libremetaverse::FriendsManager::friends_list_ready pub fn subscribe_friends_list_ready(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FriendsReadyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.CoarseLocationUpdate event System.EventHandler<LibreMetaverse.CoarseLocationUpdateEventArgs> LibreMetaverse.GridManager.CoarseLocationUpdate libremetaverse libremetaverse::GridManager::coarse_location_update pub fn subscribe_coarse_location_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::CoarseLocationUpdateEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.GridItems event System.EventHandler<LibreMetaverse.GridItemsEventArgs> LibreMetaverse.GridManager.GridItems libremetaverse libremetaverse::GridManager::grid_items pub fn subscribe_grid_items(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GridItemsEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.GridLayer event System.EventHandler<LibreMetaverse.GridLayerEventArgs> LibreMetaverse.GridManager.GridLayer libremetaverse libremetaverse::GridManager::grid_layer pub fn subscribe_grid_layer(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GridLayerEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.GridRegion event System.EventHandler<LibreMetaverse.GridRegionEventArgs> LibreMetaverse.GridManager.GridRegion libremetaverse libremetaverse::GridManager::grid_region pub fn subscribe_grid_region(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GridRegionEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GridManager.RegionHandleReply event System.EventHandler<LibreMetaverse.RegionHandleReplyEventArgs> LibreMetaverse.GridManager.RegionHandleReply libremetaverse libremetaverse::GridManager::region_handle_reply pub fn subscribe_region_handle_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::RegionHandleReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.BannedAgents event System.EventHandler<LibreMetaverse.BannedAgentsEventArgs> LibreMetaverse.GroupManager.BannedAgents libremetaverse libremetaverse::GroupManager::banned_agents pub fn subscribe_banned_agents(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::BannedAgentsEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.CurrentGroups event System.EventHandler<LibreMetaverse.CurrentGroupsEventArgs> LibreMetaverse.GroupManager.CurrentGroups libremetaverse libremetaverse::GroupManager::current_groups pub fn subscribe_current_groups(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::CurrentGroupsEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupAccountSummaryReply event System.EventHandler<LibreMetaverse.GroupAccountSummaryReplyEventArgs> LibreMetaverse.GroupManager.GroupAccountSummaryReply libremetaverse libremetaverse::GroupManager::group_account_summary_reply pub fn subscribe_group_account_summary_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupAccountSummaryReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupCreatedReply event System.EventHandler<LibreMetaverse.GroupCreatedReplyEventArgs> LibreMetaverse.GroupManager.GroupCreatedReply libremetaverse libremetaverse::GroupManager::group_created_reply pub fn subscribe_group_created_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupCreatedReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupDropped event System.EventHandler<LibreMetaverse.GroupDroppedEventArgs> LibreMetaverse.GroupManager.GroupDropped libremetaverse libremetaverse::GroupManager::group_dropped pub fn subscribe_group_dropped(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupDroppedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupInvitation event System.EventHandler<LibreMetaverse.GroupInvitationEventArgs> LibreMetaverse.GroupManager.GroupInvitation libremetaverse libremetaverse::GroupManager::group_invitation pub fn subscribe_group_invitation(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupInvitationEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupJoinedReply event System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupJoinedReply libremetaverse libremetaverse::GroupManager::group_joined_reply pub fn subscribe_group_joined_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupOperationEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupLeaveReply event System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupLeaveReply libremetaverse libremetaverse::GroupManager::group_leave_reply pub fn subscribe_group_leave_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupOperationEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupMemberEjected event System.EventHandler<LibreMetaverse.GroupOperationEventArgs> LibreMetaverse.GroupManager.GroupMemberEjected libremetaverse libremetaverse::GroupManager::group_member_ejected pub fn subscribe_group_member_ejected(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupOperationEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupMembersReply event System.EventHandler<LibreMetaverse.GroupMembersReplyEventArgs> LibreMetaverse.GroupManager.GroupMembersReply libremetaverse libremetaverse::GroupManager::group_members_reply pub fn subscribe_group_members_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupMembersReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupNamesReply event System.EventHandler<LibreMetaverse.GroupNamesEventArgs> LibreMetaverse.GroupManager.GroupNamesReply libremetaverse libremetaverse::GroupManager::group_names_reply pub fn subscribe_group_names_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupNamesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupNoticesListReply event System.EventHandler<LibreMetaverse.GroupNoticesListReplyEventArgs> LibreMetaverse.GroupManager.GroupNoticesListReply libremetaverse libremetaverse::GroupManager::group_notices_list_reply pub fn subscribe_group_notices_list_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupNoticesListReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupProfile event System.EventHandler<LibreMetaverse.GroupProfileEventArgs> LibreMetaverse.GroupManager.GroupProfile libremetaverse libremetaverse::GroupManager::group_profile pub fn subscribe_group_profile(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupProfileEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupRoleDataReply event System.EventHandler<LibreMetaverse.GroupRolesDataReplyEventArgs> LibreMetaverse.GroupManager.GroupRoleDataReply libremetaverse libremetaverse::GroupManager::group_role_data_reply pub fn subscribe_group_role_data_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupRolesDataReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupRoleMembersReply event System.EventHandler<LibreMetaverse.GroupRolesMembersReplyEventArgs> LibreMetaverse.GroupManager.GroupRoleMembersReply libremetaverse libremetaverse::GroupManager::group_role_members_reply pub fn subscribe_group_role_members_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupRolesMembersReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.GroupManager.GroupTitlesReply event System.EventHandler<LibreMetaverse.GroupTitlesReplyEventArgs> LibreMetaverse.GroupManager.GroupTitlesReply libremetaverse libremetaverse::GroupManager::group_titles_reply pub fn subscribe_group_titles_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GroupTitlesReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Inventory.InventoryObjectAdded event System.EventHandler<LibreMetaverse.InventoryObjectAddedEventArgs> LibreMetaverse.Inventory.InventoryObjectAdded libremetaverse libremetaverse::Inventory::inventory_object_added pub fn subscribe_inventory_object_added(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InventoryObjectAddedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Inventory.InventoryObjectRemoved event System.EventHandler<LibreMetaverse.InventoryObjectRemovedEventArgs> LibreMetaverse.Inventory.InventoryObjectRemoved libremetaverse libremetaverse::Inventory::inventory_object_removed pub fn subscribe_inventory_object_removed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InventoryObjectRemovedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Inventory.InventoryObjectUpdated event System.EventHandler<LibreMetaverse.InventoryObjectUpdatedEventArgs> LibreMetaverse.Inventory.InventoryObjectUpdated libremetaverse libremetaverse::Inventory::inventory_object_updated pub fn subscribe_inventory_object_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InventoryObjectUpdatedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.FindObjectByPathReply event System.EventHandler<LibreMetaverse.FindObjectByPathReplyEventArgs> LibreMetaverse.InventoryManager.FindObjectByPathReply libremetaverse libremetaverse::InventoryManager::find_object_by_path_reply pub fn subscribe_find_object_by_path_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FindObjectByPathReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.FolderUpdated event System.EventHandler<LibreMetaverse.FolderUpdatedEventArgs> LibreMetaverse.InventoryManager.FolderUpdated libremetaverse libremetaverse::InventoryManager::folder_updated pub fn subscribe_folder_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::FolderUpdatedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.InventoryObjectOffered event System.EventHandler<LibreMetaverse.InventoryObjectOfferedEventArgs> LibreMetaverse.InventoryManager.InventoryObjectOffered libremetaverse libremetaverse::InventoryManager::inventory_object_offered pub fn subscribe_inventory_object_offered(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::InventoryObjectOfferedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.ItemReceived event System.EventHandler<LibreMetaverse.ItemReceivedEventArgs> LibreMetaverse.InventoryManager.ItemReceived libremetaverse libremetaverse::InventoryManager::item_received pub fn subscribe_item_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ItemReceivedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.SaveAssetToInventory event System.EventHandler<LibreMetaverse.SaveAssetToInventoryEventArgs> LibreMetaverse.InventoryManager.SaveAssetToInventory libremetaverse libremetaverse::InventoryManager::save_asset_to_inventory pub fn subscribe_save_asset_to_inventory(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SaveAssetToInventoryEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.ScriptRunningReply event System.EventHandler<LibreMetaverse.ScriptRunningReplyEventArgs> LibreMetaverse.InventoryManager.ScriptRunningReply libremetaverse libremetaverse::InventoryManager::script_running_reply pub fn subscribe_script_running_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ScriptRunningReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.TaskInventoryReply event System.EventHandler<LibreMetaverse.TaskInventoryReplyEventArgs> LibreMetaverse.InventoryManager.TaskInventoryReply libremetaverse libremetaverse::InventoryManager::task_inventory_reply pub fn subscribe_task_inventory_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TaskInventoryReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.InventoryManager.TaskItemReceived event System.EventHandler<LibreMetaverse.TaskItemReceivedEventArgs> LibreMetaverse.InventoryManager.TaskItemReceived libremetaverse libremetaverse::InventoryManager::task_item_received pub fn subscribe_task_item_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TaskItemReceivedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Logger.OnLogMessage event LibreMetaverse.Logger.LogCallback LibreMetaverse.Logger.OnLogMessage libremetaverse libremetaverse::Logger::on_log_message pub fn subscribe_on_log_message(handler: Option<libremetaverse::LoggerLogCallback>) -> libremetaverse_types::compat::Subscription stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.LslSyntax.SyntaxChanged event System.EventHandler LibreMetaverse.LslSyntax.SyntaxChanged libremetaverse libremetaverse::LslSyntax::syntax_changed pub fn subscribe_syntax_changed(&self, handler: libremetaverse_types::compat::EventHandler<()>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Marketplace.MarketplaceManager.Error event System.EventHandler<LibreMetaverse.Marketplace.MarketplaceErrorEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.Error libremetaverse marketplace libremetaverse::marketplace::MarketplaceManager::error pub fn subscribe_error(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::marketplace::MarketplaceErrorEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Marketplace.MarketplaceManager.ListingChanged event System.EventHandler<LibreMetaverse.Marketplace.MarketplaceListingChangedEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.ListingChanged libremetaverse marketplace libremetaverse::marketplace::MarketplaceManager::listing_changed pub fn subscribe_listing_changed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::marketplace::MarketplaceListingChangedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Marketplace.MarketplaceManager.ListingsSynced event System.EventHandler<LibreMetaverse.Marketplace.MarketplaceListingsSyncedEventArgs> LibreMetaverse.Marketplace.MarketplaceManager.ListingsSynced libremetaverse marketplace libremetaverse::marketplace::MarketplaceManager::listings_synced pub fn subscribe_listings_synced(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::marketplace::MarketplaceListingsSyncedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.Disconnected event System.EventHandler<LibreMetaverse.DisconnectedEventArgs> LibreMetaverse.NetworkManager.Disconnected libremetaverse libremetaverse::NetworkManager::disconnected pub fn subscribe_disconnected(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::DisconnectedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.EventQueueRunning event System.EventHandler<LibreMetaverse.EventQueueRunningEventArgs> LibreMetaverse.NetworkManager.EventQueueRunning libremetaverse libremetaverse::NetworkManager::event_queue_running pub fn subscribe_event_queue_running(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::EventQueueRunningEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.GenericStreamingMessage event System.EventHandler<LibreMetaverse.GenericStreamingMessageEventArgs> LibreMetaverse.NetworkManager.GenericStreamingMessage libremetaverse libremetaverse::NetworkManager::generic_streaming_message pub fn subscribe_generic_streaming_message(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::GenericStreamingMessageEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.LoggedOut event System.EventHandler<LibreMetaverse.LoggedOutEventArgs> LibreMetaverse.NetworkManager.LoggedOut libremetaverse libremetaverse::NetworkManager::logged_out pub fn subscribe_logged_out(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoggedOutEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.LoginProgress event System.EventHandler<LibreMetaverse.LoginProgressEventArgs> LibreMetaverse.NetworkManager.LoginProgress libremetaverse libremetaverse::NetworkManager::login_progress pub fn subscribe_login_progress(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LoginProgressEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.PacketSent event System.EventHandler<LibreMetaverse.PacketSentEventArgs> LibreMetaverse.NetworkManager.PacketSent libremetaverse libremetaverse::NetworkManager::packet_sent pub fn subscribe_packet_sent(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PacketSentEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.SimChanged event System.EventHandler<LibreMetaverse.SimChangedEventArgs> LibreMetaverse.NetworkManager.SimChanged libremetaverse libremetaverse::NetworkManager::sim_changed pub fn subscribe_sim_changed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimChangedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.SimConnected event System.EventHandler<LibreMetaverse.SimConnectedEventArgs> LibreMetaverse.NetworkManager.SimConnected libremetaverse libremetaverse::NetworkManager::sim_connected pub fn subscribe_sim_connected(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimConnectedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.SimConnecting event System.EventHandler<LibreMetaverse.SimConnectingEventArgs> LibreMetaverse.NetworkManager.SimConnecting libremetaverse libremetaverse::NetworkManager::sim_connecting pub fn subscribe_sim_connecting(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimConnectingEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.NetworkManager.SimDisconnected event System.EventHandler<LibreMetaverse.SimDisconnectedEventArgs> LibreMetaverse.NetworkManager.SimDisconnected libremetaverse libremetaverse::NetworkManager::sim_disconnected pub fn subscribe_sim_disconnected(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimDisconnectedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.AvatarSitChanged event System.EventHandler<LibreMetaverse.AvatarSitChangedEventArgs> LibreMetaverse.ObjectManager.AvatarSitChanged libremetaverse libremetaverse::ObjectManager::avatar_sit_changed pub fn subscribe_avatar_sit_changed(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarSitChangedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.AvatarUpdate event System.EventHandler<LibreMetaverse.AvatarUpdateEventArgs> LibreMetaverse.ObjectManager.AvatarUpdate libremetaverse libremetaverse::ObjectManager::avatar_update pub fn subscribe_avatar_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AvatarUpdateEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.KillObject event System.EventHandler<LibreMetaverse.KillObjectEventArgs> LibreMetaverse.ObjectManager.KillObject libremetaverse libremetaverse::ObjectManager::kill_object pub fn subscribe_kill_object(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::KillObjectEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.KillObjects event System.EventHandler<LibreMetaverse.KillObjectsEventArgs> LibreMetaverse.ObjectManager.KillObjects libremetaverse libremetaverse::ObjectManager::kill_objects pub fn subscribe_kill_objects(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::KillObjectsEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectAnimation event System.EventHandler<LibreMetaverse.ObjectAnimationEventArgs> LibreMetaverse.ObjectManager.ObjectAnimation libremetaverse libremetaverse::ObjectManager::object_animation pub fn subscribe_object_animation(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectAnimationEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectDataBlockUpdate event System.EventHandler<LibreMetaverse.ObjectDataBlockUpdateEventArgs> LibreMetaverse.ObjectManager.ObjectDataBlockUpdate libremetaverse libremetaverse::ObjectManager::object_data_block_update pub fn subscribe_object_data_block_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectDataBlockUpdateEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectProperties event System.EventHandler<LibreMetaverse.ObjectPropertiesEventArgs> LibreMetaverse.ObjectManager.ObjectProperties libremetaverse libremetaverse::ObjectManager::object_properties pub fn subscribe_object_properties(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectPropertiesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectPropertiesFamily event System.EventHandler<LibreMetaverse.ObjectPropertiesFamilyEventArgs> LibreMetaverse.ObjectManager.ObjectPropertiesFamily libremetaverse libremetaverse::ObjectManager::object_properties_family pub fn subscribe_object_properties_family(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectPropertiesFamilyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectPropertiesUpdated event System.EventHandler<LibreMetaverse.ObjectPropertiesUpdatedEventArgs> LibreMetaverse.ObjectManager.ObjectPropertiesUpdated libremetaverse libremetaverse::ObjectManager::object_properties_updated pub fn subscribe_object_properties_updated(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ObjectPropertiesUpdatedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ObjectUpdate event System.EventHandler<LibreMetaverse.PrimEventArgs> LibreMetaverse.ObjectManager.ObjectUpdate libremetaverse libremetaverse::ObjectManager::object_update pub fn subscribe_object_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PrimEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.ParticleUpdate event System.EventHandler<LibreMetaverse.ParticleUpdateEventArgs> LibreMetaverse.ObjectManager.ParticleUpdate libremetaverse libremetaverse::ObjectManager::particle_update pub fn subscribe_particle_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParticleUpdateEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.PayPriceReply event System.EventHandler<LibreMetaverse.PayPriceReplyEventArgs> LibreMetaverse.ObjectManager.PayPriceReply libremetaverse libremetaverse::ObjectManager::pay_price_reply pub fn subscribe_pay_price_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PayPriceReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.PhysicsProperties event System.EventHandler<LibreMetaverse.PhysicsPropertiesEventArgs> LibreMetaverse.ObjectManager.PhysicsProperties libremetaverse libremetaverse::ObjectManager::physics_properties pub fn subscribe_physics_properties(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PhysicsPropertiesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ObjectManager.TerseObjectUpdate event System.EventHandler<LibreMetaverse.TerseObjectUpdateEventArgs> LibreMetaverse.ObjectManager.TerseObjectUpdate libremetaverse libremetaverse::ObjectManager::terse_object_update pub fn subscribe_terse_object_update(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::TerseObjectUpdateEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ForceSelectObjectsReply event System.EventHandler<LibreMetaverse.ForceSelectObjectsReplyEventArgs> LibreMetaverse.ParcelManager.ForceSelectObjectsReply libremetaverse libremetaverse::ParcelManager::force_select_objects_reply pub fn subscribe_force_select_objects_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ForceSelectObjectsReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelAccessListReply event System.EventHandler<LibreMetaverse.ParcelAccessListReplyEventArgs> LibreMetaverse.ParcelManager.ParcelAccessListReply libremetaverse libremetaverse::ParcelManager::parcel_access_list_reply pub fn subscribe_parcel_access_list_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelAccessListReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelDwellReply event System.EventHandler<LibreMetaverse.ParcelDwellReplyEventArgs> LibreMetaverse.ParcelManager.ParcelDwellReply libremetaverse libremetaverse::ParcelManager::parcel_dwell_reply pub fn subscribe_parcel_dwell_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelDwellReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelInfoReply event System.EventHandler<LibreMetaverse.ParcelInfoReplyEventArgs> LibreMetaverse.ParcelManager.ParcelInfoReply libremetaverse libremetaverse::ParcelManager::parcel_info_reply pub fn subscribe_parcel_info_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelInfoReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelMediaCommand event System.EventHandler<LibreMetaverse.ParcelMediaCommandEventArgs> LibreMetaverse.ParcelManager.ParcelMediaCommand libremetaverse libremetaverse::ParcelManager::parcel_media_command pub fn subscribe_parcel_media_command(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelMediaCommandEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelMediaUpdateReply event System.EventHandler<LibreMetaverse.ParcelMediaUpdateReplyEventArgs> LibreMetaverse.ParcelManager.ParcelMediaUpdateReply libremetaverse libremetaverse::ParcelManager::parcel_media_update_reply pub fn subscribe_parcel_media_update_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelMediaUpdateReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelObjectOwnersReply event System.EventHandler<LibreMetaverse.ParcelObjectOwnersReplyEventArgs> LibreMetaverse.ParcelManager.ParcelObjectOwnersReply libremetaverse libremetaverse::ParcelManager::parcel_object_owners_reply pub fn subscribe_parcel_object_owners_reply(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelObjectOwnersReplyEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelOverlaysDownloaded event System.EventHandler<LibreMetaverse.ParcelOverlayEventArgs> LibreMetaverse.ParcelManager.ParcelOverlaysDownloaded libremetaverse libremetaverse::ParcelManager::parcel_overlays_downloaded pub fn subscribe_parcel_overlays_downloaded(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelOverlayEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.ParcelProperties event System.EventHandler<LibreMetaverse.ParcelPropertiesEventArgs> LibreMetaverse.ParcelManager.ParcelProperties libremetaverse libremetaverse::ParcelManager::parcel_properties pub fn subscribe_parcel_properties(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::ParcelPropertiesEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.ParcelManager.SimParcelsDownloaded event System.EventHandler<LibreMetaverse.SimParcelsDownloadedEventArgs> LibreMetaverse.ParcelManager.SimParcelsDownloaded libremetaverse libremetaverse::ParcelManager::sim_parcels_downloaded pub fn subscribe_sim_parcels_downloaded(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SimParcelsDownloadedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.RLV.RlvRestrictionManager.RestrictionUpdated event System.EventHandler<LibreMetaverse.RLV.EventArguments.RestrictionUpdatedEventArgs> LibreMetaverse.RLV.RlvRestrictionManager.RestrictionUpdated libremetaverse-rlv libremetaverse_rlv::RlvRestrictionManager::restriction_updated pub fn subscribe_restriction_updated(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_rlv::event_arguments::RestrictionUpdatedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.SoundManager.AttachedSound event System.EventHandler<LibreMetaverse.AttachedSoundEventArgs> LibreMetaverse.SoundManager.AttachedSound libremetaverse libremetaverse::SoundManager::attached_sound pub fn subscribe_attached_sound(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AttachedSoundEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.SoundManager.AttachedSoundGainChange event System.EventHandler<LibreMetaverse.AttachedSoundGainChangeEventArgs> LibreMetaverse.SoundManager.AttachedSoundGainChange libremetaverse libremetaverse::SoundManager::attached_sound_gain_change pub fn subscribe_attached_sound_gain_change(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::AttachedSoundGainChangeEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.SoundManager.PreloadSound event System.EventHandler<LibreMetaverse.PreloadSoundEventArgs> LibreMetaverse.SoundManager.PreloadSound libremetaverse libremetaverse::SoundManager::preload_sound pub fn subscribe_preload_sound(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::PreloadSoundEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.SoundManager.SoundTrigger event System.EventHandler<LibreMetaverse.SoundTriggerEventArgs> LibreMetaverse.SoundManager.SoundTrigger libremetaverse libremetaverse::SoundManager::sound_trigger pub fn subscribe_sound_trigger(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::SoundTriggerEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.TerrainManager.LandPatchReceived event System.EventHandler<LibreMetaverse.LandPatchReceivedEventArgs> LibreMetaverse.TerrainManager.LandPatchReceived libremetaverse libremetaverse::TerrainManager::land_patch_received pub fn subscribe_land_patch_received(&self, handler: libremetaverse_types::compat::EventHandler<libremetaverse::LandPatchReceivedEventArgs>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.TCPPipe.OnDisconnected event LibreMetaverse.Voice.Vivox.TCPPipe.OnDisconnectedCallback LibreMetaverse.Voice.Vivox.TCPPipe.OnDisconnected libremetaverse-voice-vivox libremetaverse_voice_vivox::TCPPipe::on_disconnected pub fn subscribe_on_disconnected(&self, handler: Option<libremetaverse_voice_vivox::TCPPipeOnDisconnectedCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.TCPPipe.OnReceiveLine event LibreMetaverse.Voice.Vivox.TCPPipe.OnReceiveLineCallback LibreMetaverse.Voice.Vivox.TCPPipe.OnReceiveLine libremetaverse-voice-vivox libremetaverse_voice_vivox::TCPPipe::on_receive_line pub fn subscribe_on_receive_line(&self, handler: Option<libremetaverse_voice_vivox::TCPPipeOnReceiveLineCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAccountLoginResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceAccountEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAccountLoginResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_account_login_response pub fn subscribe_on_account_login_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceAccountEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAccountLoginStateChangeEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.AccountLoginStateChangeEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAccountLoginStateChangeEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_account_login_state_change_event pub fn subscribe_on_account_login_state_change_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayAccountLoginStateChangeEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxAudioPropertiesEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.AudioPropertiesEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxAudioPropertiesEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_aux_audio_properties_event pub fn subscribe_on_aux_audio_properties_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayAudioPropertiesEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxGetCaptureDevicesResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceDevicesEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxGetCaptureDevicesResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_aux_get_capture_devices_response pub fn subscribe_on_aux_get_capture_devices_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceDevicesEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxGetRenderDevicesResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceDevicesEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnAuxGetRenderDevicesResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_aux_get_render_devices_response pub fn subscribe_on_aux_get_render_devices_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceDevicesEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnConnectorCreateResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceConnectorEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnConnectorCreateResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_connector_create_response pub fn subscribe_on_connector_create_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceConnectorEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonConnected event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonConnectedCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonConnected libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_connected pub fn subscribe_on_daemon_connected(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonConnectedCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonCouldntConnect event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonCouldntConnectCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonCouldntConnect libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_couldnt_connect pub fn subscribe_on_daemon_couldnt_connect(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonCouldntConnectCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonCouldntRun event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonCouldntRunCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonCouldntRun libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_couldnt_run pub fn subscribe_on_daemon_couldnt_run(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonCouldntRunCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonDisconnected event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonDisconnectedCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonDisconnected libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_disconnected pub fn subscribe_on_daemon_disconnected(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonDisconnectedCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonExited event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonExitedCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonExited libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_exited pub fn subscribe_on_daemon_exited(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonExitedCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonRunning event LibreMetaverse.Voice.Vivox.VoiceGateway.DaemonRunningCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnDaemonRunning libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_daemon_running pub fn subscribe_on_daemon_running(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayDaemonRunningCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionAddedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionAddedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionAddedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_added_event pub fn subscribe_on_session_added_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionAddedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionCreate event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionCreate libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_create pub fn subscribe_on_session_create(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionCreateResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceSessionEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionCreateResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_create_response pub fn subscribe_on_session_create_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceSessionEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionGroupAddedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionGroupAddedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionGroupAddedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_group_added_event pub fn subscribe_on_session_group_added_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionGroupAddedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionMediaEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionMediaEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionMediaEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_media_event pub fn subscribe_on_session_media_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionMediaEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionNewEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.NewSessionEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionNewEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_new_event pub fn subscribe_on_session_new_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayNewSessionEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantAddedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantAddedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantAddedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_added_event pub fn subscribe_on_session_participant_added_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantAddedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantPropertiesEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantPropertiesEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantPropertiesEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_properties_event pub fn subscribe_on_session_participant_properties_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantPropertiesEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantRemovedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantRemovedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantRemovedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_removed_event pub fn subscribe_on_session_participant_removed_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantRemovedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantStateChangeEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantStateChangeEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantStateChangeEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_state_change_event pub fn subscribe_on_session_participant_state_change_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantStateChangeEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantUpdatedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.ParticipantUpdatedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionParticipantUpdatedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_participant_updated_event pub fn subscribe_on_session_participant_updated_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayParticipantUpdatedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionRemove event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionRemove libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_remove pub fn subscribe_on_session_remove(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionRemovedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionRemovedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionRemovedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_removed_event pub fn subscribe_on_session_removed_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionRemovedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionStateChangeEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionStateChangeEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionStateChangeEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_state_change_event pub fn subscribe_on_session_state_change_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionStateChangeEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionUpdatedEvent event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.SessionUpdatedEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnSessionUpdatedEvent libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_session_updated_event pub fn subscribe_on_session_updated_event(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewaySessionUpdatedEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceConnectionChange event LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceConnectionChangeCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceConnectionChange libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_voice_connection_change pub fn subscribe_on_voice_connection_change(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayVoiceConnectionChangeCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceMicTest event LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceMicTestCallback LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceMicTest libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_voice_mic_test pub fn subscribe_on_voice_mic_test(&self, handler: Option<libremetaverse_voice_vivox::VoiceGatewayVoiceMicTestCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceResponse event System.EventHandler<LibreMetaverse.Voice.Vivox.VoiceGateway.VoiceResponseEventArgs> LibreMetaverse.Voice.Vivox.VoiceGateway.OnVoiceResponse libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceGateway::on_voice_response pub fn subscribe_on_voice_response(&self, handler: Option<libremetaverse_types::compat::EventHandler<libremetaverse_voice_vivox::VoiceGatewayVoiceResponseEventArgs>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnAccountChannelGetList event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnAccountChannelGetList libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_account_channel_get_list pub fn subscribe_on_account_channel_get_list(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnAccountLogout event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnAccountLogout libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_account_logout pub fn subscribe_on_account_logout(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnAuxAudioProperties event LibreMetaverse.Voice.Vivox.VoiceManager.AuxAudioPropertiesCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnAuxAudioProperties libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_aux_audio_properties pub fn subscribe_on_aux_audio_properties(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerAuxAudioPropertiesCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnCaptureDevices event LibreMetaverse.Voice.Vivox.VoiceManager.DevicesCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnCaptureDevices libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_capture_devices pub fn subscribe_on_capture_devices(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerDevicesCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnConnectorCreated event LibreMetaverse.Voice.Vivox.VoiceManager.ConnectorCreatedCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnConnectorCreated libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_connector_created pub fn subscribe_on_connector_created(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerConnectorCreatedCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnConnectorInitiateShutdown event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnConnectorInitiateShutdown libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_connector_initiate_shutdown pub fn subscribe_on_connector_initiate_shutdown(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnLogin event LibreMetaverse.Voice.Vivox.VoiceManager.LoginCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnLogin libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_login pub fn subscribe_on_login(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerLoginCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnLoginStateChange event LibreMetaverse.Voice.Vivox.VoiceManager.LoginStateChangeCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnLoginStateChange libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_login_state_change pub fn subscribe_on_login_state_change(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerLoginStateChangeCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnNewSession event LibreMetaverse.Voice.Vivox.VoiceManager.NewSessionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnNewSession libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_new_session pub fn subscribe_on_new_session(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerNewSessionCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnParcelVoiceInfo event LibreMetaverse.Voice.Vivox.VoiceManager.ParcelVoiceInfoCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnParcelVoiceInfo libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_parcel_voice_info pub fn subscribe_on_parcel_voice_info(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerParcelVoiceInfoCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnParticipantProperties event LibreMetaverse.Voice.Vivox.VoiceManager.ParticipantPropertiesCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnParticipantProperties libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_participant_properties pub fn subscribe_on_participant_properties(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerParticipantPropertiesCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnParticipantStateChange event LibreMetaverse.Voice.Vivox.VoiceManager.ParticipantStateChangeCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnParticipantStateChange libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_participant_state_change pub fn subscribe_on_participant_state_change(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerParticipantStateChangeCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnProvisionAccount event LibreMetaverse.Voice.Vivox.VoiceManager.ProvisionAccountCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnProvisionAccount libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_provision_account pub fn subscribe_on_provision_account(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerProvisionAccountCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnRenderDevices event LibreMetaverse.Voice.Vivox.VoiceManager.DevicesCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnRenderDevices libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_render_devices pub fn subscribe_on_render_devices(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerDevicesCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionConnected event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionConnected libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_session_connected pub fn subscribe_on_session_connected(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionCreated event LibreMetaverse.Voice.Vivox.VoiceManager.SessionCreatedCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionCreated libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_session_created pub fn subscribe_on_session_created(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerSessionCreatedCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionStateChange event LibreMetaverse.Voice.Vivox.VoiceManager.SessionStateChangeCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionStateChange libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_session_state_change pub fn subscribe_on_session_state_change(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerSessionStateChangeCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionTerminated event LibreMetaverse.Voice.Vivox.VoiceManager.BasicActionCallback LibreMetaverse.Voice.Vivox.VoiceManager.OnSessionTerminated libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceManager::on_session_terminated pub fn subscribe_on_session_terminated(&self, handler: Option<libremetaverse_voice_vivox::VoiceManagerBasicActionCallback>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantAdded event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantAdded libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceSession::on_participant_added pub fn subscribe_on_participant_added(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantRemoved event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantRemoved libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceSession::on_participant_removed pub fn subscribe_on_participant_removed(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantUpdate event System.EventHandler LibreMetaverse.Voice.Vivox.VoiceSession.OnParticipantUpdate libremetaverse-voice-vivox libremetaverse_voice_vivox::VoiceSession::on_participant_update pub fn subscribe_on_participant_update(&self, handler: Option<libremetaverse_types::compat::EventHandler<()>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.GainMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.PeerManager.GainMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::gain_map_received pub fn subscribe_gain_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, i32>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.MuteMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.PeerManager.MuteMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::mute_map_received pub fn subscribe_mute_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, bool>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerAudioUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.PeerManager.PeerAudioUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_audio_updated pub fn subscribe_peer_audio_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionPeerAudioState) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerJoined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.PeerManager.PeerJoined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_joined pub fn subscribe_peer_joined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerLeft event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.PeerManager.PeerLeft libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_left pub fn subscribe_peer_left(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerListUpdated event System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.PeerManager.PeerListUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_list_updated pub fn subscribe_peer_list_updated(&self, handler: Option<Box<dyn Fn(Vec<libremetaverse_types::UUID>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PeerPositionUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.PeerManager.PeerPositionUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::peer_position_updated pub fn subscribe_peer_position_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_structured_data::OSDMap) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.PeerManager.PongReceived event System.Action LibreMetaverse.Voice.WebRTC.PeerManager.PongReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::PeerManager::pong_received pub fn subscribe_pong_received(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.GainMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.VoiceManager.GainMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::gain_map_received pub fn subscribe_gain_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, i32>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.MuteMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.VoiceManager.MuteMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::mute_map_received pub fn subscribe_mute_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, bool>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoinFailed event System.Action<LibreMetaverse.UUID, System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoinFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_group_voice_join_failed pub fn subscribe_on_group_voice_join_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceJoined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_group_voice_joined pub fn subscribe_on_group_voice_joined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceLeft event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnGroupVoiceLeft libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_group_voice_left pub fn subscribe_on_group_voice_left(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallAccepted event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallAccepted libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_accepted pub fn subscribe_on_p2_p_call_accepted(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallDeclined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallDeclined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_declined pub fn subscribe_on_p2_p_call_declined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallEnded event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallEnded libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_ended pub fn subscribe_on_p2_p_call_ended(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallFailed event System.Action<LibreMetaverse.UUID, System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_failed pub fn subscribe_on_p2_p_call_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallIncoming event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallIncoming libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_incoming pub fn subscribe_on_p2_p_call_incoming(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallStarted event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.OnP2PCallStarted libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_p2_p_call_started pub fn subscribe_on_p2_p_call_started(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnParcelVoiceInfo event System.Action<System.String, System.Int32, System.String> LibreMetaverse.Voice.WebRTC.VoiceManager.OnParcelVoiceInfo libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_parcel_voice_info pub fn subscribe_on_parcel_voice_info(&self, handler: Option<Box<dyn Fn(String, i32, String) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionChangeDetected event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionChangeDetected libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_region_change_detected pub fn subscribe_on_region_change_detected(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionCompleted event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionCompleted libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_region_transition_completed pub fn subscribe_on_region_transition_completed(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionFailed event System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnRegionTransitionFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_region_transition_failed pub fn subscribe_on_region_transition_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionFailed event System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_reprovision_failed pub fn subscribe_on_reprovision_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionSucceeded event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.OnReprovisionSucceeded libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_reprovision_succeeded pub fn subscribe_on_reprovision_succeeded(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.OnVoicePermissionChanged event System.Action<System.Boolean> LibreMetaverse.Voice.WebRTC.VoiceManager.OnVoicePermissionChanged libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::on_voice_permission_changed pub fn subscribe_on_voice_permission_changed(&self, handler: Option<Box<dyn Fn(bool) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerAudioUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerAudioUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_audio_updated pub fn subscribe_peer_audio_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionPeerAudioState) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionClosed event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionClosed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_connection_closed pub fn subscribe_peer_connection_closed(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionReady event System.Action LibreMetaverse.Voice.WebRTC.VoiceManager.PeerConnectionReady libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_connection_ready pub fn subscribe_peer_connection_ready(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerJoined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerJoined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_joined pub fn subscribe_peer_joined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerLeft event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerLeft libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_left pub fn subscribe_peer_left(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerListUpdated event System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerListUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_list_updated pub fn subscribe_peer_list_updated(&self, handler: Option<Box<dyn Fn(Vec<libremetaverse_types::UUID>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_position_updated pub fn subscribe_peer_position_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_structured_data::OSDMap) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdatedTyped event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition> LibreMetaverse.Voice.WebRTC.VoiceManager.PeerPositionUpdatedTyped libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceManager::peer_position_updated_typed pub fn subscribe_peer_position_updated_typed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionAvatarPosition) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnDataChannelReady event System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnDataChannelReady libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_data_channel_ready pub fn subscribe_on_data_channel_ready(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnGainMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Int32>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnGainMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_gain_map_received pub fn subscribe_on_gain_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, i32>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnMuteMapReceived event System.Action<System.Collections.Generic.Dictionary<LibreMetaverse.UUID, System.Boolean>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnMuteMapReceived libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_mute_map_received pub fn subscribe_on_mute_map_received(&self, handler: Option<Box<dyn Fn(std::collections::HashMap<libremetaverse_types::UUID, bool>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerAudioUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.PeerAudioState> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerAudioUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_audio_updated pub fn subscribe_on_peer_audio_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionPeerAudioState) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionClosed event System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionClosed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_connection_closed pub fn subscribe_on_peer_connection_closed(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionReady event System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerConnectionReady libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_connection_ready pub fn subscribe_on_peer_connection_ready(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerJoined event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerJoined libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_joined pub fn subscribe_on_peer_joined(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerLeft event System.Action<LibreMetaverse.UUID> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerLeft libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_left pub fn subscribe_on_peer_left(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerListUpdated event System.Action<System.Collections.Generic.List<LibreMetaverse.UUID>> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerListUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_list_updated pub fn subscribe_on_peer_list_updated(&self, handler: Option<Box<dyn Fn(Vec<libremetaverse_types::UUID>) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdated event System.Action<LibreMetaverse.UUID, LibreMetaverse.StructuredData.OSDMap> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdated libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_position_updated pub fn subscribe_on_peer_position_updated(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_structured_data::OSDMap) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdatedTyped event System.Action<LibreMetaverse.UUID, LibreMetaverse.Voice.WebRTC.VoiceSession.AvatarPosition> LibreMetaverse.Voice.WebRTC.VoiceSession.OnPeerPositionUpdatedTyped libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_peer_position_updated_typed pub fn subscribe_on_peer_position_updated_typed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::UUID, libremetaverse_voice_webrtc::VoiceSessionAvatarPosition) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionFailed event System.Action<System.Exception> LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionFailed libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_reprovision_failed pub fn subscribe_on_reprovision_failed(&self, handler: Option<Box<dyn Fn(libremetaverse_types::compat::ExternalError) + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
E:LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionSucceeded event System.Action LibreMetaverse.Voice.WebRTC.VoiceSession.OnReprovisionSucceeded libremetaverse-voice-webrtc libremetaverse_voice_webrtc::VoiceSession::on_reprovision_succeeded pub fn subscribe_on_reprovision_succeeded(&self, handler: Option<Box<dyn Fn() + Send + Sync>>) -> libremetaverse_types::compat::Subscription shared_self,stored_callback sync infallible_placeholder direct_snake_case subscription_guard mapped
F:LibreMetaverse.AISResponseMeta.Empty field LibreMetaverse.AISResponseMeta LibreMetaverse.AISResponseMeta.Empty libremetaverse libremetaverse::AISResponseMeta::empty pub fn empty() -> libremetaverse::AISResponseMeta none sync infallible_placeholder direct_snake_case static_field_accessor mapped
F:LibreMetaverse.AccessDeniedReason.BannedFromParcel enum_value LibreMetaverse.AccessDeniedReason LibreMetaverse.AccessDeniedReason.BannedFromParcel libremetaverse libremetaverse::AccessDeniedReason::BannedFromParcel BannedFromParcel: libremetaverse::AccessDeniedReason owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.AccessDeniedReason.NoAccess enum_value LibreMetaverse.AccessDeniedReason LibreMetaverse.AccessDeniedReason.NoAccess libremetaverse libremetaverse::AccessDeniedReason::NoAccess NoAccess: libremetaverse::AccessDeniedReason owned_value sync none direct_snake_case direct mapped
@@ -2934,8 +2934,8 @@ F:LibreMetaverse.LslTools.Dfa.m_actions field LibreMetaverse.LslTools.Dfa.Action
F:LibreMetaverse.LslTools.Dfa.m_map field System.Collections.Hashtable LibreMetaverse.LslTools.Dfa.m_map libremetaverse-lsl-tools libremetaverse_lsl_tools::Dfa::m_map pub m_map: libremetaverse_types::compat::Hashtable owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.Dfa.m_reswds field System.Int32 LibreMetaverse.LslTools.Dfa.m_reswds libremetaverse-lsl-tools libremetaverse_lsl_tools::Dfa::m_reswds pub m_reswds: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.Dfa.m_tokClass field System.String LibreMetaverse.LslTools.Dfa.m_tokClass libremetaverse-lsl-tools libremetaverse_lsl_tools::Dfa::m_tok_class pub m_tok_class: String owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.Error.state field System.Int32 LibreMetaverse.LslTools.Error.state libremetaverse-lsl-tools libremetaverse_lsl_tools::Error::state pub state: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.Error.sym field LibreMetaverse.LslTools.SYMBOL LibreMetaverse.LslTools.Error.sym libremetaverse-lsl-tools libremetaverse_lsl_tools::Error::sym pub sym: libremetaverse_lsl_tools::SYMBOL owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.Error.state field System.Int32 LibreMetaverse.LslTools.Error.state libremetaverse-lsl-tools libremetaverse_lsl_tools::LslError::state pub state: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.Error.sym field LibreMetaverse.LslTools.SYMBOL LibreMetaverse.LslTools.Error.sym libremetaverse-lsl-tools libremetaverse_lsl_tools::LslError::sym pub sym: libremetaverse_lsl_tools::SYMBOL owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.ErrorHandler.counter field System.Int32 LibreMetaverse.LslTools.ErrorHandler.counter libremetaverse-lsl-tools libremetaverse_lsl_tools::ErrorHandler::counter pub counter: i32 owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.ErrorHandler.throwExceptions field System.Boolean LibreMetaverse.LslTools.ErrorHandler.throwExceptions libremetaverse-lsl-tools libremetaverse_lsl_tools::ErrorHandler::throw_exceptions pub throw_exceptions: bool owned_value sync none direct_snake_case direct mapped
F:LibreMetaverse.LslTools.GenBase.LastSymbol field System.Int32 LibreMetaverse.LslTools.GenBase.LastSymbol libremetaverse-lsl-tools libremetaverse_lsl_tools::GenBase::last_symbol pub last_symbol: i32 owned_value sync none direct_snake_case direct mapped
@@ -12164,9 +12164,9 @@ M:LibreMetaverse.LslTools.Dfa.SetTokens(LibreMetaverse.LslTools.YyLexer,System.C
M:LibreMetaverse.LslTools.EOF.#ctor(LibreMetaverse.LslTools.Lexer) constructor LibreMetaverse.LslTools.EOF(LibreMetaverse.LslTools.Lexer yyl) libremetaverse-lsl-tools libremetaverse_lsl_tools::EOF::new_with_lexer pub fn new_with_lexer(yyl: libremetaverse_lsl_tools::Lexer) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.LslTools.EOF.#ctor(LibreMetaverse.LslTools.SymbolsGen) constructor LibreMetaverse.LslTools.EOF(LibreMetaverse.LslTools.SymbolsGen yyp) libremetaverse-lsl-tools libremetaverse_lsl_tools::EOF::new_with_symbols_gen pub fn new_with_symbols_gen(yyp: libremetaverse_lsl_tools::SymbolsGen) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.LslTools.EOF.Serialise(System.Object,LibreMetaverse.LslTools.Serialiser) method System.Object LibreMetaverse.LslTools.EOF.Serialise(System.Object o, LibreMetaverse.LslTools.Serialiser s) libremetaverse-lsl-tools libremetaverse_lsl_tools::EOF::serialise pub fn serialise(o: libremetaverse_types::compat::Object, s: libremetaverse_lsl_tools::Serialiser) -> Result<libremetaverse_types::compat::Object, crate::Error> owned,owned sync Result<_, crate::Error> direct_snake_case method mapped
M:LibreMetaverse.LslTools.Error.#ctor(LibreMetaverse.LslTools.Parser) constructor LibreMetaverse.LslTools.Error(LibreMetaverse.LslTools.Parser yyp) libremetaverse-lsl-tools libremetaverse_lsl_tools::Error::new_with_parser pub fn new_with_parser(yyp: libremetaverse_lsl_tools::Parser) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.LslTools.Error.#ctor(LibreMetaverse.LslTools.Parser,LibreMetaverse.LslTools.ParseStackEntry) constructor LibreMetaverse.LslTools.Error(LibreMetaverse.LslTools.Parser yyp, LibreMetaverse.LslTools.ParseStackEntry s) libremetaverse-lsl-tools libremetaverse_lsl_tools::Error::new_with_parser_parse_stack_entry pub fn new_with_parser_parse_stack_entry(yyp: libremetaverse_lsl_tools::Parser, s: libremetaverse_lsl_tools::ParseStackEntry) -> Result<Self, crate::Error> owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.LslTools.Error.ToString method System.String LibreMetaverse.LslTools.Error.ToString() libremetaverse-lsl-tools libremetaverse_lsl_tools::Error::to_string pub fn to_string(&self) -> String shared_self sync infallible_placeholder direct_snake_case method mapped
M:LibreMetaverse.LslTools.Error.#ctor(LibreMetaverse.LslTools.Parser) constructor LibreMetaverse.LslTools.Error(LibreMetaverse.LslTools.Parser yyp) libremetaverse-lsl-tools libremetaverse_lsl_tools::LslError::new_with_parser pub fn new_with_parser(yyp: libremetaverse_lsl_tools::Parser) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.LslTools.Error.#ctor(LibreMetaverse.LslTools.Parser,LibreMetaverse.LslTools.ParseStackEntry) constructor LibreMetaverse.LslTools.Error(LibreMetaverse.LslTools.Parser yyp, LibreMetaverse.LslTools.ParseStackEntry s) libremetaverse-lsl-tools libremetaverse_lsl_tools::LslError::new_with_parser_parse_stack_entry pub fn new_with_parser_parse_stack_entry(yyp: libremetaverse_lsl_tools::Parser, s: libremetaverse_lsl_tools::ParseStackEntry) -> Result<Self, crate::Error> owned,owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.LslTools.Error.ToString method System.String LibreMetaverse.LslTools.Error.ToString() libremetaverse-lsl-tools libremetaverse_lsl_tools::LslError::to_string pub fn to_string(&self) -> String shared_self sync infallible_placeholder direct_snake_case method mapped
M:LibreMetaverse.LslTools.ErrorHandler.#ctor constructor LibreMetaverse.LslTools.ErrorHandler() libremetaverse-lsl-tools libremetaverse_lsl_tools::ErrorHandler::new_with_constructor pub fn new_with_constructor() -> Result<Self, crate::Error> none sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.LslTools.ErrorHandler.#ctor(System.Boolean) constructor LibreMetaverse.LslTools.ErrorHandler(System.Boolean ee) libremetaverse-lsl-tools libremetaverse_lsl_tools::ErrorHandler::new_with_boolean pub fn new_with_boolean(ee: bool) -> Result<Self, crate::Error> owned sync Result<_, crate::Error> descriptive_overload_name method mapped
M:LibreMetaverse.LslTools.ErrorHandler.Error(LibreMetaverse.LslTools.CSToolsException) method System.Void LibreMetaverse.LslTools.ErrorHandler.Error(LibreMetaverse.LslTools.CSToolsException e) libremetaverse-lsl-tools libremetaverse_lsl_tools::ErrorHandler::error pub fn error(&self, e: libremetaverse_lsl_tools::CSToolsException) -> Result<(), crate::Error> shared_self,owned sync Result<_, crate::Error> direct_snake_case method mapped
@@ -28263,7 +28263,7 @@ P:LibreMetaverse.LslTools.Cons.yyname property System.String LibreMetaverse.LslT
P:LibreMetaverse.LslTools.Cons.yynum property System.Int32 LibreMetaverse.LslTools.Cons.yynum libremetaverse-lsl-tools libremetaverse_lsl_tools::Cons::yynum pub fn yynum(&self) -> i32 shared_self sync infallible_placeholder direct_snake_case accessor_methods mapped
P:LibreMetaverse.LslTools.EOF.yyname property System.String LibreMetaverse.LslTools.EOF.yyname libremetaverse-lsl-tools libremetaverse_lsl_tools::EOF::yyname pub fn yyname(&self) -> String shared_self sync infallible_placeholder direct_snake_case accessor_methods mapped
P:LibreMetaverse.LslTools.EOF.yynum property System.Int32 LibreMetaverse.LslTools.EOF.yynum libremetaverse-lsl-tools libremetaverse_lsl_tools::EOF::yynum pub fn yynum(&self) -> i32 shared_self sync infallible_placeholder direct_snake_case accessor_methods mapped
P:LibreMetaverse.LslTools.Error.yyname property System.String LibreMetaverse.LslTools.Error.yyname libremetaverse-lsl-tools libremetaverse_lsl_tools::Error::yyname pub fn yyname(&self) -> String shared_self sync infallible_placeholder direct_snake_case accessor_methods mapped
P:LibreMetaverse.LslTools.Error.yyname property System.String LibreMetaverse.LslTools.Error.yyname libremetaverse-lsl-tools libremetaverse_lsl_tools::LslError::yyname pub fn yyname(&self) -> String shared_self sync infallible_placeholder direct_snake_case accessor_methods mapped
P:LibreMetaverse.LslTools.GStuff.yyname property System.String LibreMetaverse.LslTools.GStuff.yyname libremetaverse-lsl-tools libremetaverse_lsl_tools::GStuff::yyname pub fn yyname(&self) -> String shared_self sync infallible_placeholder direct_snake_case accessor_methods mapped
P:LibreMetaverse.LslTools.GStuff.yynum property System.Int32 LibreMetaverse.LslTools.GStuff.yynum libremetaverse-lsl-tools libremetaverse_lsl_tools::GStuff::yynum pub fn yynum(&self) -> i32 shared_self sync infallible_placeholder direct_snake_case accessor_methods mapped
P:LibreMetaverse.LslTools.ID.yyname property System.String LibreMetaverse.LslTools.ID.yyname libremetaverse-lsl-tools libremetaverse_lsl_tools::ID::yyname pub fn yyname(&self) -> String shared_self sync infallible_placeholder direct_snake_case accessor_methods mapped
Can't render this file because it is too large.

View File

@@ -975,7 +975,7 @@ T:LibreMetaverse.LslTools.CsReader LibreMetaverse.LslTools.CsReader LibreMetaver
T:LibreMetaverse.LslTools.Dfa LibreMetaverse.LslTools.Dfa LibreMetaverse.LslTools class libremetaverse-lsl-tools libremetaverse_lsl_tools::Dfa native_metacrate_type none traits_and_composition: LibreMetaverse.LslTools.LNode not_applicable mapped none
T:LibreMetaverse.LslTools.Dfa.Action LibreMetaverse.LslTools.Dfa.Action LibreMetaverse.LslTools class libremetaverse-lsl-tools libremetaverse_lsl_tools::DfaAction native_metacrate_type none traits_and_composition: System.Object not_applicable mapped nested types are flattened
T:LibreMetaverse.LslTools.EOF LibreMetaverse.LslTools.EOF LibreMetaverse.LslTools class libremetaverse-lsl-tools libremetaverse_lsl_tools::EOF native_metacrate_type none traits_and_composition: LibreMetaverse.LslTools.CSymbol not_applicable mapped none
T:LibreMetaverse.LslTools.Error LibreMetaverse.LslTools.Error LibreMetaverse.LslTools class libremetaverse-lsl-tools libremetaverse_lsl_tools::Error native_metacrate_type none traits_and_composition: LibreMetaverse.LslTools.SYMBOL not_applicable mapped none
T:LibreMetaverse.LslTools.Error LibreMetaverse.LslTools.Error LibreMetaverse.LslTools class libremetaverse-lsl-tools libremetaverse_lsl_tools::LslError native_metacrate_type none traits_and_composition: LibreMetaverse.LslTools.SYMBOL not_applicable mapped none
T:LibreMetaverse.LslTools.ErrorHandler LibreMetaverse.LslTools.ErrorHandler LibreMetaverse.LslTools class libremetaverse-lsl-tools libremetaverse_lsl_tools::ErrorHandler native_metacrate_type none traits_and_composition: System.Object not_applicable mapped none
T:LibreMetaverse.LslTools.Func LibreMetaverse.LslTools.Func LibreMetaverse.LslTools delegate libremetaverse-lsl-tools libremetaverse_lsl_tools::Func native_metacrate_type none traits_and_composition: System.MulticastDelegate, System.ICloneable, System.Runtime.Serialization.ISerializable not_applicable mapped none
T:LibreMetaverse.LslTools.GStuff LibreMetaverse.LslTools.GStuff LibreMetaverse.LslTools class libremetaverse-lsl-tools libremetaverse_lsl_tools::GStuff native_metacrate_type none traits_and_composition: LibreMetaverse.LslTools.TOKEN not_applicable mapped none
Can't render this file because it is too large.

View File

@@ -1028,13 +1028,13 @@ impl EOF {
}
/// C# type: `T:LibreMetaverse.LslTools.Error`.
pub struct Error {
pub struct LslError {
/// C# member: `F:LibreMetaverse.LslTools.Error.state`.
pub state: i32,
/// C# member: `F:LibreMetaverse.LslTools.Error.sym`.
pub sym: libremetaverse_lsl_tools::SYMBOL,
}
impl Error {
impl LslError {
/// C# member: `M:LibreMetaverse.LslTools.Error.#ctor(LibreMetaverse.LslTools.Parser)`.
pub fn new_with_parser(yyp: libremetaverse_lsl_tools::Parser) -> Result<Self, crate::Error> {
libremetaverse_types::not_implemented(

View File

@@ -17437,7 +17437,6 @@ pub struct Logger;
impl Logger {
/// C# member: `E:LibreMetaverse.Logger.OnLogMessage`.
pub fn subscribe_on_log_message(
&self,
handler: Option<libremetaverse::LoggerLogCallback>,
) -> libremetaverse_types::compat::Subscription {
libremetaverse_types::unimplemented_api!("E:LibreMetaverse.Logger.OnLogMessage")

126
tests/api-compile/Cargo.lock generated Normal file
View File

@@ -0,0 +1,126 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 4
[[package]]
name = "libremetaverse"
version = "0.0.1"
dependencies = [
"libremetaverse-imaging",
"libremetaverse-structured-data",
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-imaging"
version = "0.0.1"
dependencies = [
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-imaging-skia"
version = "0.0.1"
dependencies = [
"libremetaverse-imaging",
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-lsl-tools"
version = "0.0.1"
dependencies = [
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-prim-mesher"
version = "0.0.1"
dependencies = [
"libremetaverse-imaging",
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-rendering-mesh-foundry"
version = "0.0.1"
dependencies = [
"libremetaverse",
"libremetaverse-imaging",
"libremetaverse-prim-mesher",
"libremetaverse-structured-data",
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-rendering-simple"
version = "0.0.1"
dependencies = [
"libremetaverse",
"libremetaverse-imaging",
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-rlv"
version = "0.0.1"
dependencies = [
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-structured-data"
version = "0.0.1"
dependencies = [
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-types"
version = "0.0.1"
[[package]]
name = "libremetaverse-utilities"
version = "0.0.1"
dependencies = [
"libremetaverse",
"libremetaverse-structured-data",
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-voice-vivox"
version = "0.0.1"
dependencies = [
"libremetaverse",
"libremetaverse-structured-data",
"libremetaverse-types",
]
[[package]]
name = "libremetaverse-voice-webrtc"
version = "0.0.1"
dependencies = [
"libremetaverse",
"libremetaverse-structured-data",
"libremetaverse-types",
]
[[package]]
name = "metacrate-api-compile"
version = "0.0.0"
dependencies = [
"libremetaverse",
"libremetaverse-imaging",
"libremetaverse-imaging-skia",
"libremetaverse-lsl-tools",
"libremetaverse-prim-mesher",
"libremetaverse-rendering-mesh-foundry",
"libremetaverse-rendering-simple",
"libremetaverse-rlv",
"libremetaverse-structured-data",
"libremetaverse-types",
"libremetaverse-utilities",
"libremetaverse-voice-vivox",
"libremetaverse-voice-webrtc",
]

View File

@@ -0,0 +1,24 @@
[package]
name = "metacrate-api-compile"
version = "0.0.0"
edition = "2024"
rust-version = "1.85"
license = "BSD-3-Clause"
publish = false
[dependencies]
libremetaverse = { path = "../../crates/libremetaverse" }
libremetaverse-imaging = { path = "../../crates/libremetaverse-imaging" }
libremetaverse-imaging-skia = { path = "../../crates/libremetaverse-imaging-skia" }
libremetaverse-lsl-tools = { path = "../../crates/libremetaverse-lsl-tools" }
libremetaverse-prim-mesher = { path = "../../crates/libremetaverse-prim-mesher" }
libremetaverse-rendering-mesh-foundry = { path = "../../crates/libremetaverse-rendering-mesh-foundry" }
libremetaverse-rendering-simple = { path = "../../crates/libremetaverse-rendering-simple" }
libremetaverse-rlv = { path = "../../crates/libremetaverse-rlv" }
libremetaverse-structured-data = { path = "../../crates/libremetaverse-structured-data" }
libremetaverse-types = { path = "../../crates/libremetaverse-types" }
libremetaverse-utilities = { path = "../../crates/libremetaverse-utilities" }
libremetaverse-voice-vivox = { path = "../../crates/libremetaverse-voice-vivox" }
libremetaverse-voice-webrtc = { path = "../../crates/libremetaverse-voice-webrtc" }
[workspace]

182906
tests/api-compile/src/lib.rs Normal file

File diff suppressed because it is too large Load Diff

165
tools/check_api_coverage.py Normal file
View File

@@ -0,0 +1,165 @@
#!/usr/bin/env python3
"""Audit catalog, mapping, exported shims, and the downstream compile fixture."""
from __future__ import annotations
import argparse
import csv
import json
import re
from collections import Counter
from pathlib import Path
import generate_api_shims as shims
import generate_rust_mapping as mapping
ROOT = Path(__file__).resolve().parents[1]
REPORT = ROOT / "api/API-COVERAGE.md"
FIXTURE = ROOT / "tests/api-compile/src/lib.rs"
FORBIDDEN = {
"ShimValue": r"\bShimValue\b",
"dynamic argument bag": r"\b(?:DynamicArgumentBag|ArgumentBag)\b",
"invented variadic": r"\b(?:Variadic|VarArgs)\b|\.\.\.",
"erased Any argument vector": r"Vec\s*<\s*Box\s*<\s*dyn\s+(?:std::any::)?Any",
}
def require_exact(label: str, expected: set[str], actual: Counter[str]) -> None:
actual_ids = set(actual)
missing = expected - actual_ids
stale = actual_ids - expected
duplicates = sorted(item for item, count in actual.items() if count != 1)
if missing or stale or duplicates:
raise ValueError(
f"{label}: missing={len(missing)}, stale={len(stale)}, duplicates={len(duplicates)}"
)
def matches(paths: list[Path], pattern: str) -> Counter[str]:
found: Counter[str] = Counter()
regex = re.compile(pattern, re.MULTILINE)
for path in paths:
found.update(regex.findall(path.read_text()))
return found
def audit() -> str:
catalog = json.loads(mapping.CATALOG.read_text())
assemblies = {assembly["identity"]["name"]: assembly for assembly in catalog["assemblies"]}
catalog_types = {
item["doc_id"]
for assembly in catalog["assemblies"]
for item in assembly["types"]
}
catalog_members = {
member["doc_id"]
for assembly in catalog["assemblies"]
for item in assembly["types"]
for member in item["members"]
}
external_types = {item["doc_id"] for item in catalog["external_types"]}
support_types = {f"T:{name}" for name in mapping.SUPPORT_TYPES}
type_rows = list(csv.DictReader(mapping.TYPE_LEDGER.open(), delimiter="\t"))
member_rows = list(csv.DictReader(mapping.MEMBER_LEDGER.open(), delimiter="\t"))
require_exact(
"type mapping",
catalog_types | external_types | support_types,
Counter(row["csharp_type_id"] for row in type_rows),
)
require_exact(
"member mapping",
catalog_members,
Counter(row["csharp_id"] for row in member_rows),
)
duplicate_destinations = [
item
for item, count in Counter(row["rust_item_path"] for row in member_rows).items()
if count != 1
]
if duplicate_destinations:
raise ValueError(f"duplicate Rust member destinations: {len(duplicate_destinations)}")
generated = [shims.MAIN_TARGET, *shims.TARGETS.values()]
require_exact(
"exported types",
catalog_types,
matches(generated, r"^\s*/// C# type: `(T:.+)`\.$"),
)
require_exact(
"exported members",
catalog_members,
matches(generated, r"^\s*/// C# member: `(.+)`\.$"),
)
require_exact(
"fixture types",
catalog_types,
matches([FIXTURE], r"^\s*// C# type: `(T:.+)`\.$"),
)
require_exact(
"fixture members",
catalog_members,
matches([FIXTURE], r"^\s*// C# member: `(.+)`\.$"),
)
fixture_text = FIXTURE.read_text()
if len(re.findall(r"^fn type_", fixture_text, re.MULTILINE)) != len(catalog_types):
raise ValueError("fixture type probe count does not match the catalog")
if len(re.findall(r"^fn member_", fixture_text, re.MULTILINE)) != len(catalog_members):
raise ValueError("fixture member probe count does not match the catalog")
scan_text = "\n".join(
path.read_text() for path in [*generated, FIXTURE, mapping.MEMBER_LEDGER]
)
forbidden_hits = [name for name, pattern in FORBIDDEN.items() if re.search(pattern, scan_text)]
if forbidden_hits:
raise ValueError("forbidden erased shim patterns: " + ", ".join(forbidden_hits))
mapping.validate_generated_shims()
lines = [
"# Complete API gate coverage",
"",
"Generated by `python3 tools/check_api_coverage.py --write`; do not edit by hand.",
"",
"| Assembly | Catalog types | Mapped/exported/fixture types | Catalog members | Mapped/exported/fixture members |",
"|---|---:|---:|---:|---:|",
]
for name, assembly in assemblies.items():
type_count = len(assembly["types"])
member_count = sum(len(item["members"]) for item in assembly["types"])
lines.append(
f"| `{name}` | {type_count:,} | {type_count:,} | {member_count:,} | {member_count:,} |"
)
lines += [
f"| **Total** | **{len(catalog_types):,}** | **{len(catalog_types):,}** | **{len(catalog_members):,}** | **{len(catalog_members):,}** |",
"",
"## Exclusions and boundary records",
"",
"- Public catalog type exclusions: **0**.",
"- Public catalog member exclusions: **0**.",
f"- External signature types: **{len(external_types):,}** mapped to core/std, adopted cross-platform crates, or project-owned boundary types; their external member APIs are intentionally not copied.",
f"- Referenced non-public support traits: **{len(support_types):,}** mapped because public inheritance signatures require them.",
f"- Intentional delegate APM differences: **{sum(row['status'] == 'intentional_difference' for row in member_rows):,}**; every replacement is exported and compiled by the fixture.",
"- Forbidden erased shim patterns: **0** (`ShimValue`, dynamic argument bags, invented variadics, or `Vec<Box<dyn Any>>` argument bags).",
"",
"The fixture is a standalone Rust workspace with path dependencies only. Building it requires neither .NET nor compiled LibreMetaverse assemblies.",
"",
]
return "\n".join(lines)
def main() -> None:
parser = argparse.ArgumentParser()
parser.add_argument("--write", action="store_true")
args = parser.parse_args()
report = audit()
if args.write:
REPORT.write_text(report)
print(f"generated {REPORT.relative_to(ROOT)}")
elif not REPORT.exists() or REPORT.read_text() != report:
raise SystemExit(f"stale coverage report: {REPORT.relative_to(ROOT)}")
else:
print("API coverage matches the catalog, mappings, exports, and fixture")
if __name__ == "__main__":
main()

View File

@@ -17,6 +17,7 @@ ROOT = Path(__file__).resolve().parents[1]
CATALOG = ROOT / "api/public-api.json"
LEDGER = ROOT / "api/RUST-MAPPING.tsv"
COVERAGE = ROOT / "api/SHIM-COVERAGE.md"
COMPILE_FIXTURE = ROOT / "tests/api-compile/src/lib.rs"
TARGETS = {
"LibreMetaverse.Imaging.Abstractions": ROOT / "crates/libremetaverse-imaging/src/generated.rs",
@@ -327,6 +328,124 @@ def generic_suffix(names: list[str]) -> str:
return "<" + ", ".join(names) + ">" if names else ""
def generic_declarations(item: dict, mapper: mapping.Mapper, owner_names: list[str]) -> list[str]:
generics = set(owner_names) | set(generic_names(item))
declarations = []
for parameter in item.get("generic_parameters", []):
bounds = [mapper.constraint(constraint, generics) for constraint in parameter.get("constraints", [])]
if parameter.get("default_constructor"):
bounds.append("Default")
declarations.append(parameter["name"] + ((": " + " + ".join(bounds)) if bounds else ""))
return declarations
def function_name(signature: str) -> str:
match = re.search(r"\bfn ([A-Za-z_][A-Za-z0-9_]*)", signature)
if not match:
raise ValueError(f"invalid mapped function signature: {signature}")
return match.group(1)
def render_compile_fixture(
catalog: dict,
type_by_id: dict[str, dict[str, str]],
member_rows: dict[str, dict[str, str]],
mapper: mapping.Mapper,
) -> str:
lines = [
"// @generated by tools/generate_api_shims.py; do not edit by hand.",
"#![allow(clippy::all, clippy::pedantic, dead_code, unused_variables)]",
"#![allow(non_camel_case_types, non_snake_case)]",
"",
'fn argument<T>() -> T { panic!("compile-only API fixture") }',
"",
]
type_index = member_index = 0
for assembly in catalog["assemblies"]:
for item in assembly["types"]:
type_index += 1
type_row = type_by_id[item["doc_id"]]
owner_names = generic_names(item)
owner_path = type_row["rust_path"]
owner_type = owner_path + generic_suffix(owner_names)
owner_expression = owner_path + (("::<" + ", ".join(owner_names) + ">") if owner_names else "")
trait = item["kind"] == "interface"
type_parameters = [*owner_names]
if trait:
type_parameters.append(f"__Probe: {owner_type}")
type_argument = "&__Probe"
else:
type_argument = f"&{owner_type}"
declarations = generic_suffix(type_parameters)
lines += [
f"// C# type: `{item['doc_id']}`.",
f"fn type_{type_index:04}{declarations}(_: {type_argument}) {{}}",
"",
]
for member in item["members"]:
member_index += 1
row = member_rows[member["doc_id"]]
method_names = generic_names(member)
parameters = [*owner_names, *generic_declarations(member, mapper, owner_names)]
if trait:
parameters.append(f"__Probe: {owner_type}")
declaration = generic_suffix(parameters)
instance = not member.get("static") and member["kind"] not in {
"constructor",
"constant",
"enum_value",
}
value_parameter = (
f"value: &mut {'__Probe' if trait else owner_type}" if instance else ""
)
body = []
if member["kind"] == "field" and not member.get("static"):
field = re.fullmatch(r"pub ([^:]+): .+", row["rust_signature"])
if not field:
raise ValueError(f"invalid mapped field signature: {row['rust_signature']}")
body.append(f"let _ = &value.{field.group(1)};")
elif member["kind"] in {"constant", "enum_value"}:
pattern = r"pub const ([A-Za-z_][A-Za-z0-9_]*)" if member["kind"] == "constant" else r"([A-Za-z_][A-Za-z0-9_]*):"
name = re.match(pattern, row["rust_signature"])
if not name:
raise ValueError(f"invalid mapped value signature: {row['rust_signature']}")
body.append(f"let _ = {owner_expression}::{name.group(1)};")
else:
signatures = row["rust_signature"].split(" ; ")
property_argument_counts = []
if member["kind"] in {"property", "indexer"}:
accessors = {accessor["kind"] for accessor in member.get("accessors", [])}
if "get" in accessors:
property_argument_counts.append(len(member.get("parameters", [])))
if "set" in accessors:
property_argument_counts.append(len(member.get("parameters", [])) + 1)
for signature_index, signature in enumerate(signatures):
name = function_name(signature)
generic_call = (("::<" + ", ".join(method_names) + ">") if method_names else "")
if instance:
target = f"value.{name}{generic_call}"
elif trait:
target = f"<__Probe as {owner_type}>::{name}{generic_call}"
else:
target = f"{owner_expression}::{name}{generic_call}"
argument_count = len(member.get("parameters", []))
if member["kind"] == "event":
argument_count = 1
elif property_argument_counts:
argument_count = property_argument_counts[signature_index]
arguments = ", ".join("argument()" for _ in range(argument_count))
body.append(f"let _ = {target}({arguments});")
lines += [
f"// C# member: `{member['doc_id']}`.",
f"fn member_{member_index:05}{declaration}({value_parameter}) {{",
*[f" {line}" for line in body],
"}",
"",
]
return format_rust("\n".join(lines).rstrip() + "\n")
def flags_enum(item: dict) -> bool:
return any(attribute["type"] == "System.FlagsAttribute" for attribute in item.get("attributes", []))
@@ -603,6 +722,7 @@ def generate_sources(catalog: dict) -> tuple[dict[Path, str], dict[str, tuple[in
)
outputs[TARGETS.get(name, MAIN_TARGET)] = source
coverage[name] = (len(selected), sum(len(item["members"]) for item in selected), len(selected) == len(assembly["types"]))
outputs[COMPILE_FIXTURE] = render_compile_fixture(catalog, type_by_id, member_rows, mapper)
return outputs, coverage

View File

@@ -170,6 +170,9 @@ SUPPORT_TYPES = {
MEMBER_RETURN_OVERRIDES = {
"M:LibreMetaverse.Caps.Capabilities": "Vec<String>",
}
TYPE_NAME_OVERRIDES = {
"T:LibreMetaverse.LslTools.Error": "LslError",
}
BOXED_FIELD_IDS = {
"F:LibreMetaverse.Caps.Simulator",
"F:LibreMetaverse.Simulator.Caps",
@@ -296,7 +299,9 @@ def declared_type_path(assembly: str, item: dict) -> tuple[str, str, str]:
base, _, _ = type_parts(item["signature"])
tail = base[len(item["namespace"]) :].lstrip(".")
# Flatten nested type ownership into the type name; the containing type keeps paths unique.
type_name = "".join(pascal(part) for part in tail.split("."))
type_name = TYPE_NAME_OVERRIDES.get(
item["doc_id"], "".join(pascal(part) for part in tail.split("."))
)
module = "::".join(modules)
path = "::".join([crate.replace("-", "_"), *modules, type_name])
return crate, module, path
@@ -639,7 +644,9 @@ def member_signature(mapper: Mapper, owner: dict, item: dict, rust_name: str) ->
return " ; ".join(pieces), ",".join([*self_ownership, *own]) or "none", asyncness, error_model, "accessor_methods"
if kind == "event":
event_type = mapper.type(item["type"], item.get("nullability"), generics)
return f"pub fn subscribe_{rust_name}(&self, handler: {event_type}) -> libremetaverse_types::compat::Subscription", "stored_callback", asyncness, error_model, "subscription_guard"
arguments = f"handler: {event_type}" if item.get("static") else f"&self, handler: {event_type}"
ownership = "stored_callback" if item.get("static") else "shared_self,stored_callback"
return f"pub fn subscribe_{rust_name}({arguments}) -> libremetaverse_types::compat::Subscription", ownership, asyncness, error_model, "subscription_guard"
self_argument, self_ownership = method_receiver(owner, item)
arguments = ", ".join(filter(None, [self_argument, parameters]))
ownership = ",".join(([self_ownership] if self_ownership != "none" else []) + own) or "none"