blob: 7611ee33d225aea65ed58f4976cd35c5fe11408e [file] [log] [blame]
isherman06c6a9a72014-09-10 05:48:211// Copyright 2014 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef COMPONENTS_PROXIMITY_AUTH_CONNECTION_OBSERVER_H
6#define COMPONENTS_PROXIMITY_AUTH_CONNECTION_OBSERVER_H
7
8#include "components/proximity_auth/connection.h"
9
10namespace proximity_auth {
11
12class WireMessage;
13
14// An interface for observing events that happen on a Connection.
15class ConnectionObserver {
16 public:
sacomoto4d303ae2015-09-18 11:11:2117 virtual ~ConnectionObserver() {}
18
isherman06c6a9a72014-09-10 05:48:2119 // Called when the |connection|'s status changes from |old_status| to
ishermanfd7c5342015-04-24 00:43:5320 // |new_status|. The |connectoin| is guaranteed to be non-null.
21 virtual void OnConnectionStatusChanged(Connection* connection,
isherman06c6a9a72014-09-10 05:48:2122 Connection::Status old_status,
isherman16aaea42014-10-14 23:17:3423 Connection::Status new_status) {}
isherman06c6a9a72014-09-10 05:48:2124
25 // Called when a |message| is received from a remote device over the
26 // |connection|.
27 virtual void OnMessageReceived(const Connection& connection,
isherman16aaea42014-10-14 23:17:3428 const WireMessage& message) {}
isherman06c6a9a72014-09-10 05:48:2129
30 // Called after a |message| is sent to the remote device over the
31 // |connection|. |success| is |true| iff the message is sent successfully.
32 virtual void OnSendCompleted(const Connection& connection,
33 const WireMessage& message,
isherman16aaea42014-10-14 23:17:3434 bool success) {}
isherman06c6a9a72014-09-10 05:48:2135};
36
37} // namespace proximity_auth
38
39#endif // COMPONENTS_PROXIMITY_AUTH_CONNECTION_OBSERVER_H