diff options
| author | Mike Lockwood <lockwood@android.com> | 2010-08-02 10:37:41 -0400 |
|---|---|---|
| committer | Mike Lockwood <lockwood@android.com> | 2010-08-02 10:37:41 -0400 |
| commit | 59c777a24a2c639dfd84b7bf17e430e6d3424866 (patch) | |
| tree | 36c5a8988de3da72fbd94bcaf2769e103f825da5 /media/mtp/MtpServer.cpp | |
| parent | 37b4a3c2f2e85701f06e85b7240f1c724f8d2dea (diff) | |
| download | frameworks_base-59c777a24a2c639dfd84b7bf17e430e6d3424866.zip frameworks_base-59c777a24a2c639dfd84b7bf17e430e6d3424866.tar.gz frameworks_base-59c777a24a2c639dfd84b7bf17e430e6d3424866.tar.bz2 | |
Clean up MtpDatabase API.
Return MTP response codes instead of booleans for success or failure.
Remove some unused code.
Change-Id: I82ce80a4d7779233264e3caf139ebd0cece12f5c
Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media/mtp/MtpServer.cpp')
| -rw-r--r-- | media/mtp/MtpServer.cpp | 36 |
1 files changed, 17 insertions, 19 deletions
diff --git a/media/mtp/MtpServer.cpp b/media/mtp/MtpServer.cpp index adfe3a9..1e41407 100644 --- a/media/mtp/MtpServer.cpp +++ b/media/mtp/MtpServer.cpp @@ -470,10 +470,11 @@ MtpResponseCode MtpServer::doGetObject() { MtpObjectHandle handle = mRequest.getParameter(1); MtpString pathBuf; int64_t fileLength; - if (!mDatabase->getObjectFilePath(handle, pathBuf, fileLength)) - return MTP_RESPONSE_INVALID_OBJECT_HANDLE; - const char* filePath = (const char *)pathBuf; + int result = mDatabase->getObjectFilePath(handle, pathBuf, fileLength); + if (result != MTP_RESPONSE_OK) + return result; + const char* filePath = (const char *)pathBuf; mtp_file_range mfr; mfr.fd = open(filePath, O_RDONLY); if (mfr.fd < 0) { @@ -513,8 +514,9 @@ MtpResponseCode MtpServer::doSendObjectInfo() { parent = 0; } else { int64_t dummy; - if (!mDatabase->getObjectFilePath(parent, path, dummy)) - return MTP_RESPONSE_INVALID_OBJECT_HANDLE; + int result = mDatabase->getObjectFilePath(parent, path, dummy); + if (result != MTP_RESPONSE_OK) + return result; } // read only the fields we need @@ -547,14 +549,11 @@ MtpResponseCode MtpServer::doSendObjectInfo() { path += "/"; path += (const char *)name; - mDatabase->beginTransaction(); MtpObjectHandle handle = mDatabase->beginSendObject((const char*)path, format, parent, storageID, mSendObjectFileSize, modifiedTime); if (handle == kInvalidObjectHandle) { - mDatabase->rollbackTransaction(); return MTP_RESPONSE_GENERAL_ERROR; } - mDatabase->commitTransaction(); if (format == MTP_FORMAT_ASSOCIATION) { mode_t mask = umask(0); @@ -641,17 +640,16 @@ MtpResponseCode MtpServer::doDeleteObject() { MtpString filePath; int64_t fileLength; - if (!mDatabase->getObjectFilePath(handle, filePath, fileLength)) - return MTP_RESPONSE_INVALID_OBJECT_HANDLE; - - LOGV("deleting %s", (const char *)filePath); - // one of these should work - rmdir((const char *)filePath); - unlink((const char *)filePath); - - mDatabase->deleteFile(handle); - - return MTP_RESPONSE_OK; + int result = mDatabase->getObjectFilePath(handle, filePath, fileLength); + if (result == MTP_RESPONSE_OK) { + LOGV("deleting %s", (const char *)filePath); + // one of these should work + rmdir((const char *)filePath); + unlink((const char *)filePath); + return mDatabase->deleteFile(handle); + } else { + return result; + } } MtpResponseCode MtpServer::doGetObjectPropDesc() { |
