Roll src/third_party/WebKit b41a10f:afd8afd (svn 202201:202202)
[chromium-blink-merge.git] / remoting / host / host_status_observer.h
blobeec5a5110a758ac62d6de0512e0a6295bc032a0b
1 // Copyright (c) 2012 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.
5 #ifndef REMOTING_HOST_HOST_STATUS_OBSERVER_H_
6 #define REMOTING_HOST_HOST_STATUS_OBSERVER_H_
8 #include <string>
10 namespace net {
11 class IPEndPoint;
12 } // namespace net
14 namespace remoting {
15 class SignalStrategy;
17 namespace protocol {
18 struct TransportRoute;
21 // Interface for host status observer. All methods are invoked on the
22 // network thread. Observers must not tear-down ChromotingHost state
23 // on receipt of these callbacks; they are purely informational.
24 class HostStatusObserver {
25 public:
26 HostStatusObserver() { }
27 virtual ~HostStatusObserver() { }
29 // Called when an unauthorized user attempts to connect to the host.
30 virtual void OnAccessDenied(const std::string& jid) {}
32 // A new client is authenticated.
33 virtual void OnClientAuthenticated(const std::string& jid) {}
35 // All channels for an autheticated client are connected.
36 virtual void OnClientConnected(const std::string& jid) {}
38 // An authenticated client is disconnected.
39 virtual void OnClientDisconnected(const std::string& jid) {}
41 // Called on notification of a route change event, when a channel is
42 // connected.
43 virtual void OnClientRouteChange(const std::string& jid,
44 const std::string& channel_name,
45 const protocol::TransportRoute& route) {}
47 // Called when hosting is started for an account.
48 virtual void OnStart(const std::string& host_owner_email) {}
50 // Called when the host shuts down.
51 virtual void OnShutdown() {}
54 } // namespace remoting
56 #endif // REMOTING_HOST_HOST_STATUS_OBSERVER_H_