From 8277cec96ffa55082962591bca1c55abbeec8c26 Mon Sep 17 00:00:00 2001 From: Mike Lockwood Date: Tue, 10 Aug 2010 15:20:35 -0400 Subject: 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 --- media/mtp/MtpDataPacket.cpp | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'media/mtp/MtpDataPacket.cpp') 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) -- cgit v1.1