Crate umsh_mobile_core

Crate umsh_mobile_core 

Source
Expand description

Stable, value-oriented facade for native UMSH mobile applications.

This crate deliberately exposes application operations instead of mirroring the internal protocol crate graph. Platform bindings should wrap this API; mobile feature code should not depend on umsh-core directly.

Structs§

ChannelPreviewRecord
Safe, non-mutating preview of a channel the user is about to join.
GattSegmentRecord
One header-prefixed ATT value produced by ULCP GATT segmentation.
MobileChatArchiveLookupRecord
MobileChatArchiveRecord
MobileChatCheckpointRecord
MobileChatComposeBatchRecord
MobileChatDeliveryRecord
MobileChatMutationRecord
MobileChatOriginalRef
Platform-persisted identity of a previously composed outbound message, used to target an edit or delete. session_id/handle identify it when composed by the current facade session; wire_id/epoch are the durable fallback for messages composed before a restart.
MobileCounterStore
Durable adapter used by the iOS umsh_hal::CounterStore boundary.
MobileGattReassembler
Stateful, bounded receiver for Frame Out notifications.
MobileIdentity
Identity secret retained by the Rust engine after one controlled unlock transfer. Swift receives only public identity records from this object.
MobileMeshAdvertisementRecord
A node-identity bundle received over the mesh, either as a broadcast advertisement or as the reply to an Identity Request.
MobileMeshOutboundFrameRecord
MobileMeshPeerHeardRecord
Evidence that a peer was on the air, emitted for every accepted frame regardless of what it carried.
MobileMeshPingEventRecord
MobileMeshRouteRecord
The route the MAC currently has cached for one peer.
MobileMeshRxRecord
MobileMeshSession
Long-lived Rust protocol engine used by the mobile app.
MobileMeshSessionUpdateRecord
MobileUlcpSession
Stateful mobile host session for the ULCP.
NodeHintRecord
Canonical rendering information for a three-byte node hint.
NodeIdentityProfileRecord
The claims a node makes about itself, as an identity bundle carries them.
NodeIdentityRecord
Decoded advertised node identity (node-identity.md), UI-safe fields only.
NodeUriPreviewRecord
Safe, non-mutating preview of a parsed node URI.
PublicIdentityRecord
Public identity information safe to keep in ordinary application models.
RouterHintRecord
Canonical rendering information for a two-byte router hint.
UlcpBatteryRecord
UI-relevant fields from a validated PROP_BATTERY value.
UlcpDeviceConfigRecord
Complete desired configuration of a device’s own domain: what it is and what it does when no phone is attached.
UlcpGnssRecord
What the receiver currently reports, folded from the five positioning telemetry properties.
UlcpGnssSettingsRecord
The device’s positioning policy: whether the receiver runs, and what is done with what it finds.
UlcpOperationErrorRecord
A correlated CRP operation completed with a non-OK PROP_LAST_STATUS. This is an operation failure, never evidence that the transport framing is corrupt or that the BLE connection should be closed.
UlcpPropertyFrameRecord
A validated property-bearing ULCP frame.
UlcpRadioSettingsRecord
Complete desired live radio configuration. Capability-gated fields must be omitted when the device does not advertise their associated capability.
UlcpReceivedFrameRecord
One validated raw mesh frame delivered by the companion radio.
UlcpRepeaterSettingsRecord
The device identity’s autonomous flood-forwarding policy.
UlcpSessionSnapshotRecord
Typed state published after each bounded ULCP-session transition.
UlcpSessionUpdateRecord
Work produced by the Rust ULCP session. Frames are complete ULCP frames; the platform adapter remains responsible for GATT segmentation and write backpressure.
UlcpSyncRecord
Read-only, capability-gated device state gathered after host ownership has been resolved. Counts describe digest forms and contain no key material.
UlcpTimeRecord
PROP_TIME: what the device’s wall clock read when it last reported.

Enums§

