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

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

Issue 2478443002: Use ChannelMojo for remote security key channels. (Closed)
Patch Set: Created 4 years, 1 month 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/security_key_ipc_server_impl.h
diff --git a/remoting/host/security_key/security_key_ipc_server_impl.h b/remoting/host/security_key/security_key_ipc_server_impl.h
index 489eeb290f33b5fc3846662e6052b055baa1d129..aae6539b02d9b6af9903a1397951a3fd61ee2923 100644
--- a/remoting/host/security_key/security_key_ipc_server_impl.h
+++ b/remoting/host/security_key/security_key_ipc_server_impl.h
@@ -39,11 +39,12 @@ class SecurityKeyIpcServerImpl : public SecurityKeyIpcServer,
ClientSessionDetails* client_session_details,
base::TimeDelta initial_connect_timeout,
const SecurityKeyAuthHandler::SendMessageCallback& message_callback,
+ const base::Closure& connect_callback,
const base::Closure& done_callback);
~SecurityKeyIpcServerImpl() override;
// SecurityKeyIpcServer implementation.
- bool CreateChannel(const std::string& channel_name,
+ bool CreateChannel(const mojo::edk::NamedPlatformHandle& channel_handle,
base::TimeDelta request_timeout) override;
bool SendResponse(const std::string& message_data) override;
@@ -56,6 +57,8 @@ class SecurityKeyIpcServerImpl : public SecurityKeyIpcServer,
// Handles security key resquest IPC messages.
void OnSecurityKeyRequest(const std::string& request);
+ void CloseChannel();
+
// The value assigned to identify the current IPC channel.
int connection_id_;
@@ -75,6 +78,9 @@ class SecurityKeyIpcServerImpl : public SecurityKeyIpcServer,
// Used to detect timeouts and disconnect the IPC channel.
base::OneShotTimer timer_;
+ // Used to signal that the IPC channel has been connected.
+ base::Closure connect_callback_;
+
// Used to signal that the IPC channel should be disconnected.
base::Closure done_callback_;
@@ -84,6 +90,10 @@ class SecurityKeyIpcServerImpl : public SecurityKeyIpcServer,
// Used for sending/receiving security key messages between processes.
std::unique_ptr<IPC::Channel> ipc_channel_;
+ // A token that can be used to close the underlying mojo connection. If no
+ // connection exists, this is empty.
+ std::string mojo_peer_token_;
+
// Ensures SecurityKeyIpcServerImpl methods are called on the same thread.
base::ThreadChecker thread_checker_;
« no previous file with comments | « remoting/host/security_key/security_key_ipc_server.cc ('k') | remoting/host/security_key/security_key_ipc_server_impl.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698