int main(int argc, char* argv[]) { ScopedLogging log; nsCOMPtr<nsILocalFile> appini; nsresult rv = XRE_GetBinaryPath(argv[0], getter_AddRefs(appini)); if (NS_FAILED(rv)) { Output("Couldn't calculate the application directory."); return 255; } appini->SetNativeLeafName(NS_LITERAL_CSTRING("application.ini")); // Allow firefox.exe to launch XULRunner apps via -app <application.ini> // Note that -app must be the *first* argument. char *appEnv = nsnull; const char *appDataFile = PR_GetEnv("XUL_APP_FILE"); if (appDataFile && *appDataFile) { rv = XRE_GetFileFromPath(appDataFile, getter_AddRefs(appini)); if (NS_FAILED(rv)) { Output("Invalid path found: '%s'", appDataFile); return 255; } } else if (argc > 1 && IsArg(argv[1], "app")) { if (argc == 2) { Output("Incorrect number of arguments passed to -app"); return 255; } rv = XRE_GetFileFromPath(argv[2], getter_AddRefs(appini)); if (NS_FAILED(rv)) { Output("application.ini path not recognized: '%s'", argv[2]); return 255; } appEnv = PR_smprintf("XUL_APP_FILE=%s", argv[2]); PR_SetEnv(appEnv); argv[2] = argv[0]; argv += 2; argc -= 2; } nsXREAppData *appData; rv = XRE_CreateAppData(appini, &appData); if (NS_FAILED(rv)) { Output("Couldn't read application.ini"); return 255; } int result = XRE_main(argc, argv, appData); XRE_FreeAppData(appData); if (appEnv) PR_smprintf_free(appEnv); return result; }
void xxxNeverCalledXUL() { XRE_main(0, nsnull, nsnull); XRE_GetFileFromPath(nsnull, nsnull); XRE_GetStaticComponents(nsnull, nsnull); XRE_LockProfileDirectory(nsnull, nsnull); XRE_InitEmbedding(nsnull, nsnull, nsnull, nsnull, 0); XRE_NotifyProfile(); XRE_TermEmbedding(); XRE_CreateAppData(nsnull, nsnull); XRE_ParseAppData(nsnull, nsnull); XRE_FreeAppData(nsnull); }
int main(int argc, char* argv[]) { nsCOMPtr<nsIFile> appini; nsresult rv = XRE_GetBinaryPath(argv[0], getter_AddRefs(appini)); if (NS_FAILED(rv)) { Output("Couldn't calculate the application directory."); return 255; } appini->SetNativeLeafName(NS_LITERAL_CSTRING("application.ini")); nsXREAppData *appData; rv = XRE_CreateAppData(appini, &appData); if (NS_FAILED(rv)) { Output("Couldn't read application.ini"); return 255; } int result = XRE_main(argc, argv, appData, 0); XRE_FreeAppData(appData); return result; }
AutoAppData(nsILocalFile* aINIFile) : mAppData(nsnull) { nsresult rv = XRE_CreateAppData(aINIFile, &mAppData); if (NS_FAILED(rv)) mAppData = nsnull; }
AutoAppData(nsIFile* aINIFile) : mAppData(nullptr) { nsresult rv = XRE_CreateAppData(aINIFile, &mAppData); if (NS_FAILED(rv)) mAppData = nullptr; }