FlatpakRemoteState: Include the active filter in the state

Closes: #2869
Approved by: alexlarsson
This commit is contained in:
Alexander Larsson
2019-04-30 14:42:31 +02:00
committed by Atomic Bot
parent 41018724b1
commit 4ba18ec160
2 changed files with 15 additions and 0 deletions

View File

@@ -106,6 +106,8 @@ typedef struct
GError *summary_fetch_error;
GVariant *metadata;
GError *metadata_fetch_error;
GRegex *allow_refs;
GRegex *deny_refs;
int refcount;
} FlatpakRemoteState;
@@ -115,6 +117,8 @@ gboolean flatpak_remote_state_ensure_summary (FlatpakRemoteState *self,
GError **error);
gboolean flatpak_remote_state_ensure_metadata (FlatpakRemoteState *self,
GError **error);
gboolean flatpak_remote_state_allow_ref (FlatpakRemoteState *self,
const char *ref);
gboolean flatpak_remote_state_lookup_ref (FlatpakRemoteState *self,
const char *ref,
char **out_checksum,

View File

@@ -277,6 +277,8 @@ flatpak_remote_state_unref (FlatpakRemoteState *remote_state)
g_clear_error (&remote_state->summary_fetch_error);
g_clear_pointer (&remote_state->metadata, g_variant_unref);
g_clear_error (&remote_state->metadata_fetch_error);
g_clear_pointer (&remote_state->allow_refs, g_regex_unref);
g_clear_pointer (&remote_state->deny_refs, g_regex_unref);
g_free (remote_state);
}
@@ -314,6 +316,13 @@ flatpak_remote_state_ensure_metadata (FlatpakRemoteState *self,
return TRUE;
}
gboolean
flatpak_remote_state_allow_ref (FlatpakRemoteState *self,
const char *ref)
{
return flatpak_filters_allow_ref (self->allow_refs, self->deny_refs, ref);
}
/* Returns TRUE if the ref is found in the summary or cache. out_checksum and
* out_variant are not guaranteed to be set even when the ref is found. */
gboolean
@@ -10306,6 +10315,8 @@ _flatpak_dir_get_remote_state (FlatpakDir *self,
return NULL;
if (!repo_get_remote_collection_id (self->repo, remote_or_uri, &state->collection_id, error))
return NULL;
if (!flatpak_dir_lookup_remote_filter (self, remote_or_uri, &state->allow_refs, &state->deny_refs, error))
return NULL;
}
if (local_only)