- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / sync_file_system / sync_file_system_api_helpers.h
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 fileapi {
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 fileapi::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_