#ifndef REMOTING_IOS_SESSION_REMOTING_CLIENT_H_
#define REMOTING_IOS_SESSION_REMOTING_CLIENT_H_
#import <CoreGraphics/CoreGraphics.h>
#import <Foundation/Foundation.h>
#import "remoting/ios/display/gl_display_handler.h"
#include "remoting/base/chromoting_event.h"
#include "remoting/client/feedback_data.h"
#include "remoting/protocol/client_authentication_config.h"
#include "remoting/protocol/connection_to_host.h"
namespace remoting {
class GestureInterpreter;
class KeyboardInterpreter;
}
@class HostInfo;
@class GlDisplayHandler;
extern NSString* const kHostSessionStatusChanged;
extern NSString* const kHostSessionPinProvided;
extern NSString* const kSessionDetails;
extern NSString* const kSessionSupportsPairing;
extern NSString* const kSessionStateErrorCode;
extern NSString* const kHostSessionCreatePairing;
extern NSString* const kHostSessionHostName;
extern NSString* const kHostSessionPin;
@interface RemotingClient : NSObject<GlDisplayHandlerDelegate>
- (void)connectToHost:(HostInfo*)hostInfo
username:(NSString*)username
accessToken:(NSString*)accessToken
entryPoint:(remoting::ChromotingEvent::SessionEntryPoint)entryPoint;
- (void)disconnectFromHost;
- (void)onConnectionState:(remoting::protocol::ConnectionToHost::State)state
error:(remoting::protocol::ErrorCode)error;
- (void)commitPairingCredentialsForHost:(NSString*)host
id:(NSString*)id
secret:(NSString*)secret;
- (void)
fetchSecretWithPairingSupported:(BOOL)pairingSupported
callback:
(const remoting::protocol::SecretFetchedCallback&)
secretFetchedCallback;
- (void)fetchThirdPartyTokenForUrl:(NSString*)tokenUrl
clientId:(NSString*)clinetId
scopes:(NSString*)scopes
callback:(const remoting::protocol::
ThirdPartyTokenFetchedCallback&)
tokenFetchedCallback;
- (void)setCapabilities:(NSString*)capabilities;
- (void)handleExtensionMessageOfType:(NSString*)type message:(NSString*)message;
- (void)setHostResolution:(CGSize)dipsResolution scale:(int)scale;
- (void)setVideoChannelEnabled:(BOOL)enabled;
- (void)createFeedbackDataWithCallback:
(void (^)(const remoting::FeedbackData&))callback;
@property(nonatomic, strong) GlDisplayHandler* displayHandler;
@property(nonatomic, readonly) HostInfo* hostInfo;
@property(nonatomic, readonly) remoting::GestureInterpreter* gestureInterpreter;
@property(nonatomic, readonly)
remoting::KeyboardInterpreter* keyboardInterpreter;
@end
#endif