Home | History | Annotate | Download | only in sync_file_system
      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