1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // From private/ppb_uma_private.idl modified Thu Mar 13 11:54:51 2014.
6
7 #include "ppapi/c/pp_completion_callback.h"
8 #include "ppapi/c/pp_errors.h"
9 #include "ppapi/c/private/ppb_uma_private.h"
10 #include "ppapi/shared_impl/tracked_callback.h"
11 #include "ppapi/thunk/enter.h"
12 #include "ppapi/thunk/ppapi_thunk_export.h"
13 #include "ppapi/thunk/ppb_uma_singleton_api.h"
14
15 namespace ppapi {
16 namespace thunk {
17
18 namespace {
19
HistogramCustomTimes(PP_Instance instance,struct PP_Var name,int64_t sample,int64_t min,int64_t max,uint32_t bucket_count)20 void HistogramCustomTimes(PP_Instance instance,
21 struct PP_Var name,
22 int64_t sample,
23 int64_t min,
24 int64_t max,
25 uint32_t bucket_count) {
26 VLOG(4) << "PPB_UMA_Private::HistogramCustomTimes()";
27 EnterInstanceAPI<PPB_UMA_Singleton_API> enter(instance);
28 if (enter.failed())
29 return;
30 enter.functions()->HistogramCustomTimes(instance,
31 name,
32 sample,
33 min,
34 max,
35 bucket_count);
36 }
37
HistogramCustomCounts(PP_Instance instance,struct PP_Var name,int32_t sample,int32_t min,int32_t max,uint32_t bucket_count)38 void HistogramCustomCounts(PP_Instance instance,
39 struct PP_Var name,
40 int32_t sample,
41 int32_t min,
42 int32_t max,
43 uint32_t bucket_count) {
44 VLOG(4) << "PPB_UMA_Private::HistogramCustomCounts()";
45 EnterInstanceAPI<PPB_UMA_Singleton_API> enter(instance);
46 if (enter.failed())
47 return;
48 enter.functions()->HistogramCustomCounts(instance,
49 name,
50 sample,
51 min,
52 max,
53 bucket_count);
54 }
55
HistogramEnumeration(PP_Instance instance,struct PP_Var name,int32_t sample,int32_t boundary_value)56 void HistogramEnumeration(PP_Instance instance,
57 struct PP_Var name,
58 int32_t sample,
59 int32_t boundary_value) {
60 VLOG(4) << "PPB_UMA_Private::HistogramEnumeration()";
61 EnterInstanceAPI<PPB_UMA_Singleton_API> enter(instance);
62 if (enter.failed())
63 return;
64 enter.functions()->HistogramEnumeration(instance,
65 name,
66 sample,
67 boundary_value);
68 }
69
IsCrashReportingEnabled(PP_Instance instance,struct PP_CompletionCallback callback)70 int32_t IsCrashReportingEnabled(PP_Instance instance,
71 struct PP_CompletionCallback callback) {
72 VLOG(4) << "PPB_UMA_Private::IsCrashReportingEnabled()";
73 EnterInstanceAPI<PPB_UMA_Singleton_API> enter(instance, callback);
74 if (enter.failed())
75 return enter.retval();
76 return enter.SetResult(enter.functions()->IsCrashReportingEnabled(
77 instance,
78 enter.callback()));
79 }
80
81 const PPB_UMA_Private_0_3 g_ppb_uma_private_thunk_0_3 = {
82 &HistogramCustomTimes,
83 &HistogramCustomCounts,
84 &HistogramEnumeration,
85 &IsCrashReportingEnabled
86 };
87
88 } // namespace
89
GetPPB_UMA_Private_0_3_Thunk()90 PPAPI_THUNK_EXPORT const PPB_UMA_Private_0_3* GetPPB_UMA_Private_0_3_Thunk() {
91 return &g_ppb_uma_private_thunk_0_3;
92 }
93
94 } // namespace thunk
95 } // namespace ppapi
96