summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Kurt Kiefer2014-01-21 15:30:05 -0800
committerGravatar Martin Szulecki2014-03-12 19:23:48 +0100
commit2636941a177dcbbb0fc1d00fd3213632b55c9b7d (patch)
tree6e1371e08dc6f322b127689900e9fdb473d69d7d
parent6c905358d5f6f73120369891b5c28b26fd6feb29 (diff)
downloadlibimobiledevice-2636941a177dcbbb0fc1d00fd3213632b55c9b7d.tar.gz
libimobiledevice-2636941a177dcbbb0fc1d00fd3213632b55c9b7d.tar.bz2
Changes to make cython HouseArrestClient functional.
Allow HouseArrestClient to initialize the AfcClient without running afc's normal __cinit__ body, and expose send_command and send_request methods to python. Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
-rw-r--r--cython/afc.pxi5
-rw-r--r--cython/house_arrest.pxi4
2 files changed, 5 insertions, 4 deletions
diff --git a/cython/afc.pxi b/cython/afc.pxi
index abc1180..e34588f 100644
--- a/cython/afc.pxi
+++ b/cython/afc.pxi
@@ -171,8 +171,9 @@ cdef class AfcClient(BaseService):
__service_name__ = "com.apple.afc"
cdef afc_client_t _c_client
- def __cinit__(self, iDevice device not None, LockdownServiceDescriptor descriptor, *args, **kwargs):
- self.handle_error(afc_client_new(device._c_dev, descriptor._c_service_descriptor, &(self._c_client)))
+ def __cinit__(self, iDevice device = None, LockdownServiceDescriptor descriptor = None, *args, **kwargs):
+ if (device is not None and descriptor is not None):
+ self.handle_error(afc_client_new(device._c_dev, descriptor._c_service_descriptor, &(self._c_client)))
def __dealloc__(self):
cdef afc_error_t err
diff --git a/cython/house_arrest.pxi b/cython/house_arrest.pxi
index 2a81213..54eebc1 100644
--- a/cython/house_arrest.pxi
+++ b/cython/house_arrest.pxi
@@ -48,10 +48,10 @@ cdef class HouseArrestClient(PropertyListService):
cdef inline BaseError _error(self, int16_t ret):
return HouseArrestError(ret)
- cdef send_request(self, plist.Node message):
+ cpdef send_request(self, plist.Node message):
self.handle_error(house_arrest_send_request(self._c_client, message._c_node))
- cdef send_command(self, bytes command, bytes appid):
+ cpdef send_command(self, bytes command, bytes appid):
self.handle_error(house_arrest_send_command(self._c_client, command, appid))
cpdef plist.Node get_result(self):