drive_backend_util.h revision 5d1f7b1de12d16ceb2c938c56701a3e8bfa558f7
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 <string> 9 10#include "base/memory/scoped_ptr.h" 11#include "base/memory/scoped_vector.h" 12#include "chrome/browser/sync_file_system/drive_backend/metadata_database.pb.h" 13#include "chrome/browser/sync_file_system/sync_status_code.h" 14#include "google_apis/drive/gdata_errorcode.h" 15#include "webkit/common/blob/scoped_file.h" 16 17namespace google_apis { 18class ChangeResource; 19class FileResource; 20class ResourceEntry; 21} 22 23namespace leveldb { 24class WriteBatch; 25} 26 27namespace sync_file_system { 28namespace drive_backend { 29 30void PutServiceMetadataToBatch(const ServiceMetadata& service_metadata, 31 leveldb::WriteBatch* batch); 32void PutFileMetadataToBatch(const FileMetadata& file, 33 leveldb::WriteBatch* batch); 34void PutFileTrackerToBatch(const FileTracker& tracker, 35 leveldb::WriteBatch* batch); 36 37void PopulateFileDetailsByFileResource( 38 const google_apis::FileResource& file_resource, 39 FileDetails* details); 40scoped_ptr<FileMetadata> CreateFileMetadataFromFileResource( 41 int64 change_id, 42 const google_apis::FileResource& resource); 43scoped_ptr<FileMetadata> CreateFileMetadataFromChangeResource( 44 const google_apis::ChangeResource& change); 45scoped_ptr<FileMetadata> CreateDeletedFileMetadata( 46 int64 change_id, 47 const std::string& file_id); 48 49// Creates a temporary file in |dir_path|. This must be called on an 50// IO-allowed task runner, and the runner must be given as |file_task_runner|. 51webkit_blob::ScopedFile CreateTemporaryFile( 52 base::TaskRunner* file_task_runner); 53 54std::string FileKindToString(FileKind file_kind); 55 56bool HasFileAsParent(const FileDetails& details, const std::string& file_id); 57 58std::string GetMimeTypeFromTitle(const base::FilePath& title); 59 60scoped_ptr<google_apis::ResourceEntry> GetOldestCreatedFolderResource( 61 ScopedVector<google_apis::ResourceEntry> list); 62 63SyncStatusCode GDataErrorCodeToSyncStatusCode( 64 google_apis::GDataErrorCode error); 65 66} // namespace drive_backend 67} // namespace sync_file_system 68 69#endif // CHROME_BROWSER_SYNC_FILE_SYSTEM_DRIVE_BACKEND_DRIVE_BACKEND_UTIL_H_ 70