summaryrefslogtreecommitdiffstats
path: root/media/mtp/MtpDataPacket.cpp
diff options
context:
space:
mode:
authorMike Lockwood <lockwood@android.com>2010-08-10 15:20:35 -0400
committerMike Lockwood <lockwood@android.com>2010-08-25 18:42:22 -0400
commit8277cec96ffa55082962591bca1c55abbeec8c26 (patch)
tree660b89fc58bc6971d848b80be47fc9fa374d1aec /media/mtp/MtpDataPacket.cpp
parent17c53d433cd83d6b7d77e80635d6d58e2f6f5b2e (diff)
downloadframeworks_av-8277cec96ffa55082962591bca1c55abbeec8c26.zip
frameworks_av-8277cec96ffa55082962591bca1c55abbeec8c26.tar.gz
frameworks_av-8277cec96ffa55082962591bca1c55abbeec8c26.tar.bz2
MTP: work in progress on expanded property support
GetObjectPropValue and SetObjectPropValue are disabled until I figure out why Windows doesn't like what I have done. Change-Id: I74e945ef3ea031f6d46f4ebaa8df815da0a5c3ed Signed-off-by: Mike Lockwood <lockwood@android.com>
Diffstat (limited to 'media/mtp/MtpDataPacket.cpp')
-rw-r--r--media/mtp/MtpDataPacket.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/media/mtp/MtpDataPacket.cpp b/media/mtp/MtpDataPacket.cpp
index 27dc796..f3c7b9b 100644
--- a/media/mtp/MtpDataPacket.cpp
+++ b/media/mtp/MtpDataPacket.cpp
@@ -242,6 +242,16 @@ void MtpDataPacket::putUInt128(const uint128_t& value) {
putUInt32(value[3]);
}
+void MtpDataPacket::putInt128(int64_t value) {
+ putInt64(value);
+ putUInt64(value < 0 ? 0xFFFFFFFFFFFFFFFF : 0);
+}
+
+void MtpDataPacket::putUInt128(uint64_t value) {
+ putUInt64(value);
+ putUInt64(0);
+}
+
void MtpDataPacket::putAInt8(const int8_t* values, int count) {
putUInt32(count);
for (int i = 0; i < count; i++)
@@ -363,7 +373,7 @@ int MtpDataPacket::readDataHeader(int fd) {
int MtpDataPacket::write(int fd) {
MtpPacket::putUInt32(MTP_CONTAINER_LENGTH_OFFSET, mPacketSize);
MtpPacket::putUInt16(MTP_CONTAINER_TYPE_OFFSET, MTP_CONTAINER_TYPE_DATA);
-
+ dump();
// send header separately from data
int ret = ::write(fd, mBuffer, MTP_CONTAINER_HEADER_SIZE);
if (ret == MTP_CONTAINER_HEADER_SIZE)