aboutsummaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ephy-file-helpers.c17
-rw-r--r--lib/ephy-file-helpers.h11
-rw-r--r--lib/ephy-profile-migrator.c2
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;
}