plover-gtk/transactionhelper.h
author J. Ali Harlow <ali@juiblex.co.uk>
Mon Nov 02 19:04:58 2015 +0000 (2015-11-02)
changeset 31 a53fcb780468
child 38 a29623b68ca2
permissions -rw-r--r--
Use google-breakpad as an exception handler
ali@24
     1
#ifndef __PLOVER_TRANSACTION_HELPER_H__
ali@24
     2
#define __PLOVER_TRANSACTION_HELPER_H__
ali@24
     3
ali@24
     4
#include <gtk/gtk.h>
ali@24
     5
#include <plover/packageset.h>
ali@24
     6
#include <plover/repository.h>
ali@24
     7
#include <plover/transaction.h>
ali@24
     8
ali@24
     9
#define PLOVER_TYPE_TRANSACTION_HELPER	plover_transaction_helper_get_type()
ali@24
    10
#define PLOVER_TRANSACTION_HELPER(obj)	G_TYPE_CHECK_INSTANCE_CAST(obj,\
ali@24
    11
					  PLOVER_TYPE_TRANSACTION_HELPER,\
ali@24
    12
					  PloverTransactionHelper)
ali@24
    13
#define PLOVER_TRANSACTION_HELPER_CLASS(klass) \
ali@24
    14
					G_TYPE_CHECK_CLASS_CAST(klass,\
ali@24
    15
					  PLOVER_TYPE_TRANSACTION_HELPER,\
ali@24
    16
					  PloverTransactionHelperClass)
ali@24
    17
#define PLOVER_IS_TRANSACTION_HELPER(obj) \
ali@24
    18
					G_TYPE_CHECK_INSTANCE_TYPE(obj,\
ali@24
    19
					  PLOVER_TYPE_TRANSACTION_HELPER)
ali@24
    20
#define PLOVER_IS_TRANSACTION_HELPER_CLASS(klass) \
ali@24
    21
					G_TYPE_CHECK_CLASS_TYPE(obj,\
ali@24
    22
					  PLOVER_TYPE_TRANSACTION_HELPER)
ali@24
    23
#define PLOVER_TRANSACTION_HELPER_GET_CLASS(obj) \
ali@24
    24
					G_TYPE_INSTANCE_GET_CLASS(obj,\
ali@24
    25
					  PLOVER_TYPE_TRANSACTION_HELPER,\
ali@24
    26
					  PloverTransactionHelperClass)
ali@24
    27
ali@24
    28
typedef struct _PloverTransactionHelper {
ali@24
    29
    GObject parent_instance;
ali@24
    30
    PloverPackageSet *installed;
ali@24
    31
    PloverRepository *upstream;
ali@24
    32
    PloverPackageSet *relocated_upstream;
ali@24
    33
    gchar *base;
ali@24
    34
    gchar *unsatisfied;
ali@24
    35
    struct comps *comps;
ali@24
    36
    gboolean check_vendor;
ali@24
    37
    gboolean report_adding_dependencies;
ali@24
    38
    gboolean report_removing_dependants;
ali@24
    39
    struct plover_vector *report_adding,*report_removing;
ali@24
    40
    GSList *transactions;
ali@24
    41
    GtkBuilder *ui;
ali@24
    42
    GtkAssistant *assistant;
ali@24
    43
    guint pulse_handler;
ali@24
    44
    GError *error;
ali@24
    45
    gchar *error_primary_text;
ali@24
    46
    GtkWidget *error_dialog;
ali@24
    47
} PloverTransactionHelper;
ali@24
    48
ali@24
    49
typedef struct _PloverTransactionHelperClass {
ali@24
    50
    GObjectClass parent_class;
ali@24
    51
} PloverTransactionHelperClass;
ali@24
    52
ali@24
    53
GType plover_transaction_helper_get_type(void);
ali@24
    54
PloverTransactionHelper *plover_transaction_helper_new(GtkBuilder *ui);
ali@24
    55
PloverPackageSet *
ali@24
    56
  plover_transaction_helper_get_installed(PloverTransactionHelper *helper);
ali@24
    57
void plover_transaction_helper_set_installed(PloverTransactionHelper *helper,
ali@24
    58
  PloverPackageSet *installed);
ali@24
    59
PloverRepository *
ali@24
    60
  plover_transaction_helper_get_upstream(PloverTransactionHelper *helper,
ali@24
    61
  GError **error);
ali@24
    62
void plover_transaction_helper_set_upstream(PloverTransactionHelper *helper,
ali@24
    63
  PloverRepository *upstream);
ali@24
    64
const char *plover_transaction_helper_get_base(PloverTransactionHelper *helper);
ali@24
    65
void plover_transaction_helper_set_base(PloverTransactionHelper *helper,
ali@24
    66
  const char *base);
ali@24
    67
struct comps *
ali@24
    68
  plover_transaction_helper_get_comps(PloverTransactionHelper *helper,
ali@24
    69
  GError **error);
ali@24
    70
const char *
ali@24
    71
  plover_transaction_helper_get_prefix(PloverTransactionHelper *helper,
ali@24
    72
  GError **error);
ali@24
    73
void plover_transaction_helper_set_check_vendor(PloverTransactionHelper *helper,
ali@24
    74
  gboolean check_vendor);
ali@24
    75
const char *
ali@24
    76
  plover_transaction_helper_get_unsatisfied(PloverTransactionHelper *helper);
ali@24
    77
gboolean
ali@24
    78
  plover_transaction_helper_add_transaction(PloverTransactionHelper *helper,
ali@24
    79
  PloverTransaction *transaction,struct plover_vector *report_packages,
ali@24
    80
  enum razor_install_action report_action,GError **error);
ali@24
    81
struct plover_vector *plover_transaction_helper_group_get_default_packages(
ali@24
    82
  PloverTransactionHelper *helper,const char *group,GError **error);
ali@24
    83
gboolean
ali@24
    84
  plover_transaction_helper_install_packages(PloverTransactionHelper *helper,
ali@24
    85
  struct plover_vector *packages,GError **error);
ali@24
    86
gboolean
ali@24
    87
  plover_transaction_helper_install_group(PloverTransactionHelper *helper,
ali@24
    88
  const char *group,GError **error);
ali@24
    89
gboolean
ali@24
    90
  plover_transaction_helper_remove_group(PloverTransactionHelper *helper,
ali@24
    91
  const char *group,GError **error);
ali@24
    92
gboolean
ali@24
    93
  plover_transaction_helper_update(PloverTransactionHelper *helper,
ali@24
    94
  GError **error);
ali@24
    95
gboolean plover_transaction_helper_get_visible(PloverTransactionHelper *helper);
ali@24
    96
void plover_transaction_helper_present(PloverTransactionHelper *helper);
ali@24
    97
const char *plover_transaction_helper_get_error(PloverTransactionHelper *helper,
ali@24
    98
  const GError **error);
ali@24
    99
void plover_transaction_helper_set_error(PloverTransactionHelper *helper,
ali@24
   100
  const GError *error,const char *primary_text);
ali@24
   101
ali@24
   102
#endif /* __PLOVER_TRANSACTION_HELPER_H__ */