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__ */
|