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