Implement native login and session initialization (#56)
All checks were successful
Native code generation / deterministic (push) Successful in 11m53s
Imaging and meshing gate / native (push) Successful in 4m3s
JPEG 2000 feature / linux (push) Successful in 2m33s
Native Rust workspace compile / compile (push) Successful in 4m3s
Skia feature / linux (push) Successful in 31m24s
All checks were successful
Native code generation / deterministic (push) Successful in 11m53s
Imaging and meshing gate / native (push) Successful in 4m3s
JPEG 2000 feature / linux (push) Successful in 2m33s
Native Rust workspace compile / compile (push) Successful in 4m3s
Skia feature / linux (push) Successful in 31m24s
This commit is contained in:
@@ -38,6 +38,7 @@ TARGETS = {
|
||||
# implementations. The generated module keeps catalog markers and re-exports
|
||||
# the hand-written type so coverage remains deterministic.
|
||||
NATIVE_TYPES = {
|
||||
"T:LibreMetaverse.AccountLevelBenefits": "crate::login::AccountLevelBenefits",
|
||||
"T:LibreMetaverse.AgentDisplayName": "crate::message_decoder::AgentDisplayName",
|
||||
"T:LibreMetaverse.CapabilitiesReceivedEventArgs": "crate::caps::CapabilitiesReceivedEventArgs",
|
||||
"T:LibreMetaverse.Caps": "crate::caps::Caps",
|
||||
@@ -50,6 +51,13 @@ NATIVE_TYPES = {
|
||||
"T:LibreMetaverse.Http.EventQueueClient.EventCallback": "crate::event_queue::EventQueueClientEventCallback",
|
||||
"T:LibreMetaverse.HttpCapsClient": "crate::caps_http::HttpCapsClient",
|
||||
"T:LibreMetaverse.HttpCapsClient.ProgressReport": "crate::caps_http::HttpCapsClientProgressReport",
|
||||
"T:LibreMetaverse.LoginCredential": "crate::login::LoginCredential",
|
||||
"T:LibreMetaverse.LoginException": "crate::login::LoginException",
|
||||
"T:LibreMetaverse.LoginParams": "crate::login::LoginParams",
|
||||
"T:LibreMetaverse.LoginProgressEventArgs": "crate::login::LoginProgressEventArgs",
|
||||
"T:LibreMetaverse.LoginResponseData": "crate::login::LoginResponseData",
|
||||
"T:LibreMetaverse.LoginResponseData.ParseMessage": "crate::login::LoginResponseDataParseMessage",
|
||||
"T:LibreMetaverse.LoginResponseData.ParseResult": "crate::login::LoginResponseDataParseResult",
|
||||
"T:LibreMetaverse.MediaEntry": "crate::message_decoder::MediaEntry",
|
||||
"T:LibreMetaverse.Caps.EventQueueCallback": "crate::network_manager::CapsEventQueueCallback",
|
||||
"T:LibreMetaverse.CapsEventDictionary": "crate::network_manager::CapsEventDictionary",
|
||||
@@ -58,6 +66,7 @@ NATIVE_TYPES = {
|
||||
"T:LibreMetaverse.GenericStreamingMessageEventArgs": "crate::network_manager::GenericStreamingMessageEventArgs",
|
||||
"T:LibreMetaverse.NetworkManager.IncomingPacket": "crate::network_manager::NetworkManagerIncomingPacket",
|
||||
"T:LibreMetaverse.NetworkManager.OutgoingPacket": "crate::network_manager::NetworkManagerOutgoingPacket",
|
||||
"T:LibreMetaverse.NetworkManager.LoginResponseCallback": "crate::login::NetworkManagerLoginResponseCallback",
|
||||
"T:LibreMetaverse.PacketEventDictionary": "crate::network_manager::PacketEventDictionary",
|
||||
"T:LibreMetaverse.PacketReceivedEventArgs": "crate::network_manager::PacketReceivedEventArgs",
|
||||
"T:LibreMetaverse.PacketSentEventArgs": "crate::network_manager::PacketSentEventArgs",
|
||||
@@ -207,12 +216,18 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_http_caps_client()",
|
||||
"P:LibreMetaverse.GridClient.HttpCapsClient#set":
|
||||
"self.native_set_http_caps_client(value)",
|
||||
"P:LibreMetaverse.GridClient.Network":
|
||||
"self.native_network().unwrap_or_else(|_| panic!(\"failed to construct NetworkManager\"))",
|
||||
"P:LibreMetaverse.GridClient.Network#set":
|
||||
"self.native_set_network(value)",
|
||||
"E:LibreMetaverse.NetworkManager.Disconnected":
|
||||
"self.native_subscribe_disconnected(handler)",
|
||||
"E:LibreMetaverse.NetworkManager.EventQueueRunning":
|
||||
"self.native_subscribe_event_queue_running(handler)",
|
||||
"E:LibreMetaverse.NetworkManager.GenericStreamingMessage":
|
||||
"self.native_subscribe_generic_streaming_message(handler)",
|
||||
"E:LibreMetaverse.NetworkManager.LoginProgress":
|
||||
"self.native_subscribe_login_progress(handler)",
|
||||
"E:LibreMetaverse.NetworkManager.PacketSent":
|
||||
"self.native_subscribe_packet_sent(handler)",
|
||||
"E:LibreMetaverse.NetworkManager.SimChanged":
|
||||
@@ -225,6 +240,10 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_subscribe_sim_disconnected(handler)",
|
||||
"M:LibreMetaverse.NetworkManager.#ctor(LibreMetaverse.GridClient)":
|
||||
"crate::network_manager::NetworkManager::native_new(client)",
|
||||
"M:LibreMetaverse.NetworkManager.AbortLogin":
|
||||
"self.native_abort_login()",
|
||||
"M:LibreMetaverse.NetworkManager.BeginLogin(LibreMetaverse.LoginParams)":
|
||||
"self.native_begin_login(login_params)",
|
||||
"M:LibreMetaverse.NetworkManager.Connect(System.Net.IPAddress,System.UInt16,System.UInt64,System.Boolean,System.Uri)":
|
||||
"self.native_connect(std::net::SocketAddr::new(ip, port), handle, set_default, seedcaps, crate::network_manager::Simulator::DEFAULT_REGION_SIZE_X, crate::network_manager::Simulator::DEFAULT_REGION_SIZE_Y)",
|
||||
"M:LibreMetaverse.NetworkManager.Connect(System.Net.IPAddress,System.UInt16,System.UInt64,System.Boolean,System.Uri,System.UInt32,System.UInt32)":
|
||||
@@ -261,6 +280,74 @@ NATIVE_MEMBER_BODIES = {
|
||||
"crate::message_decoder::to_ip(osd)",
|
||||
"M:LibreMetaverse.NetworkManager.FindSimulator(System.UInt64)":
|
||||
"Ok(self.native_find_handle(handle))",
|
||||
"M:LibreMetaverse.NetworkManager.DefaultLoginParams(System.String,System.String,System.String,System.String,System.String)":
|
||||
"self.native_default_login_params(first_name, last_name, password, channel, version)",
|
||||
"M:LibreMetaverse.NetworkManager.GetHashedMAC":
|
||||
"crate::login::hashed_mac()",
|
||||
"M:LibreMetaverse.NetworkManager.GetMAC":
|
||||
"Ok(crate::login::mac_address())",
|
||||
"M:LibreMetaverse.NetworkManager.GetPlatform":
|
||||
"Ok(crate::login::platform())",
|
||||
"M:LibreMetaverse.NetworkManager.GetPlatformVersion":
|
||||
"Ok(crate::login::platform_version())",
|
||||
"M:LibreMetaverse.NetworkManager.RefreshMac":
|
||||
"Ok(crate::login::refresh_mac())",
|
||||
"M:LibreMetaverse.NetworkManager.Login(LibreMetaverse.LoginResponseData)":
|
||||
"self.native_login_response(response)",
|
||||
"M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.String,System.Threading.CancellationToken)":
|
||||
"self.native_login_credential(credential, channel, Some(start), version, cancellation_token).await",
|
||||
"M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.Threading.CancellationToken)":
|
||||
"self.native_login_credential(credential, channel, None, version, cancellation_token).await",
|
||||
"M:LibreMetaverse.NetworkManager.LoginAsync(LibreMetaverse.LoginParams,System.Threading.CancellationToken)":
|
||||
"self.native_login(login_params, cancellation_token).await",
|
||||
"M:LibreMetaverse.NetworkManager.LoginAsync(System.String,System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)":
|
||||
"self.native_login_strings(first_name, last_name, password, channel, start, version, cancellation_token).await",
|
||||
"M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.String,System.Threading.CancellationToken)":
|
||||
"self.native_login_credential_response(credential, channel, Some(start), version, cancellation_token).await",
|
||||
"M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginCredential,System.String,System.String,System.Threading.CancellationToken)":
|
||||
"self.native_login_credential_response(credential, channel, None, version, cancellation_token).await",
|
||||
"M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(LibreMetaverse.LoginParams,System.Threading.CancellationToken)":
|
||||
"self.native_login_response_async(login_params, cancellation_token).await",
|
||||
"M:LibreMetaverse.NetworkManager.LoginWithResponseAsync(System.String,System.String,System.String,System.String,System.String,System.String,System.Threading.CancellationToken)":
|
||||
"self.native_login_strings_response(first_name, last_name, password, channel, start, version, cancellation_token).await",
|
||||
"M:LibreMetaverse.NetworkManager.RegisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback)":
|
||||
"self.native_register_login_response_callback(callback, None)",
|
||||
"M:LibreMetaverse.NetworkManager.RegisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback,System.String[])":
|
||||
"self.native_register_login_response_callback(callback, options)",
|
||||
"M:LibreMetaverse.NetworkManager.StartLocation(System.String,System.Int32,System.Int32,System.Int32)":
|
||||
"Ok(crate::login::start_location(&sim, x, y, z))",
|
||||
"M:LibreMetaverse.NetworkManager.UnregisterLoginResponseCallback(LibreMetaverse.NetworkManager.LoginResponseCallback)":
|
||||
"self.native_unregister_login_response_callback(&callback)",
|
||||
"M:LibreMetaverse.InventoryFolder.#ctor(LibreMetaverse.UUID)":
|
||||
"Ok(Self { base: crate::InventoryBase { native_uuid: uuid, native_owner_id: libremetaverse_types::UUID::zero(), native_parent_uuid: libremetaverse_types::UUID::zero(), native_name: String::new() }, native_descendent_count: 0, native_preferred_type: libremetaverse_types::FolderType::None, native_version: Self::VERSION_UNKNOWN })",
|
||||
"P:LibreMetaverse.InventoryBase.Name":
|
||||
"self.native_name.clone()",
|
||||
"P:LibreMetaverse.InventoryBase.Name#set":
|
||||
"self.native_name = value",
|
||||
"P:LibreMetaverse.InventoryBase.OwnerID":
|
||||
"self.native_owner_id",
|
||||
"P:LibreMetaverse.InventoryBase.OwnerID#set":
|
||||
"self.native_owner_id = value",
|
||||
"P:LibreMetaverse.InventoryBase.ParentUUID":
|
||||
"self.native_parent_uuid",
|
||||
"P:LibreMetaverse.InventoryBase.ParentUUID#set":
|
||||
"self.native_parent_uuid = value",
|
||||
"P:LibreMetaverse.InventoryBase.UUID":
|
||||
"self.native_uuid",
|
||||
"P:LibreMetaverse.InventoryBase.UUID#set":
|
||||
"self.native_uuid = value",
|
||||
"P:LibreMetaverse.InventoryFolder.DescendentCount":
|
||||
"self.native_descendent_count",
|
||||
"P:LibreMetaverse.InventoryFolder.DescendentCount#set":
|
||||
"self.native_descendent_count = value",
|
||||
"P:LibreMetaverse.InventoryFolder.PreferredType":
|
||||
"self.native_preferred_type",
|
||||
"P:LibreMetaverse.InventoryFolder.PreferredType#set":
|
||||
"self.native_preferred_type = value",
|
||||
"P:LibreMetaverse.InventoryFolder.Version":
|
||||
"self.native_version",
|
||||
"P:LibreMetaverse.InventoryFolder.Version#set":
|
||||
"self.native_version = value",
|
||||
"M:LibreMetaverse.NetworkManager.RegisterCallback(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs})":
|
||||
"self.native_register_callback(type_, callback, true)",
|
||||
"M:LibreMetaverse.NetworkManager.RegisterCallback(LibreMetaverse.Packets.PacketType,System.EventHandler{LibreMetaverse.PacketReceivedEventArgs},System.Boolean)":
|
||||
@@ -295,6 +382,28 @@ NATIVE_MEMBER_BODIES = {
|
||||
"self.native_set_current_sim(value)",
|
||||
"P:LibreMetaverse.NetworkManager.InboxCount":
|
||||
"self.native_inbox_count()",
|
||||
"P:LibreMetaverse.NetworkManager.AccountLevelBenefits":
|
||||
"self.native_account_level_benefits()",
|
||||
"P:LibreMetaverse.NetworkManager.AgentAppearanceServiceURL":
|
||||
"self.native_agent_appearance_service_url()",
|
||||
"P:LibreMetaverse.NetworkManager.LoginErrorKey":
|
||||
"self.native_login_error_key()",
|
||||
"P:LibreMetaverse.NetworkManager.LoginErrorKey#set":
|
||||
"self.native_set_login_error_key(value)",
|
||||
"P:LibreMetaverse.NetworkManager.LoginMessage":
|
||||
"self.native_login_message()",
|
||||
"P:LibreMetaverse.NetworkManager.LoginMessage#set":
|
||||
"self.native_set_login_message(value)",
|
||||
"P:LibreMetaverse.NetworkManager.LoginSeedCapability":
|
||||
"self.native_login_seed_capability()",
|
||||
"P:LibreMetaverse.NetworkManager.LoginSeedCapability#set":
|
||||
"self.native_set_login_seed_capability(value)",
|
||||
"P:LibreMetaverse.NetworkManager.LoginStatusCode":
|
||||
"self.native_login_status_code()",
|
||||
"P:LibreMetaverse.NetworkManager.LoginStatusCode#set":
|
||||
"self.native_set_login_status_code(value)",
|
||||
"P:LibreMetaverse.NetworkManager.MaxAgentGroups":
|
||||
"self.native_max_agent_groups()",
|
||||
"P:LibreMetaverse.NetworkManager.OutboxCount":
|
||||
"self.native_outbox_count()",
|
||||
"M:LibreMetaverse.Simulator.#ctor(LibreMetaverse.GridClient,System.Net.IPEndPoint,System.UInt64,System.UInt32,System.UInt32)":
|
||||
@@ -516,6 +625,8 @@ CLIENT_CORE_NATIVE_OWNERS = (
|
||||
)
|
||||
|
||||
NETWORK_NATIVE_OWNERS = (
|
||||
"InventoryBase",
|
||||
"InventoryFolder",
|
||||
"NetworkManager",
|
||||
"Simulator",
|
||||
)
|
||||
@@ -906,6 +1017,17 @@ PRIVATE_LAYOUTS = {
|
||||
],
|
||||
"T:LibreMetaverse.EmptyRemovalStrategy`1": [("keys", "Vec<TKey>")],
|
||||
"T:LibreMetaverse.ExpiringCache`2": [("entries", "std::collections::HashMap<TKey, TValue>")],
|
||||
"T:LibreMetaverse.InventoryBase": [
|
||||
("native_uuid", "libremetaverse_types::UUID"),
|
||||
("native_owner_id", "libremetaverse_types::UUID"),
|
||||
("native_parent_uuid", "libremetaverse_types::UUID"),
|
||||
("native_name", "String"),
|
||||
],
|
||||
"T:LibreMetaverse.InventoryFolder": [
|
||||
("native_descendent_count", "i32"),
|
||||
("native_preferred_type", "libremetaverse_types::FolderType"),
|
||||
("native_version", "i32"),
|
||||
],
|
||||
"T:LibreMetaverse.LruRemovalStrategy`1": [("keys", "Vec<TKey>")],
|
||||
"T:LibreMetaverse.MruRemovalStrategy`1": [("keys", "Vec<TKey>")],
|
||||
"T:LibreMetaverse.MultiValueDictionary`2": [("entries", "std::collections::HashMap<TKey, Vec<TValue>>")],
|
||||
@@ -926,8 +1048,12 @@ PRIVATE_LAYOUTS = {
|
||||
VALUE_DERIVES = {
|
||||
"T:LibreMetaverse.AgentSettings": "Clone, Debug, Eq, PartialEq",
|
||||
"T:LibreMetaverse.AssetCacheSettings": "Clone, Debug, Eq, PartialEq",
|
||||
"T:LibreMetaverse.BuddyListEntry": "Clone, Debug, Eq, PartialEq",
|
||||
"T:LibreMetaverse.ConnectionSettings": "Clone, Eq, PartialEq",
|
||||
"T:LibreMetaverse.LoggingSettings": "Clone, Debug, Eq, PartialEq",
|
||||
"T:LibreMetaverse.HomeInfo": "Clone, Copy, Debug, PartialEq",
|
||||
"T:LibreMetaverse.InventoryBase": "Clone, Debug",
|
||||
"T:LibreMetaverse.InventoryFolder": "Clone, Debug",
|
||||
"T:LibreMetaverse.Matrix4": "Clone, Copy, Debug",
|
||||
"T:LibreMetaverse.Quaternion": "Clone, Copy, Debug",
|
||||
"T:LibreMetaverse.PacketSettings": "Clone, Debug, Eq, PartialEq",
|
||||
|
||||
@@ -992,6 +992,7 @@ def validate_generated_shims() -> None:
|
||||
"crate::genepool_catalog::",
|
||||
"crate::json_codec::",
|
||||
"crate::message_codec::",
|
||||
"crate::message_decoder::",
|
||||
"crate::notation::",
|
||||
"crate::packet_catalog::",
|
||||
"crate::packet_wire::",
|
||||
|
||||
Reference in New Issue
Block a user