plover/transaction.h
author J. Ali Harlow <ali@juiblex.co.uk>
Mon Aug 31 07:07:40 2020 +0100 (2020-08-31)
changeset 103 c4b0d5cc34bc
parent 59 296eac3183bc
permissions -rw-r--r--
Add support for --default-action in app-manager
ali@24
     1
#ifndef __PLOVER_TRANSACTION_H__
ali@24
     2
#define __PLOVER_TRANSACTION_H__
ali@24
     3
ali@24
     4
#include <razor.h>
ali@24
     5
#include <glib-object.h>
ali@24
     6
#include <gio/gio.h>
ali@24
     7
#include <plover/packageset.h>
ali@24
     8
ali@24
     9
G_BEGIN_DECLS
ali@24
    10
ali@24
    11
#define PLOVER_TYPE_TRANSACTION		plover_transaction_get_type()
ali@24
    12
#define PLOVER_TRANSACTION(obj)		G_TYPE_CHECK_INSTANCE_CAST(obj,\
ali@24
    13
					  PLOVER_TYPE_TRANSACTION,\
ali@24
    14
					  PloverTransaction)
ali@24
    15
#define PLOVER_IS_TRANSACTION(obj)	G_TYPE_CHECK_INSTANCE_TYPE(obj,\
ali@24
    16
					  PLOVER_TYPE_TRANSACTION)
ali@24
    17
ali@24
    18
typedef enum {
ali@24
    19
    PLOVER_TRANSACTION_RESOLVED=1<<0,
ali@24
    20
    PLOVER_TRANSACTION_UNSATISFIED=1<<1,
ali@24
    21
} PloverTransactionFlags;
ali@24
    22
ali@24
    23
typedef struct _PloverTransaction {
ali@24
    24
    GObject parent_instance;
ali@24
    25
    PloverTransactionFlags flags;
ali@24
    26
    struct razor_transaction *trans;
ali@24
    27
    char *prefix;
ali@24
    28
    char *base;
ali@24
    29
    char *install_root;
ali@24
    30
    char *unsatisfied;
ali@24
    31
    PloverPackageSet *installed,*relocated;
ali@24
    32
    PloverRepository *upstream;
ali@24
    33
    struct razor_relocations *relocations;
ali@24
    34
    struct razor_set *next,*system;
ali@24
    35
    struct razor_install_iterator *install_iterator;
ali@24
    36
} PloverTransaction;
ali@24
    37
ali@24
    38
typedef struct _PloverTransactionClass {
ali@24
    39
    GObjectClass parent_class;
ali@24
    40
} PloverTransactionClass;
ali@24
    41
ali@24
    42
GType plover_transaction_get_type(void) G_GNUC_CONST;
ali@24
    43
PloverTransaction *plover_transaction_new();
ali@24
    44
void plover_transaction_set_prefix(PloverTransaction *transaction,
ali@24
    45
  const char *prefix);
ali@24
    46
void plover_transaction_set_installed(PloverTransaction *transaction,
ali@24
    47
  PloverPackageSet *installed);
ali@24
    48
gboolean plover_transaction_root_open(PloverTransaction *transaction,
ali@24
    49
  const char *install_root,GError **error);
ali@24
    50
struct razor_set *plover_transaction_import_yum(PloverTransaction *transaction,
ali@38
    51
  const char *base,GError **error) G_GNUC_DEPRECATED;
ali@24
    52
gboolean plover_transaction_set_upstream(PloverTransaction *transaction,
ali@24
    53
  PloverRepository *upstream,GError **error);
ali@24
    54
gboolean
ali@43
    55
  plover_transaction_set_upstream_from_yum_uri(PloverTransaction *transaction,
ali@43
    56
  const char *base_uri,GError **error);
ali@43
    57
gboolean
ali@24
    58
  plover_transaction_set_upstream_from_yum(PloverTransaction *transaction,
ali@24
    59
  const char *base,GError **error);
ali@24
    60
gboolean plover_transaction_install(PloverTransaction *transaction,
ali@24
    61
  char **pkgs,GError **error);
ali@103
    62
gboolean
ali@103
    63
  plover_transaction_install_with_update_all(PloverTransaction *transaction,
ali@103
    64
  char **pkgs,GError **error);
ali@43
    65
PloverTransaction *plover_transaction_new_install_uri(const char *base_uri,
ali@43
    66
  const char *prefix,char **pkgs,GError **error);
ali@24
    67
PloverTransaction *plover_transaction_new_install(const char *base,
ali@24
    68
  const char *prefix,char **pkgs,GError **error);
ali@24
    69
gboolean plover_transaction_update(PloverTransaction *transaction,
ali@24
    70
  char **pkgs,GError **error);
ali@59
    71
PloverTransaction *plover_transaction_new_update_uri(const char *base_uri,
ali@59
    72
  const char *prefix,char **pkgs,GError **error);
ali@24
    73
PloverTransaction *plover_transaction_new_update(const char *base,
ali@24
    74
  const char *prefix,char **pkgs,GError **error);
ali@24
    75
gboolean plover_transaction_remove(PloverTransaction *transaction,
ali@24
    76
  char **pkgs,GError **error);
ali@24
    77
PloverTransaction *plover_transaction_new_remove(char **pkgs,
ali@24
    78
  GError **error);
ali@103
    79
gboolean
ali@103
    80
  plover_transaction_remove_with_dependants(PloverTransaction *transaction,
ali@103
    81
  char **pkgs,GError **error);
ali@103
    82
gboolean plover_transaction_remove_with_leaves(
ali@103
    83
  PloverTransaction *transaction,char **pkgs,GError **error);
ali@103
    84
gboolean plover_transaction_remove_with_dependants_and_leaves(
ali@103
    85
  PloverTransaction *transaction,char **pkgs,GError **error);
ali@38
    86
PloverTransaction *plover_transaction_new_remove_with_leaves(char **pkgs,
ali@38
    87
  GError **error);
ali@24
    88
gboolean plover_transaction_resolve(PloverTransaction *transaction,
ali@24
    89
  GError **error);
ali@24
    90
const char *plover_transaction_get_unsatisfied(PloverTransaction *transaction);
ali@24
    91
struct razor_set *plover_transaction_get_system_set(
ali@24
    92
  PloverTransaction *transaction);
ali@24
    93
struct razor_set *plover_transaction_get_next_set(
ali@24
    94
  PloverTransaction *transaction,GError **error);
ali@24
    95
struct razor_install_iterator *plover_transaction_get_install_iterator(
ali@24
    96
  PloverTransaction *transaction,GError **error);
ali@24
    97
gboolean plover_transaction_commit(PloverTransaction *transaction,
ali@24
    98
  GCancellable *cancellable,GError **error);
ali@24
    99
void plover_transaction_commit_async(PloverTransaction *transaction,
ali@24
   100
  GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
ali@38
   101
gboolean plover_transaction_commit_finish(PloverTransaction *transaction,
ali@38
   102
  GAsyncResult *result,GError **error);
ali@24
   103
ali@24
   104
#endif /* __PLOVER_TRANSACTION_H__ */