| Index: webrtc/system_wrappers/include/data_log_impl.h
|
| diff --git a/webrtc/system_wrappers/include/data_log_impl.h b/webrtc/system_wrappers/include/data_log_impl.h
|
| deleted file mode 100644
|
| index 6d59fa8c66b061c32d381902f7ec239dbbbef28a..0000000000000000000000000000000000000000
|
| --- a/webrtc/system_wrappers/include/data_log_impl.h
|
| +++ /dev/null
|
| @@ -1,157 +0,0 @@
|
| -/*
|
| - * 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 file contains the helper classes for the DataLog APIs. See data_log.h
|
| -// for the APIs.
|
| -//
|
| -// These classes are helper classes used for logging data for offline
|
| -// processing. Data logged with these classes can conveniently be parsed and
|
| -// processed with e.g. Matlab.
|
| -#ifndef WEBRTC_SYSTEM_WRAPPERS_INCLUDE_DATA_LOG_IMPL_H_
|
| -#define WEBRTC_SYSTEM_WRAPPERS_INCLUDE_DATA_LOG_IMPL_H_
|
| -
|
| -#include <map>
|
| -#include <memory>
|
| -#include <sstream>
|
| -#include <string>
|
| -#include <vector>
|
| -
|
| -#include "webrtc/base/platform_thread.h"
|
| -#include "webrtc/typedefs.h"
|
| -
|
| -namespace webrtc {
|
| -
|
| -class CriticalSectionWrapper;
|
| -class EventWrapper;
|
| -class LogTable;
|
| -class RWLockWrapper;
|
| -
|
| -// All container classes need to implement a ToString-function to be
|
| -// writable to file. Enforce this via the Container interface.
|
| -class Container {
|
| - public:
|
| - virtual ~Container() {}
|
| -
|
| - virtual void ToString(std::string* container_string) const = 0;
|
| -};
|
| -
|
| -template<class T>
|
| -class ValueContainer : public Container {
|
| - public:
|
| - explicit ValueContainer(T data) : data_(data) {}
|
| -
|
| - virtual void ToString(std::string* container_string) const {
|
| - *container_string = "";
|
| - std::stringstream ss;
|
| - ss << data_ << ",";
|
| - ss >> *container_string;
|
| - }
|
| -
|
| - private:
|
| - T data_;
|
| -};
|
| -
|
| -template<class T>
|
| -class MultiValueContainer : public Container {
|
| - public:
|
| - MultiValueContainer(const T* data, int length)
|
| - : data_(data, data + length) {
|
| - }
|
| -
|
| - virtual void ToString(std::string* container_string) const {
|
| - *container_string = "";
|
| - std::stringstream ss;
|
| - for (size_t i = 0; i < data_.size(); ++i)
|
| - ss << data_[i] << ",";
|
| - *container_string += ss.str();
|
| - }
|
| -
|
| - private:
|
| - std::vector<T> data_;
|
| -};
|
| -
|
| -class DataLogImpl {
|
| - public:
|
| - ~DataLogImpl();
|
| -
|
| - // The implementation of the CreateLog() method declared in data_log.h.
|
| - // See data_log.h for a description.
|
| - static int CreateLog();
|
| -
|
| - // The implementation of the StaticInstance() method declared in data_log.h.
|
| - // See data_log.h for a description.
|
| - static DataLogImpl* StaticInstance();
|
| -
|
| - // The implementation of the ReturnLog() method declared in data_log.h. See
|
| - // data_log.h for a description.
|
| - static void ReturnLog();
|
| -
|
| - // The implementation of the AddTable() method declared in data_log.h. See
|
| - // data_log.h for a description.
|
| - int AddTable(const std::string& table_name);
|
| -
|
| - // The implementation of the AddColumn() method declared in data_log.h. See
|
| - // data_log.h for a description.
|
| - int AddColumn(const std::string& table_name,
|
| - const std::string& column_name,
|
| - int multi_value_length);
|
| -
|
| - // Inserts a Container into a table with name table_name at the column
|
| - // with name column_name.
|
| - // column_name is treated in a case sensitive way.
|
| - int InsertCell(const std::string& table_name,
|
| - const std::string& column_name,
|
| - const Container* value_container);
|
| -
|
| - // The implementation of the NextRow() method declared in data_log.h. See
|
| - // data_log.h for a description.
|
| - int NextRow(const std::string& table_name);
|
| -
|
| - private:
|
| - DataLogImpl();
|
| -
|
| - // Initializes the DataLogImpl object, allocates and starts the
|
| - // thread file_writer_thread_.
|
| - int Init();
|
| -
|
| - // Write all complete rows in every table to file.
|
| - // This function should only be called by the file_writer_thread_ if that
|
| - // thread is running to avoid race conditions.
|
| - void Flush();
|
| -
|
| - // Run() is called by the thread file_writer_thread_.
|
| - static bool Run(void* obj);
|
| -
|
| - // This function writes data to file. Note, it blocks if there is no data
|
| - // that should be written to file availble. Flush is the non-blocking
|
| - // version of this function.
|
| - void Process();
|
| -
|
| - // Stops the continuous calling of Process().
|
| - void StopThread();
|
| -
|
| - // Collection of tables indexed by the table name as std::string.
|
| - typedef std::map<std::string, LogTable*> TableMap;
|
| - typedef std::unique_ptr<CriticalSectionWrapper> CritSectScopedPtr;
|
| -
|
| - static CritSectScopedPtr crit_sect_;
|
| - static DataLogImpl* instance_;
|
| - int counter_;
|
| - TableMap tables_;
|
| - EventWrapper* flush_event_;
|
| - // This is a unique_ptr so that we don't have to create threads in the no-op
|
| - // impl.
|
| - std::unique_ptr<rtc::PlatformThread> file_writer_thread_;
|
| - RWLockWrapper* tables_lock_;
|
| -};
|
| -
|
| -} // namespace webrtc
|
| -
|
| -#endif // WEBRTC_SYSTEM_WRAPPERS_INCLUDE_DATA_LOG_IMPL_H_
|
|
|