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

Unified Diff: remoting/client/ios/session/remoting_client_session_delegate.mm

Issue 2805963002: Adding session object for iOS to integerate client sessions. (Closed)
Patch Set: Updating display handler to use correct paths. Created 3 years, 8 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/client/ios/session/remoting_client_session_delegate.mm
diff --git a/remoting/client/ios/session/remoting_client_session_delegate.mm b/remoting/client/ios/session/remoting_client_session_delegate.mm
new file mode 100644
index 0000000000000000000000000000000000000000..97401ba27968bdb28cdf8f5aad8d136acb8283fd
--- /dev/null
+++ b/remoting/client/ios/session/remoting_client_session_delegate.mm
@@ -0,0 +1,79 @@
+// Copyright 2017 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.
+
+#if !defined(__has_feature) || !__has_feature(objc_arc)
+#error "This file requires ARC support."
+#endif
+
+#import "remoting/client/ios/session/remoting_client_session_delegate.h"
+
+#include "base/strings/sys_string_conversions.h"
+#include "remoting/client/chromoting_client_runtime.h"
+
+using base::SysUTF8ToNSString;
+
+namespace remoting {
+
+RemotingClientSessonDelegate::RemotingClientSessonDelegate(
+ RemotingClient* client)
+ : client_(client), weak_factory_(this) {
+ runtime_ = ChromotingClientRuntime::GetInstance();
+}
+
+RemotingClientSessonDelegate::~RemotingClientSessonDelegate() {
+ client_ = nil;
+}
+
+void RemotingClientSessonDelegate::OnConnectionState(
+ protocol::ConnectionToHost::State state,
+ protocol::ErrorCode error) {
+ DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread());
+
+ [client_ onConnectionState:state error:error];
+}
+
+void RemotingClientSessonDelegate::CommitPairingCredentials(
+ const std::string& host,
+ const std::string& id,
+ const std::string& secret) {
+ DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread());
+
+ [client_ commitPairingCredentialsForHost:SysUTF8ToNSString(host)
+ id:SysUTF8ToNSString(id)
+ secret:SysUTF8ToNSString(secret)];
+}
+
+void RemotingClientSessonDelegate::FetchThirdPartyToken(
+ const std::string& token_url,
+ const std::string& client_id,
+ const std::string& scope) {
+ DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread());
+
+ [client_ fetchThirdPartyTokenForUrl:SysUTF8ToNSString(token_url)
+ clientId:SysUTF8ToNSString(client_id)
+ scope:SysUTF8ToNSString(scope)];
+}
+
+void RemotingClientSessonDelegate::SetCapabilities(
+ const std::string& capabilities) {
+ DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread());
+
+ [client_ setCapabilities:SysUTF8ToNSString(capabilities)];
+}
+
+void RemotingClientSessonDelegate::HandleExtensionMessage(
+ const std::string& type,
+ const std::string& message) {
+ DCHECK(runtime_->ui_task_runner()->BelongsToCurrentThread());
+
+ [client_ handleExtensionMessageOfType:SysUTF8ToNSString(type)
+ message:SysUTF8ToNSString(message)];
+}
+
+base::WeakPtr<RemotingClientSessonDelegate>
+RemotingClientSessonDelegate::GetWeakPtr() {
+ return weak_factory_.GetWeakPtr();
+}
+
+} // namespace remoting

Powered by Google App Engine
This is Rietveld 408576698