| 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);
|
|
|