/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* vim: set ts=8 sts=2 et sw=2 tw=80: */ /* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
// Lots of code reads these fields directly like a struct, so rather // than using UniquePtr directly, use an auto-converting wrapper. class CharPtr { public: explicit CharPtr() = default; explicit CharPtr(constchar* v) { *this = v; }
CharPtr(CharPtr&&) = default;
~CharPtr() = default;
/** * The directory of the application to be run. May be null if the * xulrunner and the app are installed into the same directory.
*/
nsCOMPtr<nsIFile> directory;
/** * The name of the application vendor. This must be ASCII, and is normally * mixed-case, e.g. "Mozilla". Optional (may be null), but highly * recommended. Must not be the empty string.
*/
CharPtr vendor;
/** * The name of the application. This must be ASCII, and is normally * mixed-case, e.g. "Firefox". Required (must not be null or an empty * string).
*/
CharPtr name;
/** * The internal name of the application for remoting purposes. When left * unspecified, "name" is used instead. This must be ASCII, and is normally * lowercase, e.g. "firefox". Optional (may be null but not an empty string).
*/
CharPtr remotingName;
/** * The major version, e.g. "0.8.0+". Optional (may be null), but * required for advanced application features such as the extension * manager and update service. Must not be the empty string.
*/
CharPtr version;
/** * The application's build identifier, e.g. "2004051604"
*/
CharPtr buildID;
/** * The application's UUID. Used by the extension manager to determine * compatible extensions. Optional, but required for advanced application * features such as the extension manager and update service. * * This has traditionally been in the form * "{AAAAAAAA-BBBB-CCCC-DDDD-EEEEEEEEEEEE}" but for new applications * a more readable form is encouraged: "appname@vendor.tld". Only * the following characters are allowed: a-z A-Z 0-9 - . @ _ { } *
*/
CharPtr ID;
/** * The copyright information to print for the -h commandline flag, * e.g. "Copyright (c) 2003 mozilla.org".
*/
CharPtr copyright;
/** * The server URL to send crash reports to.
*/
CharPtr crashReporterURL;
/** * The profile directory that will be used. Optional (may be null). Must not * be the empty string, must be ASCII. The path is split into components * along the path separator characters '/' and '\'. * * The application data directory ("UAppData", see below) is normally * composed as follows, where $HOME is platform-specific: * * UAppData = $HOME[/$vendor]/$name * * If present, the 'profile' string will be used instead of the combination of * vendor and name as follows: * * UAppData = $HOME/$profile
*/
CharPtr profile;
/** * The application name to use in the User Agent string.
*/
CharPtr UAName;
/** * The URL to the source revision for this build of the application.
*/
CharPtr sourceURL;
/** * The URL to use to check for updates.
*/
CharPtr updateURL;
// Returns a name suitable for DBUS services. staticvoid SanitizeNameForDBus(nsACString&); void GetDBusAppName(nsACString&) const;
};
/** * Indicates whether or not the profile migrator service may be * invoked at startup when creating a profile.
*/ #define NS_XRE_ENABLE_PROFILE_MIGRATOR (1 << 1)
/** * Indicates whether or not to use Breakpad crash reporting.
*/ #define NS_XRE_ENABLE_CRASH_REPORTER (1 << 3)
/** * A static version of the XRE app data is compiled into the application * so that it is not necessary to read application.ini at startup. * * This structure is initialized into and matches nsXREAppData
*/ struct StaticXREAppData { constchar* vendor; constchar* name; constchar* remotingName; constchar* version; constchar* buildID; constchar* ID; constchar* copyright;
uint32_t flags; constchar* minVersion; constchar* maxVersion; constchar* crashReporterURL; constchar* profile; constchar* UAName; constchar* sourceURL; constchar* updateURL;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.