Index: chromeos/components/tether/keep_alive_operation.cc |
diff --git a/chromeos/components/tether/keep_alive_operation.cc b/chromeos/components/tether/keep_alive_operation.cc |
index d1cf0db97be04614b87f4f73c028252f1231daaa..dc9d54acbab17bcddeb39cb8650590ecfab240c6 100644 |
--- a/chromeos/components/tether/keep_alive_operation.cc |
+++ b/chromeos/components/tether/keep_alive_operation.cc |
@@ -48,12 +48,27 @@ KeepAliveOperation::KeepAliveOperation( |
KeepAliveOperation::~KeepAliveOperation() {} |
+void KeepAliveOperation::AddObserver(Observer* observer) { |
+ observer_list_.AddObserver(observer); |
+} |
+ |
+void KeepAliveOperation::RemoveObserver(Observer* observer) { |
+ observer_list_.RemoveObserver(observer); |
+} |
+ |
void KeepAliveOperation::OnDeviceAuthenticated( |
const cryptauth::RemoteDevice& remote_device) { |
DCHECK(remote_devices().size() == 1u && remote_devices()[0] == remote_device); |
SendMessageToDevice(remote_device, |
base::MakeUnique<MessageWrapper>(KeepAliveTickle())); |
+ UnregisterDevice(remote_device); |
+} |
+ |
+void KeepAliveOperation::OnOperationFinished() { |
+ for (auto& observer : observer_list_) { |
+ observer.OnOperationFinished(); |
+ } |
} |
MessageType KeepAliveOperation::GetMessageTypeForConnection() { |