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