diff options
Diffstat (limited to 'dom/network/interfaces/nsINetworkStatsServiceProxy.idl')
-rw-r--r-- | dom/network/interfaces/nsINetworkStatsServiceProxy.idl | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/dom/network/interfaces/nsINetworkStatsServiceProxy.idl b/dom/network/interfaces/nsINetworkStatsServiceProxy.idl new file mode 100644 index 0000000000..cd6765c68a --- /dev/null +++ b/dom/network/interfaces/nsINetworkStatsServiceProxy.idl @@ -0,0 +1,64 @@ +/* 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 "nsISupports.idl" + +interface nsINetworkInfo; + +[scriptable, function, uuid(5f821529-1d80-4ab5-a933-4e1b3585b6bc)] +interface nsINetworkStatsServiceProxyCallback : nsISupports +{ + /* + * @param aResult callback result with boolean value + * @param aMessage message + */ + void notify(in boolean aResult, in jsval aMessage); +}; + +[scriptable, uuid(f4f3e901-e102-499d-9d37-dc9951f52df7)] +interface nsINetworkStatsServiceProxy : nsISupports +{ + /* + * An interface used to record per-app traffic data. + * @param aAppId app id + * @param aIsInIsolatedMozBrowser + * true if the frame is an isolated mozbrowser element. <iframe + * mozbrowser mozapp> and <xul:browser> are not considered to be + * mozbrowser elements. <iframe mozbrowser noisolation> does not count + * as isolated since isolation is disabled. Isolation can only be + * disabled if the containing document is chrome. + * @param aNetworkInterface network + * @param aTimeStamp time stamp + * @param aRxBytes received data amount + * @param aTxBytes transmitted data amount + * @param aIsAccumulative is stats accumulative + * @param aCallback an optional callback + */ + void saveAppStats(in unsigned long aAppId, + in boolean aIsInIsolatedMozBrowser, + in nsINetworkInfo aNetworkInfo, + in unsigned long long aTimeStamp, + in unsigned long long aRxBytes, + in unsigned long long aTxBytes, + in boolean aIsAccumulative, + [optional] in nsINetworkStatsServiceProxyCallback aCallback); + + /* + * An interface used to record per-system service traffic data. + * @param aServiceType system service type + * @param aNetworkInterface network + * @param aTimeStamp time stamp + * @param aRxBytes received data amount + * @param aTxBytes transmitted data amount + * @param aIsAccumulative is stats accumulative + * @param aCallback an optional callback + */ + void saveServiceStats(in string aServiceType, + in nsINetworkInfo aNetworkInfo, + in unsigned long long aTimeStamp, + in unsigned long long aRxBytes, + in unsigned long long aTxBytes, + in boolean aIsAccumulative, + [optional] in nsINetworkStatsServiceProxyCallback aCallback); +}; |