drive_backend_util.h revision 8bcbed890bc3ce4d7a057a8f32cab53fa534672e
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#ifndef CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_DRIVE_BACKEND_UTIL_H_
6#define CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_DRIVE_BACKEND_UTIL_H_
7
8#include "base/memory/scoped_ptr.h"
9
10namespace google_apis {
11class ChangeResource;
12class FileResource;
13}
14
15namespace leveldb {
16class WriteBatch;
17}
18
19namespace sync_file_system {
20namespace drive_backend {
21
22class FileDetails;
23class FileMetadata;
24class FileTracker;
25class ServiceMetadata;
26
27void PutServiceMetadataToBatch(const ServiceMetadata& service_metadata,
28                               leveldb::WriteBatch* batch);
29void PutFileToBatch(const FileMetadata& file, leveldb::WriteBatch* batch);
30void PutTrackerToBatch(const FileTracker& tracker, leveldb::WriteBatch* batch);
31
32void PopulateFileDetailsByFileResource(
33    const google_apis::FileResource& file_resource,
34    FileDetails* details);
35scoped_ptr<FileMetadata> CreateFileMetadataFromFileResource(
36    int64 change_id,
37    const google_apis::FileResource& resource);
38scoped_ptr<FileMetadata> CreateFileMetadataFromChangeResource(
39    const google_apis::ChangeResource& change);
40
41}  // namespace drive_backend
42}  // namespace sync_file_system
43
44#endif  // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_DRIVE_BACKEND_UTIL_H_
45