summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/device_link_service.c28
-rw-r--r--src/device_link_service.h1
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 */
267device_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;
44device_link_service_error_t device_link_service_client_new(idevice_t device, uint16_t port, device_link_service_client_t *client); 44device_link_service_error_t device_link_service_client_new(idevice_t device, uint16_t port, device_link_service_client_t *client);
45device_link_service_error_t device_link_service_client_free(device_link_service_client_t client); 45device_link_service_error_t device_link_service_client_free(device_link_service_client_t client);
46device_link_service_error_t device_link_service_version_exchange(device_link_service_client_t client, uint64_t version_major, uint64_t version_minor); 46device_link_service_error_t device_link_service_version_exchange(device_link_service_client_t client, uint64_t version_major, uint64_t version_minor);
47device_link_service_error_t device_link_service_send_ping(device_link_service_client_t client, const char *message);
47device_link_service_error_t device_link_service_send_process_message(device_link_service_client_t client, plist_t message); 48device_link_service_error_t device_link_service_send_process_message(device_link_service_client_t client, plist_t message);
48device_link_service_error_t device_link_service_receive_process_message(device_link_service_client_t client, plist_t *message); 49device_link_service_error_t device_link_service_receive_process_message(device_link_service_client_t client, plist_t *message);
49device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client); 50device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client);