1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- 2 * 3 * Copyright (C) 2016 Peter Hatina <phatina@redhat.com> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 * 15 * You should have received a copy of the GNU General Public License 16 * along with this program; if not, write to the Free Software 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 * 19 */ 20 21 #ifndef __UDISKS_CONFIG_MANAGER_H__ 22 #define __UDISKS_CONFIG_MANAGER_H__ 23 24 #include "udisksdaemontypes.h" 25 26 G_BEGIN_DECLS 27 28 #define UDISKS_TYPE_CONFIG_MANAGER (udisks_config_manager_get_type ()) 29 #define UDISKS_CONFIG_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), UDISKS_TYPE_CONFIG_MANAGER, UDisksConfigManager)) 30 #define UDISKS_IS_CONFIG_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), UDISKS_TYPE_CONFIG_MANAGER)) 31 #define UDISKS_CONFIG_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), UDISKS_TYPE_CONFIG_MANAGER, UDisksConfigManagerClass)) 32 #define UDISKS_IS_CONFIG_MANAGER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), UDISKS_TYPE_CONFIG_MANAGER)) 33 #define UDISKS_CONFIG_MANAGER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), UDISKS_TYPE_CONFIG_MANAGER, UDisksConfigManagerClass)) 34 35 /** 36 * UDisksModuleLoadPreference: 37 * @UDISKS_MODULE_LOAD_ONDEMAND 38 * @UDISKS_MODULE_LOAD_ONSTARTUP 39 * 40 * Enumeration used to specify when to load additional modules. 41 */ 42 typedef enum 43 { 44 UDISKS_MODULE_LOAD_ONDEMAND, 45 UDISKS_MODULE_LOAD_ONSTARTUP 46 } UDisksModuleLoadPreference; 47 48 #define UDISKS_ENCRYPTION_LUKS1 "luks1" 49 #define UDISKS_ENCRYPTION_LUKS2 "luks2" 50 #define UDISKS_ENCRYPTION_DEFAULT UDISKS_ENCRYPTION_LUKS1 51 52 GType udisks_config_manager_get_type (void) G_GNUC_CONST; 53 UDisksConfigManager *udisks_config_manager_new (void); 54 UDisksConfigManager *udisks_config_manager_new_uninstalled (void); 55 56 gboolean udisks_config_manager_get_uninstalled (UDisksConfigManager *manager); 57 58 GList *udisks_config_manager_get_modules (UDisksConfigManager *manager); 59 gboolean udisks_config_manager_get_modules_all (UDisksConfigManager *manager); 60 UDisksModuleLoadPreference 61 udisks_config_manager_get_load_preference (UDisksConfigManager *manager); 62 const gchar *udisks_config_manager_get_encryption (UDisksConfigManager *manager); 63 64 const gchar *udisks_config_manager_get_config_dir (UDisksConfigManager *manager); 65 66 G_END_DECLS 67 68 #endif /* __UDISKS_CONFIG_MANAGER_H__ */ 69