Chromium Code Reviews| Index: remoting/host/gnubby_auth_handler.h |
| diff --git a/remoting/host/gnubby_auth_handler.h b/remoting/host/gnubby_auth_handler.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..96fa5aaf721f5c82797182de5e0bf848aa4da252 |
| --- /dev/null |
| +++ b/remoting/host/gnubby_auth_handler.h |
| @@ -0,0 +1,55 @@ |
| +// Copyright 2014 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#ifndef REMOTING_HOST_GNUBBY_AUTH_HANDLER_H_ |
| +#define REMOTING_HOST_GNUBBY_AUTH_HANDLER_H_ |
| + |
| +#include <string> |
| + |
| +#include "base/basictypes.h" |
| +#include "base/files/file_path.h" |
|
Sergey Ulanov
2014/02/11 08:20:38
nit: FilePath can be forward-declared.
psj
2014/02/12 09:01:01
Done.
|
| +#include "base/logging.h" |
|
Sergey Ulanov
2014/02/11 08:20:38
This can be remove if you remove DCHECK below - se
psj
2014/02/12 09:01:01
Done.
|
| +#include "base/memory/scoped_ptr.h" |
| + |
| +namespace remoting { |
| +namespace protocol { |
|
Sergey Ulanov
2014/02/11 08:20:38
nit: empty line above this one
psj
2014/02/12 09:01:01
Done.
|
| +class ClientStub; |
| +} // namespace protocol |
| + |
| +// Class responsible for proxying authentication data between a local gnubbyd |
| +// and the client. |
| +class GnubbyAuthHandler { |
| + public: |
| + virtual ~GnubbyAuthHandler() {} |
| + |
| + // Creates a platform-specific GnubbyAuthHandler. |
| + static scoped_ptr<GnubbyAuthHandler> Create( |
| + protocol::ClientStub* client_stub); |
| + |
| + // Specify the name of the socket to listen to gnubby requests on. |
| + static void SetGnubbySocketName(const base::FilePath& gnubby_socket_name); |
| + |
| + // A message was received from the client. |
| + virtual void DeliverClientMessage(const std::string& message) = 0; |
| + |
| + // Send data to client. |
| + virtual void DeliverHostDataMessage(int connection_id, |
| + const std::string& data) const = 0; |
| + |
| + protected: |
| + explicit GnubbyAuthHandler(protocol::ClientStub* client_stub) |
| + : client_stub_(client_stub) { |
| + DCHECK(client_stub_); |
| + } |
| + |
| + // Interface through which communication with the client occurs. |
| + protocol::ClientStub* client_stub_; |
|
Sergey Ulanov
2014/02/11 08:20:38
Please move this to GnubbyAuthHandlerPosix. Gnubby
psj
2014/02/12 09:01:01
Done.
|
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(GnubbyAuthHandler); |
| +}; |
| + |
| +} // namespace remoting |
| + |
| +#endif // REMOTING_HOST_GNUBBY_AUTH_HANDLER_H_ |