mirror of
https://github.com/flatpak/flatpak.git
synced 2026-05-19 14:22:18 -04:00
FlatpakRemoteState: Include the active filter in the state
Closes: #2869 Approved by: alexlarsson
This commit is contained in:
committed by
Atomic Bot
parent
41018724b1
commit
4ba18ec160
@@ -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,
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user