Blame client/iOS/Controllers/RDPSessionViewController.h

Packit Service fa4841
/*
Packit Service fa4841
 RDP Session View Controller
Packit Service b1ea74
Packit Service fa4841
 Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
Packit Service b1ea74
Packit Service b1ea74
 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
Packit Service b1ea74
 If a copy of the MPL was not distributed with this file, You can obtain one at
Packit Service b1ea74
 http://mozilla.org/MPL/2.0/.
Packit Service fa4841
 */
Packit Service fa4841
Packit Service fa4841
#import <UIKit/UIKit.h>
Packit Service fa4841
#import "RDPSession.h"
Packit Service fa4841
#import "RDPKeyboard.h"
Packit Service fa4841
#import "RDPSessionView.h"
Packit Service fa4841
#import "TouchPointerView.h"
Packit Service fa4841
#import "AdvancedKeyboardView.h"
Packit Service fa4841
Packit Service b1ea74
@interface RDPSessionViewController
Packit Service b1ea74
    : UIViewController 
Packit Service b1ea74
                        RDPKeyboardDelegate, UIScrollViewDelegate, UITextFieldDelegate>
Packit Service fa4841
{
Packit Service fa4841
	// scrollview that hosts the rdp session view
Packit Service b1ea74
	IBOutlet UIScrollView *_session_scrollview;
Packit Service b1ea74
Packit Service fa4841
	// rdp session view
Packit Service b1ea74
	IBOutlet RDPSessionView *_session_view;
Packit Service fa4841
Packit Service b1ea74
	// touch pointer view
Packit Service b1ea74
	IBOutlet TouchPointerView *_touchpointer_view;
Packit Service b1ea74
	BOOL _autoscroll_with_touchpointer;
Packit Service b1ea74
	BOOL _is_autoscrolling;
Packit Service fa4841
Packit Service fa4841
	// rdp session toolbar
Packit Service b1ea74
	IBOutlet UIToolbar *_session_toolbar;
Packit Service b1ea74
	BOOL _session_toolbar_visible;
Packit Service b1ea74
Packit Service fa4841
	// dummy text field used to display the keyboard
Packit Service b1ea74
	IBOutlet UITextField *_dummy_textfield;
Packit Service b1ea74
Packit Service b1ea74
	// connecting view and the controls within that view
Packit Service b1ea74
	IBOutlet UIView *_connecting_view;
Packit Service b1ea74
	IBOutlet UILabel *_lbl_connecting;
Packit Service b1ea74
	IBOutlet UIActivityIndicatorView *_connecting_indicator_view;
Packit Service b1ea74
	IBOutlet UIButton *_cancel_connect_button;
Packit Service b1ea74
Packit Service b1ea74
	// extended keyboard toolbar
Packit Service b1ea74
	UIToolbar *_keyboard_toolbar;
Packit Service b1ea74
Packit Service b1ea74
	// rdp session
Packit Service b1ea74
	RDPSession *_session;
Packit Service b1ea74
	BOOL _session_initilized;
Packit Service b1ea74
Packit Service fa4841
	// flag that indicates whether the keyboard is visible or not
Packit Service fa4841
	BOOL _keyboard_visible;
Packit Service b1ea74
Packit Service b1ea74
	// flag to switch between left/right mouse button mode
Packit Service b1ea74
	BOOL _toggle_mouse_button;
Packit Service b1ea74
Packit Service b1ea74
	// keyboard extension view
Packit Service b1ea74
	AdvancedKeyboardView *_advanced_keyboard_view;
Packit Service b1ea74
	BOOL _advanced_keyboard_visible;
Packit Service b1ea74
	BOOL _requesting_advanced_keyboard;
Packit Service b1ea74
	CGFloat _keyboard_last_height;
Packit Service b1ea74
Packit Service b1ea74
	// delayed mouse move event sending
Packit Service b1ea74
	NSTimer *_mouse_move_event_timer;
Packit Service b1ea74
	int _mouse_move_events_skipped;
Packit Service b1ea74
	CGPoint _prev_long_press_position;
Packit Service fa4841
}
Packit Service fa4841
Packit Service b1ea74
- (id)initWithNibName:(NSString *)nibNameOrNil
Packit Service b1ea74
               bundle:(NSBundle *)nibBundleOrNil
Packit Service b1ea74
              session:(RDPSession *)session;
Packit Service fa4841
Packit Service fa4841
@end