libweave: Extract weave::Stream interface
Interface is implemented in buffet using ChromeOS streams.
This breaks libweave dependency on chromeos/streams/.
BUG=brillo:1257
TEST=`FEATURES=test emerge-gizmo libweave buffet`
Change-Id: I9fa73d40810f39d5608b3cbe320bc9eca0dff4ef
Reviewed-on: https://chromium-review.googlesource.com/293321
Trybot-Ready: Vitaly Buka <vitalybuka@chromium.org>
Tested-by: Vitaly Buka <vitalybuka@chromium.org>
Reviewed-by: Alex Vakulenko <avakulenko@chromium.org>
Commit-Queue: Vitaly Buka <vitalybuka@chromium.org>
diff --git a/buffet/shill_client.cc b/buffet/shill_client.cc
index c549fd4..0d733c8 100644
--- a/buffet/shill_client.cc
+++ b/buffet/shill_client.cc
@@ -15,6 +15,7 @@
#include <weave/enum_to_string.h>
#include "buffet/ap_manager_client.h"
+#include "buffet/socket_stream.h"
using chromeos::Any;
using chromeos::VariantDictionary;
@@ -496,4 +497,20 @@
connecting_service_reset_pending_ = false;
}
+std::unique_ptr<weave::Stream> ShillClient::OpenSocketBlocking(
+ const std::string& host,
+ uint16_t port) {
+ return SocketStream::ConnectBlocking(host, port);
+}
+
+void ShillClient::CreateTlsStream(
+ std::unique_ptr<weave::Stream> socket,
+ const std::string& host,
+ const base::Callback<void(std::unique_ptr<weave::Stream>)>&
+ success_callback,
+ const base::Callback<void(const chromeos::Error*)>& error_callback) {
+ SocketStream::TlsConnect(std::move(socket), host, success_callback,
+ error_callback);
+}
+
} // namespace buffet