gecko/toolkit/components/telemetry/nsITelemetryPing.idl

62 lines
1.4 KiB
Plaintext

/* -*- Mode: C++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 8 -*- */
/* 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/. */
#include "nsIObserver.idl"
interface nsIFile;
[scriptable, uuid(37fb32f5-d5ed-45e3-8feb-fa085935e732)]
interface nsITelemetryPing : nsIObserver {
/**
* Return the current telemetry payload.
*/
jsval getPayload();
/**
* Save histograms to a file.
*
* @param aFile - File to load from.
* @param aSync - Use sync writes.
*/
void saveHistograms(in nsIFile aFile, in boolean aSync);
/**
* Collect and store information about startup.
*/
void gatherStartup();
/**
* Notify observers when loads and saves finish. Used only for testing.
*/
void enableLoadSaveNotifications();
/**
* Cache the profile directory for later use.
*/
void cacheProfileDirectory();
/**
* Inform the ping which AddOns are installed.
*
* @param aAddOns - The AddOns.
*/
void setAddOns(in AString aAddOns);
/**
* Send a ping to a test server. Used only for testing.
*
* @param aServer - The server.
*/
void testPing(in AString aServer);
/**
* Load histograms from a file.
*
* @param aFile - File to load from.
* @param aSync - Use sync reads.
*/
void testLoadHistograms(in nsIFile aFile, in boolean aSync);
};