1 // Copyright (c) 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_EXTENSIONS_API_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_API_HELPERS_H_ 6 #define CHROME_BROWSER_EXTENSIONS_API_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_API_HELPERS_H_ 7 8 #include "chrome/browser/sync_file_system/conflict_resolution_policy.h" 9 #include "chrome/browser/sync_file_system/sync_action.h" 10 #include "chrome/browser/sync_file_system/sync_direction.h" 11 #include "chrome/browser/sync_file_system/sync_file_status.h" 12 #include "chrome/browser/sync_file_system/sync_file_type.h" 13 #include "chrome/browser/sync_file_system/sync_service_state.h" 14 #include "chrome/common/extensions/api/sync_file_system.h" 15 16 namespace storage { 17 class FileSystemURL; 18 } 19 20 namespace base { 21 class DictionaryValue; 22 } 23 24 namespace extensions { 25 26 // extensions::api::sync_file_system <-> sync_file_system enum conversion 27 // functions. 28 api::sync_file_system::ServiceStatus SyncServiceStateToExtensionEnum( 29 sync_file_system::SyncServiceState state); 30 31 api::sync_file_system::FileStatus SyncFileStatusToExtensionEnum( 32 sync_file_system::SyncFileStatus status); 33 34 api::sync_file_system::SyncAction SyncActionToExtensionEnum( 35 sync_file_system::SyncAction action); 36 37 api::sync_file_system::SyncDirection SyncDirectionToExtensionEnum( 38 sync_file_system::SyncDirection direction); 39 40 api::sync_file_system::ConflictResolutionPolicy 41 ConflictResolutionPolicyToExtensionEnum( 42 sync_file_system::ConflictResolutionPolicy policy); 43 44 sync_file_system::ConflictResolutionPolicy 45 ExtensionEnumToConflictResolutionPolicy( 46 api::sync_file_system::ConflictResolutionPolicy); 47 48 // Creates a dictionary for FileSystem Entry from given |url|. 49 // This will create a dictionary which has 'fileSystemType', 'fileSystemName', 50 // 'rootUrl', 'filePath' and 'isDirectory' fields. 51 // The returned dictionary is supposed to be interpreted 52 // in the renderer's customer binding to create a FileEntry object. 53 // This returns NULL if the given |url| is not valid or |file_type| is 54 // SYNC_FILE_TYPE_UNKNOWN. 55 base::DictionaryValue* CreateDictionaryValueForFileSystemEntry( 56 const storage::FileSystemURL& url, 57 sync_file_system::SyncFileType file_type); 58 59 } // namespace extensions 60 61 #endif // CHROME_BROWSER_EXTENSIONS_API_SYNC_FILE_SYSTEM_SYNC_FILE_SYSTEM_API_HELPERS_H_ 62