Modal SSID + optional passphrase prompt with the same callback shape as
wifi_auth_prompt. Used by the upcoming popup "Hidden..." button.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
iwd's Cancel(reason) now invokes a UI callback (registered via
iwd_manager_set_cancel_handler) so the popup can tear down an open
auth dialog. Stubbed RequestPrivateKeyPassphrase /
RequestUserNameAndPassword / RequestUserPassword to return Canceled
instead of leaving them unimplemented (which would unregister us).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Async D-Bus call with error logged on failure. Backend support for the
upcoming Hidden Network UI affordance.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Adds Iwd_Network.signal_dbm/have_signal and a signal_tier helper, and
calls Station.GetOrderedNetworks on station attach and on scan
completion to populate them. Enables signal-aware UI affordances.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Drop the diagnostic logs added during adapter/scan/connect
debugging — the wire flow is now well-understood, so the noise
isn't worth keeping. Also delete iwd_device_set_powered (and the
adapter_obj/adapter_proxy fields it relied on); manager.set_powered
goes through Iwd_Adapter directly, so the device-side fallback is
unreachable.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Network.Connect now uses an async reply callback so polkit /
authentication / iwd-side errors land on stderr instead of being
swallowed. Add a minimal RPM spec for packaging.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Promote Adapter to a first-class manager object (Iwd_Adapter with
PropertiesChanged subscription). iwd_manager_set_powered now drives
the adapter directly, so Enable still works after Disable has torn
down the device hash. State recomputation also looks at any
powered adapter, and the popup hides the network list while
state == IWD_STATE_OFF.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Versioned descriptor for E_Iwd_Config with auto_connect, show_hidden,
refresh_interval and preferred_adapter; load/save against the
"module.iwd" domain. Stale or missing config falls back to defaults.
The settings dialog UI is still a stub.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
e_gadcon_popup hosts a status label, a scrollable list of networks
(snapshotted from iwd_manager and sorted: connected → known → alpha),
and Rescan/Enable/Disable action buttons. Clicking a network calls
Network.Connect; iwd then asks our Agent for a passphrase, which is
routed to a modal elm_popup via iwd_manager_set_passphrase_handler.
The passphrase handler is installed at module init so iwd-initiated
auth works even when the popup is closed.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Register an "iwd" gadcon client; each instance carries an elm_icon
that swaps freedesktop standard names based on Iwd_State.
Click toggles the (still stubbed) popup. Listener on iwd_manager
refreshes every active instance on state changes.
E 0.27 only ships the legacy gadcon API (no e_gadget header), so
this targets gadcon for compatibility.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Export net.connman.iwd.Agent at /net/eiwd/agent and register it via
AgentManager. RequestPassphrase replies are deferred so the UI can
prompt asynchronously; the manager exposes
iwd_manager_set_passphrase_handler for the UI layer to plug in.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
iwd_dbus watches net.connman.iwd name ownership, calls
GetManagedObjects, and dispatches InterfacesAdded/Removed to a
callback consumer. iwd_manager owns hashes of Iwd_Device and
Iwd_Network keyed by object path; sub-objects subscribe to their
PropertiesChanged signals via Eldbus and ping the manager so
listeners can refresh. Aggregated state (off/idle/scanning/
connecting/connected) is recomputed from the active station.
iwd_device exposes Powered toggle plus Station Scan/Disconnect.
iwd_network calls Network.Connect() (the iwd Agent will be wired
in next) and Forget via the referenced KnownNetwork object.
Builds against EFL 1.28 / Enlightenment 0.27.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Meson build, module entry points, and stub layout for the iwd backend
(D-Bus client, gadget, popup, config, UI widgets). Bodies are TODOs;
this compiles against EFL/E headers but performs no D-Bus work yet.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>