Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(374)

Unified Diff: remoting/host/security_key/gnubby_extension_session.h

Issue 2167473003: Revert of Renaming Gnubby and RemoteSecurityKey files/classes/members (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/host/security_key/gnubby_extension_session.h
diff --git a/remoting/host/security_key/gnubby_extension_session.h b/remoting/host/security_key/gnubby_extension_session.h
new file mode 100644
index 0000000000000000000000000000000000000000..6051244d825e02301e836b26d03035932c858e1a
--- /dev/null
+++ b/remoting/host/security_key/gnubby_extension_session.h
@@ -0,0 +1,67 @@
+// Copyright 2016 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_SECURITY_KEY_GNUBBY_EXTENSION_SESSION_H_
+#define REMOTING_HOST_SECURITY_KEY_GNUBBY_EXTENSION_SESSION_H_
+
+#include <memory>
+#include <string>
+
+#include "base/callback.h"
+#include "base/macros.h"
+#include "base/threading/thread_checker.h"
+#include "remoting/host/host_extension_session.h"
+
+namespace base {
+class DictionaryValue;
+}
+
+namespace remoting {
+
+class ClientSessionDetails;
+class GnubbyAuthHandler;
+
+namespace protocol {
+class ClientStub;
+}
+
+// A HostExtensionSession implementation that enables Security Key support.
+class GnubbyExtensionSession : public HostExtensionSession {
+ public:
+ GnubbyExtensionSession(ClientSessionDetails* client_session_details,
+ protocol::ClientStub* client_stub);
+ ~GnubbyExtensionSession() override;
+
+ // HostExtensionSession interface.
+ bool OnExtensionMessage(ClientSessionDetails* client_session_details,
+ protocol::ClientStub* client_stub,
+ const protocol::ExtensionMessage& message) override;
+
+ // Allows the underlying GnubbyAuthHandler to be overridden for unit testing.
+ void SetGnubbyAuthHandlerForTesting(
+ std::unique_ptr<GnubbyAuthHandler> gnubby_auth_handler);
+
+ private:
+ // These methods process specific gnubby extension message types.
+ void ProcessControlMessage(base::DictionaryValue* message_data) const;
+ void ProcessDataMessage(base::DictionaryValue* message_data) const;
+ void ProcessErrorMessage(base::DictionaryValue* message_data) const;
+
+ void SendMessageToClient(int connection_id, const std::string& data) const;
+
+ // Ensures GnubbyExtensionSession methods are called on the same thread.
+ base::ThreadChecker thread_checker_;
+
+ // Interface through which messages can be sent to the client.
+ protocol::ClientStub* client_stub_ = nullptr;
+
+ // Handles platform specific gnubby operations.
+ std::unique_ptr<GnubbyAuthHandler> gnubby_auth_handler_;
+
+ DISALLOW_COPY_AND_ASSIGN(GnubbyExtensionSession);
+};
+
+} // namespace remoting
+
+#endif // REMOTING_HOST_SECURITY_KEY_GNUBBY_EXTENSION_SESSION_H_
« no previous file with comments | « remoting/host/security_key/gnubby_extension.cc ('k') | remoting/host/security_key/gnubby_extension_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698