|
Ersa Wearable Platform
Embedded smartwatch firmware and application framework
|
#include <companion_source.h>

Public Member Functions | |
| virtual | ~ICompanionSource ()=default |
| virtual const char * | sourceId () const =0 |
| virtual Result< void > | initSource () |
| virtual bool | pauseForMaintenance () |
| virtual void | resumeFromMaintenance () |
| virtual void | tickSource () |
| virtual void | shutdownSource () |
| virtual bool | isAvailable () const =0 |
| virtual CompanionCapabilities | capabilities () const =0 |
| virtual void | setCallCallback (CompanionCallCallback, void *)=0 |
| virtual void | setMediaCallback (CompanionMediaCallback, void *)=0 |
| virtual void | setNotificationCallback (CompanionNotificationCallback, void *)=0 |
| virtual void | setTimeCallback (CompanionTimeCallback, void *)=0 |
| virtual void | setAvailabilityCallback (CompanionAvailabilityCallback, void *)=0 |
| virtual bool | acceptCall ()=0 |
| virtual bool | rejectCall ()=0 |
| virtual bool | hangupCall ()=0 |
| virtual bool | dial (const char *number)=0 |
| virtual bool | mediaCommand (CompanionMediaAction action)=0 |
| virtual bool | dismissNotification (uint32_t uid)=0 |
Semantic companion data and command contract independent of radio transport.
BluetoothManager consumes this contract to normalize provider events and check capabilities before issuing commands. Source identity remains stable while availability and capabilities may change as peers connect or drop.
|
virtualdefault |
Permit provider cleanup through the interface.
|
pure virtual |
Queue a request to answer the current incoming call.
Implemented in ersa::services::DummyBle, ersa::hal::Esp32Bluetooth, and ersa::test::MockBluetooth.
|
pure virtual |
Return a by-value snapshot so callers cannot retain mutable provider state.
Implemented in ersa::services::DummyBle, ersa::hal::Esp32Bluetooth, and ersa::test::MockBluetooth.
|
pure virtual |
Request dialing; the number format is provider-defined international text.
Implemented in ersa::services::DummyBle, ersa::hal::Esp32Bluetooth, and ersa::test::MockBluetooth.
|
pure virtual |
Request remote removal of one notification when the peer supports it.
Implemented in ersa::hal::Esp32Bluetooth, ersa::test::MockBluetooth, and ersa::services::DummyBle.
|
pure virtual |
Queue a request to end the current active call.
Implemented in ersa::services::DummyBle, ersa::hal::Esp32Bluetooth, and ersa::test::MockBluetooth.
|
inlinevirtual |
Initialize provider state after the transport itself has initialized.
|
pure virtual |
Report whether commands/data are currently usable from the peer.
Implemented in ersa::services::DummyBle, ersa::hal::Esp32Bluetooth, and ersa::test::MockBluetooth.
|
pure virtual |
Send a transport-neutral playback action after capability checks.
Implemented in ersa::hal::Esp32Bluetooth, ersa::test::MockBluetooth, and ersa::services::DummyBle.
|
inlinevirtual |
Release provider-owned resources before OTA or other memory-heavy work.
Reimplemented in ersa::hal::Esp32Bluetooth.
|
pure virtual |
Queue a request to reject the current incoming call.
Implemented in ersa::services::DummyBle, ersa::hal::Esp32Bluetooth, and ersa::test::MockBluetooth.
|
inlinevirtual |
Restore provider activity after maintenance; safe after partial pause.
Reimplemented in ersa::hal::Esp32Bluetooth.
|
pure virtual |
Install or clear a sink for provider availability transitions.
Implemented in ersa::hal::Esp32Bluetooth, ersa::test::MockBluetooth, and ersa::services::DummyBle.
|
pure virtual |
Install or clear a sink for call-state transitions.
Implemented in ersa::hal::Esp32Bluetooth, ersa::test::MockBluetooth, and ersa::services::DummyBle.
|
pure virtual |
Install or clear a sink for media metadata/playback updates.
Implemented in ersa::hal::Esp32Bluetooth, ersa::test::MockBluetooth, and ersa::services::DummyBle.
|
pure virtual |
Install or clear a sink for notification add/update/remove events.
Implemented in ersa::hal::Esp32Bluetooth, ersa::test::MockBluetooth, and ersa::services::DummyBle.
|
pure virtual |
Install or clear a sink for a peer-provided current time.
Implemented in ersa::hal::Esp32Bluetooth, ersa::test::MockBluetooth, and ersa::services::DummyBle.
|
inlinevirtual |
Stop workers and clear callbacks before provider destruction.
|
pure virtual |
Implemented in ersa::services::DummyBle, ersa::hal::Esp32Bluetooth, and ersa::test::MockBluetooth.
|
inlinevirtual |
Pump bounded deferred work; asynchronous providers may leave this empty.