diff options
author | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-06-16 17:34:06 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@sugarlabs.org> | 2009-06-16 17:34:06 (GMT) |
commit | 0fd8b3aebfbb80a4ce9ec322d5356a92941bb1e8 (patch) | |
tree | 4f6427e8ceb5d9b1402c3340cb88706af6b0f803 | |
parent | 185b0a9ceab510178cbf96f799ddb2cba0cd406f (diff) |
Add some more dirs
-rw-r--r-- | src/HulahopDirectoryProvider.cpp | 37 |
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; } |