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 15namespace ppapi { 16namespace thunk { 17 18namespace { 19 20void 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 38void 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 56void 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 70int32_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 81const 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 90PPAPI_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