Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(51)

Side by Side Diff: chrome/common/extensions/api/file_system_provider.idl

Issue 294073007: [fsp] Let extensions decide about the file system id. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebased. Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 // Use the <code>chrome.fileSystemProvider</code> API to create file systems, 5 // Use the <code>chrome.fileSystemProvider</code> API to create file systems,
6 // that can be accessible from the file manager on Chrome OS. 6 // that can be accessible from the file manager on Chrome OS.
7 [platforms=("chromeos"), 7 [platforms=("chromeos"),
8 implemented_in="chrome/browser/chromeos/extensions/file_system_provider/file_sy stem_provider_api.h"] 8 implemented_in="chrome/browser/chromeos/extensions/file_system_provider/file_sy stem_provider_api.h"]
9 namespace fileSystemProvider { 9 namespace fileSystemProvider {
10 // Error codes used by providing extensions in response to requests. For 10 // Error codes used by providing extensions in response to requests. For
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
44 DOMString name; 44 DOMString name;
45 45
46 // File size in bytes. 46 // File size in bytes.
47 double size; 47 double size;
48 48
49 // The last modified time of this entry. 49 // The last modified time of this entry.
50 [instanceOf=Date] object modificationTime; 50 [instanceOf=Date] object modificationTime;
51 }; 51 };
52 52
53 // Callback to receive the result of mount() function. 53 // Callback to receive the result of mount() function.
54 // <code>fileSystemID</code> will be a unique ID for the file system just 54 callback MountCallback = void([nodoc, instanceOf=DOMError] object error);
55 // mounted. The ID is used to distinguish multiple file systems mounted
56 // from a single File System Provider.
57 callback MountCallback = void(long fileSystemId,
58 [nodoc, instanceOf=DOMError] object error);
59 55
60 56
61 // Callback to receive the result of unmount() function with the <code> 57 // Callback to receive the result of unmount() function.
62 // fileSystemId</code> identifier. 58 callback UnmountCallback = void([nodoc, instanceOf=DOMError] object error);
63 callback UnmountCallback = void(long fileSystemId,
64 [nodoc, instanceOf=DOMError] object error);
65 59
66 // Callback to be called by the providing extension in case of a success. 60 // Callback to be called by the providing extension in case of a success.
67 callback ProviderSuccessCallback = void(); 61 callback ProviderSuccessCallback = void();
68 62
69 // Callback to be called by the providing extension in case of an error. 63 // Callback to be called by the providing extension in case of an error.
70 callback ProviderErrorCallback = void(ProviderError error); 64 callback ProviderErrorCallback = void(ProviderError error);
71 65
72 // Callback to handle an error raised from the browser. 66 // Callback to handle an error raised from the browser.
73 [nocompile] callback ErrorCallback = void([instanceOf=DOMError] object error); 67 [nocompile] callback ErrorCallback = void([instanceOf=DOMError] object error);
74 68
75 // Success callback for the <code>onGetMetadataRequested</code> event. 69 // Success callback for the <code>onGetMetadataRequested</code> event.
76 callback MetadataCallback = void(EntryMetadata metadata); 70 callback MetadataCallback = void(EntryMetadata metadata);
77 71
78 // Success callback for the <code>onReadDirectoryRequested</code> event. If 72 // Success callback for the <code>onReadDirectoryRequested</code> event. If
79 // more entries will be returned, then <code>hasNext</code> must be true, and 73 // more entries will be returned, then <code>hasNext</code> must be true, and
80 // it has to be called again with additional entries. If no more entries are 74 // it has to be called again with additional entries. If no more entries are
81 // available, then <code>hasNext</code> must be set to false. 75 // available, then <code>hasNext</code> must be set to false.
82 callback EntriesCallback = void(ResourceEntry[] entries, bool hasNext); 76 callback EntriesCallback = void(ResourceEntry[] entries, bool hasNext);
83 77
84 // Success callback for the <code>onReadFileRequested</code> event. If more 78 // Success callback for the <code>onReadFileRequested</code> event. If more
85 // data will be returned, then <code>hasNext</code> must be true, and it 79 // data will be returned, then <code>hasNext</code> must be true, and it
86 // has to be called again with additional entries. If no more data is 80 // has to be called again with additional entries. If no more data is
87 // available, then <code>hasNext</code> must be set to false. 81 // available, then <code>hasNext</code> must be set to false.
88 callback FileDataCallback = void(ArrayBuffer data, bool hasNext); 82 callback FileDataCallback = void(ArrayBuffer data, bool hasNext);
89 83
90 interface Functions { 84 interface Functions {
91 // Mounts a file system with the given <code>displayName</code>. 85 // Mounts a file system with the given <code>fileSystemId</code> and <code>
92 // <code>displayName</code> will be shown in the left panel of 86 // displayName</code>. <code>displayName</code> will be shown in the left
93 // Files.app. <code>displayName</code> can contain any characters 87 // panel of Files.app. <code>displayName</code> can contain any characters
94 // including '/', but cannot be an empty string. <code>displayName</code> 88 // including '/', but cannot be an empty string. <code>displayName</code>
95 // should be descriptive but doesn't have to be unique. Duplicate display 89 // should be descriptive but doesn't have to be unique. Duplicate display
96 // names are uniquified by adding suffix like "(1)" in the Files.app UI. 90 // names are uniquified by adding suffix like "(1)" in the Files app UI.
97 static void mount(DOMString displayName, 91 //
92 // If a file system with the passed <code>fileSystemId</code> is already
93 // mounted by this extension, then <code>errorCallback</code> will be called
94 // with <code>ProviderError.EXISTS</code> value. The <code>fileSystemId
95 // </code> must not be an empty string.
96 static void mount(DOMString fileSystemId,
97 DOMString displayName,
98 MountCallback successCallback, 98 MountCallback successCallback,
99 [nocompile] ErrorCallback errorCallback); 99 [nocompile] ErrorCallback errorCallback);
100 100
101 // Unmounts a file system with the given <code>fileSystemId</code>. It 101 // Unmounts a file system with the given <code>fileSystemId</code>. It
102 // should be called after <code>onUnmountRequested</code> is invoked. Also, 102 // should be called after <code>onUnmountRequested</code> is invoked. Also,
103 // the providing extension can decide to perform unmounting if not requested 103 // the providing extension can decide to perform unmounting if not requested
104 // (eg. in case of lost connection, or a file error). If there is no file 104 // (eg. in case of lost connection, or a file error). If there is no file
105 // system with the requested id, or unmounting fails, then the 105 // system with the requested id, or unmounting fails, then the
106 // <code>errorCallback</code> must be called. 106 // <code>errorCallback</code> will be called.
107 static void unmount(long fileSystemId, 107 static void unmount(DOMString fileSystemId,
108 UnmountCallback successCallback, 108 UnmountCallback successCallback,
109 [nocompile] ErrorCallback errorCallback); 109 [nocompile] ErrorCallback errorCallback);
110 }; 110 };
111 111
112 interface Events { 112 interface Events {
113 // Raised when unmounting for the file system with the <code>fileSystemId 113 // Raised when unmounting for the file system with the <code>fileSystemId
114 // </code> identifier is requested. In the response, the <code>unmount 114 // </code> identifier is requested. In the response, the <code>unmount
115 // </code> API method should be called together with <code>successCallback 115 // </code> API method should be called together with <code>successCallback
116 // </code>. If unmounting is not possible (eg. due to a pending operation), 116 // </code>. If unmounting is not possible (eg. due to a pending operation),
117 // then <code>errorCallback</code> must be called. 117 // then <code>errorCallback</code> must be called.
118 [maxListeners=1] static void onUnmountRequested( 118 [maxListeners=1] static void onUnmountRequested(
119 long fileSystemId, 119 DOMString fileSystemId,
120 ProviderSuccessCallback successCallback, 120 ProviderSuccessCallback successCallback,
121 ProviderErrorCallback errorCallback); 121 ProviderErrorCallback errorCallback);
122 122
123 // Raised when metadata of a file or a directory at <code>entryPath</code> 123 // Raised when metadata of a file or a directory at <code>entryPath</code>
124 // is requested. The metadata should be returned with the <code> 124 // is requested. The metadata should be returned with the <code>
125 // successCallback</code> call. In case of an error, <code>errorCallback 125 // successCallback</code> call. In case of an error, <code>errorCallback
126 // </code> must be called. 126 // </code> must be called.
127 [maxListeners=1] static void onGetMetadataRequested( 127 [maxListeners=1] static void onGetMetadataRequested(
128 long fileSystemId, 128 DOMString fileSystemId,
129 DOMString entryPath, 129 DOMString entryPath,
130 MetadataCallback successCallback, 130 MetadataCallback successCallback,
131 ProviderErrorCallback errorCallback); 131 ProviderErrorCallback errorCallback);
132 132
133 // Raised when contents of a directory at <code>directoryPath</code> are 133 // Raised when contents of a directory at <code>directoryPath</code> are
134 // requested. The results should be returned in chunks by calling the <code> 134 // requested. The results should be returned in chunks by calling the <code>
135 // successCallback</code> several times. In case of an error, <code> 135 // successCallback</code> several times. In case of an error, <code>
136 // errorCallback</code> must be called. 136 // errorCallback</code> must be called.
137 [maxListeners=1] static void onReadDirectoryRequested( 137 [maxListeners=1] static void onReadDirectoryRequested(
138 long fileSystemId, 138 DOMString fileSystemId,
139 DOMString directoryPath, 139 DOMString directoryPath,
140 EntriesCallback successCallback, 140 EntriesCallback successCallback,
141 ProviderErrorCallback errorCallback); 141 ProviderErrorCallback errorCallback);
142 142
143 // Raised when opening a file at <code>filePath</code> is requested. 143 // Raised when opening a file at <code>filePath</code> is requested.
144 // If <code>create</code> is set to <code>true</code> and the file does not 144 // If <code>create</code> is set to <code>true</code> and the file does not
145 // exist, then it should be created. 145 // exist, then it should be created.
146 [maxListeners=1] static void onOpenFileRequested( 146 [maxListeners=1] static void onOpenFileRequested(
147 long fileSystemId, 147 DOMString fileSystemId,
148 long requestId, 148 long requestId,
149 DOMString filePath, 149 DOMString filePath,
150 OpenFileMode mode, 150 OpenFileMode mode,
151 boolean create, 151 boolean create,
152 ProviderSuccessCallback successCallback, 152 ProviderSuccessCallback successCallback,
153 ProviderErrorCallback errorCallback); 153 ProviderErrorCallback errorCallback);
154 154
155 // Raised when opening a file previously opened with <code>openRequestId 155 // Raised when opening a file previously opened with <code>openRequestId
156 // </code> is requested to be closed. 156 // </code> is requested to be closed.
157 [maxListeners=1] static void onCloseFileRequested( 157 [maxListeners=1] static void onCloseFileRequested(
158 long fileSystemId, 158 DOMString fileSystemId,
159 long openRequestId, 159 long openRequestId,
160 ProviderSuccessCallback successCallback, 160 ProviderSuccessCallback successCallback,
161 ProviderErrorCallback errorCallback); 161 ProviderErrorCallback errorCallback);
162 162
163 // Raised when contents of a file opened previously with <code>openRequestId 163 // Raised when contents of a file opened previously with <code>openRequestId
164 // </code>. The results should be returned in chunks by calling <code> 164 // </code>. The results should be returned in chunks by calling <code>
165 // successCallback</code> several times. In case of an error, <code> 165 // successCallback</code> several times. In case of an error, <code>
166 // errorCallback</code> must be called. 166 // errorCallback</code> must be called.
167 [maxListeners=1] static void onReadFileRequested( 167 [maxListeners=1] static void onReadFileRequested(
168 long fileSystemId, 168 DOMString fileSystemId,
169 long openRequestId, 169 long openRequestId,
170 double offset, 170 double offset,
171 double length, 171 double length,
172 FileDataCallback successCallback, 172 FileDataCallback successCallback,
173 ProviderErrorCallback errorCallback); 173 ProviderErrorCallback errorCallback);
174 }; 174 };
175 }; 175 };
176 176
OLDNEW
« no previous file with comments | « chrome/common/extensions/api/file_browser_private.idl ('k') | chrome/common/extensions/api/file_system_provider_internal.idl » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698