1c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// found in the LICENSE file.
4c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
5c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#ifndef CHROME_COMMON_MEDIA_WEBRTC_LOGGING_MESSAGE_DATA_H_
6c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#define CHROME_COMMON_MEDIA_WEBRTC_LOGGING_MESSAGE_DATA_H_
7c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
8c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include <string>
9c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
10c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#include "base/time/time.h"
11c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
12c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch// A struct representing a logging message with its creation time.
13c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdochstruct WebRtcLoggingMessageData {
14c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  WebRtcLoggingMessageData();
15c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  WebRtcLoggingMessageData(base::Time time, const std::string& message);
16c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
17c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // Returns a string formatted as "[XXX:YYY] $message", where "[XXX:YYY]" is
18c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // the timestamp relative to |start_time| converted to seconds (XXX) plus
19c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  // milliseconds (YYY).
20c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  std::string Format(base::Time start_time) const;
21c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
22c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  base::Time timestamp;
23c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch  std::string message;
24c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch};
25c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch
26c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch#endif  // CHROME_COMMON_MEDIA_WEBRTC_LOGGING_MESSAGE_DATA_H_
27