Use single callback for replies to async operations

Single callback simplifies copying of callbacks and makes
control flow more obvious.

BUG:24267885

Change-Id: I489e7158e2bb1adf8c9c3966a0859fa024a57db2
Reviewed-on: https://weave-review.googlesource.com/1302
Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/libweave/src/test/fake_stream.cc b/libweave/src/test/fake_stream.cc
index 786aa01..7c86c4a 100644
--- a/libweave/src/test/fake_stream.cc
+++ b/libweave/src/test/fake_stream.cc
@@ -30,33 +30,30 @@
 
 void FakeStream::Read(void* buffer,
                       size_t size_to_read,
-                      const ReadSuccessCallback& success_callback,
-                      const ErrorCallback& error_callback) {
+                      const ReadCallback& callback) {
   if (read_data_.empty()) {
     task_runner_->PostDelayedTask(
-        FROM_HERE,
-        base::Bind(&FakeStream::Read, base::Unretained(this), buffer,
-                    size_to_read, success_callback, error_callback),
+        FROM_HERE, base::Bind(&FakeStream::Read, base::Unretained(this), buffer,
+                              size_to_read, callback),
         base::TimeDelta::FromSeconds(0));
     return;
   }
   size_t size = std::min(size_to_read, read_data_.size());
   memcpy(buffer, read_data_.data(), size);
   read_data_ = read_data_.substr(size);
-  task_runner_->PostDelayedTask(FROM_HERE, base::Bind(success_callback, size),
+  task_runner_->PostDelayedTask(FROM_HERE, base::Bind(callback, size, nullptr),
                                 base::TimeDelta::FromSeconds(0));
 }
 
 void FakeStream::Write(const void* buffer,
                        size_t size_to_write,
-                       const SuccessCallback& success_callback,
-                       const ErrorCallback& error_callback) {
+                       const WriteCallback& callback) {
   size_t size = std::min(size_to_write, write_data_.size());
   EXPECT_EQ(
       write_data_.substr(0, size),
       std::string(reinterpret_cast<const char*>(buffer), size_to_write));
   write_data_ = write_data_.substr(size);
-  task_runner_->PostDelayedTask(FROM_HERE, success_callback,
+  task_runner_->PostDelayedTask(FROM_HERE, base::Bind(callback, nullptr),
                                 base::TimeDelta::FromSeconds(0));
 }