Files
flatpak/common/flatpak-error.h
Alexander Larsson df3a0c444b deploy: Do required-version check on deploy too
We only checked this in transaction. This is now the recommended way to installation
via libflatpak too, but if you use the old API this check also ensures that
installation fails if the required version is too old.

Also, we add a specific error code for this so callers can check for it.

Fixes https://github.com/flatpak/flatpak/issues/881

Closes: #1755
Approved by: alexlarsson
2018-06-04 13:30:00 +00:00

63 lines
2.0 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
#if !defined(__FLATPAK_H_INSIDE__) && !defined(FLATPAK_COMPILATION)
#error "Only <flatpak.h> can be included directly."
#endif
#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.
* @FLATPAK_ERROR_NEED_NEW_FLATPAK: The App/Runtime needs a more recent version of flatpak.
*
* 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,
FLATPAK_ERROR_NEED_NEW_FLATPAK,
} FlatpakError;
#define FLATPAK_ERROR flatpak_error_quark ()
FLATPAK_EXTERN GQuark flatpak_error_quark (void);
G_END_DECLS
#endif /* FLATPAK_ERROR_H */