From 9a6fa170d226d1557e89f5e5252d1e0c61158ff5 Mon Sep 17 00:00:00 2001 From: Martin Szulecki Date: Sun, 24 Jan 2010 02:46:38 +0100 Subject: Add function to handle the ProcessMessage in the DeviceLink service --- src/device_link_service.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/device_link_service.c') diff --git a/src/device_link_service.c b/src/device_link_service.c index e1155a5..c791b03 100644 --- a/src/device_link_service.c +++ b/src/device_link_service.c @@ -252,6 +252,26 @@ device_link_service_error_t device_link_service_disconnect(device_link_service_c return err; } +device_link_service_error_t device_link_service_process_message(device_link_service_client_t client, plist_t message) +{ + if (!client || !message) + return DEVICE_LINK_SERVICE_E_INVALID_ARG; + + if (plist_get_node_type(message) != PLIST_DICT) + return DEVICE_LINK_SERVICE_E_INVALID_ARG; + + plist_t array = plist_new_array(); + plist_array_append_item(array, plist_new_string("DLMessageProcessMessage")); + plist_array_append_item(array, message); + + device_link_service_error_t err = DEVICE_LINK_SERVICE_E_SUCCESS; + if (property_list_service_send_binary_plist(client->parent, array) != PROPERTY_LIST_SERVICE_E_SUCCESS) { + err = DEVICE_LINK_SERVICE_E_MUX_ERROR; + } + plist_free(array); + return err; +} + /** * Generic device link service send function. * -- cgit v1.1-32-gdbae