зеркало из https://github.com/mozilla/gecko-dev.git
Bug 887699 - Part 1: IDL definition. r=jonas, r=hsinyi
This commit is contained in:
Родитель
18dbbb6e83
Коммит
1e74154822
|
@ -4,6 +4,8 @@
|
||||||
|
|
||||||
#include "nsISupports.idl"
|
#include "nsISupports.idl"
|
||||||
|
|
||||||
|
interface nsIDOMMozNetworkStatsInterface;
|
||||||
|
|
||||||
[scriptable, builtinclass, uuid(3b16fe17-5583-483a-b486-b64a3243221c)]
|
[scriptable, builtinclass, uuid(3b16fe17-5583-483a-b486-b64a3243221c)]
|
||||||
interface nsIDOMMozNetworkStatsData : nsISupports
|
interface nsIDOMMozNetworkStatsData : nsISupports
|
||||||
{
|
{
|
||||||
|
@ -12,7 +14,7 @@ interface nsIDOMMozNetworkStatsData : nsISupports
|
||||||
readonly attribute jsval date; // Date.
|
readonly attribute jsval date; // Date.
|
||||||
};
|
};
|
||||||
|
|
||||||
[scriptable, builtinclass, uuid(6613ea55-b99c-44f9-91bf-d07da10b9b74)]
|
[scriptable, builtinclass, uuid(b6fc4b14-628d-4c99-bf4e-e4ed56916cbe)]
|
||||||
interface nsIDOMMozNetworkStats : nsISupports
|
interface nsIDOMMozNetworkStats : nsISupports
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
|
@ -22,13 +24,12 @@ interface nsIDOMMozNetworkStats : nsISupports
|
||||||
readonly attribute DOMString manifestURL;
|
readonly attribute DOMString manifestURL;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Can be 'mobile', 'wifi' or null.
|
* Network the returned data belongs to.
|
||||||
* If null, stats for both mobile and wifi are returned.
|
|
||||||
*/
|
*/
|
||||||
readonly attribute DOMString connectionType;
|
readonly attribute nsIDOMMozNetworkStatsInterface network;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Stats for connectionType
|
* Stats for a network.
|
||||||
*/
|
*/
|
||||||
readonly attribute jsval data; // array of NetworkStatsData.
|
readonly attribute jsval data; // array of NetworkStatsData.
|
||||||
// one element per day.
|
// one element per day.
|
||||||
|
|
|
@ -6,57 +6,65 @@
|
||||||
|
|
||||||
interface nsIDOMDOMRequest;
|
interface nsIDOMDOMRequest;
|
||||||
|
|
||||||
dictionary NetworkStatsOptions
|
/**
|
||||||
|
* Represents a data interface for which the manager is recording statistics.
|
||||||
|
*/
|
||||||
|
[scriptable, uuid(f540615b-d803-43ff-8200-2a9d145a5645)]
|
||||||
|
interface nsIDOMMozNetworkStatsInterface : nsISupports
|
||||||
{
|
{
|
||||||
|
readonly attribute long type;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Connection type used to filter which network stats will be returned:
|
* Id value is '0' for wifi or the iccid for mobile (SIM).
|
||||||
* 'mobile', 'wifi' or null.
|
|
||||||
* If null, stats for both mobile and wifi are returned.
|
|
||||||
*
|
|
||||||
* Manifest URL used to retrieve network stats per app.
|
|
||||||
* If null, system stats (regardless of the app) are returned.
|
|
||||||
*/
|
*/
|
||||||
DOMString connectionType;
|
readonly attribute DOMString id;
|
||||||
DOMString manifestURL;
|
|
||||||
jsval start; // date
|
|
||||||
jsval end; // date
|
|
||||||
};
|
};
|
||||||
|
|
||||||
[scriptable, uuid(87529a6c-aef6-11e1-a595-4f034275cfa6)]
|
[scriptable, uuid(5fbdcae6-a2cd-47b3-929f-83ac75bd4881)]
|
||||||
interface nsIDOMMozNetworkStatsManager : nsISupports
|
interface nsIDOMMozNetworkStatsManager : nsISupports
|
||||||
{
|
{
|
||||||
/**
|
/**
|
||||||
* Query network statistics.
|
* Constants for known interface types.
|
||||||
*
|
|
||||||
* If options.connectionType is not provided, return statistics for all known
|
|
||||||
* network interfaces.
|
|
||||||
*
|
|
||||||
* If options.manifestURL is not provided, return statistics regardless of the app.
|
|
||||||
*
|
|
||||||
* If successful, the request result will be an nsIDOMMozNetworkStats object.
|
|
||||||
*
|
|
||||||
* If network stats are not available for some dates, then rxBytes &
|
|
||||||
* txBytes are undefined for those dates.
|
|
||||||
*/
|
*/
|
||||||
nsIDOMDOMRequest getNetworkStats(in jsval options);
|
const long WIFI = 0;
|
||||||
|
const long MOBILE = 1;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return available connection types.
|
* Find samples between two dates start and end, both included.
|
||||||
|
*
|
||||||
|
* If manifestURL is provided, per-app usage is retrieved,
|
||||||
|
* otherwise the target will be system usage.
|
||||||
|
*
|
||||||
|
* If success, the request result will be an nsIDOMMozNetworkStats object.
|
||||||
*/
|
*/
|
||||||
readonly attribute jsval connectionTypes; // array of DOMStrings.
|
nsIDOMDOMRequest getSamples(in nsIDOMMozNetworkStatsInterface network,
|
||||||
|
in jsval start,
|
||||||
|
in jsval end,
|
||||||
|
[optional] in DOMString manifestURL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Clear all stats from DB.
|
* Remove all stats related with the provided network from DB.
|
||||||
*/
|
*/
|
||||||
nsIDOMDOMRequest clearAllData();
|
nsIDOMDOMRequest clearStats(in nsIDOMMozNetworkStatsInterface network);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Time in seconds between samples stored in database.
|
* Remove all stats in the database.
|
||||||
*/
|
*/
|
||||||
readonly attribute long sampleRate;
|
nsIDOMDOMRequest clearAllStats();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Maximum number of samples stored in the database per connection type.
|
* Return currently available networks.
|
||||||
*/
|
*/
|
||||||
readonly attribute long maxStorageSamples;
|
readonly attribute jsval availableNetworks; // array of nsIDOMMozNetworkStatsInterface.
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Minimum time in milliseconds between samples stored in the database.
|
||||||
|
*/
|
||||||
|
readonly attribute long sampleRate;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Time in milliseconds recorded by the API until present time. All samples
|
||||||
|
* older than maxStorageAge from now are deleted.
|
||||||
|
*/
|
||||||
|
readonly attribute long long maxStorageAge;
|
||||||
};
|
};
|
||||||
|
|
|
@ -4,6 +4,8 @@
|
||||||
|
|
||||||
#include "nsISupports.idl"
|
#include "nsISupports.idl"
|
||||||
|
|
||||||
|
interface nsINetworkInterface;
|
||||||
|
|
||||||
[scriptable, function, uuid(5f821529-1d80-4ab5-a933-4e1b3585b6bc)]
|
[scriptable, function, uuid(5f821529-1d80-4ab5-a933-4e1b3585b6bc)]
|
||||||
interface nsINetworkStatsServiceProxyCallback : nsISupports
|
interface nsINetworkStatsServiceProxyCallback : nsISupports
|
||||||
{
|
{
|
||||||
|
@ -14,20 +16,20 @@ interface nsINetworkStatsServiceProxyCallback : nsISupports
|
||||||
void notify(in boolean aResult, in jsval aMessage);
|
void notify(in boolean aResult, in jsval aMessage);
|
||||||
};
|
};
|
||||||
|
|
||||||
[scriptable, uuid(8fbd115d-f590-474c-96dc-e2b6803ca975)]
|
[scriptable, uuid(facef032-3fd9-4509-a396-83d94c1a11ae)]
|
||||||
interface nsINetworkStatsServiceProxy : nsISupports
|
interface nsINetworkStatsServiceProxy : nsISupports
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* An interface used to record per-app traffic data.
|
* An interface used to record per-app traffic data.
|
||||||
* @param aAppId app id
|
* @param aAppId app id
|
||||||
* @param aConnectionType network connection type (0 for wifi, 1 for mobile)
|
* @param aNetworkInterface network
|
||||||
* @param aTimeStamp time stamp
|
* @param aTimeStamp time stamp
|
||||||
* @param aRxBytes received data amount
|
* @param aRxBytes received data amount
|
||||||
* @param aTxBytes transmitted data amount
|
* @param aTxBytes transmitted data amount
|
||||||
* @param aCallback an optional callback
|
* @param aCallback an optional callback
|
||||||
*/
|
*/
|
||||||
void saveAppStats(in unsigned long aAppId,
|
void saveAppStats(in unsigned long aAppId,
|
||||||
in long aConnectionType,
|
in nsINetworkInterface aNetwork,
|
||||||
in unsigned long long aTimeStamp,
|
in unsigned long long aTimeStamp,
|
||||||
in unsigned long long aRxBytes,
|
in unsigned long long aRxBytes,
|
||||||
in unsigned long long aTxBytes,
|
in unsigned long long aTxBytes,
|
||||||
|
|
Загрузка…
Ссылка в новой задаче