FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
RDPSessionViewController.h
1/*
2 RDP Session View Controller
3
4 Copyright 2013 Thincast Technologies GmbH, Author: Martin Fleisz
5
6 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
7 If a copy of the MPL was not distributed with this file, You can obtain one at
8 http://mozilla.org/MPL/2.0/.
9 */
10
11#import <UIKit/UIKit.h>
12#import "RDPSession.h"
13#import "RDPKeyboard.h"
14#import "RDPSessionView.h"
15#import "TouchPointerView.h"
16#import "AdvancedKeyboardView.h"
17
19 : UIViewController <RDPSessionDelegate, TouchPointerDelegate, AdvancedKeyboardDelegate,
20 RDPKeyboardDelegate, UIScrollViewDelegate, UITextFieldDelegate>
21{
22 // scrollview that hosts the rdp session view
23 IBOutlet UIScrollView *_session_scrollview;
24
25 // rdp session view
26 IBOutlet RDPSessionView *_session_view;
27
28 // touch pointer view
29 IBOutlet TouchPointerView *_touchpointer_view;
30 BOOL _autoscroll_with_touchpointer;
31 BOOL _is_autoscrolling;
32
33 // rdp session toolbar
34 IBOutlet UIToolbar *_session_toolbar;
35 BOOL _session_toolbar_visible;
36
37 // dummy text field used to display the keyboard
38 IBOutlet UITextField *_dummy_textfield;
39
40 // connecting view and the controls within that view
41 IBOutlet UIView *_connecting_view;
42 IBOutlet UILabel *_lbl_connecting;
43 IBOutlet UIActivityIndicatorView *_connecting_indicator_view;
44 IBOutlet UIButton *_cancel_connect_button;
45
46 // extended keyboard toolbar
47 UIToolbar *_keyboard_toolbar;
48
49 // rdp session
50 RDPSession *_session;
51 BOOL _session_initilized;
52
53 // flag that indicates whether the keyboard is visible or not
54 BOOL _keyboard_visible;
55
56 // flag to switch between left/right mouse button mode
57 BOOL _toggle_mouse_button;
58
59 // keyboard extension view
60 AdvancedKeyboardView *_advanced_keyboard_view;
61 BOOL _advanced_keyboard_visible;
62 BOOL _requesting_advanced_keyboard;
63 CGFloat _keyboard_last_height;
64
65 // delayed mouse move event sending
66 NSTimer *_mouse_move_event_timer;
67 int _mouse_move_events_skipped;
68 CGPoint _prev_long_press_position;
69}
70
71- (id)initWithNibName:(NSString *)nibNameOrNil
72 bundle:(NSBundle *)nibBundleOrNil
73 session:(RDPSession *)session;
74
75@end