diff options
Diffstat (limited to 'src/system_wrappers/source/data_log_c.cc')
-rw-r--r-- | src/system_wrappers/source/data_log_c.cc | 145 |
1 files changed, 145 insertions, 0 deletions
diff --git a/src/system_wrappers/source/data_log_c.cc b/src/system_wrappers/source/data_log_c.cc new file mode 100644 index 0000000000..f8d7efd08c --- /dev/null +++ b/src/system_wrappers/source/data_log_c.cc @@ -0,0 +1,145 @@ +/* + * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. + * + * Use of this source code is governed by a BSD-style license + * that can be found in the LICENSE file in the root of the source + * tree. An additional intellectual property rights grant can be found + * in the file PATENTS. All contributing project authors may + * be found in the AUTHORS file in the root of the source tree. + */ + +/* + * This is the pure C wrapper of the DataLog class. + */ + +#include "system_wrappers/interface/data_log_c.h" + +#include <string> + +#include "system_wrappers/interface/data_log.h" + +extern "C" int WebRtcDataLog_CreateLog() { + return webrtc::DataLog::CreateLog(); +} + +extern "C" void WebRtcDataLog_ReturnLog() { + return webrtc::DataLog::ReturnLog(); +} + +extern "C" char* WebRtcDataLog_Combine(char* combined_name, size_t combined_len, + const char* table_name, int table_id) { + if (!table_name) return NULL; + std::string combined = webrtc::DataLog::Combine(table_name, table_id); + if (combined.size() >= combined_len) return NULL; + std::copy(combined.begin(), combined.end(), combined_name); + combined_name[combined.size()] = '\0'; + return combined_name; +} + +extern "C" int WebRtcDataLog_AddTable(const char* table_name) { + if (!table_name) return -1; + return webrtc::DataLog::AddTable(table_name); +} + +extern "C" int WebRtcDataLog_AddColumn(const char* table_name, + const char* column_name, + int multi_value_length) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::AddColumn(table_name, column_name, + multi_value_length); +} + +extern "C" int WebRtcDataLog_InsertCell_int(const char* table_name, + const char* column_name, + int value) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, value); +} + +extern "C" int WebRtcDataLog_InsertArray_int(const char* table_name, + const char* column_name, + const int* values, + int length) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, values, length); +} + +extern "C" int WebRtcDataLog_InsertCell_float(const char* table_name, + const char* column_name, + float value) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, value); +} + +extern "C" int WebRtcDataLog_InsertArray_float(const char* table_name, + const char* column_name, + const float* values, + int length) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, values, length); +} + +extern "C" int WebRtcDataLog_InsertCell_double(const char* table_name, + const char* column_name, + double value) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, value); +} + +extern "C" int WebRtcDataLog_InsertArray_double(const char* table_name, + const char* column_name, + const double* values, + int length) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, values, length); +} + +extern "C" int WebRtcDataLog_InsertCell_int32(const char* table_name, + const char* column_name, + int32_t value) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, value); +} + +extern "C" int WebRtcDataLog_InsertArray_int32(const char* table_name, + const char* column_name, + const int32_t* values, + int length) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, values, length); +} + +extern "C" int WebRtcDataLog_InsertCell_uint32(const char* table_name, + const char* column_name, + uint32_t value) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, value); +} + +extern "C" int WebRtcDataLog_InsertArray_uint32(const char* table_name, + const char* column_name, + const uint32_t* values, + int length) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, values, length); +} + +extern "C" int WebRtcDataLog_InsertCell_int64(const char* table_name, + const char* column_name, + int64_t value) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, value); +} + +extern "C" int WebRtcDataLog_InsertArray_int64(const char* table_name, + const char* column_name, + const int64_t* values, + int length) { + if (!table_name || !column_name) return -1; + return webrtc::DataLog::InsertCell(table_name, column_name, values, length); +} + +extern "C" int WebRtcDataLog_NextRow(const char* table_name) { + if (!table_name) return -1; + return webrtc::DataLog::NextRow(table_name); +} |