Index: remoting/host/chromoting_host.h |
diff --git a/remoting/host/chromoting_host.h b/remoting/host/chromoting_host.h |
index a6642d4becad02bf1f748b8575f8893421d2b79a..9caaa9f55a1f5ff6b6043238cfebda540556ed1c 100644 |
--- a/remoting/host/chromoting_host.h |
+++ b/remoting/host/chromoting_host.h |
@@ -8,14 +8,16 @@ |
#include <list> |
#include <string> |
-#include "base/memory/scoped_ptr.h" |
#include "base/memory/ref_counted.h" |
+#include "base/memory/scoped_ptr.h" |
+#include "base/memory/scoped_vector.h" |
#include "base/memory/weak_ptr.h" |
#include "base/observer_list.h" |
#include "base/threading/non_thread_safe.h" |
#include "base/threading/thread.h" |
#include "net/base/backoff_entry.h" |
#include "remoting/host/client_session.h" |
+#include "remoting/host/host_extension.h" |
#include "remoting/host/host_status_monitor.h" |
#include "remoting/host/host_status_observer.h" |
#include "remoting/protocol/authenticator.h" |
@@ -91,6 +93,9 @@ class ChromotingHost : public base::NonThreadSafe, |
virtual void AddStatusObserver(HostStatusObserver* observer) OVERRIDE; |
virtual void RemoveStatusObserver(HostStatusObserver* observer) OVERRIDE; |
+ // Registers a host extension. |
+ void AddExtension(scoped_ptr<HostExtension> extension); |
+ |
// This method may be called only from |
// HostStatusObserver::OnClientAuthenticated() to reject the new |
// client. |
@@ -118,6 +123,7 @@ class ChromotingHost : public base::NonThreadSafe, |
virtual void OnSessionAuthenticating(ClientSession* client) OVERRIDE; |
virtual bool OnSessionAuthenticated(ClientSession* client) OVERRIDE; |
virtual void OnSessionChannelsConnected(ClientSession* client) OVERRIDE; |
+ virtual void OnClientCapabilities(ClientSession* client) OVERRIDE; |
virtual void OnSessionAuthenticationFailed(ClientSession* client) OVERRIDE; |
virtual void OnSessionClosed(ClientSession* session) OVERRIDE; |
virtual void OnSessionSequenceNumber(ClientSession* session, |
@@ -154,6 +160,7 @@ class ChromotingHost : public base::NonThreadSafe, |
friend class ChromotingHostTest; |
typedef std::list<ClientSession*> ClientList; |
+ typedef ScopedVector<HostExtension> HostExtensionList; |
// Immediately disconnects all active clients. Host-internal components may |
// shutdown asynchronously, but the caller is guaranteed not to receive |
@@ -204,6 +211,9 @@ class ChromotingHost : public base::NonThreadSafe, |
// The pairing registry for PIN-less authentication. |
scoped_refptr<protocol::PairingRegistry> pairing_registry_; |
+ // List of host extensions. |
+ HostExtensionList extensions_; |
+ |
base::WeakPtrFactory<ChromotingHost> weak_factory_; |
DISALLOW_COPY_AND_ASSIGN(ChromotingHost); |