Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@sugarlabs.org>2009-06-16 17:34:06 (GMT)
committer Tomeu Vizoso <tomeu@sugarlabs.org>2009-06-16 17:34:06 (GMT)
commit0fd8b3aebfbb80a4ce9ec322d5356a92941bb1e8 (patch)
tree4f6427e8ceb5d9b1402c3340cb88706af6b0f803
parent185b0a9ceab510178cbf96f799ddb2cba0cd406f (diff)
Add some more dirs
-rw-r--r--src/HulahopDirectoryProvider.cpp37
1 files changed, 35 insertions, 2 deletions
diff --git a/src/HulahopDirectoryProvider.cpp b/src/HulahopDirectoryProvider.cpp
index 04904f6..e907e35 100644
--- a/src/HulahopDirectoryProvider.cpp
+++ b/src/HulahopDirectoryProvider.cpp
@@ -25,6 +25,7 @@
#include <nsNetUtil.h>
#include <nsISupportsArray.h>
#include <nsIMutableArray.h>
+#include <nsXULAppAPI.h>
#include "HulahopDirectoryProvider.h"
@@ -55,8 +56,13 @@ HulahopDirectoryProvider::GetFile(const char *aKey,
*aPersist = PR_TRUE;
if ((!strcmp(aKey, NS_APP_USER_PROFILE_50_DIR) ||
- !strcmp(aKey, NS_APP_USER_PROFILE_LOCAL_50_DIR)) && mProfilePath) {
- NS_ADDREF(*aResult = mProfilePath);
+ !strcmp(aKey, NS_APP_USER_PROFILE_LOCAL_50_DIR) ||
+ !strcmp(aKey, NS_APP_PROFILE_DIR_STARTUP)) && mProfilePath) {
+ nsCOMPtr<nsIFile> file;
+ rv = mProfilePath->Clone(getter_AddRefs(file));
+ NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE);
+
+ NS_ADDREF(*aResult = file);
return NS_OK;
}
@@ -92,6 +98,33 @@ HulahopDirectoryProvider::GetFile(const char *aKey,
NS_ADDREF(*aResult = dataDir);
return NS_OK;
}
+
+ if (!strcmp(aKey, NS_APP_PREFS_50_FILE)) {
+ nsCOMPtr<nsIFile> file;
+ rv = mProfilePath->Clone(getter_AddRefs(file));
+ NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE);
+
+ rv = file->AppendNative(nsCString("prefs.js"));
+ NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE);
+
+ nsCAutoString inDir;
+ file->GetNativePath(inDir);
+ printf("returning %s for key NS_APP_PREFS_50_FILE\n", inDir.get());fflush(stdout);
+ NS_ADDREF(*aResult = file);
+ return NS_OK;
+ }
+
+ if (!strcmp(aKey, XRE_USER_SYS_EXTENSION_DIR) && mProfilePath) {
+ nsCOMPtr<nsIFile> file;
+ rv = mProfilePath->Clone(getter_AddRefs(file));
+ NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE);
+
+ rv = file->AppendNative(nsCString("extensions"));
+ NS_ENSURE_SUCCESS(rv, NS_ERROR_FAILURE);
+
+ NS_ADDREF(*aResult = file);
+ return NS_OK;
+ }
return NS_ERROR_FAILURE;
}