Blame client/iOS/FreeRDP/ios_freerdp.h

Packit 1fb8d4
/*
Packit 1fb8d4
 RDP run-loop
Packit 1fb8d4
 
Packit 1fb8d4
 Copyright 2013 Thincast Technologies GmbH, Authors: Martin Fleisz, Dorian Johnson
Packit 1fb8d4
 
Packit 1fb8d4
 This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
Packit 1fb8d4
 If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
Packit 1fb8d4
 */
Packit 1fb8d4
Packit 1fb8d4
#import <CoreGraphics/CoreGraphics.h>
Packit 1fb8d4
Packit 1fb8d4
#import <freerdp/freerdp.h>
Packit 1fb8d4
#import <freerdp/channels/channels.h>
Packit 1fb8d4
#import "TSXTypes.h"
Packit 1fb8d4
Packit 1fb8d4
@class RDPSession, RDPSessionView;
Packit 1fb8d4
Packit 1fb8d4
// FreeRDP extended structs
Packit 1fb8d4
typedef struct mf_info mfInfo;
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
typedef struct mf_context
Packit 1fb8d4
{
Packit 1fb8d4
	rdpContext _p;
Packit 1fb8d4
	
Packit 1fb8d4
	mfInfo* mfi;
Packit 1fb8d4
	rdpSettings* settings;
Packit 1fb8d4
} mfContext;
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
struct mf_info
Packit 1fb8d4
{
Packit 1fb8d4
	// RDP
Packit 1fb8d4
	freerdp* instance;
Packit 1fb8d4
	mfContext* context;
Packit 1fb8d4
	rdpContext* _context;
Packit 1fb8d4
	
Packit 1fb8d4
	// UI
Packit 1fb8d4
	RDPSession* session;
Packit 1fb8d4
	
Packit 1fb8d4
	// Graphics
Packit 1fb8d4
	CGContextRef bitmap_context;
Packit 1fb8d4
	
Packit 1fb8d4
	// Events
Packit 1fb8d4
	int event_pipe_producer, event_pipe_consumer;
Packit 1fb8d4
Packit 1fb8d4
	// Tracking connection state
Packit 1fb8d4
	volatile TSXConnectionState connection_state;
Packit 1fb8d4
	volatile BOOL unwanted; // set when controlling Session no longer wants the connection to continue
Packit 1fb8d4
};
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
#define MFI_FROM_INSTANCE(inst) (((mfContext*)((inst)->context))->mfi)
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
enum MF_EXIT_CODE
Packit 1fb8d4
{
Packit 1fb8d4
	MF_EXIT_SUCCESS = 0,
Packit 1fb8d4
Packit 1fb8d4
	MF_EXIT_CONN_FAILED = 128,
Packit 1fb8d4
	MF_EXIT_CONN_CANCELED = 129,
Packit 1fb8d4
    MF_EXIT_LOGON_TIMEOUT = 130,
Packit 1fb8d4
	
Packit 1fb8d4
	MF_EXIT_UNKNOWN = 255
Packit 1fb8d4
};
Packit 1fb8d4
Packit 1fb8d4
void ios_init_freerdp(void);
Packit 1fb8d4
void ios_uninit_freerdp(void);
Packit 1fb8d4
freerdp* ios_freerdp_new(void);
Packit 1fb8d4
int ios_run_freerdp(freerdp* instance);
Packit 1fb8d4
void ios_freerdp_free(freerdp* instance);
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4
Packit 1fb8d4