11#import <Foundation/Foundation.h>
12#import <UIKit/UIKit.h>
14#include <freerdp/freerdp.h>
23extern NSString *TSXSessionDidDisconnectNotification;
24extern NSString *TSXSessionDidFailToConnectNotification;
27@protocol RDPSessionDelegate <NSObject>
29- (void)session:(
RDPSession *)session didFailToConnect:(
int)reason;
30- (void)sessionWillConnect:(
RDPSession *)session;
31- (void)sessionDidConnect:(
RDPSession *)session;
32- (void)sessionWillDisconnect:(
RDPSession *)session;
33- (void)sessionDidDisconnect:(
RDPSession *)session;
34- (void)sessionWillReconnect:(
RDPSession *)session;
35- (void)sessionDidReconnect:(
RDPSession *)session;
36- (void)sessionBitmapContextWillChange:(
RDPSession *)session;
37- (void)sessionBitmapContextDidChange:(
RDPSession *)session;
38- (void)session:(
RDPSession *)session needsRedrawInRect:(CGRect)rect;
40- (void)session:(
RDPSession *)session didMoveRemoteCursor:(CGPoint)position;
41- (void)sessionDidHideRemoteCursor:(
RDPSession *)session;
42- (void)sessionDidSetDefaultRemoteCursor:(
RDPSession *)session;
43- (void)session:(
RDPSession *)session didChangeRemoteClipboardText:(NSString *)text;
44- (CGSize)sizeForFitScreenForSession:(
RDPSession *)session;
47 requestsAuthenticationWithParams:(NSMutableDictionary *)params;
48- (void)session:(
RDPSession *)session verifyCertificateWithParams:(NSMutableDictionary *)params;
49- (void)session:(
RDPSession *)session requestsClipboardTextWithParams:(NSMutableDictionary *)params;
63 NSObject<RDPSessionDelegate> *_delegate;
65 NSCondition *_ui_request_completed;
73 BOOL _toolbar_visible;
78@property(assign) id<RDPSessionDelegate> delegate;
79@property(assign) BOOL toolbarVisible;
80@property(readonly) CGContextRef bitmapContext;
81@property(readonly) NSCondition *uiRequestCompleted;
86#pragma mark - session control functions
104- (void)sendInputEvent:(NSDictionary *)event;
107- (void)sendClipboardHasText:(BOOL)hasText;
110- (void)setNeedsDisplayInRectAsValue:(NSValue *)rect_value;
113- (void)setRemoteCursor:(
RDPCursor *)cursor;
114- (void)setRemoteCursorPositionValue:(NSValue *)positionValue;
115- (void)hideRemoteCursor;
116- (void)setDefaultRemoteCursor;
119- (void)setRemoteClipboardText:(NSString *)text;
122- (UIImage *)getScreenshotWithSize:(CGSize)size;
125- (rdpSettings *)getSessionParams;
128- (NSString *)sessionName;