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