1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- /* This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this file,
- * You can obtain one at http://mozilla.org/MPL/2.0/. */
- include protocol PBackgroundFileRequest;
- include protocol PBackgroundMutableFile;
- include protocol PBlob;
- namespace mozilla {
- namespace dom {
- struct FileRequestGetMetadataParams
- {
- bool size;
- bool lastModified;
- };
- struct FileRequestReadParams
- {
- uint64_t offset;
- uint64_t size;
- };
- struct FileRequestStringData
- {
- nsCString string;
- };
- struct FileRequestBlobData
- {
- PBlob blob;
- };
- union FileRequestData
- {
- FileRequestStringData;
- FileRequestBlobData;
- };
- struct FileRequestWriteParams
- {
- uint64_t offset;
- FileRequestData data;
- uint64_t dataLength;
- };
- struct FileRequestTruncateParams
- {
- uint64_t offset;
- };
- struct FileRequestFlushParams
- {
- };
- struct FileRequestGetFileParams
- {
- };
- union FileRequestParams
- {
- FileRequestGetMetadataParams;
- FileRequestReadParams;
- FileRequestWriteParams;
- FileRequestTruncateParams;
- FileRequestFlushParams;
- FileRequestGetFileParams;
- };
- protocol PBackgroundFileHandle
- {
- manager PBackgroundMutableFile;
- manages PBackgroundFileRequest;
- parent:
- async DeleteMe();
- async Finish();
- async Abort();
- async PBackgroundFileRequest(FileRequestParams params);
- child:
- async __delete__();
- async Complete(bool aborted);
- };
- } // namespace dom
- } // namespace mozilla
|