]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkprintbackend.h
Adds authentication support of CUPS backend
[~andy/gtk] / gtk / gtkprintbackend.h
index a33f6d80fe961f30bf91de9d5b6f0179a8ced7b3..7d75f8e417961f59065f963632804cbd01eebece 100644 (file)
@@ -55,6 +55,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;
@@ -113,14 +120,22 @@ struct _GtkPrintBackendClass
                                                              GtkPrinter          *printer);
   void                  (*printer_status_changed)            (GtkPrintBackend     *backend,
                                                              GtkPrinter          *printer);
+  void                  (*request_password)                  (GtkPrintBackend     *backend,
+                                                              const gchar         *hostname,
+                                                              const gchar         *username,
+                                                              const gchar         *prompt);
+
+  /* not a signal */
+  void                  (*set_password)                      (GtkPrintBackend     *backend,
+                                                              const gchar         *hostname,
+                                                              const gchar         *username,
+                                                              const gchar         *password);
 
   /* 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);
 };
 
 GType   gtk_print_backend_get_type       (void) G_GNUC_CONST;
@@ -137,6 +152,10 @@ void        gtk_print_backend_print_stream         (GtkPrintBackend         *pri
                                                    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, 
+                                                    const gchar             *hostname,
+                                                    const gchar             *username,
+                                                    const gchar             *password);
 
 /* Backend-only functions for GtkPrintBackend */
 
@@ -149,30 +168,32 @@ 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);
+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);
+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