diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/device_link_service.c | 28 | ||||
| -rw-r--r-- | src/device_link_service.h | 1 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/device_link_service.c b/src/device_link_service.c index 7baef02..430b1db 100644 --- a/src/device_link_service.c +++ b/src/device_link_service.c | |||
| @@ -254,6 +254,34 @@ device_link_service_error_t device_link_service_disconnect(device_link_service_c | |||
| 254 | } | 254 | } |
| 255 | 255 | ||
| 256 | /** | 256 | /** |
| 257 | * Sends a DLMessagePing plist. | ||
| 258 | * | ||
| 259 | * @param client The device link service client to use. | ||
| 260 | * @param message String to send as ping message. | ||
| 261 | * | ||
| 262 | * @return DEVICE_LINK_SERVICE_E_SUCCESS on success, | ||
| 263 | * DEVICE_LINK_SERVICE_E_INVALID_ARG if client or message is invalid, | ||
| 264 | * or DEVICE_LINK_SERVICE_E_MUX_ERROR if the DLMessagePing plist could | ||
| 265 | * not be sent. | ||
| 266 | */ | ||
| 267 | device_link_service_error_t device_link_service_send_ping(device_link_service_client_t client, const char *message) | ||
| 268 | { | ||
| 269 | if (!client || !client->parent || !message) | ||
| 270 | return DEVICE_LINK_SERVICE_E_INVALID_ARG; | ||
| 271 | |||
| 272 | plist_t array = plist_new_array(); | ||
| 273 | plist_array_append_item(array, plist_new_string("DLMessagePing")); | ||
| 274 | plist_array_append_item(array, plist_new_string(message)); | ||
| 275 | |||
| 276 | device_link_service_error_t err = DEVICE_LINK_SERVICE_E_SUCCESS; | ||
| 277 | if (property_list_service_send_binary_plist(client->parent, array) != PROPERTY_LIST_SERVICE_E_SUCCESS) { | ||
| 278 | err = DEVICE_LINK_SERVICE_E_MUX_ERROR; | ||
| 279 | } | ||
| 280 | plist_free(array); | ||
| 281 | return err; | ||
| 282 | } | ||
| 283 | |||
| 284 | /** | ||
| 257 | * Sends a DLMessageProcessMessage plist. | 285 | * Sends a DLMessageProcessMessage plist. |
| 258 | * | 286 | * |
| 259 | * @param client The device link service client to use. | 287 | * @param client The device link service client to use. |
diff --git a/src/device_link_service.h b/src/device_link_service.h index b90ddcc..4e652c4 100644 --- a/src/device_link_service.h +++ b/src/device_link_service.h | |||
| @@ -44,6 +44,7 @@ typedef int16_t device_link_service_error_t; | |||
| 44 | device_link_service_error_t device_link_service_client_new(idevice_t device, uint16_t port, device_link_service_client_t *client); | 44 | device_link_service_error_t device_link_service_client_new(idevice_t device, uint16_t port, device_link_service_client_t *client); |
| 45 | device_link_service_error_t device_link_service_client_free(device_link_service_client_t client); | 45 | device_link_service_error_t device_link_service_client_free(device_link_service_client_t client); |
| 46 | device_link_service_error_t device_link_service_version_exchange(device_link_service_client_t client, uint64_t version_major, uint64_t version_minor); | 46 | device_link_service_error_t device_link_service_version_exchange(device_link_service_client_t client, uint64_t version_major, uint64_t version_minor); |
| 47 | device_link_service_error_t device_link_service_send_ping(device_link_service_client_t client, const char *message); | ||
| 47 | device_link_service_error_t device_link_service_send_process_message(device_link_service_client_t client, plist_t message); | 48 | device_link_service_error_t device_link_service_send_process_message(device_link_service_client_t client, plist_t message); |
| 48 | device_link_service_error_t device_link_service_receive_process_message(device_link_service_client_t client, plist_t *message); | 49 | device_link_service_error_t device_link_service_receive_process_message(device_link_service_client_t client, plist_t *message); |
| 49 | device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client); | 50 | device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client); |
