blob: 6d1e6f907f7f41a8c6de6200a612151d1a152896 [file] [log] [blame]
Sam Leffler10b301d2010-06-17 14:22:43 -07001// Copyright (c) 2010 The Chromium OS 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#ifndef C_METRICS_LIBRARY_H_
6#define C_METRICS_LIBRARY_H_
7
8#if defined(__cplusplus)
9extern "C" {
10#endif
11typedef struct CMetricsLibraryOpaque* CMetricsLibrary;
12
13// C wrapper for MetricsLibrary::MetricsLibrary.
14CMetricsLibrary CMetricsLibraryNew(void);
15
16// C wrapper for MetricsLibrary::~MetricsLibrary.
17void CMetricsLibraryDelete(CMetricsLibrary handle);
18
19// C wrapper for MetricsLibrary::Init.
20void CMetricsLibraryInit(CMetricsLibrary handle);
21
22// C wrapper for MetricsLibrary::SendToUMA.
23int CMetricsLibrarySendToUMA(CMetricsLibrary handle,
24 const char* name, int sample,
25 int min, int max, int nbuckets);
26
27// C wrapper for MetricsLibrary::SendEnumToUMA.
28int CMetricsLibrarySendEnumToUMA(CMetricsLibrary handle,
29 const char* name, int sample, int max);
30#if defined(__cplusplus)
31}
32#endif
33#endif // C_METRICS_LIBRARY_H_