1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "webkit/common/data_element.h"
6
7namespace webkit_common {
8
9DataElement::DataElement()
10    : type_(TYPE_UNKNOWN),
11      bytes_(NULL),
12      offset_(0),
13      length_(kuint64max) {
14}
15
16DataElement::~DataElement() {}
17
18void DataElement::SetToFilePathRange(
19    const base::FilePath& path,
20    uint64 offset, uint64 length,
21    const base::Time& expected_modification_time) {
22  type_ = TYPE_FILE;
23  path_ = path;
24  offset_ = offset;
25  length_ = length;
26  expected_modification_time_ = expected_modification_time;
27}
28
29void DataElement::SetToBlobRange(
30    const std::string& blob_uuid,
31    uint64 offset, uint64 length) {
32  type_ = TYPE_BLOB;
33  blob_uuid_ = blob_uuid;
34  offset_ = offset;
35  length_ = length;
36}
37
38void DataElement::SetToFileSystemUrlRange(
39    const GURL& filesystem_url,
40    uint64 offset, uint64 length,
41    const base::Time& expected_modification_time) {
42  type_ = TYPE_FILE_FILESYSTEM;
43  filesystem_url_ = filesystem_url;
44  offset_ = offset;
45  length_ = length;
46  expected_modification_time_ = expected_modification_time;
47}
48
49}  // webkit_common
50