aboutsummaryrefslogtreecommitdiff
path: root/examples/provider/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'examples/provider/README.md')
-rw-r--r--examples/provider/README.md34
1 files changed, 34 insertions, 0 deletions
diff --git a/examples/provider/README.md b/examples/provider/README.md
new file mode 100644
index 0000000..607fad4
--- /dev/null
+++ b/examples/provider/README.md
@@ -0,0 +1,34 @@
+# 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`.