1// Copyright 2014 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// Internal, used by fileManagerPrivate's custom bindings.
6[platforms=("chromeos"),
7 implemented_in="chrome/browser/chromeos/extensions/file_manager/file_manager_private_api_functions.h"]
8namespace fileManagerPrivateInternal {
9  // Entry information that renderers need to create an Entry instance.
10  dictionary EntryDescription {
11    DOMString fileSystemName;
12    DOMString fileSystemRoot;
13    DOMString fileFullPath;
14    boolean fileIsDirectory;
15  };
16
17  callback SimpleCallback = void();
18  callback ResolveIsolatedEntriesCallback = void(EntryDescription[] entries);
19  callback GetEntryPropertiesCallback = void(
20      fileManagerPrivate.EntryProperties[] entryProperties);
21  callback AddFileWatchCallback = void(optional boolean success);
22  callback RemoveFileWatchCallback = void(optional boolean success);
23  callback GetCustomActionsCallback = void(fileSystemProvider.Action[] actions);
24  callback ComputeChecksumCallback = void(DOMString checksum);
25  callback GetMimeTypeCallback = void(DOMString result);
26  callback ExecuteTaskCallback = void(fileManagerPrivate.TaskResult result);
27  callback GetFileTasksCallback = void(fileManagerPrivate.FileTask[] tasks);
28  callback GetUrlCallback = void(DOMString url);
29  callback GetUrlCallback = void(DOMString url);
30  callback StartCopyCallback = void(long copyId);
31  callback ZipSelectionCallback = void(optional boolean success);
32  callback ValidatePathNameLengthCallback = void(boolean result);
33  callback GetDirectorySizeCallback = void(double size);
34  callback GetRecentFilesCallback = void(EntryDescription[] entries);
35  callback GetCrostiniSharedPathsCallback =
36      void(EntryDescription[] entries, boolean firstForSession);
37  callback GetLinuxPackageInfoCallback =
38      void(fileManagerPrivate.LinuxPackageInfo linux_package_info);
39  callback InstallLinuxPackageCallback =
40      void(fileManagerPrivate.InstallLinuxPackageResponse response);
41  callback GetThumbnailCallback = void(DOMString ThumbnailDataUrl);
42
43  interface Functions {
44    static void resolveIsolatedEntries(DOMString[] urls,
45                                       ResolveIsolatedEntriesCallback callback);
46    static void getEntryProperties(
47        DOMString[] urls,
48        fileManagerPrivate.EntryPropertyName[] names,
49        GetEntryPropertiesCallback callback);
50    static void addFileWatch(
51        DOMString url,
52        AddFileWatchCallback callback);
53    static void removeFileWatch(
54        DOMString url,
55        RemoveFileWatchCallback callback);
56    static void getCustomActions(DOMString[] urls,
57                                 GetCustomActionsCallback callback);
58    static void executeCustomAction(DOMString[] urls,
59                                    DOMString actionId,
60                                    SimpleCallback callback);
61    static void computeChecksum(DOMString url,
62                                ComputeChecksumCallback callback);
63    static void getMimeType(DOMString url,
64                            GetMimeTypeCallback callback);
65    static void pinDriveFile(DOMString url,
66                             boolean pin,
67                             SimpleCallback callback);
68    static void executeTask(DOMString taskId,
69                            DOMString[] urls,
70                            ExecuteTaskCallback callback);
71    static void setDefaultTask(DOMString taskId,
72                               DOMString[] urls,
73                               DOMString[] mimeTypes,
74                               SimpleCallback callback);
75    static void getFileTasks(DOMString[] urls,
76                             GetFileTasksCallback callback);
77    static void getDownloadUrl(DOMString url, GetUrlCallback callback);
78    static void startCopy(DOMString url,
79                          DOMString parentUrl,
80                          DOMString newName,
81                          StartCopyCallback callback);
82    static void zipSelection(DOMString parentUrl,
83                             DOMString[] urls,
84                             DOMString destName,
85                             ZipSelectionCallback callback);
86    static void validatePathNameLength(
87        DOMString parentUrl,
88        DOMString name,
89        ValidatePathNameLengthCallback callback);
90    static void getDirectorySize(DOMString url,
91                                 GetDirectorySizeCallback callback);
92    static void getRecentFiles(fileManagerPrivate.SourceRestriction restriction,
93                               fileManagerPrivate.RecentFileType file_type,
94                               GetRecentFilesCallback callback);
95    static void sharePathsWithCrostini(DOMString vmName, DOMString[] urls,
96                                       boolean persist,
97                                       SimpleCallback callback);
98    static void unsharePathWithCrostini(DOMString vmName, DOMString url,
99                                        SimpleCallback callback);
100    static void getCrostiniSharedPaths(boolean observeFirstForSession,
101                                       DOMString vmName,
102                                       GetCrostiniSharedPathsCallback callback);
103    static void getLinuxPackageInfo(DOMString url,
104                                    GetLinuxPackageInfoCallback callback);
105    static void installLinuxPackage(DOMString url,
106                                    InstallLinuxPackageCallback callback);
107    static void importCrostiniImage(DOMString url);
108    static void getThumbnail(DOMString url,
109                             boolean cropToSquare,
110                             GetThumbnailCallback callback);
111  };
112};
113