X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkprintbackend.h;h=5ae80efda218555eb84f38cde9bc4c2154416a55;hb=HEAD;hp=fc48690ba3207e46259c8a76cbf381c7ff826f87;hpb=c36d8f3cb3781db3cf41b1888c7daf8487324d78;p=~andy%2Fgtk diff --git a/gtk/gtkprintbackend.h b/gtk/gtkprintbackend.h index fc48690ba..5ae80efda 100644 --- a/gtk/gtkprintbackend.h +++ b/gtk/gtkprintbackend.h @@ -13,29 +13,23 @@ * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the - * Free Software Foundation, Inc., 59 Temple Place - Suite 330, - * Boston, MA 02111-1307, USA. + * License along with this library. If not, see . */ #ifndef __GTK_PRINT_BACKEND_H__ #define __GTK_PRINT_BACKEND_H__ /* This is a "semi-private" header; it is meant only for - * alternate GtkPrintDialog backend modules; no stability guarantees + * alternate GtkPrintDialog backend modules; no stability guarantees * are made at this point */ #ifndef GTK_PRINT_BACKEND_ENABLE_UNSUPPORTED #error "GtkPrintBackend is not supported API for general use" #endif -#include -#include - -#include "gtkprinter-private.h" -#include "gtkprintsettings.h" -#include "gtkprinteroption.h" -#include "gtkprintjob.h" +#include +#include +#include G_BEGIN_DECLS @@ -59,6 +53,13 @@ GQuark gtk_print_backend_error_quark (void); #define GTK_IS_PRINT_BACKEND_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINT_BACKEND)) #define GTK_PRINT_BACKEND_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_PRINT_BACKEND, GtkPrintBackendClass)) +typedef enum +{ + GTK_PRINT_BACKEND_STATUS_UNKNOWN, + GTK_PRINT_BACKEND_STATUS_OK, + GTK_PRINT_BACKEND_STATUS_UNAVAILABLE +} GtkPrintBackendStatus; + struct _GtkPrintBackend { GObject parent_instance; @@ -71,57 +72,69 @@ struct _GtkPrintBackendClass GObjectClass parent_class; /* Global backend methods: */ - void (*request_printer_list) (GtkPrintBackend *backend); - void (*print_stream) (GtkPrintBackend *backend, - GtkPrintJob *job, - gint data_fd, - GtkPrintJobCompleteFunc callback, - gpointer user_data, - GDestroyNotify dnotify); + void (*request_printer_list) (GtkPrintBackend *backend); + void (*print_stream) (GtkPrintBackend *backend, + GtkPrintJob *job, + GIOChannel *data_io, + GtkPrintJobCompleteFunc callback, + gpointer user_data, + GDestroyNotify dnotify); /* Printer methods: */ - void (*printer_request_details) (GtkPrinter *printer); - cairo_surface_t * (*printer_create_cairo_surface) (GtkPrinter *printer, - gdouble height, - gdouble width, - gint cache_fd); - GtkPrinterOptionSet * (*printer_get_options) (GtkPrinter *printer, - GtkPrintSettings *settings, - GtkPageSetup *page_setup); - gboolean (*printer_mark_conflicts) (GtkPrinter *printer, + void (*printer_request_details) (GtkPrinter *printer); + cairo_surface_t * (*printer_create_cairo_surface) (GtkPrinter *printer, + GtkPrintSettings *settings, + gdouble height, + gdouble width, + GIOChannel *cache_io); + GtkPrinterOptionSet * (*printer_get_options) (GtkPrinter *printer, + GtkPrintSettings *settings, + GtkPageSetup *page_setup, + GtkPrintCapabilities capabilities); + gboolean (*printer_mark_conflicts) (GtkPrinter *printer, GtkPrinterOptionSet *options); - void (*printer_get_settings_from_options) (GtkPrinter *printer, + void (*printer_get_settings_from_options) (GtkPrinter *printer, GtkPrinterOptionSet *options, - GtkPrintSettings *settings); - void (*printer_prepare_for_print) (GtkPrinter *printer, - GtkPrintJob *print_job, - GtkPrintSettings *settings, - GtkPageSetup *page_setup); - GList * (*printer_list_papers) (GtkPrinter *printer); - void (*printer_get_hard_margins) (GtkPrinter *printer, - double *top, - double *bottom, - double *left, - double *right); + GtkPrintSettings *settings); + void (*printer_prepare_for_print) (GtkPrinter *printer, + GtkPrintJob *print_job, + GtkPrintSettings *settings, + GtkPageSetup *page_setup); + GList * (*printer_list_papers) (GtkPrinter *printer); + GtkPageSetup * (*printer_get_default_page_size) (GtkPrinter *printer); + gboolean (*printer_get_hard_margins) (GtkPrinter *printer, + gdouble *top, + gdouble *bottom, + gdouble *left, + gdouble *right); + GtkPrintCapabilities (*printer_get_capabilities) (GtkPrinter *printer); /* Signals */ - void (*printer_list_changed) (GtkPrintBackend *backend); - void (*printer_list_done) (GtkPrintBackend *backend); - void (*printer_added) (GtkPrintBackend *backend, - GtkPrinter *printer); - void (*printer_removed) (GtkPrintBackend *backend, - GtkPrinter *printer); - void (*printer_status_changed) (GtkPrintBackend *backend, - GtkPrinter *printer); + void (*printer_list_changed) (GtkPrintBackend *backend); + void (*printer_list_done) (GtkPrintBackend *backend); + void (*printer_added) (GtkPrintBackend *backend, + GtkPrinter *printer); + void (*printer_removed) (GtkPrintBackend *backend, + GtkPrinter *printer); + void (*printer_status_changed) (GtkPrintBackend *backend, + GtkPrinter *printer); + void (*request_password) (GtkPrintBackend *backend, + gpointer auth_info_required, + gpointer auth_info_default, + gpointer auth_info_display, + gpointer auth_info_visible, + const gchar *prompt); + + /* not a signal */ + void (*set_password) (GtkPrintBackend *backend, + gchar **auth_info_required, + gchar **auth_info); /* Padding for future expansion */ void (*_gtk_reserved1) (void); void (*_gtk_reserved2) (void); void (*_gtk_reserved3) (void); void (*_gtk_reserved4) (void); - void (*_gtk_reserved5) (void); - void (*_gtk_reserved6) (void); - void (*_gtk_reserved7) (void); }; GType gtk_print_backend_get_type (void) G_GNUC_CONST; @@ -132,13 +145,15 @@ GtkPrinter *gtk_print_backend_find_printer (GtkPrintBackend *pri const gchar *printer_name); void gtk_print_backend_print_stream (GtkPrintBackend *print_backend, GtkPrintJob *job, - gint data_fd, + GIOChannel *data_io, GtkPrintJobCompleteFunc callback, gpointer user_data, GDestroyNotify dnotify); GList * gtk_print_backend_load_modules (void); -void gtk_print_backend_unref_at_idle (GtkPrintBackend *print_backend); void gtk_print_backend_destroy (GtkPrintBackend *print_backend); +void gtk_print_backend_set_password (GtkPrintBackend *backend, + gchar **auth_info_required, + gchar **auth_info); /* Backend-only functions for GtkPrintBackend */ @@ -150,33 +165,33 @@ void gtk_print_backend_set_list_done (GtkPrintBackend *bac /* Backend-only functions for GtkPrinter */ - -GtkPrinter *gtk_printer_new (const char *name, - GtkPrintBackend *backend, - gboolean is_virtual); -void gtk_printer_set_backend (GtkPrinter *printer, - GtkPrintBackend *backend); -gboolean gtk_printer_is_new (GtkPrinter *printer); -void gtk_printer_set_is_new (GtkPrinter *printer, - gboolean val); -void gtk_printer_set_is_active (GtkPrinter *printer, - gboolean val); -void gtk_printer_set_has_details (GtkPrinter *printer, - gboolean val); -void gtk_printer_set_is_default (GtkPrinter *printer, - gboolean val); -void gtk_printer_set_icon_name (GtkPrinter *printer, - const gchar *icon); -gboolean gtk_printer_set_job_count (GtkPrinter *printer, - gint count); -gboolean gtk_printer_set_location (GtkPrinter *printer, - const gchar *location); -gboolean gtk_printer_set_description (GtkPrinter *printer, - const gchar *description); -gboolean gtk_printer_set_state_message (GtkPrinter *printer, - const gchar *message); -void gtk_printer_set_is_active (GtkPrinter *printer, - gboolean active); +gboolean gtk_printer_is_new (GtkPrinter *printer); +void gtk_printer_set_accepts_pdf (GtkPrinter *printer, + gboolean val); +void gtk_printer_set_accepts_ps (GtkPrinter *printer, + gboolean val); +void gtk_printer_set_is_new (GtkPrinter *printer, + gboolean val); +void gtk_printer_set_is_active (GtkPrinter *printer, + gboolean val); +gboolean gtk_printer_set_is_paused (GtkPrinter *printer, + gboolean val); +gboolean gtk_printer_set_is_accepting_jobs (GtkPrinter *printer, + gboolean val); +void gtk_printer_set_has_details (GtkPrinter *printer, + gboolean val); +void gtk_printer_set_is_default (GtkPrinter *printer, + gboolean val); +void gtk_printer_set_icon_name (GtkPrinter *printer, + const gchar *icon); +gboolean gtk_printer_set_job_count (GtkPrinter *printer, + gint count); +gboolean gtk_printer_set_location (GtkPrinter *printer, + const gchar *location); +gboolean gtk_printer_set_description (GtkPrinter *printer, + const gchar *description); +gboolean gtk_printer_set_state_message (GtkPrinter *printer, + const gchar *message); G_END_DECLS