Home | History | Annotate | Download | only in include
      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 a pure C wrapper of the DataLog class. The functions are directly
     12 // mapped here except for InsertCell as C does not support templates.
     13 // See data_log.h for a description of the functions.
     14 
     15 #ifndef SRC_SYSTEM_WRAPPERS_INCLUDE_DATA_LOG_C_H_
     16 #define SRC_SYSTEM_WRAPPERS_INCLUDE_DATA_LOG_C_H_
     17 
     18 #include <stddef.h>  // size_t
     19 
     20 #include "webrtc/typedefs.h"
     21 
     22 #ifdef __cplusplus
     23 extern "C" {
     24 #endif
     25 
     26 // All char* parameters in this file are expected to be null-terminated
     27 // character sequences.
     28 int WebRtcDataLog_CreateLog();
     29 void WebRtcDataLog_ReturnLog();
     30 char* WebRtcDataLog_Combine(char* combined_name, size_t combined_len,
     31                             const char* table_name, int table_id);
     32 int WebRtcDataLog_AddTable(const char* table_name);
     33 int WebRtcDataLog_AddColumn(const char* table_name, const char* column_name,
     34                             int multi_value_length);
     35 
     36 int WebRtcDataLog_InsertCell_int(const char* table_name,
     37                                  const char* column_name,
     38                                  int value);
     39 int WebRtcDataLog_InsertArray_int(const char* table_name,
     40                                   const char* column_name,
     41                                   const int* values,
     42                                   int length);
     43 int WebRtcDataLog_InsertCell_float(const char* table_name,
     44                                    const char* column_name,
     45                                    float value);
     46 int WebRtcDataLog_InsertArray_float(const char* table_name,
     47                                     const char* column_name,
     48                                     const float* values,
     49                                     int length);
     50 int WebRtcDataLog_InsertCell_double(const char* table_name,
     51                                     const char* column_name,
     52                                     double value);
     53 int WebRtcDataLog_InsertArray_double(const char* table_name,
     54                                      const char* column_name,
     55                                      const double* values,
     56                                      int length);
     57 int WebRtcDataLog_InsertCell_int32(const char* table_name,
     58                                    const char* column_name,
     59                                    int32_t value);
     60 int WebRtcDataLog_InsertArray_int32(const char* table_name,
     61                                     const char* column_name,
     62                                     const int32_t* values,
     63                                     int length);
     64 int WebRtcDataLog_InsertCell_uint32(const char* table_name,
     65                                     const char* column_name,
     66                                     uint32_t value);
     67 int WebRtcDataLog_InsertArray_uint32(const char* table_name,
     68                                      const char* column_name,
     69                                      const uint32_t* values,
     70                                      int length);
     71 int WebRtcDataLog_InsertCell_int64(const char* table_name,
     72                                    const char* column_name,
     73                                    int64_t value);
     74 int WebRtcDataLog_InsertArray_int64(const char* table_name,
     75                                     const char* column_name,
     76                                     const int64_t* values,
     77                                     int length);
     78 
     79 int WebRtcDataLog_NextRow(const char* table_name);
     80 
     81 #ifdef __cplusplus
     82 }  // end of extern "C"
     83 #endif
     84 
     85 #endif  // SRC_SYSTEM_WRAPPERS_INCLUDE_DATA_LOG_C_H_  // NOLINT
     86