; -*- scheme -*-

;; libgnome.h
(define-func gnomelib_init
  none
  ((string app_id)
   (string app_version)))

;; gnome-config.h

;(define-func gnome_config_get_string
;  string
;  ((string path)))
(define-func gnome_config_get_translated_string
  string
  ((string path)))
(define-func gnome_config_get_int
  int
  ((string path)))
(define-func gnome_config_get_float
  float
  ((string path)))
(define-func gnome_config_get_bool
  bool
  ((string path)))
; gnome_config_get_vector

;(define-func gnome_config_private_get_string
;  string
;  ((string path)))
(define-func gnome_config_private_get_translated_string
  string
  ((string path)))
(define-func gnome_config_private_get_int
  int
  ((string path)))
(define-func gnome_config_private_get_float
  float
  ((string path)))
(define-func gnome_config_private_get_bool
  bool
  ((string path)))
; gnome_config_private_get_vector

(define-func gnome_config_set_string
  none
  ((string path)
   (string val)))
(define-func gnome_config_set_translated_string
  none
  ((string path)
   (string val)))
(define-func gnome_config_set_int
  none
  ((string path)
   (int val)))
(define-func gnome_config_set_float
  none
  ((string path)
   (float val)))
(define-func gnome_config_set_bool
  none
  ((string path)
   (bool val)))
; gnome_config_set_vector

(define-func gnome_config_private_set_string
  none
  ((string path)
   (string val)))
(define-func gnome_config_private_set_translated_string
  none
  ((string path)
   (string val)))
(define-func gnome_config_private_set_int
  none
  ((string path)
   (int val)))
(define-func gnome_config_private_set_float
  none
  ((string path)
   (float val)))
(define-func gnome_config_private_set_bool
  none
  ((string path)
   (bool val)))
; gnome_config_private_set_vector

(define-func gnome_config_has_section
  bool
  ((string path)))
(define-func gnome_config_private_has_section
  bool
  ((string path)))

;; get sections, get values

(define-func gnome_config_drop_all
  none
  ())

(define-func gnome_config_sync
  none
  ())

(define-func gnome_config_sync_file
  none
  ((string path)))

(define-func gnome_config_private_sync_file
  none
  ((string path)))

(define-func gnome_config_drop_file
  none
  ((string path)))
(define-func gnome_config_private_drop_file
  none
  ((string path)))

(define-func gnome_config_clean_file
  none
  ((string path)))
(define-func gnome_config_private_clean_file
  none
  ((string path)))

(define-func gnome_config_clean_section
  none
  ((string path)))
(define-func gnome_config_private_clean_section
  none
  ((string path)))

(define-func gnome_config_clean_key
  none
  ((string path)))
(define-func gnome_config_private_clean_key
  none
  ((string path)))

(define-func gnome_config_get_real_path
  string
  ((string path)))
(define-func gnome_config_private_get_real_path
  string
  ((string path)))

(define-func gnome_config_push_prefix
  none
  ((string path)))
(define-func gnome_config_pop_prefix
  none
  ())

;; Haven't added gnome desktop entries yet -- does anyone need them?
;; similar for gnome-exec

;; gnome-fileconvert.h
; gnome_file_convert_fd
; gnome_file_convert

;; gnome-help.h
(define-func gnome_help_file_find_file
  string
  ((string app)
   (string path)))

(define-func gnome_help_file_path
  string
  ((string app)
   (string path)))
; gnome_help_display
; gnome_help_goto

;; gnome-history.h
(define-func gnome_history_recently_used
  none
  ((string filename)
   (string filetype)
   (string creator)
   (string desc)))
;gnome_history_get_recently_used

;; gnome-metadata.h -- defined in C, so errno's can be converted to exceptions
;; gnome-mime.h
(define-func gnome_mime_type
  static_string
  ((string filename)))
(define-func gnome_mime_type_or_default
  static_string
  ((string filename)
   (string defaultv)))
(define-func gnome_mime_type_of_file
  static_string
  ((string existing_filename)))
(define-func gnome_mime_type_or_default_of_file
  static_string
  ((string existing_filename)
   (string defaultv)))
(define-func gnome_mime_type_from_magic
  static_string
  ((string filename)))

;; gnome-mime-info.h
(define-func gnome_mime_get_value
  static_string
  ((string mime_type)
   (string key)))
; gnome_mime_get_keys
(define-func gnome_mime_program
  static_string
  ((string mime_type)))
(define-func gnome_mime_description
  static_string
  ((string mime_type)))
(define-func gnome_mime_test
  static_string
  ((string mime_type)))
(define-func gnome_mime_composetyped
  static_string
  ((string mime_type)))
(define-func gnome_mime_copiousoutput
  bool
  ((string mime_type)
   (string key)))
(define-func gnome_mime_needsterminal
  bool
  ((string mime_type)
   (string key)))

;; gnome-score.h
(define-func gnome_score_init
  int
  ((string gamename)))
;(define-func gnome_score_log
;  int
;  ((float score)
;   (string level)
;   (bool higher_to_lower_score_order)))
; gnome_score_get_notable

;; gnome-sound.h -- XXXX this is not always built (what to do?)

;; gnome-triggers.h
(define-func gnome_triggers_init
  none
  ())
;(define-func gnome_triggers_readfile
;  int
;  ((string filename)))
; gnome_triggers_add_trigger
; gnome_triggers_do

;; gnome-url.h
(define-func gnome_url_show
  none
  ((string url)))

;; gnome-util.h
(define-func gnome_libdir_file
  (string null-ok)
  ((string filename)))

(define-func gnome_datadir_file
  (string null-ok)
  ((string filename)))

(define-func gnome_sound_file
  (string null-ok)
  ((string filename)))

(define-func gnome_pixmap_file
  (string null-ok)
  ((string filename)))

(define-func gnome_config_file
  (string null-ok)
  ((string filename)))

(define-func gnome_unconditional_libdir_file
  (string null-ok)
  ((string filename)))

(define-func gnome_unconditional_datadir_file
  (string null-ok)
  ((string filename)))

(define-func gnome_unconditional_sound_file
  (string null-ok)
  ((string filename)))

(define-func gnome_unconditional_pixmap_file
  (string null-ok)
  ((string filename)))

(define-func gnome_unconditional_config_file
  (string null-ok)
  ((string filename)))

