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>