Blame client/iOS/Models/RDPSession.h

Packit Service fa4841
/*
Packit Service fa4841
 RDP Session object
Packit Service fa4841
Packit Service fa4841
 Copyright 2013 Thincast Technologies GmbH, Authors: Martin Fleisz, Dorian Johnson
Packit Service fa4841
Packit Service fa4841
 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
Packit Service fa4841
 If a copy of the MPL was not distributed with this file, You can obtain one at
Packit Service fa4841
 http://mozilla.org/MPL/2.0/.
Packit Service fa4841
 */
Packit Service fa4841
Packit Service fa4841
#import <Foundation/Foundation.h>
Packit Service fa4841
#import <UIKit/UIKit.h>
Packit Service fa4841
Packit Service fa4841
#include <freerdp/freerdp.h>
Packit Service fa4841
Packit Service fa4841
// forward declaration
Packit Service fa4841
@class RDPSession;
Packit Service fa4841
@class ComputerBookmark;
Packit Service fa4841
@class ConnectionParams;
Packit Service fa4841
Packit Service fa4841
// notification handler for session disconnect
Packit Service fa4841
extern NSString *TSXSessionDidDisconnectNotification;
Packit Service fa4841
extern NSString *TSXSessionDidFailToConnectNotification;
Packit Service fa4841
Packit Service fa4841
// protocol for session notifications
Packit Service fa4841
@protocol RDPSessionDelegate <NSObject>
Packit Service fa4841
@optional
Packit Service fa4841
- (void)session:(RDPSession *)session didFailToConnect:(int)reason;
Packit Service fa4841
- (void)sessionWillConnect:(RDPSession *)session;
Packit Service fa4841
- (void)sessionDidConnect:(RDPSession *)session;
Packit Service fa4841
- (void)sessionWillDisconnect:(RDPSession *)session;
Packit Service fa4841
- (void)sessionDidDisconnect:(RDPSession *)session;
Packit Service fa4841
- (void)sessionBitmapContextWillChange:(RDPSession *)session;
Packit Service fa4841
- (void)sessionBitmapContextDidChange:(RDPSession *)session;
Packit Service fa4841
- (void)session:(RDPSession *)session needsRedrawInRect:(CGRect)rect;
Packit Service fa4841
- (CGSize)sizeForFitScreenForSession:(RDPSession *)session;
Packit Service fa4841
Packit Service fa4841
- (void)session:(RDPSession *)session
Packit Service fa4841
    requestsAuthenticationWithParams:(NSMutableDictionary *)params;
Packit Service fa4841
- (void)session:(RDPSession *)session verifyCertificateWithParams:(NSMutableDictionary *)params;
Packit Service fa4841
Packit Service fa4841
@end
Packit Service fa4841
Packit Service fa4841
// rdp session
Packit Service fa4841
@interface RDPSession : NSObject
Packit Service fa4841
{
Packit Service fa4841
  @private
Packit Service fa4841
	freerdp *_freerdp;
Packit Service fa4841
Packit Service fa4841
	ComputerBookmark *_bookmark;
Packit Service fa4841
Packit Service fa4841
	ConnectionParams *_params;
Packit Service fa4841
Packit Service fa4841
	NSObject<RDPSessionDelegate> *_delegate;
Packit Service fa4841
Packit Service fa4841
	NSCondition *_ui_request_completed;
Packit Service fa4841
Packit Service fa4841
	NSString *_name;
Packit Service fa4841
Packit Service fa4841
	// flag if the session is suspended
Packit Service fa4841
	BOOL _suspended;
Packit Service fa4841
Packit Service fa4841
	// flag that specifies whether the RDP toolbar is visible
Packit Service fa4841
	BOOL _toolbar_visible;
Packit Service fa4841
}
Packit Service fa4841
Packit Service fa4841
@property(readonly) ConnectionParams *params;
Packit Service fa4841
@property(readonly) ComputerBookmark *bookmark;
Packit Service fa4841
@property(assign) id<RDPSessionDelegate> delegate;
Packit Service fa4841
@property(assign) BOOL toolbarVisible;
Packit Service fa4841
@property(readonly) CGContextRef bitmapContext;
Packit Service fa4841
@property(readonly) NSCondition *uiRequestCompleted;
Packit Service fa4841
Packit Service fa4841
// initialize a new session with the given bookmark
Packit Service fa4841
- (id)initWithBookmark:(ComputerBookmark *)bookmark;
Packit Service fa4841
Packit Service fa4841
#pragma mark - session control functions
Packit Service fa4841
Packit Service fa4841
// connect the session
Packit Service fa4841
- (void)connect;
Packit Service fa4841
Packit Service fa4841
// disconnect session
Packit Service fa4841
- (void)disconnect;
Packit Service fa4841
Packit Service fa4841
// suspends the session
Packit Service fa4841
- (void)suspend;
Packit Service fa4841
Packit Service fa4841
// resumes a previously suspended session
Packit Service fa4841
- (void)resume;
Packit Service fa4841
Packit Service fa4841
// returns YES if the session is started
Packit Service fa4841
- (BOOL)isSuspended;
Packit Service fa4841
Packit Service fa4841
// send input event to the server
Packit Service fa4841
- (void)sendInputEvent:(NSDictionary *)event;
Packit Service fa4841
Packit Service fa4841
// session needs a refresh of its view
Packit Service fa4841
- (void)setNeedsDisplayInRectAsValue:(NSValue *)rect_value;
Packit Service fa4841
Packit Service fa4841
// get a small session screenshot
Packit Service fa4841
- (UIImage *)getScreenshotWithSize:(CGSize)size;
Packit Service fa4841
Packit Service fa4841
// returns the session's current paramters
Packit Service fa4841
- (rdpSettings *)getSessionParams;
Packit Service fa4841
Packit Service fa4841
// returns the session's name (usually the label of the bookmark the session was created with)
Packit Service fa4841
- (NSString *)sessionName;
Packit Service fa4841
Packit Service fa4841
@end