Example #1
0
int
main(void)
{
   double start;
   Eina_Hash *headers;

   eina_init();
   ecore_init();
   ecore_file_init();

   if (ecore_file_exists(DST))
     ecore_file_unlink(DST);

   start = ecore_time_get();

   if (ecore_file_download(URL, DST, completion_cb, progress_cb, NULL, NULL))
     {
        printf("Download started successfully:\n  URL: %s\n  DEST: %s\n", URL, DST);
        ecore_main_loop_begin();
        printf("\nTime elapsed: %f seconds\n", ecore_time_get() - start);
        printf("Downloaded %lld bytes\n", ecore_file_size(DST));
     }
   else
     {
        printf("Error, can't start download\n");
        goto done;
     }

   headers = eina_hash_string_small_new(NULL);
   eina_hash_add(headers, "Content-type", "application/x-gzip");

   if (ecore_file_download_full(URL, DST_MIME, completion_cb, progress_cb, NULL, NULL, headers))
     {
        printf("Download started successfully:\n  URL: %s\n  DEST: %s\n", URL, DST_MIME);
        ecore_main_loop_begin();
        printf("\nTime elapsed: %f seconds\n", ecore_time_get() - start);
        printf("Downloaded %lld bytes\n", ecore_file_size(DST));
     }
   else
     {
        printf("Error, can't start download\n");
        goto done;
     }

done:
   if (headers) eina_hash_free(headers);
   ecore_file_shutdown();
   ecore_shutdown();
   eina_shutdown();
   return 0;
}
Example #2
0
int
ex_config_read(Extrackt *ex)
{
   Eet_File *ef;
   char      buf[PATH_MAX];
   char     *home;
   char    **matches;
   int       count;
   
   if(ex->config.cd)
     {
	/* FIXME: free everything! */
	E_FREE(ex->config.cd->cdrom);
	E_FREE(ex->config.cd);
     }
     
   home = getenv("HOME");
   if(!home)     
     return 0;     
   
   snprintf(buf, sizeof(buf), "%s/.e/extrackt/config.eet", home);
   
   if(!ecore_file_exists(buf) || ecore_file_size(buf) == 0)
     {
	/* default config values */
	return ex_config_defaults_apply(ex);
     }
   
   ef = eet_open(buf, EET_FILE_MODE_READ);
   if(!ef)
     {
	ERROR("Cant open configuration file! Using program defaults.");
	return ex_config_defaults_apply(ex);
     }

   /* Make sure we are compatible - same version numbers */
   ex->config.version = NULL;
   ex->config.version = eet_data_read(ef, _ex_config_version_edd, "config/version");
   if(!ex->config.version)
     {
	ERROR("Incompatible configuration file! Creating new one.");
	eet_close(ef);
	return ex_config_defaults_apply(ex);
     }
   else
     {
	Ex_Config_Version *v;
	
	v = ex_config_version_parse(VERSION);
	if(ex_config_version_compare(v, ex->config.version) != 0)
	  {
	     ERROR("Your version / configuration of Extrackt is not valid! Overwriting with program defaults");
	     return ex_config_defaults_apply(ex);
	  }
     }
	     
   
   /* Read config data for cdrom */
   ex->config.cd = NULL;
   ex->config.cd = eet_data_read(ef, _ex_config_cd_edd, "config/cd");      
   if(!ex->config.cd)
     {
	ERROR("Cant read config! Using program defaults.");
	eet_close(ef);
	return ex_config_defaults_apply(ex);
     }
   
   /* Read config data for cddb */
   ex->config.cddb = NULL;
   ex->config.cddb = eet_data_read(ef, _ex_config_cddb_edd, "config/cddb");
   if(!ex->config.cddb)
     {
	ERROR("Cant read config! Using program defaults.");
	eet_close(ef);
	return ex_config_defaults_apply(ex);
     }
   
   /* Read config data for rippers */
   matches = eet_list(ef, "config/rippers/*", &count);
   ex->config.rippers = NULL;
   if(count > 0)
     {
	int i;
	
	for(i = 0; i < count; i++)
	  {
	     char *match;
	     
	     match = matches[i];
	     ex->config.rippers = eina_list_append(ex->config.rippers,
				 eet_data_read(ef, _ex_config_exe_edd, match));
	  }
     }
   
   /* Read config data for encode */
   ex->config.encode = NULL;
   ex->config.encode = eet_data_read(ef, _ex_config_encode_edd, "config/encode");
      
   eet_close(ef);
   return 1;
}
Example #3
0
/**
 * @brief Loads Etk's config from disk
 * @return Returns ETK_TRUE on a successful load, ETK_FALSE otherwise.
 */
Etk_Bool etk_config_load(void)
{
   Eet_File *ef;
   char buf[PATH_MAX];
   char *home;

   home = getenv("HOME");
   if (!home)
     {
	_etk_config_defaults_apply();
	return ETK_FALSE;
     }

   snprintf(buf, sizeof(buf), "%s/.e/etk/config.eet", home);

   if (!ecore_file_exists(buf) || ecore_file_size(buf) == 0)
   {
      /* no saved config */
      _etk_config_defaults_apply();
      return ETK_FALSE;
   }

   ef = eet_open(buf, EET_FILE_MODE_READ);
   if (!ef)
   {
      ETK_WARNING("Cant open configuration file! Using program defaults.");
      return ETK_FALSE;
   }

   if (!_etk_config)
     _etk_config = malloc(sizeof(Etk_Config));
   else
   {
      free(_etk_config->version);
      if (_etk_config->general)
      {
	 free(_etk_config->general->wm_theme);
	 free(_etk_config->general->widget_theme);
	 free(_etk_config->general->font);
	 free(_etk_config->general->engine);
	 free(_etk_config->general);
      }
   }

   _etk_config->version = NULL;
   _etk_config->version = eet_data_read(ef, _etk_config_ver_edd, "config/version");
   if(!_etk_config->version)
     {
	ETK_WARNING("Incompatible configuration file! Creating new one.");
	eet_close(ef);
	_etk_config_defaults_apply();
	return ETK_FALSE;
     }
   else
     {
	Etk_Config_Version *v;

	v = _etk_config_version_parse(VERSION);
	if(_etk_config_version_compare(v, _etk_config->version) != 0)
	  {
	     ETK_WARNING("Your version / configuration of Etk is not valid!");
	     eet_close(ef);
	     free(v);
	     _etk_config_defaults_apply();
	     return ETK_FALSE;
	  }
	free(v);
     }

   _etk_config->general = eet_data_read(ef, _etk_config_gen_edd, "config/general");
   if (!_etk_config->general)
     _etk_config_defaults_apply();

   eet_close(ef);
   return ETK_TRUE;
}