blob: 0778286b1572b0f6c0d9ec460c9ff0ddcb8f9794 [file] [log] [blame]
fgorski0d5c00d2014-08-28 16:21:451// Copyright (c) 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_GCM_DRIVER_GCM_CONNECTION_OBSERVER_H_
6#define COMPONENTS_GCM_DRIVER_GCM_CONNECTION_OBSERVER_H_
7
8#include "base/basictypes.h"
9
10namespace net {
11class IPEndPoint;
12}
13
14namespace gcm {
15
16// Interface for objects observing GCM connection events.
17class GCMConnectionObserver {
18 public:
19 GCMConnectionObserver();
20 virtual ~GCMConnectionObserver();
21
22 // Called when a new connection is established and a successful handshake
23 // has been performed. Note that |ip_endpoint| is only set if available for
24 // the current platform.
25 // Default implementation does nothing.
26 virtual void OnConnected(const net::IPEndPoint& ip_endpoint);
27
28 // Called when the connection is interrupted.
29 // Default implementation does nothing.
30 virtual void OnDisconnected();
31};
32
33} // namespace gcm
34
35#endif // COMPONENTS_GCM_DRIVER_GCM_CONNECTION_OBSERVER_H_