DropBoxManager: Allow adding a file using an fd
This patch adds an overload to DropBoxManager::addFile() which accepts an already-opened file as a file descriptor. This avoids the need for clients to create a filesystem-visible file when uploading data to DropBox. Test: Tested with perfetto using https://android-review.googlesource.com/c/platform/external/perfetto/+/587674 Change-Id: I076bfd3180fb9b4baff7e1bae2e611419061b2a7 Merged-In: I076bfd3180fb9b4baff7e1bae2e611419061b2a7
This commit is contained in:
@@ -57,7 +57,11 @@ public:
|
||||
// and a handle will be passed to the system process, so no additional permissions
|
||||
// are required from the system process. Returns NULL if the file can't be opened.
|
||||
Status addFile(const String16& tag, const string& filename, int flags);
|
||||
|
||||
|
||||
// Create a new Entry from an already opened file. Takes ownership of the
|
||||
// file descriptor.
|
||||
Status addFile(const String16& tag, int fd, int flags);
|
||||
|
||||
class Entry : public virtual RefBase, public Parcelable {
|
||||
public:
|
||||
Entry();
|
||||
|
||||
@@ -179,7 +179,12 @@ DropBoxManager::addFile(const String16& tag, const string& filename, int flags)
|
||||
ALOGW("DropboxManager: %s", message.c_str());
|
||||
return Status::fromExceptionCode(Status::EX_ILLEGAL_STATE, message.c_str());
|
||||
}
|
||||
return addFile(tag, fd, flags);
|
||||
}
|
||||
|
||||
Status
|
||||
DropBoxManager::addFile(const String16& tag, int fd, int flags)
|
||||
{
|
||||
Entry entry(tag, flags, fd);
|
||||
return add(entry);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user