X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=gtk%2Fgtkprintbackend.h;h=5ae80efda218555eb84f38cde9bc4c2154416a55;hb=f076b6bb0284b59de67d5be8d53a14b5bb32e119;hp=abebbd11558d40c94ff91b3b8b955d37251d23f9;hpb=bc1dbd58d528effe89d53feb1e296464d31479c6;p=~andy%2Fgtk diff --git a/gtk/gtkprintbackend.h b/gtk/gtkprintbackend.h index abebbd115..5ae80efda 100644 --- a/gtk/gtkprintbackend.h +++ b/gtk/gtkprintbackend.h @@ -13,28 +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 "gtkprintsettings.h" -#include "gtkprinteroptionset.h" -#include "gtkprintjob.h" +#include +#include +#include G_BEGIN_DECLS @@ -58,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; @@ -73,11 +75,10 @@ struct _GtkPrintBackendClass void (*request_printer_list) (GtkPrintBackend *backend); void (*print_stream) (GtkPrintBackend *backend, GtkPrintJob *job, - gint data_fd, + GIOChannel *data_io, GtkPrintJobCompleteFunc callback, gpointer user_data, - GDestroyNotify dnotify, - GError **error); + GDestroyNotify dnotify); /* Printer methods: */ void (*printer_request_details) (GtkPrinter *printer); @@ -85,7 +86,7 @@ struct _GtkPrintBackendClass GtkPrintSettings *settings, gdouble height, gdouble width, - gint cache_fd); + GIOChannel *cache_io); GtkPrinterOptionSet * (*printer_get_options) (GtkPrinter *printer, GtkPrintSettings *settings, GtkPageSetup *page_setup, @@ -100,11 +101,12 @@ struct _GtkPrintBackendClass 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); + 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 */ @@ -116,15 +118,23 @@ struct _GtkPrintBackendClass 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; @@ -135,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, - GError **error); + GDestroyNotify dnotify); GList * gtk_print_backend_load_modules (void); 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 */ @@ -153,31 +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); -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