| OLD | NEW |
| (Empty) |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef REMOTING_CLIENT_IOS_SESSION_REMOTING_CLIENT_H_ | |
| 6 #define REMOTING_CLIENT_IOS_SESSION_REMOTING_CLIENT_H_ | |
| 7 | |
| 8 #import <Foundation/Foundation.h> | |
| 9 | |
| 10 #import "remoting/client/ios/display/gl_display_handler.h" | |
| 11 | |
| 12 #include "remoting/protocol/connection_to_host.h" | |
| 13 | |
| 14 namespace remoting { | |
| 15 | |
| 16 class GestureInterpreter; | |
| 17 | |
| 18 } // namespace remoting | |
| 19 | |
| 20 @class HostInfo; | |
| 21 @class GlDisplayHandler; | |
| 22 | |
| 23 // A list of notifications that will be sent out for different types of Remoting | |
| 24 // Client events. | |
| 25 // | |
| 26 extern NSString* const kHostSessionStatusChanged; | |
| 27 extern NSString* const kHostSessionPinProvided; | |
| 28 | |
| 29 // List of keys in user info from events. | |
| 30 extern NSString* const kSessionDetails; | |
| 31 extern NSString* const kSessonStateErrorCode; | |
| 32 extern NSString* const kHostSessionPin; | |
| 33 | |
| 34 // Remoting Client is the entry point for starting a session with a remote | |
| 35 // host. This object should not be reused. Remoting Client will use the default | |
| 36 // NSNotificationCenter to signal session state changes using the key | |
| 37 // |kHostSessionStatusChanged|. It expects to receive an event back on | |
| 38 // |kHostSessionPinProvided| when the session is asking for a PIN authenication. | |
| 39 @interface RemotingClient : NSObject<GlDisplayHandlerDelegate> | |
| 40 | |
| 41 // Connect to a given host. | |
| 42 // |hostInfo| is all the details around a host. | |
| 43 // |username| is the username to be used when connecting. | |
| 44 // |accessToken| is the oAuth access token to provided to create the session. | |
| 45 - (void)connectToHost:(HostInfo*)hostInfo | |
| 46 username:(NSString*)username | |
| 47 accessToken:(NSString*)accessToken; | |
| 48 | |
| 49 // Disconnect the current host connection. | |
| 50 - (void)disconnectFromHost; | |
| 51 | |
| 52 // Mirrors the native client session delegate interface: | |
| 53 | |
| 54 - (void)onConnectionState:(remoting::protocol::ConnectionToHost::State)state | |
| 55 error:(remoting::protocol::ErrorCode)error; | |
| 56 | |
| 57 - (void)commitPairingCredentialsForHost:(NSString*)host | |
| 58 id:(NSString*)id | |
| 59 secret:(NSString*)secret; | |
| 60 | |
| 61 - (void)fetchThirdPartyTokenForUrl:(NSString*)tokenUrl | |
| 62 clientId:(NSString*)clinetId | |
| 63 scope:(NSString*)scope; | |
| 64 | |
| 65 - (void)setCapabilities:(NSString*)capabilities; | |
| 66 | |
| 67 - (void)handleExtensionMessageOfType:(NSString*)type message:(NSString*)message; | |
| 68 | |
| 69 // Notifies all components that the frame of the surface has changed. | |
| 70 - (void)surfaceChanged:(const CGRect&)frame; | |
| 71 | |
| 72 // The display handler tied to the remoting client used to display the host. | |
| 73 @property(nonatomic, strong) GlDisplayHandler* displayHandler; | |
| 74 // The host info used to make the remoting client connection. | |
| 75 @property(nonatomic, readonly) HostInfo* hostInfo; | |
| 76 // The gesture interpreter used to handle gestures. | |
| 77 // This is valid only after the client has connected to the host. Always use | |
| 78 // RemotingClient.gestureInterpreter instead of storing the pointer separately. | |
| 79 @property(nonatomic, readonly) remoting::GestureInterpreter* gestureInterpreter; | |
| 80 | |
| 81 @end | |
| 82 | |
| 83 #endif // REMOTING_CLIENT_IOS_SESSION_REMOTING_CLIENT_H_ | |
| OLD | NEW |