diff options
Diffstat (limited to 'cython/mobile_image_mounter.pxi')
| -rw-r--r-- | cython/mobile_image_mounter.pxi | 26 |
1 files changed, 17 insertions, 9 deletions
diff --git a/cython/mobile_image_mounter.pxi b/cython/mobile_image_mounter.pxi index e70cff7..bf304d4 100644 --- a/cython/mobile_image_mounter.pxi +++ b/cython/mobile_image_mounter.pxi | |||
| @@ -32,11 +32,7 @@ cdef class MobileImageMounterClient(PropertyListService): | |||
| 32 | cdef mobile_image_mounter_client_t _c_client | 32 | cdef mobile_image_mounter_client_t _c_client |
| 33 | 33 | ||
| 34 | def __cinit__(self, iDevice device not None, int port, *args, **kwargs): | 34 | def __cinit__(self, iDevice device not None, int port, *args, **kwargs): |
| 35 | cdef: | 35 | self.handle_error(mobile_image_mounter_new(device._c_dev, port, &self._c_client)) |
| 36 | iDevice dev = device | ||
| 37 | mobile_image_mounter_error_t err | ||
| 38 | err = mobile_image_mounter_new(dev._c_dev, port, &self._c_client) | ||
| 39 | self.handle_error(err) | ||
| 40 | 36 | ||
| 41 | def __dealloc__(self): | 37 | def __dealloc__(self): |
| 42 | cdef mobile_image_mounter_error_t err | 38 | cdef mobile_image_mounter_error_t err |
| @@ -52,8 +48,14 @@ cdef class MobileImageMounterClient(PropertyListService): | |||
| 52 | plist.plist_t c_node = NULL | 48 | plist.plist_t c_node = NULL |
| 53 | mobile_image_mounter_error_t err | 49 | mobile_image_mounter_error_t err |
| 54 | err = mobile_image_mounter_lookup_image(self._c_client, image_type, &c_node) | 50 | err = mobile_image_mounter_lookup_image(self._c_client, image_type, &c_node) |
| 55 | self.handle_error(err) | 51 | |
| 56 | return plist.plist_t_to_node(c_node) | 52 | try: |
| 53 | self.handle_error(err) | ||
| 54 | |||
| 55 | return plist.plist_t_to_node(c_node) | ||
| 56 | except Exception, e: | ||
| 57 | if c_node != NULL: | ||
| 58 | plist.plist_free(c_node) | ||
| 57 | 59 | ||
| 58 | cpdef plist.Node mount_image(self, bytes image_path, bytes image_signature, bytes image_type): | 60 | cpdef plist.Node mount_image(self, bytes image_path, bytes image_signature, bytes image_type): |
| 59 | cdef: | 61 | cdef: |
| @@ -61,8 +63,14 @@ cdef class MobileImageMounterClient(PropertyListService): | |||
| 61 | mobile_image_mounter_error_t err | 63 | mobile_image_mounter_error_t err |
| 62 | err = mobile_image_mounter_mount_image(self._c_client, image_path, image_signature, len(image_signature), | 64 | err = mobile_image_mounter_mount_image(self._c_client, image_path, image_signature, len(image_signature), |
| 63 | image_type, &c_node) | 65 | image_type, &c_node) |
| 64 | self.handle_error(err) | 66 | |
| 65 | return plist.plist_t_to_node(c_node) | 67 | try: |
| 68 | self.handle_error(err) | ||
| 69 | |||
| 70 | return plist.plist_t_to_node(c_node) | ||
| 71 | except Exception, e: | ||
| 72 | if c_node != NULL: | ||
| 73 | plist.plist_free(c_node) | ||
| 66 | 74 | ||
| 67 | cpdef hangup(self): | 75 | cpdef hangup(self): |
| 68 | cdef mobile_image_mounter_error_t err | 76 | cdef mobile_image_mounter_error_t err |
