1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- 2 * 3 * Copyright (C) 2007-2010 David Zeuthen <zeuthen@gmail.com> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 * 19 */ 20 21 #ifndef __UDISKS_BASE_JOB_H__ 22 #define __UDISKS_BASE_JOB_H__ 23 24 #include "udisksdaemontypes.h" 25 26 G_BEGIN_DECLS 27 28 #define UDISKS_TYPE_BASE_JOB (udisks_base_job_get_type ()) 29 #define UDISKS_BASE_JOB(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), UDISKS_TYPE_BASE_JOB, UDisksBaseJob)) 30 #define UDISKS_BASE_JOB_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), UDISKS_TYPE_BASE_JOB, UDisksBaseJobClass)) 31 #define UDISKS_BASE_JOB_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), UDISKS_TYPE_BASE_JOB, UDisksBaseJobClass)) 32 #define UDISKS_IS_BASE_JOB(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), UDISKS_TYPE_BASE_JOB)) 33 #define UDISKS_IS_BASE_JOB_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), UDISKS_TYPE_BASE_JOB)) 34 35 typedef struct _UDisksBaseJobClass UDisksBaseJobClass; 36 typedef struct _UDisksBaseJobPrivate UDisksBaseJobPrivate; 37 38 /** 39 * UDisksBaseJob: 40 * 41 * The #UDisksBaseJob structure contains only private data and should 42 * only be accessed using the provided API. 43 */ 44 struct _UDisksBaseJob 45 { 46 /*< private >*/ 47 UDisksJobSkeleton parent_instance; 48 UDisksBaseJobPrivate *priv; 49 }; 50 51 /** 52 * UDisksBaseJobClass: 53 * @parent_class: Parent class. 54 * 55 * Class structure for #UDisksBaseJob. 56 */ 57 struct _UDisksBaseJobClass 58 { 59 UDisksJobSkeletonClass parent_class; 60 /*< private >*/ 61 gpointer padding[8]; 62 }; 63 64 GType udisks_base_job_get_type (void) G_GNUC_CONST; 65 UDisksDaemon *udisks_base_job_get_daemon (UDisksBaseJob *job); 66 GCancellable *udisks_base_job_get_cancellable (UDisksBaseJob *job); 67 gboolean udisks_base_job_get_auto_estimate (UDisksBaseJob *job); 68 void udisks_base_job_set_auto_estimate (UDisksBaseJob *job, 69 gboolean value); 70 71 void udisks_base_job_add_object (UDisksBaseJob *job, 72 UDisksObject *object); 73 void udisks_base_job_remove_object (UDisksBaseJob *job, 74 UDisksObject *object); 75 76 G_END_DECLS 77 78 #endif /* __UDISKS_BASE_JOB_H__ */ 79