diff options
author | Dawn K. Isabel | 2013-05-30 23:28:40 -0400 |
---|---|---|
committer | Martin Szulecki | 2013-05-31 12:00:22 +0200 |
commit | 42404434efe47d3d44e5e3c4c19c7c0034d2b844 (patch) | |
tree | d90808f66fdc018cbbffc108dab4eb4a06f75975 /cython/afc.pxi | |
parent | 5970e52fa9682622d8fc97eb9c0ad82b4c3e792e (diff) | |
download | libimobiledevice-42404434efe47d3d44e5e3c4c19c7c0034d2b844.tar.gz libimobiledevice-42404434efe47d3d44e5e3c4c19c7c0034d2b844.tar.bz2 |
cython: Add read() method to AfcFile
Diffstat (limited to 'cython/afc.pxi')
-rw-r--r-- | cython/afc.pxi | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/cython/afc.pxi b/cython/afc.pxi index 2608ee6..1ca4378 100644 --- a/cython/afc.pxi +++ b/cython/afc.pxi @@ -133,6 +133,20 @@ cdef class AfcFile(Base): cpdef truncate(self, uint64_t newsize): self.handle_error(afc_file_truncate(self._client._c_client, self._c_handle, newsize)) + cpdef bytes read(self, uint32_t size): + cdef: + uint32_t bytes_read + char* c_data = <char *>malloc(size) + bytes result + try: + self.handle_error(afc_file_read(self._client._c_client, self._c_handle, c_data, size, &bytes_read)) + result = c_data[:bytes_read] + return result + except BaseError, e: + raise + finally: + free(c_data) + cpdef uint32_t write(self, bytes data): cdef: uint32_t bytes_written |