/*
Basic type defines for TSX RDC
Copyright 2013 Thincast Technologies GmbH, Authors: Martin Fleisz, Dorian Johnson
This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0.
If a copy of the MPL was not distributed with this file, You can obtain one at
http://mozilla.org/MPL/2.0/.
*/
#ifndef TSXRemoteDesktop_TSXTypes_h
#define TSXRemoteDesktop_TSXTypes_h
#pragma mark Internal state
// Represents the underlying state of a TWSession RDP connection.
typedef enum _TSXConnectionState
{
TSXConnectionClosed =
0, // Session either hasn't begun connecting, or its connection has finished disconnecting.
TSXConnectionConnecting =
1, // Session is in the process of establishing an RDP connection. A TCP or SSL connection
// might be established, but the RDP initialization sequence isn't finished.
TSXConnectionConnected =
2, // Session has a full RDP connection established; though if the windows computer doesn't
// support NLA, a login screen might be shown in the session.
TSXConnectionDisconnected = 3 // Session is disconnected at the RDP layer. TSX RDC might still
// be disposing of resources, however.
} TSXConnectionState;
#pragma mark Session settings
// Represents the type of screen resolution the user has selected. Most are dynamic sizes, meaning
// that the actual session dimensions are calculated when connecting.
typedef enum _TSXScreenOptions
{
TSXScreenOptionFixed = 0, // A static resolution, like 1024x768
TSXScreenOptionFitScreen = 1, // Upon connection, fit the session to the entire screen size
TSXScreenOptionCustom = 2, // Like fixed just specified by the user
} TSXScreenOptions;
typedef enum _TSXAudioPlaybackOptions
{
TSXAudioPlaybackLocal = 0,
TSXAudioPlaybackServer = 1,
TSXAudioPlaybackSilent = 2
} TSXAudioPlaybackOptions;
typedef enum _TSXProtocolSecurityOptions
{
TSXProtocolSecurityAutomatic = 0,
TSXProtocolSecurityRDP = 1,
TSXProtocolSecurityTLS = 2,
TSXProtocolSecurityNLA = 3
} TSXProtocolSecurityOptions;
#endif