forked from Mirrors/flatpak-builder
builder: Add builder_context_find_in_sources_dirs
This centralizes the code for searching in the sources directory.tingping/wmclass
parent
4a60c87958
commit
b593ff04d3
|
@ -271,6 +271,45 @@ builder_context_set_sources_dirs (BuilderContext *self,
|
|||
self->sources_dirs = g_ptr_array_ref (sources_dirs);
|
||||
}
|
||||
|
||||
GFile *
|
||||
builder_context_find_in_sources_dirs_va (BuilderContext *self,
|
||||
va_list args)
|
||||
{
|
||||
int i;
|
||||
|
||||
if (self->sources_dirs == NULL)
|
||||
return NULL;
|
||||
|
||||
for (i = 0; i < self->sources_dirs->len; i++)
|
||||
{
|
||||
GFile *dir = g_ptr_array_index (self->sources_dirs, i);
|
||||
g_autoptr(GFile) local_file = NULL;
|
||||
va_list args2;
|
||||
|
||||
va_copy(args2, args);
|
||||
local_file = flatpak_build_file_va (dir, args2);
|
||||
|
||||
if (g_file_query_exists (local_file, NULL))
|
||||
return g_steal_pointer (&local_file);
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
GFile *
|
||||
builder_context_find_in_sources_dirs (BuilderContext *self,
|
||||
...)
|
||||
{
|
||||
GFile *res;
|
||||
va_list args;
|
||||
|
||||
va_start (args, self);
|
||||
res = builder_context_find_in_sources_dirs_va (self, args);
|
||||
va_end (args);
|
||||
|
||||
return res;
|
||||
}
|
||||
|
||||
GFile *
|
||||
builder_context_get_cache_dir (BuilderContext *self)
|
||||
{
|
||||
|
|
|
@ -52,6 +52,10 @@ GFile * builder_context_get_download_dir (BuilderContext *self);
|
|||
GPtrArray * builder_context_get_sources_dirs (BuilderContext *self);
|
||||
void builder_context_set_sources_dirs (BuilderContext *self,
|
||||
GPtrArray *sources_dirs);
|
||||
GFile * builder_context_find_in_sources_dirs (BuilderContext *self,
|
||||
...) G_GNUC_NULL_TERMINATED;
|
||||
GFile * builder_context_find_in_sources_dirs_va (BuilderContext *self,
|
||||
va_list args);
|
||||
SoupSession * builder_context_get_soup_session (BuilderContext *self);
|
||||
const char * builder_context_get_arch (BuilderContext *self);
|
||||
void builder_context_set_arch (BuilderContext *self,
|
||||
|
|
Loading…
Reference in New Issue