summaryrefslogtreecommitdiffstats
path: root/src/device_link_service.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/device_link_service.c')
-rw-r--r--src/device_link_service.c8
1 files changed, 6 insertions, 2 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 */
244device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client) 245device_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) {