Example #1
0
void fm_file_info_job_add_gfile (FmFileInfoJob *job, GFile *gf)
{
    FmPath *path = fm_path_new_for_gfile (gf);
	
	FmFileInfo *file_info = fm_file_info_new_for_path (path);
    
    fm_path_unref (path);
    
    fm_list_push_tail_noref (job->file_infos, file_info);
}
Example #2
0
FmPathList* fm_path_list_new_from_uris(const char** uris)
{
    const char** uri;
	FmPathList* pl = fm_path_list_new();
	for(uri = uris; *uri; ++uri)
	{
		FmPath* path;
		char* unescaped;
        if(g_str_has_prefix(*uri, "file:"))
            unescaped = g_filename_from_uri(*uri, NULL, NULL);
        else
            unescaped = g_uri_unescape_string(*uri, NULL);

        path = fm_path_new(unescaped);
		g_free(unescaped);
		fm_list_push_tail_noref(pl, path);
	}
	return pl;
}
Example #3
0
/*********************************************************************
 * ...
 * 
 * 
 ********************************************************************/
FmJob *fm_file_info_job_new (FmPathList *files_to_query, FmFileInfoJobFlags flags)
{
	FmFileInfoJob *job = (FmFileInfoJob*) g_object_new (FM_TYPE_FILE_INFO_JOB, NULL);

    job->flags = flags;
	
    if (!files_to_query)
        return (FmJob*) job;
	
	FmFileInfoList *file_infos = job->file_infos;
    
	GList *l;
    for (l = fm_list_peek_head_link (files_to_query); l; l=l->next)
    {
        FmPath *path = (FmPath*) l->data;
        
        FmFileInfo *file_info = fm_file_info_new_for_path (path);
        
        fm_list_push_tail_noref (file_infos, file_info);
    }
	
	return (FmJob*) job;
}
Example #4
0
// This can only be called before running the job.
void fm_file_info_job_add (FmFileInfoJob *job, FmPath *path)
{
	FmFileInfo *file_info = fm_file_info_new_for_path (path);
    
    fm_list_push_tail_noref (job->file_infos, file_info);
}