ChannelKindRecord
How a channel’s key is established.
CounterStoreError
IdentitySignatureState
Authentication state of a standalone node-identity bundle.
MobileChatArchiveResultKind
MobileChatDeliveryState
MobileChatDirection
MobileChatMutationKind
MobileError
Stable error categories consumed by platform adapters.
MobileMeshError
MobileMeshPingOutcome
MobileMeshRouteKind
How the MAC will address the next frame sent to a peer.
UlcpAlertState
PROP_ALERT: what the radio is doing to make itself findable.
UlcpAttachMode
The two relationships a phone can have with a radio.
UlcpChargeState
The charge state a device reports in PROP_BATTERY.
UlcpFixKind
PROP_GNSS_FIX: what kind of position solution the receiver has.
UlcpHostOwnership
Authoritative comparison of PROP_HOST_KEY with the selected phone identity.
UlcpSessionPhase
Long-lived host-session phase. Swift maps this value to UI link state but does not implement ULCP transitions itself.

Constants§

MOBILE_API_VERSION
Version of the mobile facade contract.

Functions§

channel_conversation_address
The address of a channel’s group conversation, as the chat records carry it.
decode_node_identity
Decode a persisted advertised-identity payload for display.
derive_channel_id
Derive the two-octet channel identifier for a key.
derive_channel_tint
Derive the three presentation octets for a key — the identifier extended by one byte, so a channel’s colour is stable wherever it is shown.
format_channel_invitation
Build a shareable channel URI.
generate_channel_key
Generate a fresh 32-octet key for a new private channel.
inspect_channel_name
Derive a public channel from a plain name, without a URI.
inspect_channel_uri
Parse a channel URI locally and derive its key and identifier.
inspect_node_uri
Parse a node URI locally and return only validated public identity fields.
inspect_peer_identity
Inspect a pasted peer identity in any user-facing interchange form.
inspect_public_identity
Parse and canonicalize a complete public identity address.
inspect_public_identity_bytes
Inspect a raw 32-byte Ed25519 public identity received from a trusted wire decoder, returning the same canonical UI-safe representation as an address.
inspect_ulcp_alert
Validate and reduce a PROP_ALERT value.
inspect_ulcp_battery
Validate and reduce a PROP_BATTERY value to fields used by mobile UI.
inspect_ulcp_property_frame
Parse and validate a property notification or response.
inspect_ulcp_status
Decode an exact packed status value from PROP_LAST_STATUS.
inspect_ulcp_sync
Validate and reduce the property responses from the read-only post-attach inspection.
mobile_api_version
Return the binding-visible mobile API version.
node_uri_for_address
Render the canonical shareable node URI for a public identity address.
node_uri_with_identity
Render the shareable node URI carrying a signed identity bundle: umsh:n:<address>:<base58 bundle>.
public_identity_bytes
Decode a canonical address to the raw public-key bytes carried by ULCP PROP_HOST_KEY.
region_code_description
Render a region code for display. Codes derived from an airport come back as their three letters; everything else as 0xXXXX, which region_code_from_string reads back.
region_code_from_string
Read a region code from what someone typed, yielding the two wire octets used everywhere else in the ULCP and mesh surfaces.
render_node_hint
Render a node hint using the protocol’s canonical ambiguity rules.
render_router_hint
Render a router hint using the protocol’s canonical ambiguity rules.
sign_node_identity_bundle
Build and sign a node-identity bundle from a supplied secret key.
ulcp_gatt_segments
Split a ULCP frame into ATT values using the negotiated maximum write length. The returned values include the one-octet SAR header.
ulcp_inspection_properties
Return the authoritative properties needed for the read-only post-attach inspection, gated by the supplied PROP_CAPS value.
ulcp_location_cell_meters
Approximate width, at the equator, of the cell one location precision names — 2,500 km at one byte down to 15 cm at seven. None outside 1–7.
ulcp_max_dev_channels
Capacity of the device identity’s channel list (PROP_DEV_CHANNEL_KEYS).
ulcp_max_dev_peers
Capacity of the device identity’s peer list (PROP_DEV_PEERS).
ulcp_prop_get
Encode a CMD_PROP_GET request with the shared ULCP codec.
ulcp_prop_set
Encode a CMD_PROP_SET request with the shared ULCP codec.
ulcp_save
Encode a CMD_SAVE request with the shared ULCP codec.