blob: 6c3f61abf6ac2213ccf198bcef4ea7f69cd6b871 [file] [log] [blame] [view]
# libweave provider examples
This directory contains example implementations of `weave` system providers.
## Providers
- `avahi_client.cc`
- implements: `weave::providerDnsServiceDiscovery`
- build-depends: libavahi-client
- run-depends: `avahi-daemon`
- `bluez_client.cc`
- not-implemented
- `curl_http_client.cc`
- implements: `weave::provider::HttpClient`
- build-depends: libcurl
- `event_http_server.cc`
- implements: `weave::provider::HttpServer`
- build-depends: libevhtp
- `event_network.cc`
- implements: `weave::provider::Network`
- build-depends: libevent
- `event_task_runner.cc`
- implements: `weave::provider::TaskRunner`
- build-depends: libevent
- `file_config_store.cc`
- implements: `weave::provider::ConfigStore`
- `wifi_manager.cc`
- implements: `weave::provider::Wifi`
- build-depends: `weave::examples::EventNetworkImpl`
- run-depends: `network-manager`, `dnsmasq`, `hostapd`
## Note
- The example providers are based on `libevent` and should be portable between
most GNU/Linux distributions.
- `weave::examples::WifiImpl` currently shells out to system command tools
like `nmcli`, `dnsmasq`, `ifconfig` and `hostpad`.