LCOV - code coverage report
Current view: directory - objdir/dist/include - nsITelemetry.h (source / functions) Found Hit Coverage
Test: app.info Lines: 2 2 100.0 %
Date: 2012-06-02 Functions: 2 2 100.0 %

       1                 : /*
       2                 :  * DO NOT EDIT.  THIS FILE IS GENERATED FROM /builds/slave/m-beta-lnx-codecoverage/build/toolkit/components/telemetry/nsITelemetry.idl
       3                 :  */
       4                 : 
       5                 : #ifndef __gen_nsITelemetry_h__
       6                 : #define __gen_nsITelemetry_h__
       7                 : 
       8                 : 
       9                 : #ifndef __gen_nsISupports_h__
      10                 : #include "nsISupports.h"
      11                 : #endif
      12                 : 
      13                 : #ifndef __gen_nsIFile_h__
      14                 : #include "nsIFile.h"
      15                 : #endif
      16                 : 
      17                 : #include "jspubtd.h"
      18                 : 
      19                 : /* For IDL files that don't want to include root IDL files. */
      20                 : #ifndef NS_NO_VTABLE
      21                 : #define NS_NO_VTABLE
      22                 : #endif
      23                 : 
      24                 : /* starting interface:    nsITelemetrySessionData */
      25                 : #define NS_ITELEMETRYSESSIONDATA_IID_STR "c177b6b0-5ef1-44f5-bc67-6bcf7d2518e5"
      26                 : 
      27                 : #define NS_ITELEMETRYSESSIONDATA_IID \
      28                 :   {0xc177b6b0, 0x5ef1, 0x44f5, \
      29                 :     { 0xbc, 0x67, 0x6b, 0xcf, 0x7d, 0x25, 0x18, 0xe5 }}
      30                 : 
      31               2 : class NS_NO_VTABLE NS_SCRIPTABLE nsITelemetrySessionData : public nsISupports {
      32                 :  public: 
      33                 : 
      34                 :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITELEMETRYSESSIONDATA_IID)
      35                 : 
      36                 :   /* readonly attribute ACString uuid; */
      37                 :   NS_SCRIPTABLE NS_IMETHOD GetUuid(nsACString & aUuid) = 0;
      38                 : 
      39                 :   /* [implicit_jscontext] readonly attribute jsval snapshots; */
      40                 :   NS_SCRIPTABLE NS_IMETHOD GetSnapshots(JSContext* cx, JS::Value *aSnapshots) = 0;
      41                 : 
      42                 : };
      43                 : 
      44                 :   NS_DEFINE_STATIC_IID_ACCESSOR(nsITelemetrySessionData, NS_ITELEMETRYSESSIONDATA_IID)
      45                 : 
      46                 : /* Use this macro when declaring classes that implement this interface. */
      47                 : #define NS_DECL_NSITELEMETRYSESSIONDATA \
      48                 :   NS_SCRIPTABLE NS_IMETHOD GetUuid(nsACString & aUuid); \
      49                 :   NS_SCRIPTABLE NS_IMETHOD GetSnapshots(JSContext* cx, JS::Value *aSnapshots); 
      50                 : 
      51                 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
      52                 : #define NS_FORWARD_NSITELEMETRYSESSIONDATA(_to) \
      53                 :   NS_SCRIPTABLE NS_IMETHOD GetUuid(nsACString & aUuid) { return _to GetUuid(aUuid); } \
      54                 :   NS_SCRIPTABLE NS_IMETHOD GetSnapshots(JSContext* cx, JS::Value *aSnapshots) { return _to GetSnapshots(cx, aSnapshots); } 
      55                 : 
      56                 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
      57                 : #define NS_FORWARD_SAFE_NSITELEMETRYSESSIONDATA(_to) \
      58                 :   NS_SCRIPTABLE NS_IMETHOD GetUuid(nsACString & aUuid) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetUuid(aUuid); } \
      59                 :   NS_SCRIPTABLE NS_IMETHOD GetSnapshots(JSContext* cx, JS::Value *aSnapshots) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSnapshots(cx, aSnapshots); } 
      60                 : 
      61                 : #if 0
      62                 : /* Use the code below as a template for the implementation class for this interface. */
      63                 : 
      64                 : /* Header file */
      65                 : class nsTelemetrySessionData : public nsITelemetrySessionData
      66                 : {
      67                 : public:
      68                 :   NS_DECL_ISUPPORTS
      69                 :   NS_DECL_NSITELEMETRYSESSIONDATA
      70                 : 
      71                 :   nsTelemetrySessionData();
      72                 : 
      73                 : private:
      74                 :   ~nsTelemetrySessionData();
      75                 : 
      76                 : protected:
      77                 :   /* additional members */
      78                 : };
      79                 : 
      80                 : /* Implementation file */
      81                 : NS_IMPL_ISUPPORTS1(nsTelemetrySessionData, nsITelemetrySessionData)
      82                 : 
      83                 : nsTelemetrySessionData::nsTelemetrySessionData()
      84                 : {
      85                 :   /* member initializers and constructor code */
      86                 : }
      87                 : 
      88                 : nsTelemetrySessionData::~nsTelemetrySessionData()
      89                 : {
      90                 :   /* destructor code */
      91                 : }
      92                 : 
      93                 : /* readonly attribute ACString uuid; */
      94                 : NS_IMETHODIMP nsTelemetrySessionData::GetUuid(nsACString & aUuid)
      95                 : {
      96                 :     return NS_ERROR_NOT_IMPLEMENTED;
      97                 : }
      98                 : 
      99                 : /* [implicit_jscontext] readonly attribute jsval snapshots; */
     100                 : NS_IMETHODIMP nsTelemetrySessionData::GetSnapshots(JSContext* cx, JS::Value *aSnapshots)
     101                 : {
     102                 :     return NS_ERROR_NOT_IMPLEMENTED;
     103                 : }
     104                 : 
     105                 : /* End of implementation class template. */
     106                 : #endif
     107                 : 
     108                 : 
     109                 : /* starting interface:    nsITelemetryLoadSessionDataCallback */
     110                 : #define NS_ITELEMETRYLOADSESSIONDATACALLBACK_IID_STR "aff36c9d-7e4c-41ab-a9b6-53773bbca0cd"
     111                 : 
     112                 : #define NS_ITELEMETRYLOADSESSIONDATACALLBACK_IID \
     113                 :   {0xaff36c9d, 0x7e4c, 0x41ab, \
     114                 :     { 0xa9, 0xb6, 0x53, 0x77, 0x3b, 0xbc, 0xa0, 0xcd }}
     115                 : 
     116                 : class NS_NO_VTABLE NS_SCRIPTABLE nsITelemetryLoadSessionDataCallback : public nsISupports {
     117                 :  public: 
     118                 : 
     119                 :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITELEMETRYLOADSESSIONDATACALLBACK_IID)
     120                 : 
     121                 :   /* void handle (in nsITelemetrySessionData data); */
     122                 :   NS_SCRIPTABLE NS_IMETHOD Handle(nsITelemetrySessionData *data) = 0;
     123                 : 
     124                 : };
     125                 : 
     126                 :   NS_DEFINE_STATIC_IID_ACCESSOR(nsITelemetryLoadSessionDataCallback, NS_ITELEMETRYLOADSESSIONDATACALLBACK_IID)
     127                 : 
     128                 : /* Use this macro when declaring classes that implement this interface. */
     129                 : #define NS_DECL_NSITELEMETRYLOADSESSIONDATACALLBACK \
     130                 :   NS_SCRIPTABLE NS_IMETHOD Handle(nsITelemetrySessionData *data); 
     131                 : 
     132                 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     133                 : #define NS_FORWARD_NSITELEMETRYLOADSESSIONDATACALLBACK(_to) \
     134                 :   NS_SCRIPTABLE NS_IMETHOD Handle(nsITelemetrySessionData *data) { return _to Handle(data); } 
     135                 : 
     136                 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     137                 : #define NS_FORWARD_SAFE_NSITELEMETRYLOADSESSIONDATACALLBACK(_to) \
     138                 :   NS_SCRIPTABLE NS_IMETHOD Handle(nsITelemetrySessionData *data) { return !_to ? NS_ERROR_NULL_POINTER : _to->Handle(data); } 
     139                 : 
     140                 : #if 0
     141                 : /* Use the code below as a template for the implementation class for this interface. */
     142                 : 
     143                 : /* Header file */
     144                 : class nsTelemetryLoadSessionDataCallback : public nsITelemetryLoadSessionDataCallback
     145                 : {
     146                 : public:
     147                 :   NS_DECL_ISUPPORTS
     148                 :   NS_DECL_NSITELEMETRYLOADSESSIONDATACALLBACK
     149                 : 
     150                 :   nsTelemetryLoadSessionDataCallback();
     151                 : 
     152                 : private:
     153                 :   ~nsTelemetryLoadSessionDataCallback();
     154                 : 
     155                 : protected:
     156                 :   /* additional members */
     157                 : };
     158                 : 
     159                 : /* Implementation file */
     160                 : NS_IMPL_ISUPPORTS1(nsTelemetryLoadSessionDataCallback, nsITelemetryLoadSessionDataCallback)
     161                 : 
     162                 : nsTelemetryLoadSessionDataCallback::nsTelemetryLoadSessionDataCallback()
     163                 : {
     164                 :   /* member initializers and constructor code */
     165                 : }
     166                 : 
     167                 : nsTelemetryLoadSessionDataCallback::~nsTelemetryLoadSessionDataCallback()
     168                 : {
     169                 :   /* destructor code */
     170                 : }
     171                 : 
     172                 : /* void handle (in nsITelemetrySessionData data); */
     173                 : NS_IMETHODIMP nsTelemetryLoadSessionDataCallback::Handle(nsITelemetrySessionData *data)
     174                 : {
     175                 :     return NS_ERROR_NOT_IMPLEMENTED;
     176                 : }
     177                 : 
     178                 : /* End of implementation class template. */
     179                 : #endif
     180                 : 
     181                 : 
     182                 : /* starting interface:    nsITelemetrySaveSessionDataCallback */
     183                 : #define NS_ITELEMETRYSAVESESSIONDATACALLBACK_IID_STR "40065f26-afd2-4417-93de-c1de9adb1548"
     184                 : 
     185                 : #define NS_ITELEMETRYSAVESESSIONDATACALLBACK_IID \
     186                 :   {0x40065f26, 0xafd2, 0x4417, \
     187                 :     { 0x93, 0xde, 0xc1, 0xde, 0x9a, 0xdb, 0x15, 0x48 }}
     188                 : 
     189                 : class NS_NO_VTABLE NS_SCRIPTABLE nsITelemetrySaveSessionDataCallback : public nsISupports {
     190                 :  public: 
     191                 : 
     192                 :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITELEMETRYSAVESESSIONDATACALLBACK_IID)
     193                 : 
     194                 :   /* void handle (in bool success); */
     195                 :   NS_SCRIPTABLE NS_IMETHOD Handle(bool success) = 0;
     196                 : 
     197                 : };
     198                 : 
     199                 :   NS_DEFINE_STATIC_IID_ACCESSOR(nsITelemetrySaveSessionDataCallback, NS_ITELEMETRYSAVESESSIONDATACALLBACK_IID)
     200                 : 
     201                 : /* Use this macro when declaring classes that implement this interface. */
     202                 : #define NS_DECL_NSITELEMETRYSAVESESSIONDATACALLBACK \
     203                 :   NS_SCRIPTABLE NS_IMETHOD Handle(bool success); 
     204                 : 
     205                 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     206                 : #define NS_FORWARD_NSITELEMETRYSAVESESSIONDATACALLBACK(_to) \
     207                 :   NS_SCRIPTABLE NS_IMETHOD Handle(bool success) { return _to Handle(success); } 
     208                 : 
     209                 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     210                 : #define NS_FORWARD_SAFE_NSITELEMETRYSAVESESSIONDATACALLBACK(_to) \
     211                 :   NS_SCRIPTABLE NS_IMETHOD Handle(bool success) { return !_to ? NS_ERROR_NULL_POINTER : _to->Handle(success); } 
     212                 : 
     213                 : #if 0
     214                 : /* Use the code below as a template for the implementation class for this interface. */
     215                 : 
     216                 : /* Header file */
     217                 : class nsTelemetrySaveSessionDataCallback : public nsITelemetrySaveSessionDataCallback
     218                 : {
     219                 : public:
     220                 :   NS_DECL_ISUPPORTS
     221                 :   NS_DECL_NSITELEMETRYSAVESESSIONDATACALLBACK
     222                 : 
     223                 :   nsTelemetrySaveSessionDataCallback();
     224                 : 
     225                 : private:
     226                 :   ~nsTelemetrySaveSessionDataCallback();
     227                 : 
     228                 : protected:
     229                 :   /* additional members */
     230                 : };
     231                 : 
     232                 : /* Implementation file */
     233                 : NS_IMPL_ISUPPORTS1(nsTelemetrySaveSessionDataCallback, nsITelemetrySaveSessionDataCallback)
     234                 : 
     235                 : nsTelemetrySaveSessionDataCallback::nsTelemetrySaveSessionDataCallback()
     236                 : {
     237                 :   /* member initializers and constructor code */
     238                 : }
     239                 : 
     240                 : nsTelemetrySaveSessionDataCallback::~nsTelemetrySaveSessionDataCallback()
     241                 : {
     242                 :   /* destructor code */
     243                 : }
     244                 : 
     245                 : /* void handle (in bool success); */
     246                 : NS_IMETHODIMP nsTelemetrySaveSessionDataCallback::Handle(bool success)
     247                 : {
     248                 :     return NS_ERROR_NOT_IMPLEMENTED;
     249                 : }
     250                 : 
     251                 : /* End of implementation class template. */
     252                 : #endif
     253                 : 
     254                 : 
     255                 : /* starting interface:    nsITelemetry */
     256                 : #define NS_ITELEMETRY_IID_STR "db854295-478d-4de9-8211-d73ed7d81cd0"
     257                 : 
     258                 : #define NS_ITELEMETRY_IID \
     259                 :   {0xdb854295, 0x478d, 0x4de9, \
     260                 :     { 0x82, 0x11, 0xd7, 0x3e, 0xd7, 0xd8, 0x1c, 0xd0 }}
     261                 : 
     262            1419 : class NS_NO_VTABLE NS_SCRIPTABLE nsITelemetry : public nsISupports {
     263                 :  public: 
     264                 : 
     265                 :   NS_DECLARE_STATIC_IID_ACCESSOR(NS_ITELEMETRY_IID)
     266                 : 
     267                 :   enum {
     268                 :     HISTOGRAM_EXPONENTIAL = 0U,
     269                 :     HISTOGRAM_LINEAR = 1U,
     270                 :     HISTOGRAM_BOOLEAN = 2U,
     271                 :     HISTOGRAM_FLAG = 3U
     272                 :   };
     273                 : 
     274                 :   /* [implicit_jscontext] readonly attribute jsval histogramSnapshots; */
     275                 :   NS_SCRIPTABLE NS_IMETHOD GetHistogramSnapshots(JSContext* cx, JS::Value *aHistogramSnapshots) = 0;
     276                 : 
     277                 :   /* [implicit_jscontext] readonly attribute jsval slowSQL; */
     278                 :   NS_SCRIPTABLE NS_IMETHOD GetSlowSQL(JSContext* cx, JS::Value *aSlowSQL) = 0;
     279                 : 
     280                 :   /* [implicit_jscontext] readonly attribute jsval registeredHistograms; */
     281                 :   NS_SCRIPTABLE NS_IMETHOD GetRegisteredHistograms(JSContext* cx, JS::Value *aRegisteredHistograms) = 0;
     282                 : 
     283                 :   /* [implicit_jscontext] jsval newHistogram (in ACString name, in PRUint32 min, in PRUint32 max, in PRUint32 bucket_count, in unsigned long histogram_type); */
     284                 :   NS_SCRIPTABLE NS_IMETHOD NewHistogram(const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type, JSContext* cx, JS::Value *_retval NS_OUTPARAM) = 0;
     285                 : 
     286                 :   /* [implicit_jscontext] jsval histogramFrom (in ACString name, in ACString existing_name); */
     287                 :   NS_SCRIPTABLE NS_IMETHOD HistogramFrom(const nsACString & name, const nsACString & existing_name, JSContext* cx, JS::Value *_retval NS_OUTPARAM) = 0;
     288                 : 
     289                 :   /* [implicit_jscontext] jsval getHistogramById (in ACString id); */
     290                 :   NS_SCRIPTABLE NS_IMETHOD GetHistogramById(const nsACString & id, JSContext* cx, JS::Value *_retval NS_OUTPARAM) = 0;
     291                 : 
     292                 :   /* void saveHistograms (in nsIFile file, in ACString uuid, in nsITelemetrySaveSessionDataCallback callback, in bool isSynchronous); */
     293                 :   NS_SCRIPTABLE NS_IMETHOD SaveHistograms(nsIFile *file, const nsACString & uuid, nsITelemetrySaveSessionDataCallback *callback, bool isSynchronous) = 0;
     294                 : 
     295                 :   /* void loadHistograms (in nsIFile file, in nsITelemetryLoadSessionDataCallback callback, in bool isSynchronous); */
     296                 :   NS_SCRIPTABLE NS_IMETHOD LoadHistograms(nsIFile *file, nsITelemetryLoadSessionDataCallback *callback, bool isSynchronous) = 0;
     297                 : 
     298                 :   /* attribute boolean canRecord; */
     299                 :   NS_SCRIPTABLE NS_IMETHOD GetCanRecord(bool *aCanRecord) = 0;
     300                 :   NS_SCRIPTABLE NS_IMETHOD SetCanRecord(bool aCanRecord) = 0;
     301                 : 
     302                 :   /* readonly attribute boolean canSend; */
     303                 :   NS_SCRIPTABLE NS_IMETHOD GetCanSend(bool *aCanSend) = 0;
     304                 : 
     305                 :   /* void registerAddonHistogram (in ACString addon_id, in ACString name, in PRUint32 min, in PRUint32 max, in PRUint32 bucket_count, in unsigned long histogram_type); */
     306                 :   NS_SCRIPTABLE NS_IMETHOD RegisterAddonHistogram(const nsACString & addon_id, const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type) = 0;
     307                 : 
     308                 :   /* [implicit_jscontext] jsval getAddonHistogram (in ACString addon_id, in ACString name); */
     309                 :   NS_SCRIPTABLE NS_IMETHOD GetAddonHistogram(const nsACString & addon_id, const nsACString & name, JSContext* cx, JS::Value *_retval NS_OUTPARAM) = 0;
     310                 : 
     311                 :   /* void unregisterAddonHistograms (in ACString addon_id); */
     312                 :   NS_SCRIPTABLE NS_IMETHOD UnregisterAddonHistograms(const nsACString & addon_id) = 0;
     313                 : 
     314                 :   /* [implicit_jscontext] readonly attribute jsval addonHistogramSnapshots; */
     315                 :   NS_SCRIPTABLE NS_IMETHOD GetAddonHistogramSnapshots(JSContext* cx, JS::Value *aAddonHistogramSnapshots) = 0;
     316                 : 
     317                 : };
     318                 : 
     319                 :   NS_DEFINE_STATIC_IID_ACCESSOR(nsITelemetry, NS_ITELEMETRY_IID)
     320                 : 
     321                 : /* Use this macro when declaring classes that implement this interface. */
     322                 : #define NS_DECL_NSITELEMETRY \
     323                 :   NS_SCRIPTABLE NS_IMETHOD GetHistogramSnapshots(JSContext* cx, JS::Value *aHistogramSnapshots); \
     324                 :   NS_SCRIPTABLE NS_IMETHOD GetSlowSQL(JSContext* cx, JS::Value *aSlowSQL); \
     325                 :   NS_SCRIPTABLE NS_IMETHOD GetRegisteredHistograms(JSContext* cx, JS::Value *aRegisteredHistograms); \
     326                 :   NS_SCRIPTABLE NS_IMETHOD NewHistogram(const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type, JSContext* cx, JS::Value *_retval NS_OUTPARAM); \
     327                 :   NS_SCRIPTABLE NS_IMETHOD HistogramFrom(const nsACString & name, const nsACString & existing_name, JSContext* cx, JS::Value *_retval NS_OUTPARAM); \
     328                 :   NS_SCRIPTABLE NS_IMETHOD GetHistogramById(const nsACString & id, JSContext* cx, JS::Value *_retval NS_OUTPARAM); \
     329                 :   NS_SCRIPTABLE NS_IMETHOD SaveHistograms(nsIFile *file, const nsACString & uuid, nsITelemetrySaveSessionDataCallback *callback, bool isSynchronous); \
     330                 :   NS_SCRIPTABLE NS_IMETHOD LoadHistograms(nsIFile *file, nsITelemetryLoadSessionDataCallback *callback, bool isSynchronous); \
     331                 :   NS_SCRIPTABLE NS_IMETHOD GetCanRecord(bool *aCanRecord); \
     332                 :   NS_SCRIPTABLE NS_IMETHOD SetCanRecord(bool aCanRecord); \
     333                 :   NS_SCRIPTABLE NS_IMETHOD GetCanSend(bool *aCanSend); \
     334                 :   NS_SCRIPTABLE NS_IMETHOD RegisterAddonHistogram(const nsACString & addon_id, const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type); \
     335                 :   NS_SCRIPTABLE NS_IMETHOD GetAddonHistogram(const nsACString & addon_id, const nsACString & name, JSContext* cx, JS::Value *_retval NS_OUTPARAM); \
     336                 :   NS_SCRIPTABLE NS_IMETHOD UnregisterAddonHistograms(const nsACString & addon_id); \
     337                 :   NS_SCRIPTABLE NS_IMETHOD GetAddonHistogramSnapshots(JSContext* cx, JS::Value *aAddonHistogramSnapshots); 
     338                 : 
     339                 : /* Use this macro to declare functions that forward the behavior of this interface to another object. */
     340                 : #define NS_FORWARD_NSITELEMETRY(_to) \
     341                 :   NS_SCRIPTABLE NS_IMETHOD GetHistogramSnapshots(JSContext* cx, JS::Value *aHistogramSnapshots) { return _to GetHistogramSnapshots(cx, aHistogramSnapshots); } \
     342                 :   NS_SCRIPTABLE NS_IMETHOD GetSlowSQL(JSContext* cx, JS::Value *aSlowSQL) { return _to GetSlowSQL(cx, aSlowSQL); } \
     343                 :   NS_SCRIPTABLE NS_IMETHOD GetRegisteredHistograms(JSContext* cx, JS::Value *aRegisteredHistograms) { return _to GetRegisteredHistograms(cx, aRegisteredHistograms); } \
     344                 :   NS_SCRIPTABLE NS_IMETHOD NewHistogram(const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type, JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return _to NewHistogram(name, min, max, bucket_count, histogram_type, cx, _retval); } \
     345                 :   NS_SCRIPTABLE NS_IMETHOD HistogramFrom(const nsACString & name, const nsACString & existing_name, JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return _to HistogramFrom(name, existing_name, cx, _retval); } \
     346                 :   NS_SCRIPTABLE NS_IMETHOD GetHistogramById(const nsACString & id, JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return _to GetHistogramById(id, cx, _retval); } \
     347                 :   NS_SCRIPTABLE NS_IMETHOD SaveHistograms(nsIFile *file, const nsACString & uuid, nsITelemetrySaveSessionDataCallback *callback, bool isSynchronous) { return _to SaveHistograms(file, uuid, callback, isSynchronous); } \
     348                 :   NS_SCRIPTABLE NS_IMETHOD LoadHistograms(nsIFile *file, nsITelemetryLoadSessionDataCallback *callback, bool isSynchronous) { return _to LoadHistograms(file, callback, isSynchronous); } \
     349                 :   NS_SCRIPTABLE NS_IMETHOD GetCanRecord(bool *aCanRecord) { return _to GetCanRecord(aCanRecord); } \
     350                 :   NS_SCRIPTABLE NS_IMETHOD SetCanRecord(bool aCanRecord) { return _to SetCanRecord(aCanRecord); } \
     351                 :   NS_SCRIPTABLE NS_IMETHOD GetCanSend(bool *aCanSend) { return _to GetCanSend(aCanSend); } \
     352                 :   NS_SCRIPTABLE NS_IMETHOD RegisterAddonHistogram(const nsACString & addon_id, const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type) { return _to RegisterAddonHistogram(addon_id, name, min, max, bucket_count, histogram_type); } \
     353                 :   NS_SCRIPTABLE NS_IMETHOD GetAddonHistogram(const nsACString & addon_id, const nsACString & name, JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return _to GetAddonHistogram(addon_id, name, cx, _retval); } \
     354                 :   NS_SCRIPTABLE NS_IMETHOD UnregisterAddonHistograms(const nsACString & addon_id) { return _to UnregisterAddonHistograms(addon_id); } \
     355                 :   NS_SCRIPTABLE NS_IMETHOD GetAddonHistogramSnapshots(JSContext* cx, JS::Value *aAddonHistogramSnapshots) { return _to GetAddonHistogramSnapshots(cx, aAddonHistogramSnapshots); } 
     356                 : 
     357                 : /* Use this macro to declare functions that forward the behavior of this interface to another object in a safe way. */
     358                 : #define NS_FORWARD_SAFE_NSITELEMETRY(_to) \
     359                 :   NS_SCRIPTABLE NS_IMETHOD GetHistogramSnapshots(JSContext* cx, JS::Value *aHistogramSnapshots) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHistogramSnapshots(cx, aHistogramSnapshots); } \
     360                 :   NS_SCRIPTABLE NS_IMETHOD GetSlowSQL(JSContext* cx, JS::Value *aSlowSQL) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetSlowSQL(cx, aSlowSQL); } \
     361                 :   NS_SCRIPTABLE NS_IMETHOD GetRegisteredHistograms(JSContext* cx, JS::Value *aRegisteredHistograms) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetRegisteredHistograms(cx, aRegisteredHistograms); } \
     362                 :   NS_SCRIPTABLE NS_IMETHOD NewHistogram(const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type, JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->NewHistogram(name, min, max, bucket_count, histogram_type, cx, _retval); } \
     363                 :   NS_SCRIPTABLE NS_IMETHOD HistogramFrom(const nsACString & name, const nsACString & existing_name, JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->HistogramFrom(name, existing_name, cx, _retval); } \
     364                 :   NS_SCRIPTABLE NS_IMETHOD GetHistogramById(const nsACString & id, JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetHistogramById(id, cx, _retval); } \
     365                 :   NS_SCRIPTABLE NS_IMETHOD SaveHistograms(nsIFile *file, const nsACString & uuid, nsITelemetrySaveSessionDataCallback *callback, bool isSynchronous) { return !_to ? NS_ERROR_NULL_POINTER : _to->SaveHistograms(file, uuid, callback, isSynchronous); } \
     366                 :   NS_SCRIPTABLE NS_IMETHOD LoadHistograms(nsIFile *file, nsITelemetryLoadSessionDataCallback *callback, bool isSynchronous) { return !_to ? NS_ERROR_NULL_POINTER : _to->LoadHistograms(file, callback, isSynchronous); } \
     367                 :   NS_SCRIPTABLE NS_IMETHOD GetCanRecord(bool *aCanRecord) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanRecord(aCanRecord); } \
     368                 :   NS_SCRIPTABLE NS_IMETHOD SetCanRecord(bool aCanRecord) { return !_to ? NS_ERROR_NULL_POINTER : _to->SetCanRecord(aCanRecord); } \
     369                 :   NS_SCRIPTABLE NS_IMETHOD GetCanSend(bool *aCanSend) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetCanSend(aCanSend); } \
     370                 :   NS_SCRIPTABLE NS_IMETHOD RegisterAddonHistogram(const nsACString & addon_id, const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type) { return !_to ? NS_ERROR_NULL_POINTER : _to->RegisterAddonHistogram(addon_id, name, min, max, bucket_count, histogram_type); } \
     371                 :   NS_SCRIPTABLE NS_IMETHOD GetAddonHistogram(const nsACString & addon_id, const nsACString & name, JSContext* cx, JS::Value *_retval NS_OUTPARAM) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAddonHistogram(addon_id, name, cx, _retval); } \
     372                 :   NS_SCRIPTABLE NS_IMETHOD UnregisterAddonHistograms(const nsACString & addon_id) { return !_to ? NS_ERROR_NULL_POINTER : _to->UnregisterAddonHistograms(addon_id); } \
     373                 :   NS_SCRIPTABLE NS_IMETHOD GetAddonHistogramSnapshots(JSContext* cx, JS::Value *aAddonHistogramSnapshots) { return !_to ? NS_ERROR_NULL_POINTER : _to->GetAddonHistogramSnapshots(cx, aAddonHistogramSnapshots); } 
     374                 : 
     375                 : #if 0
     376                 : /* Use the code below as a template for the implementation class for this interface. */
     377                 : 
     378                 : /* Header file */
     379                 : class nsTelemetry : public nsITelemetry
     380                 : {
     381                 : public:
     382                 :   NS_DECL_ISUPPORTS
     383                 :   NS_DECL_NSITELEMETRY
     384                 : 
     385                 :   nsTelemetry();
     386                 : 
     387                 : private:
     388                 :   ~nsTelemetry();
     389                 : 
     390                 : protected:
     391                 :   /* additional members */
     392                 : };
     393                 : 
     394                 : /* Implementation file */
     395                 : NS_IMPL_ISUPPORTS1(nsTelemetry, nsITelemetry)
     396                 : 
     397                 : nsTelemetry::nsTelemetry()
     398                 : {
     399                 :   /* member initializers and constructor code */
     400                 : }
     401                 : 
     402                 : nsTelemetry::~nsTelemetry()
     403                 : {
     404                 :   /* destructor code */
     405                 : }
     406                 : 
     407                 : /* [implicit_jscontext] readonly attribute jsval histogramSnapshots; */
     408                 : NS_IMETHODIMP nsTelemetry::GetHistogramSnapshots(JSContext* cx, JS::Value *aHistogramSnapshots)
     409                 : {
     410                 :     return NS_ERROR_NOT_IMPLEMENTED;
     411                 : }
     412                 : 
     413                 : /* [implicit_jscontext] readonly attribute jsval slowSQL; */
     414                 : NS_IMETHODIMP nsTelemetry::GetSlowSQL(JSContext* cx, JS::Value *aSlowSQL)
     415                 : {
     416                 :     return NS_ERROR_NOT_IMPLEMENTED;
     417                 : }
     418                 : 
     419                 : /* [implicit_jscontext] readonly attribute jsval registeredHistograms; */
     420                 : NS_IMETHODIMP nsTelemetry::GetRegisteredHistograms(JSContext* cx, JS::Value *aRegisteredHistograms)
     421                 : {
     422                 :     return NS_ERROR_NOT_IMPLEMENTED;
     423                 : }
     424                 : 
     425                 : /* [implicit_jscontext] jsval newHistogram (in ACString name, in PRUint32 min, in PRUint32 max, in PRUint32 bucket_count, in unsigned long histogram_type); */
     426                 : NS_IMETHODIMP nsTelemetry::NewHistogram(const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type, JSContext* cx, JS::Value *_retval NS_OUTPARAM)
     427                 : {
     428                 :     return NS_ERROR_NOT_IMPLEMENTED;
     429                 : }
     430                 : 
     431                 : /* [implicit_jscontext] jsval histogramFrom (in ACString name, in ACString existing_name); */
     432                 : NS_IMETHODIMP nsTelemetry::HistogramFrom(const nsACString & name, const nsACString & existing_name, JSContext* cx, JS::Value *_retval NS_OUTPARAM)
     433                 : {
     434                 :     return NS_ERROR_NOT_IMPLEMENTED;
     435                 : }
     436                 : 
     437                 : /* [implicit_jscontext] jsval getHistogramById (in ACString id); */
     438                 : NS_IMETHODIMP nsTelemetry::GetHistogramById(const nsACString & id, JSContext* cx, JS::Value *_retval NS_OUTPARAM)
     439                 : {
     440                 :     return NS_ERROR_NOT_IMPLEMENTED;
     441                 : }
     442                 : 
     443                 : /* void saveHistograms (in nsIFile file, in ACString uuid, in nsITelemetrySaveSessionDataCallback callback, in bool isSynchronous); */
     444                 : NS_IMETHODIMP nsTelemetry::SaveHistograms(nsIFile *file, const nsACString & uuid, nsITelemetrySaveSessionDataCallback *callback, bool isSynchronous)
     445                 : {
     446                 :     return NS_ERROR_NOT_IMPLEMENTED;
     447                 : }
     448                 : 
     449                 : /* void loadHistograms (in nsIFile file, in nsITelemetryLoadSessionDataCallback callback, in bool isSynchronous); */
     450                 : NS_IMETHODIMP nsTelemetry::LoadHistograms(nsIFile *file, nsITelemetryLoadSessionDataCallback *callback, bool isSynchronous)
     451                 : {
     452                 :     return NS_ERROR_NOT_IMPLEMENTED;
     453                 : }
     454                 : 
     455                 : /* attribute boolean canRecord; */
     456                 : NS_IMETHODIMP nsTelemetry::GetCanRecord(bool *aCanRecord)
     457                 : {
     458                 :     return NS_ERROR_NOT_IMPLEMENTED;
     459                 : }
     460                 : NS_IMETHODIMP nsTelemetry::SetCanRecord(bool aCanRecord)
     461                 : {
     462                 :     return NS_ERROR_NOT_IMPLEMENTED;
     463                 : }
     464                 : 
     465                 : /* readonly attribute boolean canSend; */
     466                 : NS_IMETHODIMP nsTelemetry::GetCanSend(bool *aCanSend)
     467                 : {
     468                 :     return NS_ERROR_NOT_IMPLEMENTED;
     469                 : }
     470                 : 
     471                 : /* void registerAddonHistogram (in ACString addon_id, in ACString name, in PRUint32 min, in PRUint32 max, in PRUint32 bucket_count, in unsigned long histogram_type); */
     472                 : NS_IMETHODIMP nsTelemetry::RegisterAddonHistogram(const nsACString & addon_id, const nsACString & name, PRUint32 min, PRUint32 max, PRUint32 bucket_count, PRUint32 histogram_type)
     473                 : {
     474                 :     return NS_ERROR_NOT_IMPLEMENTED;
     475                 : }
     476                 : 
     477                 : /* [implicit_jscontext] jsval getAddonHistogram (in ACString addon_id, in ACString name); */
     478                 : NS_IMETHODIMP nsTelemetry::GetAddonHistogram(const nsACString & addon_id, const nsACString & name, JSContext* cx, JS::Value *_retval NS_OUTPARAM)
     479                 : {
     480                 :     return NS_ERROR_NOT_IMPLEMENTED;
     481                 : }
     482                 : 
     483                 : /* void unregisterAddonHistograms (in ACString addon_id); */
     484                 : NS_IMETHODIMP nsTelemetry::UnregisterAddonHistograms(const nsACString & addon_id)
     485                 : {
     486                 :     return NS_ERROR_NOT_IMPLEMENTED;
     487                 : }
     488                 : 
     489                 : /* [implicit_jscontext] readonly attribute jsval addonHistogramSnapshots; */
     490                 : NS_IMETHODIMP nsTelemetry::GetAddonHistogramSnapshots(JSContext* cx, JS::Value *aAddonHistogramSnapshots)
     491                 : {
     492                 :     return NS_ERROR_NOT_IMPLEMENTED;
     493                 : }
     494                 : 
     495                 : /* End of implementation class template. */
     496                 : #endif
     497                 : 
     498                 : 
     499                 : #endif /* __gen_nsITelemetry_h__ */

Generated by: LCOV version 1.7