2012-11-18 09:08:03 +04:00
|
|
|
/**
|
|
|
|
* FreeRDP: A Remote Desktop Protocol Implementation
|
|
|
|
* Settings Management
|
|
|
|
*
|
|
|
|
* Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
|
|
|
|
*
|
|
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
|
|
* you may not use this file except in compliance with the License.
|
|
|
|
* You may obtain a copy of the License at
|
|
|
|
*
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
*
|
|
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
|
|
* See the License for the specific language governing permissions and
|
|
|
|
* limitations under the License.
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
|
|
#include "config.h"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include <string.h>
|
|
|
|
|
|
|
|
#include <freerdp/settings.h>
|
|
|
|
|
|
|
|
void freerdp_device_collection_add(rdpSettings* settings, RDPDR_DEVICE* device)
|
|
|
|
{
|
|
|
|
if (settings->DeviceArraySize < (settings->DeviceCount + 1))
|
|
|
|
{
|
|
|
|
settings->DeviceArraySize *= 2;
|
|
|
|
settings->DeviceArray = (RDPDR_DEVICE**) realloc(settings->DeviceArray, settings->DeviceArraySize);
|
|
|
|
}
|
|
|
|
|
|
|
|
settings->DeviceArray[settings->DeviceCount++] = device;
|
|
|
|
}
|
|
|
|
|
2012-11-19 02:32:18 +04:00
|
|
|
void freerdp_static_channel_collection_add(rdpSettings* settings, ADDIN_ARGV* channel)
|
2012-11-18 09:08:03 +04:00
|
|
|
{
|
|
|
|
if (settings->StaticChannelArraySize < (settings->StaticChannelCount + 1))
|
|
|
|
{
|
|
|
|
settings->StaticChannelArraySize *= 2;
|
2012-11-19 02:32:18 +04:00
|
|
|
settings->StaticChannelArray = (ADDIN_ARGV**)
|
2012-11-18 09:08:03 +04:00
|
|
|
realloc(settings->StaticChannelArray, settings->StaticChannelArraySize);
|
|
|
|
}
|
|
|
|
|
|
|
|
settings->StaticChannelArray[settings->StaticChannelCount++] = channel;
|
|
|
|
}
|
|
|
|
|
2012-11-19 02:32:18 +04:00
|
|
|
void freerdp_dynamic_channel_collection_add(rdpSettings* settings, ADDIN_ARGV* channel)
|
2012-11-18 09:08:03 +04:00
|
|
|
{
|
|
|
|
if (settings->DynamicChannelArraySize < (settings->DynamicChannelCount + 1))
|
|
|
|
{
|
|
|
|
settings->DynamicChannelArraySize *= 2;
|
2012-11-19 02:32:18 +04:00
|
|
|
settings->DynamicChannelArray = (ADDIN_ARGV**)
|
2012-11-18 09:08:03 +04:00
|
|
|
realloc(settings->DynamicChannelArray, settings->DynamicChannelArraySize);
|
|
|
|
}
|
|
|
|
|
|
|
|
settings->DynamicChannelArray[settings->DynamicChannelCount++] = channel;
|
|
|
|
}
|