diff options
author | Richard Hughes <richard@hughsie.com> | 2014-06-18 20:29:28 +0100 |
---|---|---|
committer | Richard Hughes <richard@hughsie.com> | 2014-06-18 21:35:22 +0100 |
commit | 5b4e522ca8205b52ad68f858d15555add4cead33 (patch) | |
tree | c22f71ef69b3da073a704dbd2519b3ab08ee9c15 | |
parent | 4cf9e9cfcb24c4e2cbef70850ff1ae1cfba32d83 (diff) | |
download | appstream-glib-5b4e522ca8205b52ad68f858d15555add4cead33.tar.gz |
Add a --nonet option to appstream-util
-rw-r--r-- | client/as-util.c | 21 |
1 files changed, 18 insertions, 3 deletions
diff --git a/client/as-util.c b/client/as-util.c index 751fc8e..92e54cb 100644 --- a/client/as-util.c +++ b/client/as-util.c @@ -40,6 +40,7 @@ typedef struct { GOptionContext *context; GPtrArray *cmd_array; + gboolean nonet; } AsUtilPrivate; typedef gboolean (*AsUtilPrivateCb) (AsUtilPrivate *util, @@ -1321,7 +1322,10 @@ as_util_validate_files (gchar **filenames, static gboolean as_util_validate (AsUtilPrivate *priv, gchar **values, GError **error) { - return as_util_validate_files (values, AS_APP_VALIDATE_FLAG_NONE, error); + AsAppValidateFlags flags = AS_APP_VALIDATE_FLAG_NONE; + if (priv->nonet) + flags |= AS_APP_VALIDATE_FLAG_NO_NETWORK; + return as_util_validate_files (values, flags, error); } /** @@ -1330,7 +1334,10 @@ as_util_validate (AsUtilPrivate *priv, gchar **values, GError **error) static gboolean as_util_validate_relax (AsUtilPrivate *priv, gchar **values, GError **error) { - return as_util_validate_files (values, AS_APP_VALIDATE_FLAG_RELAX, error); + AsAppValidateFlags flags = AS_APP_VALIDATE_FLAG_RELAX; + if (priv->nonet) + flags |= AS_APP_VALIDATE_FLAG_NO_NETWORK; + return as_util_validate_files (values, flags, error); } /** @@ -1339,7 +1346,10 @@ as_util_validate_relax (AsUtilPrivate *priv, gchar **values, GError **error) static gboolean as_util_validate_strict (AsUtilPrivate *priv, gchar **values, GError **error) { - return as_util_validate_files (values, AS_APP_VALIDATE_FLAG_STRICT, error); + AsAppValidateFlags flags = AS_APP_VALIDATE_FLAG_STRICT; + if (priv->nonet) + flags |= AS_APP_VALIDATE_FLAG_NO_NETWORK; + return as_util_validate_files (values, flags, error); } /** @@ -1359,12 +1369,16 @@ main (int argc, char *argv[]) { AsUtilPrivate *priv; gboolean ret; + gboolean nonet = FALSE; gboolean verbose = FALSE; gboolean version = FALSE; GError *error = NULL; guint retval = 1; _cleanup_free_ gchar *cmd_descriptions = NULL; const GOptionEntry options[] = { + { "nonet", '\0', 0, G_OPTION_ARG_NONE, &nonet, + /* TRANSLATORS: this is the --nonet argument */ + _("Do not use network access"), NULL }, { "verbose", 'v', 0, G_OPTION_ARG_NONE, &verbose, /* TRANSLATORS: command line option */ _("Show extra debugging information"), NULL }, @@ -1466,6 +1480,7 @@ main (int argc, char *argv[]) g_error_free (error); goto out; } + priv->nonet = nonet; /* set verbose? */ if (verbose) { |