blob: 607fad418c6cf3fdcf4f45dbd2c24077a0198d30 [file] [log] [blame] [view] [edit]
# 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`.