diff options
author | Martin Szulecki | 2013-08-05 20:07:04 +0200 |
---|---|---|
committer | Martin Szulecki | 2013-08-05 20:07:04 +0200 |
commit | 3604756139b1a2dde383122745d37fe9d1c95f88 (patch) | |
tree | 84f7a312bfc539abc8c7e78d99fcd9c8608f6a9c /src/sbservices.c | |
parent | d0635a7dc686e21d3eea6bf1c030657d6d575562 (diff) | |
download | libimobiledevice-3604756139b1a2dde383122745d37fe9d1c95f88.tar.gz libimobiledevice-3604756139b1a2dde383122745d37fe9d1c95f88.tar.bz2 |
Implement *_start_service() helper to simplify creation of service clients
Diffstat (limited to 'src/sbservices.c')
-rw-r--r-- | src/sbservices.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/sbservices.c b/src/sbservices.c index dde8b9d..9b66c7f 100644 --- a/src/sbservices.c +++ b/src/sbservices.c @@ -104,6 +104,26 @@ sbservices_error_t sbservices_client_new(idevice_t device, lockdownd_service_des } /** + * Starts a new sbservices service on the specified device and connects to it. + * + * @param device The device to connect to. + * @param client Pointer that will point to a newly allocated + * sbservices_client_t upon successful return. Must be freed using + * sbservices_client_free() after use. + * @param label The label to use for communication. Usually the program name. + * Pass NULL to disable sending the label in requests to lockdownd. + * + * @return SBSERVICES_E_SUCCESS on success, or an SBSERVICES_E_* error + * code otherwise. + */ +sbservices_error_t sbservices_client_start_service(idevice_t device, sbservices_client_t * client, const char* label) +{ + sbservices_error_t err = SBSERVICES_E_UNKNOWN_ERROR; + service_client_factory_start_service(device, SBSERVICES_SERVICE_NAME, (void**)client, label, SERVICE_CONSTRUCTOR(sbservices_client_new), &err); + return err; +} + +/** * Disconnects an sbservices client from the device and frees up the * sbservices client data. * |