Blame client/iOS/Misc/Utils.h

Packit 1fb8d4
/*
Packit 1fb8d4
 Utility functions
Packit Service 5a9772
Packit 1fb8d4
 Copyright 2013 Thincast Technologies GmbH, Authors: Martin Fleisz, Dorian Johnson
Packit Service 5a9772
Packit Service 5a9772
 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
Packit Service 5a9772
 If a copy of the MPL was not distributed with this file, You can obtain one at
Packit Service 5a9772
 http://mozilla.org/MPL/2.0/.
Packit 1fb8d4
 */
Packit 1fb8d4
Packit 1fb8d4
#import <Foundation/Foundation.h>
Packit 1fb8d4
#import <CoreGraphics/CoreGraphics.h>
Packit 1fb8d4
#import "TSXTypes.h"
Packit 1fb8d4
Packit Service 5a9772
// helper macro to encode a table path into a tag value (used to identify controls in their delegate
Packit Service 5a9772
// handlers)
Packit 1fb8d4
#define GET_TAG(section, row) ((((int)section) << 16) | ((int)(row)))
Packit 1fb8d4
#define GET_TAG_FROM_PATH(path) ((((int)path.section) << 16) | ((int)(path.row)))
Packit 1fb8d4
Packit Service 5a9772
BOOL ScanHostNameAndPort(NSString *address, NSString **host, unsigned short *port);
Packit 1fb8d4
Packit 1fb8d4
#pragma mark -
Packit 1fb8d4
#pragma mark Screen Resolutions
Packit 1fb8d4
Packit Service 5a9772
NSString *ScreenResolutionDescription(TSXScreenOptions type, int width, int height);
Packit Service 5a9772
BOOL ScanScreenResolution(NSString *description, int *width, int *height, TSXScreenOptions *type);
Packit 1fb8d4
Packit Service 5a9772
NSDictionary *SelectionForColorSetting(void);
Packit Service 5a9772
NSArray *ResolutionModes(void);
Packit 1fb8d4
Packit 1fb8d4
#pragma mark Security Protocol
Packit 1fb8d4
Packit Service 5a9772
NSString *ProtocolSecurityDescription(TSXProtocolSecurityOptions type);
Packit Service 5a9772
BOOL ScanProtocolSecurity(NSString *description, TSXProtocolSecurityOptions *type);
Packit Service 5a9772
NSDictionary *SelectionForSecuritySetting(void);
Packit 1fb8d4
Packit 1fb8d4
#pragma mark Bookmarks
Packit 1fb8d4
@class BookmarkBase;
Packit Service 5a9772
NSMutableArray *FilterBookmarks(NSArray *bookmarks, NSArray *filter_words);
Packit Service 5a9772
NSMutableArray *FilterHistory(NSArray *history, NSString *filterStr);
Packit 1fb8d4
Packit 1fb8d4
#pragma mark iPad/iPhone detection
Packit 1fb8d4
Packit 1fb8d4
BOOL IsPad(void);
Packit 1fb8d4
BOOL IsPhone(void);
Packit 1fb8d4
Packit 1fb8d4
#pragma mark Version Info
Packit Service 5a9772
NSString *TSXAppFullVersion(void);
Packit 1fb8d4
Packit 1fb8d4
#pragma mark Touch/Mouse handling
Packit 1fb8d4
Packit 1fb8d4
// set mouse buttons swapped flag
Packit 1fb8d4
void SetSwapMouseButtonsFlag(BOOL swapped);
Packit 1fb8d4
Packit 1fb8d4
// set invert scrolling flag
Packit 1fb8d4
void SetInvertScrollingFlag(BOOL invert);
Packit 1fb8d4
Packit Service 5a9772
// return event value for left mouse button
Packit 1fb8d4
int GetLeftMouseButtonClickEvent(BOOL down);
Packit 1fb8d4
Packit Service 5a9772
// return event value for right mouse button
Packit 1fb8d4
int GetRightMouseButtonClickEvent(BOOL down);
Packit 1fb8d4
Packit 1fb8d4
// return event value for mouse move event
Packit 1fb8d4
int GetMouseMoveEvent(void);
Packit 1fb8d4
Packit 1fb8d4
// return mouse wheel event
Packit 1fb8d4
int GetMouseWheelEvent(BOOL down);
Packit 1fb8d4
Packit 1fb8d4
// scrolling gesture detection delta
Packit 1fb8d4
CGFloat GetScrollGestureDelta(void);
Packit 1fb8d4
Packit 1fb8d4
#pragma mark Connectivity tools
Packit 1fb8d4
// activates the iphone's WWAN interface in case it is offline
Packit 1fb8d4
void WakeUpWWAN(void);
Packit 1fb8d4
Packit 1fb8d4
#pragma mark System Info functions
Packit Service 5a9772
NSString *TSXGetPlatform(void);
Packit 1fb8d4
BOOL TSXDeviceHasJailBreak(void);
Packit Service 5a9772
NSString *TSXGetPrimaryMACAddress(NSString *sep);