diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ephy-file-helpers.c | 17 | ||||
-rw-r--r-- | lib/ephy-file-helpers.h | 11 | ||||
-rw-r--r-- | lib/ephy-profile-migrator.c | 2 |
3 files changed, 20 insertions, 10 deletions
diff --git a/lib/ephy-file-helpers.c b/lib/ephy-file-helpers.c index 50e81f315..63f3c1434 100644 --- a/lib/ephy-file-helpers.c +++ b/lib/ephy-file-helpers.c @@ -272,8 +272,7 @@ ephy_dot_dir (void) /** * ephy_file_helpers_init: * @profile_dir: directory to use as Epiphany's profile - * @private_profile: %TRUE if we should use a private profile - * @keep_temp_dir: %TRUE to omit deleting the temp dir on exit + * @flags: the %EphyFileHelpersFlags for this session * @error: an optional #GError * * Initializes Epiphany file helper functions, sets @profile_dir as Epiphany's @@ -283,11 +282,11 @@ ephy_dot_dir (void) **/ gboolean ephy_file_helpers_init (const char *profile_dir, - gboolean private_profile, - gboolean keep_temp_dir, + EphyFileHelpersFlags flags, GError **error) { const char *uuid; + gboolean private_profile; /* See if we've been calling ourself, and abort if we have */ uuid = g_getenv (EPHY_UUID_ENVVAR); @@ -307,7 +306,8 @@ ephy_file_helpers_init (const char *profile_dir, (GDestroyNotify) g_free, (GDestroyNotify) g_free); - keep_temp_directory = keep_temp_dir; + keep_temp_directory = flags & EPHY_FILE_HELPERS_KEEP_TEMP_DIR; + private_profile = flags & EPHY_FILE_HELPERS_PRIVATE_PROFILE; if (private_profile && profile_dir != NULL) { @@ -336,8 +336,11 @@ ephy_file_helpers_init (const char *profile_dir, "epiphany", NULL); } - - return ephy_ensure_dir_exists (ephy_dot_dir (), error); + + if (flags & EPHY_FILE_HELPERS_ENSURE_EXISTS) + return ephy_ensure_dir_exists (ephy_dot_dir (), error); + else + return TRUE; } static void diff --git a/lib/ephy-file-helpers.h b/lib/ephy-file-helpers.h index 4cd270f83..68a6db616 100644 --- a/lib/ephy-file-helpers.h +++ b/lib/ephy-file-helpers.h @@ -45,11 +45,18 @@ typedef enum EPHY_MIME_PERMISSION_UNKNOWN = 3 } EphyMimePermission; +typedef enum +{ + EPHY_FILE_HELPERS_NONE = 0, + EPHY_FILE_HELPERS_KEEP_TEMP_DIR = 1 << 1, + EPHY_FILE_HELPERS_PRIVATE_PROFILE = 1 << 2, + EPHY_FILE_HELPERS_ENSURE_EXISTS = 1 << 3, +} EphyFileHelpersFlags; + #define EPHY_UUID_ENVVAR "EPHY_UNIQUE" gboolean ephy_file_helpers_init (const char *profile_dir, - gboolean private_profile, - gboolean keep_temp_dir, + EphyFileHelpersFlags flags, GError **error); const char * ephy_file (const char *filename); const char * ephy_dot_dir (void); diff --git a/lib/ephy-profile-migrator.c b/lib/ephy-profile-migrator.c index 2ab42c95e..17b2692ac 100644 --- a/lib/ephy-profile-migrator.c +++ b/lib/ephy-profile-migrator.c @@ -670,7 +670,7 @@ main (int argc, char *argv[]) ephy_debug_init (); - if (!ephy_file_helpers_init (NULL, FALSE, FALSE, NULL)) { + if (!ephy_file_helpers_init (NULL, EPHY_FILE_HELPERS_NONE, NULL)) { LOG ("Something wrong happened with ephy_file_helpers_init()"); return -1; } |