示例#1
0
rdpRdp* rdp_new(freerdp* instance)
{
	rdpRdp* rdp;

	rdp = (rdpRdp*) xzalloc(sizeof(rdpRdp));

	if (rdp != NULL)
	{
		rdp->instance = instance;
		rdp->settings = settings_new((void*) instance);
		if (instance != NULL)
			instance->settings = rdp->settings;

		rdp->transport   = transport_new(rdp->settings);
		rdp->license     = license_new(rdp);
//		rdp->input       = input_new(rdp);
//		rdp->update      = update_new(rdp);
		rdp->fastpath    = fastpath_new(rdp);
		rdp->nego        = nego_new(rdp->transport);
		rdp->mcs         = mcs_new(rdp->transport);
		rdp->redirection = redirection_new();
		rdp->mppc        = mppc_new(rdp);
	}

	return rdp;
}
示例#2
0
void test_gcc_write_client_cluster_data(void)
{
	STREAM* s;
	rdpSettings* settings;

	s = stream_new(12);
	settings = settings_new();

	gcc_write_client_cluster_data(s, settings);

	ASSERT_STREAM(s, (uint8*) gcc_client_cluster_data_expected, sizeof(gcc_client_cluster_data_expected));
}
示例#3
0
void test_gcc_write_client_security_data(void)
{
	STREAM* s;
	rdpSettings* settings;

	s = stream_new(12);
	settings = settings_new();

	settings->encryption_method =
			ENCRYPTION_METHOD_40BIT |
			ENCRYPTION_METHOD_56BIT |
			ENCRYPTION_METHOD_128BIT |
			ENCRYPTION_METHOD_FIPS;

	gcc_write_client_security_data(s, settings);

	ASSERT_STREAM(s, (uint8*) gcc_client_security_data_expected, sizeof(gcc_client_security_data_expected));
}
示例#4
0
文件: rdp.c 项目: mwu406/FreeRDP-1.0
rdpRdp* rdp_new()
{
	rdpRdp* rdp;

	rdp = (rdpRdp*) xzalloc(sizeof(rdpRdp));

	if (rdp != NULL)
	{
		rdp->connected = False;
		rdp->settings = settings_new();
		rdp->registry = registry_new(rdp->settings);
		rdp->transport = transport_new(rdp->settings);
		rdp->license = license_new(rdp);
		rdp->nego = nego_new(rdp->transport);
		rdp->mcs = mcs_new(rdp->transport);
	}

	return rdp;
}
示例#5
0
void test_gcc_write_client_core_data(void)
{
	STREAM* s;
	rdpSettings* settings;

	s = stream_new(512);
	settings = settings_new();

	settings->width = 1280;
	settings->height = 1024;
	settings->rdp_version = 5;
	settings->color_depth = 24;
	settings->kbd_layout = 0x409;
	settings->client_build = 3790;
	strcpy(settings->client_hostname, "ELTONS-DEV2");
	strcpy(settings->client_product_id, "69712-783-0357974-42714");

	gcc_write_client_core_data(s, settings);

	ASSERT_STREAM(s, (uint8*) gcc_client_core_data_expected, sizeof(gcc_client_core_data_expected));
}
示例#6
0
Settings *settings_new_from_gui()
{
    Settings *s = settings_new();

    s->csv_dir = settings_get_csv_dir();
    s->output_dir = settings_get_output_dir();
    s->obs_req_num = atoi(get_string_from_entry("next_obs_request_number_entry"));
    s->obs_req_id_aadn = atoi(get_string_from_entry("next_obs_request_id_entry"));
    s->obs_req_id_tdrs = atoi(get_string_from_entry("next_obs_request_id_tdrs_entry"));
    s->acq_req_num = atoi(get_string_from_entry("next_acq_request_number_entry"));
    s->odl0_seq_num = atoi(get_string_from_entry("odl0_sequence_number_entry"));
    s->odl0_req_id = atoi(get_string_from_entry("next_odl0_request_id_entry"));
    s->station_code = STRDUP(settings_get_station_code());

    int i;
    for (i=0; i<MAX_STATIONS; ++i) {
        char widget_name[128];
        snprintf(widget_name, 128, "next_acq_request_id_entry%d", i+1);
        s->acq_req_ids[i] = atoi(get_string_from_entry(widget_name));
    }

    return s;
}
示例#7
0
void test_args(void)
{
	char* argv_c[] =
	{
		"freerdp", "-a", "8", "-u", "testuser", "-d", "testdomain", "-g", "640x480", "address1:3389",
		"freerdp", "-a", "16", "-u", "testuser", "-d", "testdomain", "-g", "1280x960", "address2:3390"
	};
	char** argv = argv_c;
	int argc = ARRAY_SIZE(argv_c);
	int i;
	int c;
	rdpSettings* settings;

	i = 0;
	while (argc > 0)
	{
		settings = settings_new(NULL);

		i++;
		c = freerdp_parse_args(settings, argc, argv, process_plugin_args, NULL, process_ui_args, NULL);
		CU_ASSERT(c > 0);
		if (c == 0)
		{
			settings_free(settings);
			break;
		}
		CU_ASSERT(settings->color_depth == i * 8);
		CU_ASSERT(settings->width == i * 640);
		CU_ASSERT(settings->height == i * 480);
		CU_ASSERT(settings->port == i + 3388);

		settings_free(settings);
		argc -= c;
		argv += c;
	}
	CU_ASSERT(i == 2);
}
示例#8
0
void test_gcc_write_client_network_data(void)
{
	STREAM* s;
	rdpSettings* settings;

	s = stream_new(44);
	settings = settings_new();

	settings->num_channels = 3;
	memset(settings->channels, 0, sizeof(struct rdp_chan) * settings->num_channels);

	strcpy(settings->channels[0].name, "rdpdr");
	settings->channels[0].options = 0x80800000;

	strcpy(settings->channels[1].name, "cliprdr");
	settings->channels[1].options = 0xc0A00000;

	strcpy(settings->channels[2].name, "rdpsnd");
	settings->channels[2].options = 0xc0000000;

	gcc_write_client_network_data(s, settings);

	ASSERT_STREAM(s, (uint8*) gcc_client_network_data_expected, sizeof(gcc_client_network_data_expected));
}
示例#9
0
文件: jack_rack.c 项目: mcfrisk/mlt
static void
saved_rack_parse_plugin (jack_rack_t * jack_rack, saved_rack_t * saved_rack, saved_plugin_t * saved_plugin,
                         const char * filename, xmlNodePtr plugin)
{
  plugin_desc_t * desc;
  settings_t * settings = NULL;
  xmlNodePtr node;
  xmlNodePtr sub_node;
  xmlChar *content;
  unsigned long num;
  unsigned long control = 0;
#ifdef WIN32
  xmlFreeFunc xmlFree = NULL;
  xmlMemGet( &xmlFree, NULL, NULL, NULL);
#endif

  for (node = plugin->children; node; node = node->next)
    {
      if (xmlStrcmp (node->name, _x("id")) == 0)
        {
          content = xmlNodeGetContent (node);
          num = strtoul (_s(content), NULL, 10);
          xmlFree (content);

          desc = plugin_mgr_get_any_desc (jack_rack->plugin_mgr, num);
          if (!desc)
            {
              mlt_log_verbose( NULL, _("The file '%s' contains an unknown plugin with ID '%ld'; skipping\n"), filename, num);
              return;
            }
          
          settings = settings_new (desc, saved_rack->channels, saved_rack->sample_rate);
        }
      else if (xmlStrcmp (node->name, _x("enabled")) == 0)
        {
          content = xmlNodeGetContent (node);
          settings_set_enabled (settings, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
          xmlFree (content);
        }
      else if (xmlStrcmp (node->name, _x("wet_dry_enabled")) == 0)
        {
          content = xmlNodeGetContent (node);
          settings_set_wet_dry_enabled (settings, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
          xmlFree (content);
        }
      else if (xmlStrcmp (node->name, _x("wet_dry_locked")) == 0)
        {
          content = xmlNodeGetContent (node);
          settings_set_wet_dry_locked (settings, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
          xmlFree (content);
        }
      else if (xmlStrcmp (node->name, _x("wet_dry_values")) == 0)
        {
          unsigned long channel = 0;
          
          for (sub_node = node->children; sub_node; sub_node = sub_node->next)
            {
              if (xmlStrcmp (sub_node->name, _x("value")) == 0)
                {
                  content = xmlNodeGetContent (sub_node);
                  settings_set_wet_dry_value (settings, channel, strtod (_s(content), NULL));
                  xmlFree (content);
                  
                  channel++;
                }
            }
        }
      else if (xmlStrcmp (node->name, _x("lockall")) == 0)
        {
          content = xmlNodeGetContent (node);
          settings_set_lock_all (settings, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
          xmlFree (content);
        }
      else if (xmlStrcmp (node->name, _x("controlrow")) == 0)
        {
          gint copy = 0;

          for (sub_node = node->children; sub_node; sub_node = sub_node->next)
            {
              if (xmlStrcmp (sub_node->name, _x("lock")) == 0)
                {
                  content = xmlNodeGetContent (sub_node);
                  settings_set_lock (settings, control, xmlStrcmp (content, _x("true")) == 0 ? TRUE : FALSE);
                  xmlFree (content);
                }
              else if (xmlStrcmp (sub_node->name, _x("value")) == 0)
                {
                  content = xmlNodeGetContent (sub_node);
                  settings_set_control_value (settings, copy, control, strtod (_s(content), NULL));
                  xmlFree (content);
                  copy++;
                }
            }
          
          control++;
        }
    }
  
  if (settings)
    saved_plugin->settings = settings;
}
示例#10
0
Settings *settings_load()
{
    int i;
    Settings *s = settings_new();
    char *sav_file = find_in_share("req_settings.txt");
    if (fileExists(sav_file)) {
        FILE *fp = FOPEN(sav_file, "r");
        if (fp) {
            char buf[1024];
            while (fgets(buf, 1024, fp) != NULL) {
                read_string_param(buf, csv_dir_key, &s->csv_dir);
                read_string_param(buf, output_dir_key, &s->output_dir);
                read_int_param(buf, obs_req_num_key, &s->obs_req_num);
                read_int_param(buf, obs_req_id_aadn_key, &s->obs_req_id_aadn);
                read_int_param(buf, obs_req_id_tdrs_key, &s->obs_req_id_tdrs);
                read_int_param(buf, acq_req_num_key, &s->acq_req_num);
                read_int_param(buf, odl0_seq_num_key, &s->odl0_seq_num);
                read_int_param(buf, odl0_req_id_key, &s->odl0_req_id);
                read_string_param(buf, station_code_key, &s->station_code);
                for (i=0; i<MAX_STATIONS; ++i) {
                    char id_key[128], stn_code_key[128];
                    snprintf(id_key, 128, "%s %d", acq_req_id_key, i+1);
                    read_int_param(buf, id_key, &s->acq_req_ids[i]);
                    snprintf(stn_code_key, 128, "%s %d", acq_req_stn_code_key, i+1);
                    char *tmp=NULL;
                    read_string_param(buf, stn_code_key, &tmp);
                    if (tmp) {
                        if (strlen(tmp) > 4)
                            tmp[4] = '\0';
                        strcpy(s->acq_req_stn_codes[i], tmp);
                        free(tmp);
                    }
                }
            }
            FCLOSE(fp);
        } else {
            printf("Failed to open settings file: %s\n", sav_file);
        }
    } else {
        printf("No settings file found.\n");
    }

    FREE(sav_file);

    if (s->obs_req_num < 1) s->obs_req_num = 1;
    if (s->obs_req_id_aadn < 1) s->obs_req_id_aadn = 1;
    if (s->obs_req_id_tdrs < 1) s->obs_req_id_tdrs = 1;
    if (s->acq_req_num < 1) s->acq_req_num = 1;
    for (i=0; i<MAX_STATIONS; ++i)
        if (s->acq_req_ids[i] < 1) s->acq_req_ids[i] = 1;
    if (s->odl0_seq_num < 1) s->odl0_seq_num = 1;
    if (s->odl0_req_id < 1) s->odl0_req_id = 1;

    if (!s->station_code)
        s->station_code = STRDUP("AADN");

#ifdef DEBUG_SETTINGS
    settings_print(s);
#endif

    return s;
}