|
| | ClientWrapper (const Config &cfg) |
| | Construct a wrapper and create the underlying C client.
|
| |
| | ClientWrapper (ivon_client_t handle, NonOwning) noexcept |
| | Construct a non-owning wrapper around an existing handle.
|
| |
| | ~ClientWrapper () override |
| |
| | ClientWrapper (const ClientWrapper &)=delete |
| |
| ClientWrapper & | operator= (const ClientWrapper &)=delete |
| |
| | ClientWrapper (ClientWrapper &&)=delete |
| |
| ClientWrapper & | operator= (ClientWrapper &&)=delete |
| |
| expected_void< NegotiationError > | connect () override |
| | Connect to the server (blocking).
|
| |
| void | disconnect () override |
| | Disconnect from the server (blocks until closed).
|
| |
| ConnectionState | connection_state () const noexcept override |
| | Get the current connection lifecycle state.
|
| |
| bool | is_connected () const noexcept override |
| | Check if fully connected to the server.
|
| |
| bool | is_synchronized () const noexcept override |
| | Check if initial state synchronization is complete.
|
| |
| std::string | session_id () const override |
| | Get the session ID assigned by the server (empty if not connected).
|
| |
| bool | send_client_message (const std::string &client_id, const std::string &type, const std::vector< uint8_t > &buffer) override |
| | Send a typed message to a specific remote client. Returns false if not connected.
|
| |
| bool | send_broadcast_message (const std::string &type, const std::vector< uint8_t > &buffer) override |
| | Broadcast a typed message to all connected clients. Returns false if not connected.
|
| |
| bool | send_group_message (const std::string &group_id, const std::string &type, const std::vector< uint8_t > &buffer) override |
| | Send a typed message to all members of a group via TCP. Returns false if not connected or not a member.
|
| |
| size_t | get_remote_client_count () const noexcept override |
| | Get the count of remote clients in the session.
|
| |
| bool | has_remote_client (const std::string &client_id) const noexcept override |
| | Check if a remote client with the given ID exists.
|
| |
| std::vector< std::string > | get_remote_client_ids () const override |
| | Get all remote client IDs as a vector.
|
| |
| bool | join_group (const std::string &group_id) override |
| | Request to join a group. Returns false if not connected.
|
| |
| bool | leave_group (const std::string &group_id) override |
| | Request to leave a group. Returns false if not connected.
|
| |
| bool | request_group_list () override |
| | Request the list of available groups from the server.
|
| |
| bool | set_mute (const std::string &group_id, const std::string &target_client_id, bool muted) override |
| | Mute or unmute a target client in a specific group.
|
| |
| bool | is_group_member (const std::string &group_id) const override |
| | Check if this client is a member of the given group.
|
| |
| std::vector< std::string > | get_group_ids () const override |
| | Get all group IDs this client is a member of.
|
| |
| bool | send_group_data (const std::string &group_id, const unsigned char *data, size_t len) override |
| | Send raw data to a group via the fanout channel.
|
| |
| bool | send_group_data (const std::string &group_id, const std::vector< uint8_t > &data) override |
| | Send raw data to a group via the fanout channel (vector overload).
|
| |
| bool | set_fanout_sender_id (uint64_t sender_id) override |
| | Set this client's fanout sender ID (used for audio routing).
|
| |
| void | on_tofu_verify (TofuVerifyCallback cb) override |
| | Set the TOFU key verification callback (called during negotiation).
|
| |
| void | on_password_required (PasswordCallback cb) override |
| | Set the password prompt callback (called when the server requires auth).
|
| |
| void | on_client_message (ClientMessageCallback cb) override |
| | Set the callback for incoming direct client messages.
|
| |
| void | on_client_joined (ClientJoinedCallback cb) override |
| | Set the callback fired when a remote client joins the session.
|
| |
| void | on_client_left (ClientLeftCallback cb) override |
| | Set the callback fired when a remote client leaves the session.
|
| |
| void | on_kicked (KickedCallback cb) override |
| | Set the callback fired when this client is kicked from the server.
|
| |
| void | on_disconnected (DisconnectedCallback cb) override |
| | Set the callback fired when the connection is lost or closed.
|
| |
| void | on_connection_state_changed (ConnectionStateCallback cb) override |
| | Set the callback fired on connection state transitions.
|
| |
| void | on_group_joined (GroupJoinCallback cb) override |
| | Set the callback for group join results.
|
| |
| void | on_group_left (GroupLeaveCallback cb) override |
| | Set the callback for group leave results.
|
| |
| void | on_group_key_update (GroupKeyUpdateCallback cb) override |
| | Set the callback fired when a group's encryption key is rotated.
|
| |
| void | on_group_member_joined (GroupMemberJoinedCallback cb) override |
| | Set the callback fired when another client joins a group.
|
| |
| void | on_group_member_left (GroupMemberLeftCallback cb) override |
| | Set the callback fired when another client leaves a group.
|
| |
| void | on_group_kicked (GroupKickedCallback cb) override |
| | Set the callback fired when this client is kicked from a group.
|
| |
| void | on_group_list (GroupListCallback cb) override |
| | Set the callback for group list responses.
|
| |
| void | on_group_mute (GroupMuteCallback cb) override |
| | Set the callback for group mute operation results.
|
| |
| void | on_fanout_data (FanoutDataCallback cb) override |
| | Set the callback for incoming fanout data.
|
| |
| void | on_fanout_error (FanoutErrorCallback cb) override |
| | Set the callback for fanout channel errors.
|
| |
| void | on_server_properties (ServerPropertiesCallback cb) override |
| | Set the callback for initial server properties received during sync.
|
| |
| void | on_server_property_update (ServerPropertyUpdateCallback cb) override |
| | Set the callback for server property updates.
|
| |
| void | on_group_property_update (GroupPropertyUpdateCallback cb) override |
| | Set the callback for group property updates.
|
| |
| ivon_client_t | handle () const noexcept |
| | Get the underlying opaque C handle.
|
| |
| virtual | ~IClient ()=default |
| |
Consumer-facing C++ wrapper around the libivon C ABI.
RAII handle: the constructor creates the client, the destructor destroys it. Non-copyable, non-moveable; use std::unique_ptr for deferred initialization or ownership transfer.
All methods delegate to the corresponding ivon_client_* C function. String returns copy into std::string; list queries return std::vector<std::string>.