1 #ifndef __PLOVER_TRANSACTION_H__
2 #define __PLOVER_TRANSACTION_H__
5 #include <glib-object.h>
7 #include <plover/packageset.h>
11 #define PLOVER_TYPE_TRANSACTION plover_transaction_get_type()
12 #define PLOVER_TRANSACTION(obj) G_TYPE_CHECK_INSTANCE_CAST(obj,\
13 PLOVER_TYPE_TRANSACTION,\
15 #define PLOVER_IS_TRANSACTION(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj,\
16 PLOVER_TYPE_TRANSACTION)
19 PLOVER_TRANSACTION_RESOLVED=1<<0,
20 PLOVER_TRANSACTION_UNSATISFIED=1<<1,
21 } PloverTransactionFlags;
23 typedef struct _PloverTransaction {
24 GObject parent_instance;
25 PloverTransactionFlags flags;
26 struct razor_transaction *trans;
31 PloverPackageSet *installed,*relocated;
32 PloverRepository *upstream;
33 struct razor_relocations *relocations;
34 struct razor_set *next,*system;
35 struct razor_install_iterator *install_iterator;
38 typedef struct _PloverTransactionClass {
39 GObjectClass parent_class;
40 } PloverTransactionClass;
42 GType plover_transaction_get_type(void) G_GNUC_CONST;
43 void plover_transaction_commit_async(PloverTransaction *transaction,
44 GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
45 gboolean plover_transaction_commit_finish(PloverTransaction *transaction,
46 GAsyncResult *result,GError **error);
47 PloverTransaction *plover_transaction_new();
48 void plover_transaction_set_prefix(PloverTransaction *transaction,
50 void plover_transaction_set_installed(PloverTransaction *transaction,
51 PloverPackageSet *installed);
52 gboolean plover_transaction_root_open(PloverTransaction *transaction,
53 const char *install_root,GError **error);
54 struct razor_set *plover_transaction_import_yum(PloverTransaction *transaction,
55 const char *base,GError **error);
56 gboolean plover_transaction_set_upstream(PloverTransaction *transaction,
57 PloverRepository *upstream,GError **error);
59 plover_transaction_set_upstream_from_yum(PloverTransaction *transaction,
60 const char *base,GError **error);
61 gboolean plover_transaction_install(PloverTransaction *transaction,
62 char **pkgs,GError **error);
63 PloverTransaction *plover_transaction_new_install(const char *base,
64 const char *prefix,char **pkgs,GError **error);
65 gboolean plover_transaction_update(PloverTransaction *transaction,
66 char **pkgs,GError **error);
67 PloverTransaction *plover_transaction_new_update(const char *base,
68 const char *prefix,char **pkgs,GError **error);
69 gboolean plover_transaction_remove(PloverTransaction *transaction,
70 char **pkgs,GError **error);
71 PloverTransaction *plover_transaction_new_remove(char **pkgs,
73 gboolean plover_transaction_resolve(PloverTransaction *transaction,
75 const char *plover_transaction_get_unsatisfied(PloverTransaction *transaction);
76 struct razor_set *plover_transaction_get_system_set(
77 PloverTransaction *transaction);
78 struct razor_set *plover_transaction_get_next_set(
79 PloverTransaction *transaction,GError **error);
80 struct razor_install_iterator *plover_transaction_get_install_iterator(
81 PloverTransaction *transaction,GError **error);
82 gboolean plover_transaction_commit(PloverTransaction *transaction,
83 GCancellable *cancellable,GError **error);
84 void plover_transaction_commit_async(PloverTransaction *transaction,
85 GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
87 #endif /* __PLOVER_TRANSACTION_H__ */