blob: e691ad66ef7c4bfe7c962785ec241593d02d65fc [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,
Ken Mixter4c5daa42010-08-26 18:35:06 -070024 const char* name, int sample,
25 int min, int max, int nbuckets);
Sam Leffler10b301d2010-06-17 14:22:43 -070026
27// C wrapper for MetricsLibrary::SendEnumToUMA.
28int CMetricsLibrarySendEnumToUMA(CMetricsLibrary handle,
Ken Mixter4c5daa42010-08-26 18:35:06 -070029 const char* name, int sample, int max);
30
31// C wrapper for MetricsLibrary::AreMetricsEnabled.
32int CMetricsLibraryAreMetricsEnabled(CMetricsLibrary handle);
33
Sam Leffler10b301d2010-06-17 14:22:43 -070034#if defined(__cplusplus)
35}
36#endif
Ken Mixter4c5daa42010-08-26 18:35:06 -070037#endif // C_METRICS_LIBRARY_H_