• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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