Files
flatpak/common/flatpak-error.h
Alexander Larsson 9b8024326b transaction: Move operation errors, aborting and skipping to CLI
We add an error signal to Transaction that the calle (cli) handles. It
decides what to do with the error and whether to continue or abort.

A new error ABORTED is returned from flatpak_run() to indicate
that it errored out because you chose to abort. We also add a new
error SKIPPED that we use to report that some operation is skipped
(due to earlier errors).

This also means we remote the stop_on_first_error argument
from flatpak_transaction_run() as this is now controlled by
the caller.
2018-05-29 16:37:21 +02:00

57 lines
1.8 KiB
C

/* flatpak-error.c
*
* Copyright (C) 2015 Red Hat, Inc
*
* This file is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2 of the
* License, or (at your option) any later version.
*
* This file is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* Authors:
* Alexander Larsson <alexl@redhat.com>
*/
#ifndef FLATPAK_ERROR_H
#define FLATPAK_ERROR_H
#include <glib.h>
G_BEGIN_DECLS
/**
* FlatpakError:
* @FLATPAK_ERROR_ALREADY_INSTALLED: App/runtime is already installed
* @FLATPAK_ERROR_NOT_INSTALLED: App/runtime is not installed
* @FLATPAK_ERROR_ONLY_PULLED: App/runtime was only pulled into the local
* repository but not installed.
* @FLATPAK_ERROR_DIFFERENT_REMOTE: The App/Runtime is already installed, but from a different remote.
* @FLATPAK_ERROR_ABORTED: The transaction was aborted (returned TRUE in operation-error signal).
* @FLATPAK_ERROR_SKIPPED: The App/Runtime install was skipped due to earlier errors.
*
* Error codes for library functions.
*/
typedef enum {
FLATPAK_ERROR_ALREADY_INSTALLED,
FLATPAK_ERROR_NOT_INSTALLED,
FLATPAK_ERROR_ONLY_PULLED,
FLATPAK_ERROR_DIFFERENT_REMOTE,
FLATPAK_ERROR_ABORTED,
FLATPAK_ERROR_SKIPPED,
} FlatpakError;
#define FLATPAK_ERROR flatpak_error_quark ()
FLATPAK_EXTERN GQuark flatpak_error_quark (void);
G_END_DECLS
#endif /* FLATPAK_ERROR_H */