diff options
| author | 2011-04-28 21:01:27 +0200 | |
|---|---|---|
| committer | 2011-04-28 21:01:27 +0200 | |
| commit | fa40b4ad59bce6b9d8c3a0763b09530e8cf2a006 (patch) | |
| tree | b3c3409dac86c2d0ee90e1b620763bb37ac3b527 | |
| parent | d81887cf6a0d067d8b345d8077027ccd634c1c17 (diff) | |
| download | libimobiledevice-fa40b4ad59bce6b9d8c3a0763b09530e8cf2a006.tar.gz libimobiledevice-fa40b4ad59bce6b9d8c3a0763b09530e8cf2a006.tar.bz2 | |
device_link_service: Allow passing a reason message upon disconnecting
| -rw-r--r-- | src/device_link_service.c | 8 | ||||
| -rw-r--r-- | src/device_link_service.h | 2 | ||||
| -rw-r--r-- | src/mobilebackup.c | 2 | ||||
| -rw-r--r-- | src/mobilebackup2.c | 1 | ||||
| -rw-r--r-- | src/mobilesync.c | 2 | ||||
| -rw-r--r-- | src/screenshotr.c | 2 |
6 files changed, 11 insertions, 6 deletions
diff --git a/src/device_link_service.c b/src/device_link_service.c index 6083d80..5825f0c 100644 --- a/src/device_link_service.c +++ b/src/device_link_service.c | |||
| @@ -235,20 +235,24 @@ leave: | |||
| 235 | * Performs a disconnect with the connected device link service client. | 235 | * Performs a disconnect with the connected device link service client. |
| 236 | * | 236 | * |
| 237 | * @param client The device link service client to disconnect. | 237 | * @param client The device link service client to disconnect. |
| 238 | * @param message Optional message to send send to the device or NULL. | ||
| 238 | * | 239 | * |
| 239 | * @return DEVICE_LINK_SERVICE_E_SUCCESS on success, | 240 | * @return DEVICE_LINK_SERVICE_E_SUCCESS on success, |
| 240 | * DEVICE_LINK_SERVICE_E_INVALID_ARG if client is NULL, | 241 | * DEVICE_LINK_SERVICE_E_INVALID_ARG if client is NULL, |
| 241 | * or DEVICE_LINK_SERVICE_E_MUX_ERROR when there's an error when sending | 242 | * or DEVICE_LINK_SERVICE_E_MUX_ERROR when there's an error when sending |
| 242 | * the the disconnect message. | 243 | * the the disconnect message. |
| 243 | */ | 244 | */ |
| 244 | device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client) | 245 | device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client, const char *message) |
| 245 | { | 246 | { |
| 246 | if (!client) | 247 | if (!client) |
| 247 | return DEVICE_LINK_SERVICE_E_INVALID_ARG; | 248 | return DEVICE_LINK_SERVICE_E_INVALID_ARG; |
| 248 | 249 | ||
| 249 | plist_t array = plist_new_array(); | 250 | plist_t array = plist_new_array(); |
| 250 | plist_array_append_item(array, plist_new_string("DLMessageDisconnect")); | 251 | plist_array_append_item(array, plist_new_string("DLMessageDisconnect")); |
| 251 | plist_array_append_item(array, plist_new_string("All done, thanks for the memories")); | 252 | if (message) |
| 253 | plist_array_append_item(array, plist_new_string(message)); | ||
| 254 | else | ||
| 255 | plist_array_append_item(array, plist_new_string("___EmptyParameterString___")); | ||
| 252 | 256 | ||
| 253 | device_link_service_error_t err = DEVICE_LINK_SERVICE_E_SUCCESS; | 257 | device_link_service_error_t err = DEVICE_LINK_SERVICE_E_SUCCESS; |
| 254 | if (property_list_service_send_binary_plist(client->parent, array) != PROPERTY_LIST_SERVICE_E_SUCCESS) { | 258 | if (property_list_service_send_binary_plist(client->parent, array) != PROPERTY_LIST_SERVICE_E_SUCCESS) { |
diff --git a/src/device_link_service.h b/src/device_link_service.h index 9953f77..8589428 100644 --- a/src/device_link_service.h +++ b/src/device_link_service.h | |||
| @@ -48,7 +48,7 @@ device_link_service_error_t device_link_service_send_ping(device_link_service_cl | |||
| 48 | device_link_service_error_t device_link_service_receive_message(device_link_service_client_t client, plist_t *msg_plist, char **dlmessage); | 48 | device_link_service_error_t device_link_service_receive_message(device_link_service_client_t client, plist_t *msg_plist, char **dlmessage); |
| 49 | device_link_service_error_t device_link_service_send_process_message(device_link_service_client_t client, plist_t message); | 49 | device_link_service_error_t device_link_service_send_process_message(device_link_service_client_t client, plist_t message); |
| 50 | device_link_service_error_t device_link_service_receive_process_message(device_link_service_client_t client, plist_t *message); | 50 | device_link_service_error_t device_link_service_receive_process_message(device_link_service_client_t client, plist_t *message); |
| 51 | device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client); | 51 | device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client, const char *message); |
| 52 | device_link_service_error_t device_link_service_send(device_link_service_client_t client, plist_t plist); | 52 | device_link_service_error_t device_link_service_send(device_link_service_client_t client, plist_t plist); |
| 53 | device_link_service_error_t device_link_service_receive(device_link_service_client_t client, plist_t *plist); | 53 | device_link_service_error_t device_link_service_receive(device_link_service_client_t client, plist_t *plist); |
| 54 | 54 | ||
diff --git a/src/mobilebackup.c b/src/mobilebackup.c index fcff60d..78f9a5c 100644 --- a/src/mobilebackup.c +++ b/src/mobilebackup.c | |||
| @@ -115,7 +115,7 @@ mobilebackup_error_t mobilebackup_client_free(mobilebackup_client_t client) | |||
| 115 | return MOBILEBACKUP_E_INVALID_ARG; | 115 | return MOBILEBACKUP_E_INVALID_ARG; |
| 116 | mobilebackup_error_t err = MOBILEBACKUP_E_SUCCESS; | 116 | mobilebackup_error_t err = MOBILEBACKUP_E_SUCCESS; |
| 117 | if (client->parent) { | 117 | if (client->parent) { |
| 118 | device_link_service_disconnect(client->parent); | 118 | device_link_service_disconnect(client->parent, NULL); |
| 119 | err = mobilebackup_error(device_link_service_client_free(client->parent)); | 119 | err = mobilebackup_error(device_link_service_client_free(client->parent)); |
| 120 | } | 120 | } |
| 121 | free(client); | 121 | free(client); |
diff --git a/src/mobilebackup2.c b/src/mobilebackup2.c index c72823e..c16da9a 100644 --- a/src/mobilebackup2.c +++ b/src/mobilebackup2.c | |||
| @@ -116,6 +116,7 @@ mobilebackup2_error_t mobilebackup2_client_free(mobilebackup2_client_t client) | |||
| 116 | return MOBILEBACKUP2_E_INVALID_ARG; | 116 | return MOBILEBACKUP2_E_INVALID_ARG; |
| 117 | mobilebackup2_error_t err = MOBILEBACKUP2_E_SUCCESS; | 117 | mobilebackup2_error_t err = MOBILEBACKUP2_E_SUCCESS; |
| 118 | if (client->parent) { | 118 | if (client->parent) { |
| 119 | device_link_service_disconnect(client->parent, NULL); | ||
| 119 | err = mobilebackup2_error(device_link_service_client_free(client->parent)); | 120 | err = mobilebackup2_error(device_link_service_client_free(client->parent)); |
| 120 | } | 121 | } |
| 121 | free(client); | 122 | free(client); |
diff --git a/src/mobilesync.c b/src/mobilesync.c index ee9af5f..e600452 100644 --- a/src/mobilesync.c +++ b/src/mobilesync.c | |||
| @@ -122,7 +122,7 @@ mobilesync_error_t mobilesync_client_free(mobilesync_client_t client) | |||
| 122 | { | 122 | { |
| 123 | if (!client) | 123 | if (!client) |
| 124 | return MOBILESYNC_E_INVALID_ARG; | 124 | return MOBILESYNC_E_INVALID_ARG; |
| 125 | device_link_service_disconnect(client->parent); | 125 | device_link_service_disconnect(client->parent, "All done, thanks for the memories"); |
| 126 | mobilesync_error_t err = mobilesync_error(device_link_service_client_free(client->parent)); | 126 | mobilesync_error_t err = mobilesync_error(device_link_service_client_free(client->parent)); |
| 127 | free(client); | 127 | free(client); |
| 128 | return err; | 128 | return err; |
diff --git a/src/screenshotr.c b/src/screenshotr.c index 0c4c9b2..e9301a9 100644 --- a/src/screenshotr.c +++ b/src/screenshotr.c | |||
| @@ -114,7 +114,7 @@ screenshotr_error_t screenshotr_client_free(screenshotr_client_t client) | |||
| 114 | { | 114 | { |
| 115 | if (!client) | 115 | if (!client) |
| 116 | return SCREENSHOTR_E_INVALID_ARG; | 116 | return SCREENSHOTR_E_INVALID_ARG; |
| 117 | device_link_service_disconnect(client->parent); | 117 | device_link_service_disconnect(client->parent, NULL); |
| 118 | screenshotr_error_t err = screenshotr_error(device_link_service_client_free(client->parent)); | 118 | screenshotr_error_t err = screenshotr_error(device_link_service_client_free(client->parent)); |
| 119 | free(client); | 119 | free(client); |
| 120 | return err; | 120 | return err; |
