Added TcpKeepalive setting, use settings getter const arguments.

This commit is contained in:
Armin Novak 2019-11-07 12:39:22 +01:00
parent 02614cce49
commit 7db4f69cb6
5 changed files with 107 additions and 94 deletions

View File

@ -880,6 +880,7 @@ typedef struct _RDPDR_PARALLEL RDPDR_PARALLEL;
#define FreeRDP_SupportSSHAgentChannel (5187)
#define FreeRDP_SupportVideoOptimized (5188)
#define FreeRDP_RDP2TCPArgs (5189)
#define FreeRDP_TcpKeepAlive (5190)
/**
* FreeRDP Settings Data Structure
@ -1520,7 +1521,8 @@ struct rdp_settings
ALIGN64 BOOL SupportSSHAgentChannel; /* 5187 */
ALIGN64 BOOL SupportVideoOptimized; /* 5188 */
ALIGN64 char* RDP2TCPArgs; /* 5189 */
UINT64 padding5312[5312 - 5190]; /* 5190 */
ALIGN64 BOOL TcpKeepAlive; /* 5190 */
UINT64 padding5312[5312 - 5191]; /* 5191 */
/**
* WARNING: End of ABI stable zone!
@ -1603,52 +1605,55 @@ extern "C"
* the functions freerdp_get_param_* and freerdp_set_param_* are deprecated.
* use freerdp_settings_get_* and freerdp_settings_set_* as a replacement!
*/
FREERDP_API WINPR_DEPRECATED(BOOL freerdp_get_param_bool(rdpSettings* settings, int id));
FREERDP_API WINPR_DEPRECATED(BOOL freerdp_get_param_bool(const rdpSettings* settings, int id));
FREERDP_API WINPR_DEPRECATED(int freerdp_set_param_bool(rdpSettings* settings, int id,
BOOL param));
FREERDP_API WINPR_DEPRECATED(int freerdp_get_param_int(rdpSettings* settings, int id));
FREERDP_API WINPR_DEPRECATED(int freerdp_get_param_int(const rdpSettings* settings, int id));
FREERDP_API WINPR_DEPRECATED(int freerdp_set_param_int(rdpSettings* settings, int id,
int param));
FREERDP_API WINPR_DEPRECATED(UINT32 freerdp_get_param_uint32(rdpSettings* settings, int id));
FREERDP_API WINPR_DEPRECATED(UINT32 freerdp_get_param_uint32(const rdpSettings* settings,
int id));
FREERDP_API WINPR_DEPRECATED(int freerdp_set_param_uint32(rdpSettings* settings, int id,
UINT32 param));
FREERDP_API WINPR_DEPRECATED(UINT64 freerdp_get_param_uint64(rdpSettings* settings, int id));
FREERDP_API WINPR_DEPRECATED(UINT64 freerdp_get_param_uint64(const rdpSettings* settings,
int id));
FREERDP_API WINPR_DEPRECATED(int freerdp_set_param_uint64(rdpSettings* settings, int id,
UINT64 param));
FREERDP_API WINPR_DEPRECATED(char* freerdp_get_param_string(rdpSettings* settings, int id));
FREERDP_API WINPR_DEPRECATED(char* freerdp_get_param_string(const rdpSettings* settings,
int id));
FREERDP_API WINPR_DEPRECATED(int freerdp_set_param_string(rdpSettings* settings, int id,
const char* param));
FREERDP_API BOOL freerdp_settings_get_bool(rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_get_bool(const rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_set_bool(rdpSettings* settings, size_t id, BOOL param);
FREERDP_API INT16 freerdp_settings_get_int16(rdpSettings* settings, size_t id);
FREERDP_API INT16 freerdp_settings_get_int16(const rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_set_int16(rdpSettings* settings, size_t id, INT16 param);
FREERDP_API UINT16 freerdp_settings_get_uint16(rdpSettings* settings, size_t id);
FREERDP_API UINT16 freerdp_settings_get_uint16(const rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_set_uint16(rdpSettings* settings, size_t id, UINT16 param);
FREERDP_API INT32 freerdp_settings_get_int32(rdpSettings* settings, size_t id);
FREERDP_API INT32 freerdp_settings_get_int32(const rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_set_int32(rdpSettings* settings, size_t id, INT32 param);
FREERDP_API UINT32 freerdp_settings_get_uint32(rdpSettings* settings, size_t id);
FREERDP_API UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_set_uint32(rdpSettings* settings, size_t id, UINT32 param);
FREERDP_API INT64 freerdp_settings_get_int64(rdpSettings* settings, size_t id);
FREERDP_API INT64 freerdp_settings_get_int64(const rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_set_int64(rdpSettings* settings, size_t id, INT64 param);
FREERDP_API UINT64 freerdp_settings_get_uint64(rdpSettings* settings, size_t id);
FREERDP_API UINT64 freerdp_settings_get_uint64(const rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_set_uint64(rdpSettings* settings, size_t id, UINT64 param);
FREERDP_API const char* freerdp_settings_get_string(rdpSettings* settings, size_t id);
FREERDP_API const char* freerdp_settings_get_string(const rdpSettings* settings, size_t id);
FREERDP_API BOOL freerdp_settings_set_string(rdpSettings* settings, size_t id,
const char* param);
FREERDP_API const void* freerdp_settings_get_pointer(rdpSettings* settings, size_t id);
FREERDP_API const void* freerdp_settings_get_pointer(const rdpSettings* settings, size_t id);
#ifdef __cplusplus
}

View File

@ -755,7 +755,7 @@ void freerdp_update_gateway_usage_method(rdpSettings* settings, UINT32 GatewayEn
freerdp_set_gateway_usage_method(settings, GatewayUsageMethod);
}
BOOL freerdp_get_param_bool(rdpSettings* settings, int id)
BOOL freerdp_get_param_bool(const rdpSettings* settings, int id)
{
return freerdp_settings_get_bool(settings, (size_t)id);
}
@ -765,7 +765,7 @@ int freerdp_set_param_bool(rdpSettings* settings, int id, BOOL param)
return freerdp_settings_set_bool(settings, (size_t)id, param) ? 0 : -1;
}
int freerdp_get_param_int(rdpSettings* settings, int id)
int freerdp_get_param_int(const rdpSettings* settings, int id)
{
return freerdp_settings_get_int32(settings, (size_t)id);
}
@ -775,7 +775,7 @@ int freerdp_set_param_int(rdpSettings* settings, int id, int param)
return freerdp_settings_set_int32(settings, (size_t)id, param) ? 0 : -1;
}
UINT32 freerdp_get_param_uint32(rdpSettings* settings, int id)
UINT32 freerdp_get_param_uint32(const rdpSettings* settings, int id)
{
return freerdp_settings_get_uint32(settings, (size_t)id);
}
@ -785,7 +785,7 @@ int freerdp_set_param_uint32(rdpSettings* settings, int id, UINT32 param)
return freerdp_settings_set_uint32(settings, (size_t)id, param) ? 0 : -1;
}
UINT64 freerdp_get_param_uint64(rdpSettings* settings, int id)
UINT64 freerdp_get_param_uint64(const rdpSettings* settings, int id)
{
return freerdp_settings_get_uint64(settings, (size_t)id);
}
@ -795,7 +795,7 @@ int freerdp_set_param_uint64(rdpSettings* settings, int id, UINT64 param)
return freerdp_settings_set_uint64(settings, (size_t)id, param) ? 0 : -1;
}
char* freerdp_get_param_string(rdpSettings* settings, int id)
char* freerdp_get_param_string(const rdpSettings* settings, int id)
{
return (char*)freerdp_settings_get_string(settings, (size_t)id);
}

View File

@ -5,7 +5,7 @@
#define TAG FREERDP_TAG("common.settings")
BOOL freerdp_settings_get_bool(rdpSettings* settings, size_t id)
BOOL freerdp_settings_get_bool(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -495,6 +495,9 @@ BOOL freerdp_settings_get_bool(rdpSettings* settings, size_t id)
case FreeRDP_SupportVideoOptimized:
return settings->SupportVideoOptimized;
case FreeRDP_TcpKeepAlive:
return settings->TcpKeepAlive;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
return FALSE;
@ -1152,6 +1155,10 @@ BOOL freerdp_settings_set_bool(rdpSettings* settings, size_t id, BOOL val)
settings->SupportVideoOptimized = val;
break;
case FreeRDP_TcpKeepAlive:
settings->TcpKeepAlive = val;
break;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
return FALSE;
@ -1159,7 +1166,7 @@ BOOL freerdp_settings_set_bool(rdpSettings* settings, size_t id, BOOL val)
return TRUE;
}
UINT16 freerdp_settings_get_uint16(rdpSettings* settings, size_t id)
UINT16 freerdp_settings_get_uint16(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -1200,7 +1207,7 @@ BOOL freerdp_settings_set_uint16(rdpSettings* settings, size_t id, UINT16 val)
return TRUE;
}
INT16 freerdp_settings_get_int16(rdpSettings* settings, size_t id)
INT16 freerdp_settings_get_int16(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -1227,7 +1234,7 @@ BOOL freerdp_settings_set_int16(rdpSettings* settings, size_t id, INT16 val)
return TRUE;
}
UINT32 freerdp_settings_get_uint32(rdpSettings* settings, size_t id)
UINT32 freerdp_settings_get_uint32(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -1996,7 +2003,7 @@ BOOL freerdp_settings_set_uint32(rdpSettings* settings, size_t id, UINT32 val)
return TRUE;
}
INT32 freerdp_settings_get_int32(rdpSettings* settings, size_t id)
INT32 freerdp_settings_get_int32(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -2037,7 +2044,7 @@ BOOL freerdp_settings_set_int32(rdpSettings* settings, size_t id, INT32 val)
return TRUE;
}
UINT64 freerdp_settings_get_uint64(rdpSettings* settings, size_t id)
UINT64 freerdp_settings_get_uint64(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -2071,7 +2078,7 @@ BOOL freerdp_settings_set_uint64(rdpSettings* settings, size_t id, UINT64 val)
return TRUE;
}
INT64 freerdp_settings_get_int64(rdpSettings* settings, size_t id)
INT64 freerdp_settings_get_int64(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -2098,7 +2105,7 @@ BOOL freerdp_settings_set_int64(rdpSettings* settings, size_t id, INT64 val)
return TRUE;
}
const char* freerdp_settings_get_string(rdpSettings* settings, size_t id)
const char* freerdp_settings_get_string(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -2645,7 +2652,7 @@ BOOL freerdp_settings_set_string(rdpSettings* settings, size_t id, const char* v
return TRUE;
}
const void* freerdp_settings_get_pointer(rdpSettings* settings, size_t id)
const void* freerdp_settings_get_pointer(const rdpSettings* settings, size_t id)
{
if (!settings)
return FALSE;
@ -2655,54 +2662,6 @@ const void* freerdp_settings_get_pointer(rdpSettings* settings, size_t id)
case FreeRDP_instance:
return settings->instance;
case FreeRDP_RdpServerCertificate:
return settings->RdpServerCertificate;
case FreeRDP_ServerAutoReconnectCookie:
return settings->ServerAutoReconnectCookie;
case FreeRDP_BitmapCacheV2CellInfo:
return settings->BitmapCacheV2CellInfo;
case FreeRDP_RdpServerRsaKey:
return settings->RdpServerRsaKey;
case FreeRDP_MonitorIds:
return settings->MonitorIds;
case FreeRDP_TargetNetPorts:
return settings->TargetNetPorts;
case FreeRDP_MonitorDefArray:
return settings->MonitorDefArray;
case FreeRDP_ChannelDefArray:
return settings->ChannelDefArray;
case FreeRDP_ClientAutoReconnectCookie:
return settings->ClientAutoReconnectCookie;
case FreeRDP_TargetNetAddresses:
return settings->TargetNetAddresses;
case FreeRDP_StaticChannelArray:
return settings->StaticChannelArray;
case FreeRDP_DynamicChannelArray:
return settings->DynamicChannelArray;
case FreeRDP_DeviceArray:
return settings->DeviceArray;
case FreeRDP_GlyphCache:
return settings->GlyphCache;
case FreeRDP_FragCache:
return settings->FragCache;
case FreeRDP_ClientTimeZone:
return settings->ClientTimeZone;
case FreeRDP_ServerRandom:
return settings->ServerRandom;
@ -2730,6 +2689,54 @@ const void* freerdp_settings_get_pointer(rdpSettings* settings, size_t id)
case FreeRDP_OrderSupport:
return settings->OrderSupport;
case FreeRDP_ChannelDefArray:
return settings->ChannelDefArray;
case FreeRDP_MonitorDefArray:
return settings->MonitorDefArray;
case FreeRDP_MonitorIds:
return settings->MonitorIds;
case FreeRDP_TargetNetPorts:
return settings->TargetNetPorts;
case FreeRDP_ClientAutoReconnectCookie:
return settings->ClientAutoReconnectCookie;
case FreeRDP_ServerAutoReconnectCookie:
return settings->ServerAutoReconnectCookie;
case FreeRDP_ClientTimeZone:
return settings->ClientTimeZone;
case FreeRDP_TargetNetAddresses:
return settings->TargetNetAddresses;
case FreeRDP_RdpServerRsaKey:
return settings->RdpServerRsaKey;
case FreeRDP_RdpServerCertificate:
return settings->RdpServerCertificate;
case FreeRDP_BitmapCacheV2CellInfo:
return settings->BitmapCacheV2CellInfo;
case FreeRDP_GlyphCache:
return settings->GlyphCache;
case FreeRDP_FragCache:
return settings->FragCache;
case FreeRDP_DeviceArray:
return settings->DeviceArray;
case FreeRDP_StaticChannelArray:
return settings->StaticChannelArray;
case FreeRDP_DynamicChannelArray:
return settings->DynamicChannelArray;
default:
WLog_ERR(TAG, "[%s] Invalid key index %" PRIuz, __FUNCTION__, id);
return FALSE;

View File

@ -164,6 +164,7 @@ static const size_t bool_list_indices[] = {
FreeRDP_SupportGeometryTracking,
FreeRDP_SupportSSHAgentChannel,
FreeRDP_SupportVideoOptimized,
FreeRDP_TcpKeepAlive,
};
#define have_uint16_list_indices
@ -364,18 +365,7 @@ static const size_t string_list_indices[] = {
#define have_pointer_list_indices
static const size_t pointer_list_indices[] = {
FreeRDP_StaticChannelArray,
FreeRDP_DynamicChannelArray,
FreeRDP_instance,
FreeRDP_RdpServerCertificate,
FreeRDP_MonitorIds,
FreeRDP_TargetNetPorts,
FreeRDP_DeviceArray,
FreeRDP_ClientAutoReconnectCookie,
FreeRDP_TargetNetAddresses,
FreeRDP_MonitorDefArray,
FreeRDP_BitmapCacheV2CellInfo,
FreeRDP_ServerAutoReconnectCookie,
FreeRDP_ServerRandom,
FreeRDP_ServerCertificate,
FreeRDP_ClientRandom,
@ -385,11 +375,22 @@ static const size_t pointer_list_indices[] = {
FreeRDP_Password51,
FreeRDP_ReceivedCapabilities,
FreeRDP_OrderSupport,
FreeRDP_ChannelDefArray,
FreeRDP_MonitorDefArray,
FreeRDP_MonitorIds,
FreeRDP_TargetNetPorts,
FreeRDP_ClientAutoReconnectCookie,
FreeRDP_ServerAutoReconnectCookie,
FreeRDP_ClientTimeZone,
FreeRDP_TargetNetAddresses,
FreeRDP_RdpServerRsaKey,
FreeRDP_RdpServerCertificate,
FreeRDP_BitmapCacheV2CellInfo,
FreeRDP_GlyphCache,
FreeRDP_FragCache,
FreeRDP_ClientTimeZone,
FreeRDP_ChannelDefArray,
FreeRDP_DeviceArray,
FreeRDP_StaticChannelArray,
FreeRDP_DynamicChannelArray,
};
#endif /* TEST_SETTINGS_PROPERTY_LISTS */

View File

@ -5,11 +5,11 @@ import sys
def get_values(entry_dict, entry_type):
values = []
if '*' == entry_type:
for key in entry_dict.keys():
for key in list(entry_dict.keys()):
if entry_type in key:
values += entry_dict[key]
entry_dict.pop(key, None)
elif entry_type in entry_dict:
elif entry_type in dict(entry_dict):
values = entry_dict[entry_type]
entry_dict.pop(entry_type, None)
return values
@ -43,7 +43,7 @@ def write_getter(f, entry_dict, entry_type, entry_name):
f.write('const ' + entry_type)
else:
f.write(entry_type)
f.write(' freerdp_settings_get_' + entry_name.lower() + '(rdpSettings* settings, size_t id)\n')
f.write(' freerdp_settings_get_' + entry_name.lower() + '(const rdpSettings* settings, size_t id)\n')
f.write('{\n')
f.write('\tif (!settings)\n')
f.write('\t\treturn FALSE;\n\n')
@ -103,7 +103,7 @@ print('begin parsing settings header')
try:
type_list = dict()
with open(name + "/../include/freerdp/settings.h", "rb") as f:
with open(name + "/../include/freerdp/settings.h", "r") as f:
lines = f.readlines()
started = False
for line in lines: