|  |  |  | libseahorse Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
                    SeahorseOperation;
SeahorseOperation*  seahorse_operation_new_complete     (GError *err);
SeahorseOperation*  seahorse_operation_new_cancelled    ();
void                seahorse_operation_cancel           (SeahorseOperation *operation);
#define             seahorse_operation_is_running       (operation)
#define             seahorse_operation_is_cancelled     (operation)
#define             seahorse_operation_is_successful    (operation)
void                seahorse_operation_copy_error       (SeahorseOperation *operation,
                                                         GError **err);
const GError*       seahorse_operation_get_error        (SeahorseOperation *operation);
void                seahorse_operation_display_error    (SeahorseOperation *operation,
                                                         const gchar *title,
                                                         GtkWidget *parent);
void                seahorse_operation_wait             (SeahorseOperation *operation);
void                (*SeahorseDoneFunc)                 (SeahorseOperation *op,
                                                         gpointer userdata);
void                (*SeahorseProgressFunc)             (SeahorseOperation *op,
                                                         const gchar *status,
                                                         gdouble progress,
                                                         gpointer userdata);
void                seahorse_operation_watch            (SeahorseOperation *operation,
                                                         SeahorseDoneFunc done_callback,
                                                         gpointer donedata,
                                                         SeahorseProgressFunc progress_callback,
                                                         gpointer progdata);
#define             seahorse_operation_get_progress     (op)
#define             seahorse_operation_get_message      (operation)
gpointer            seahorse_operation_get_result       (SeahorseOperation *operation);
GSList*             seahorse_operation_list_add         (GSList *list,
                                                         SeahorseOperation *operation);
GSList*             seahorse_operation_list_remove      (GSList *list,
                                                         SeahorseOperation *operation);
void                seahorse_operation_list_cancel      (GSList *list);
GSList*             seahorse_operation_list_purge       (GSList *list);
GSList*             seahorse_operation_list_free        (GSList *list);
#define             SEAHORSE_TYPE_MULTI_OPERATION
#define             SEAHORSE_MULTI_OPERATION            (obj)
#define             SEAHORSE_MULTI_OPERATION_CLASS      (klass)
#define             SEAHORSE_IS_MULTI_OPERATION         (obj)
#define             SEAHORSE_IS_MULTI_OPERATION_CLASS   (klass)
#define             SEAHORSE_MULTI_OPERATION_GET_CLASS  (obj)
                    SeahorseMultiOperation;
GType               seahorse_multi_operation_get_type   ();
SeahorseMultiOperation* seahorse_multi_operation_new    ();
void                seahorse_multi_operation_take       (SeahorseMultiOperation *mop,
                                                         SeahorseOperation *op);
#define             DECLARE_OPERATION                   (Opx, opx)
#define             SEAHORSE_CALC_PROGRESS              (cur, tot)
void                seahorse_operation_mark_start       (SeahorseOperation *operation);
void                seahorse_operation_mark_done        (SeahorseOperation *operation,
                                                         gboolean cancelled,
                                                         GError *error);
void                seahorse_operation_mark_progress    (SeahorseOperation *operation,
                                                         const gchar *message,
                                                         gdouble progress);
void                seahorse_operation_mark_progress_full
                                                        (SeahorseOperation *operation,
                                                         const gchar *message,
                                                         gdouble current,
                                                         gdouble total);
void                seahorse_operation_mark_result      (SeahorseOperation *operation,
                                                         gpointer result,
                                                         GDestroyNotify notify_func);
typedef struct {
    GObject parent;
    
    gchar *message;                /* Progress status details ie: "foobar.jpg" */
    gdouble progress;              /* The current progress position, -1 for indeterminate */
    
    guint is_running : 1;          /* If the operation is running or not */
    guint is_done : 1;             /* Operation is done or not */
    guint is_cancelled : 1;        /* Operation is cancelled or not */;
    GError *error;
} SeahorseOperation;
An operation taking place over time.
- Generally this class is derived and a base class actually hooks in and performs the operation, keeps the properties updated etc... - Used all over to represent things like key loading operations, search - SeahorseMultiOperation allows you to combine multiple operations into a single one. Used when searching multiple key servers for example. - Can be tied to a progress bar (see seahorse-progress.h) - Holds a reference to itself while the operation is in progress. - The seahorse_operation_mark_* are used by derived classes to update properties of the operation as things progress.
Signals: done: The operation is complete. progress: The operation has progressed, or changed state somehow.
Properties: result: The 'result' of the operation (if applicable). This depends on the derived operation class. progress: A fraction between 0.0 and 1.0 inclusive representing how far along this operation is. 0.0 = indeterminate, and 1.0 is done. message: A progress message to display to the user.
| GObject  | The parent GObject | 
| gchar * | Progress status details ie: "foobar.jpg" | 
| gdouble  | The current progress position, -1 for indeterminate | 
| guint  | If the operation is running or not | 
| guint  | Operation is done or not | 
| guint  | Operation is cancelled or not | 
| GError * | GError for the operation | 
SeahorseOperation* seahorse_operation_new_complete (GError *err);
| 
 | |
| Returns : | 
SeahorseOperation* seahorse_operation_new_cancelled ();
| Returns : | 
void seahorse_operation_cancel (SeahorseOperation *operation);
| 
 | 
void seahorse_operation_copy_error (SeahorseOperation *operation, GError **err);
| 
 | |
| 
 | 
const GError* seahorse_operation_get_error (SeahorseOperation *operation);
| 
 | |
| Returns : | 
void seahorse_operation_display_error (SeahorseOperation *operation, const gchar *title, GtkWidget *parent);
| 
 | |
| 
 | |
| 
 | 
void (*SeahorseDoneFunc) (SeahorseOperation *op, gpointer userdata);
| 
 | |
| 
 | 
void (*SeahorseProgressFunc) (SeahorseOperation *op, const gchar *status, gdouble progress, gpointer userdata);
| 
 | |
| 
 | |
| 
 | |
| 
 | 
void seahorse_operation_watch (SeahorseOperation *operation, SeahorseDoneFunc done_callback, gpointer donedata, SeahorseProgressFunc progress_callback, gpointer progdata);
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | 
gpointer seahorse_operation_get_result (SeahorseOperation *operation);
| 
 | |
| Returns : | 
GSList* seahorse_operation_list_add (GSList *list, SeahorseOperation *operation);
| 
 | |
| 
 | |
| Returns : | 
GSList* seahorse_operation_list_remove (GSList *list, SeahorseOperation *operation);
| 
 | |
| 
 | |
| Returns : | 
GSList* seahorse_operation_list_purge (GSList *list);
| 
 | |
| Returns : | 
GSList* seahorse_operation_list_free (GSList *list);
| 
 | |
| Returns : | 
#define SEAHORSE_TYPE_MULTI_OPERATION (seahorse_multi_operation_get_type ())
#define SEAHORSE_MULTI_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), SEAHORSE_TYPE_MULTI_OPERATION, SeahorseMultiOperation))
| 
 | 
#define SEAHORSE_MULTI_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), SEAHORSE_TYPE_MULTI_OPERATION, SeahorseMultiOperationClass))
| 
 | 
#define SEAHORSE_IS_MULTI_OPERATION(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), SEAHORSE_TYPE_MULTI_OPERATION))
| 
 | 
#define SEAHORSE_IS_MULTI_OPERATION_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), SEAHORSE_TYPE_MULTI_OPERATION))
| 
 | 
#define SEAHORSE_MULTI_OPERATION_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), SEAHORSE_TYPE_MULTI_OPERATION, SeahorseMultiOperationClass))
| 
 | 
typedef struct {
    SeahorseOperation parent;
    
    GSList *operations;
} SeahorseMultiOperation;
void seahorse_multi_operation_take (SeahorseMultiOperation *mop, SeahorseOperation *op);
| 
 | |
| 
 | 
void seahorse_operation_mark_start (SeahorseOperation *operation);
| 
 | 
void seahorse_operation_mark_done (SeahorseOperation *operation, gboolean cancelled, GError *error);
| 
 | |
| 
 | |
| 
 | 
void seahorse_operation_mark_progress (SeahorseOperation *operation, const gchar *message, gdouble progress);
| 
 | |
| 
 | |
| 
 | 
void                seahorse_operation_mark_progress_full
                                                        (SeahorseOperation *operation,
                                                         const gchar *message,
                                                         gdouble current,
                                                         gdouble total);
| 
 | |
| 
 | |
| 
 | |
| 
 | 
void seahorse_operation_mark_result (SeahorseOperation *operation, gpointer result, GDestroyNotify notify_func);
| 
 | |
| 
 | |
| 
 |