1d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org/*
2d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
3d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org *
4d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org *  Use of this source code is governed by a BSD-style license
5d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org *  that can be found in the LICENSE file in the root of the source
6d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org *  tree. An additional intellectual property rights grant can be found
7d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org *  in the file PATENTS.  All contributing project authors may
8d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org *  be found in the AUTHORS file in the root of the source tree.
9d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org */
10d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
11ba21c95e156eb57501ffcf36e2f8216b937fb80cphoglund@webrtc.org// This is the pure C wrapper of the DataLog class.
12d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
1398f53510b222f71fdd8b799b2f33737ceeb28c61Henrik Kjellander#include "webrtc/system_wrappers/include/data_log_c.h"
14d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
15d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org#include <string>
16d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
1798f53510b222f71fdd8b799b2f33737ceeb28c61Henrik Kjellander#include "webrtc/system_wrappers/include/data_log.h"
18d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
19d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_CreateLog() {
20d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::CreateLog();
21d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
22d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
23d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" void WebRtcDataLog_ReturnLog() {
24d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::ReturnLog();
25d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
26d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
27d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" char* WebRtcDataLog_Combine(char* combined_name, size_t combined_len,
28d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                       const char* table_name, int table_id) {
29d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name) return NULL;
30d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  std::string combined = webrtc::DataLog::Combine(table_name, table_id);
31d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (combined.size() >= combined_len) return NULL;
32d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  std::copy(combined.begin(), combined.end(), combined_name);
33d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  combined_name[combined.size()] = '\0';
34d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return combined_name;
35d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
36d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
37d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_AddTable(const char* table_name) {
38d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name) return -1;
39d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::AddTable(table_name);
40d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
41d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
42d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_AddColumn(const char* table_name,
43d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                       const char* column_name,
44d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                       int multi_value_length) {
45d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
46d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::AddColumn(table_name, column_name,
47d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                    multi_value_length);
48d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
49d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
50d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertCell_int(const char* table_name,
51d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                            const char* column_name,
52d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                            int value) {
53d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
54d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, value);
55d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
56d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
57d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertArray_int(const char* table_name,
58d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                             const char* column_name,
59d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                             const int* values,
60d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                             int length) {
61d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
62d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, values, length);
63d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
64d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
65d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertCell_float(const char* table_name,
66d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                              const char* column_name,
67d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                              float value) {
68d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
69d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, value);
70d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
71d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
72d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertArray_float(const char* table_name,
73d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               const char* column_name,
74d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               const float* values,
75d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               int length) {
76d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
77d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, values, length);
78d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
79d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
80d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertCell_double(const char* table_name,
81d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               const char* column_name,
82d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               double value) {
83d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
84d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, value);
85d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
86d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
87d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertArray_double(const char* table_name,
88d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                                const char* column_name,
89d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                                const double* values,
90d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                                int length) {
91d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
92d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, values, length);
93d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
94d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
95d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertCell_int32(const char* table_name,
96d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                              const char* column_name,
97d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                              int32_t value) {
98d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
99d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, value);
100d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
101d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
102d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertArray_int32(const char* table_name,
103d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               const char* column_name,
104d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               const int32_t* values,
105d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               int length) {
106d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
107d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, values, length);
108d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
109d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
110d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertCell_uint32(const char* table_name,
111d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               const char* column_name,
112d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               uint32_t value) {
113d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
114d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, value);
115d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
116d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
117d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertArray_uint32(const char* table_name,
118d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                                const char* column_name,
119d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                                const uint32_t* values,
120d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                                int length) {
121d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
122d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, values, length);
123d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
124d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
125d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertCell_int64(const char* table_name,
126d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                              const char* column_name,
127d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                              int64_t value) {
128d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
129d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, value);
130d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
131d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
132d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_InsertArray_int64(const char* table_name,
133d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               const char* column_name,
134d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               const int64_t* values,
135d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org                                               int length) {
136d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name || !column_name) return -1;
137d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::InsertCell(table_name, column_name, values, length);
138d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
139d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org
140d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.orgextern "C" int WebRtcDataLog_NextRow(const char* table_name) {
141d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  if (!table_name) return -1;
142d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org  return webrtc::DataLog::NextRow(table_name);
143d855bd4d6fb129945ea2747525eecfe582faff54henrik.lundin@webrtc.org}
144