1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Copyright 2014 The Chromium Authors. All rights reserved.
2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// Use of this source code is governed by a BSD-style license that can be
3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// found in the LICENSE file.
4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/browser/media/webrtc_log_list.h"
6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
7effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/files/file.h"
8effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/files/file_path.h"
91320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#include "base/files/file_util.h"
10effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "base/path_service.h"
11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/browser/profiles/profile.h"
12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include "chrome/common/chrome_paths.h"
13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
14effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochnamespace {
15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kWebRtcLogDirectory[] = "WebRTC Logs";
17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochconst char kWebRtcLogListFilename[] = "Log List";
18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// static
22effb81e5f8246d0db0270817048dc992db66e9fbBen MurdochUploadList* WebRtcLogList::CreateWebRtcLogList(UploadList::Delegate* delegate,
23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch                                               Profile* profile) {
24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  base::FilePath log_list_path = GetWebRtcLogListFileForDirectory(
25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch      GetWebRtcLogDirectoryForProfile(profile->GetPath()));
26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return new UploadList(delegate, log_list_path);
27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
29effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// static
30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochbase::FilePath WebRtcLogList::GetWebRtcLogDirectoryForProfile(
31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    const base::FilePath& profile_path) {
32effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  DCHECK(!profile_path.empty());
33effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return profile_path.AppendASCII(kWebRtcLogDirectory);
34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
35effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch
36effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch// static
37effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochbase::FilePath WebRtcLogList::GetWebRtcLogListFileForDirectory(
38effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch    const base::FilePath& dir) {
39effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  DCHECK(!dir.empty());
40effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch  return dir.AppendASCII(kWebRtcLogListFilename);
41effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}
42