(defmodule dirs-win
  (export
   (assemble 1)))

;;pub fn home_dir()         -> Option<PathBuf> { dirs_sys::known_folder_profile() }

;;pub fn cache_dir()        -> Option<PathBuf> { data_local_dir() }
;;pub fn config_dir()       -> Option<PathBuf> { dirs_sys::known_folder_roaming_app_data() }
;;pub fn config_local_dir() -> Option<PathBuf> { dirs_sys::known_folder_local_app_data() }
;;pub fn data_dir()         -> Option<PathBuf> { dirs_sys::known_folder_roaming_app_data() }
;;pub fn data_local_dir()   -> Option<PathBuf> { dirs_sys::known_folder_local_app_data() }
;;pub fn executable_dir()   -> Option<PathBuf> { None }
;;pub fn preference_dir()   -> Option<PathBuf> { dirs_sys::known_folder_local_app_data() }
;;pub fn runtime_dir()      -> Option<PathBuf> { None }
;;pub fn state_dir()        -> Option<PathBuf> { None }

;;pub fn audio_dir()        -> Option<PathBuf> { dirs_sys::known_folder_music() }
;;pub fn desktop_dir()      -> Option<PathBuf> { dirs_sys::known_folder_desktop() }
;;pub fn document_dir()     -> Option<PathBuf> { dirs_sys::known_folder_documents() }
;;pub fn download_dir()     -> Option<PathBuf> { dirs_sys::known_folder_downloads() }
;;pub fn font_dir()         -> Option<PathBuf> { None }
;;pub fn picture_dir()      -> Option<PathBuf> { dirs_sys::known_folder_pictures() }
;;pub fn public_dir()       -> Option<PathBuf> { dirs_sys::known_folder_public()}
;;pub fn template_dir()     -> Option<PathBuf> { dirs_sys::known_folder_templates() }
;;pub fn video_dir()        -> Option<PathBuf> { dirs_sys::known_folder_videos() }

(defun assemble
  ;; Unsupported
  (('executable) 'undefined)
  (('runtime) 'undefined)
  (('state) 'undefined)
  (('font) 'undefined)
  ;; Erlang-supported
  ;;(('cache) (filename:basedir 'user_cache ""))
  ;;(('config) (filename:basedir 'user_config ""))
  ;;(('config-local) (filename:basedir 'user_config ""))
  ;;(('data) (filename:basedir 'user_config "share"))
  ;; Custom
  )
