(define-object Printer
  (in-module "Unixprint")
  (parent "GObject")
  (c-name "GtkPrinter")
  (gtype-id "GTK_TYPE_PRINTER")
  (import-header "gtk/gtkunixprint.h")
)

(define-function gtk_printer_new
  (is-constructor-of "GtkPrinter")
  (c-name "gtk_printer_new")
  (caller-owns-return #t)
  (return-type "GtkPrinter*")
  (parameters
    '("const-gchar*" "name")
    '("GtkPrintBackend*" "backend")
    '("gboolean" "is_virtual")
  )
)

(define-method get_backend
  (of-object "GtkPrinter")
  (c-name "gtk_printer_get_backend")
  (return-type "GtkPrintBackend*")
)

(define-method get_name
  (of-object "GtkPrinter")
  (c-name "gtk_printer_get_name")
  (return-type "const-gchar*")
)

(define-method get_state_message
  (of-object "GtkPrinter")
  (c-name "gtk_printer_get_state_message")
  (return-type "const-gchar*")
)

(define-method get_description
  (of-object "GtkPrinter")
  (c-name "gtk_printer_get_description")
  (return-type "const-gchar*")
)

(define-method get_location
  (of-object "GtkPrinter")
  (c-name "gtk_printer_get_location")
  (return-type "const-gchar*")
)

(define-method get_icon_name
  (of-object "GtkPrinter")
  (c-name "gtk_printer_get_icon_name")
  (return-type "const-gchar*")
)

(define-method get_job_count
  (of-object "GtkPrinter")
  (c-name "gtk_printer_get_job_count")
  (return-type "gint")
)

(define-method is_active
  (of-object "GtkPrinter")
  (c-name "gtk_printer_is_active")
  (return-type "gboolean")
)

(define-method is_virtual
  (of-object "GtkPrinter")
  (c-name "gtk_printer_is_virtual")
  (return-type "gboolean")
)

(define-method is_default
  (of-object "GtkPrinter")
  (c-name "gtk_printer_is_default")
  (return-type "gboolean")
)

(define-method accepts_pdf
  (of-object "GtkPrinter")
  (c-name "gtk_printer_accepts_pdf")
  (return-type "gboolean")
)

(define-method accepts_ps
  (of-object "GtkPrinter")
  (c-name "gtk_printer_accepts_ps")
  (return-type "gboolean")
)

(define-method compare
  (of-object "GtkPrinter")
  (c-name "gtk_printer_compare")
  (return-type "gint")
  (parameters
    '("GtkPrinter*" "b")
  )
)

(define-method get_capabilities
  (of-object "GtkPrinter")
  (c-name "gtk_printer_get_capabilities")
  (return-type "GtkPrintCapabilities")
)

(define-method has_details
  (of-object "GtkPrinter")
  (c-name "gtk_printer_has_details")
  (return-type "gboolean")
)

(define-method list_papers
  (of-object "GtkPrinter")
  (c-name "gtk_printer_list_papers")
  (return-type "GList*")
)

(define-method request_details
  (of-object "GtkPrinter")
  (c-name "gtk_printer_request_details")
  (return-type "none")
)

(define-virtual details_acquired
  (of-object "GtkPrinter")
  (return-type "none")
  (parameters
    '("gboolean" "success")
  )
)

