diff options
author | Matt Colyer | 2010-01-27 22:07:09 -0800 |
---|---|---|
committer | Matt Colyer | 2010-01-27 22:07:09 -0800 |
commit | 45b88ae3956de089fdc35605910f1359a1d3961c (patch) | |
tree | 34cbe9da755305b29420c9c22c2b032080cd0991 /src/device_link_service.c | |
parent | 9ef3ed4afdbc7325c999ff79b033f259af898986 (diff) | |
parent | 45c5708ecfea326c203d4728e52ecb0ae206a528 (diff) | |
download | libimobiledevice-45b88ae3956de089fdc35605910f1359a1d3961c.tar.gz libimobiledevice-45b88ae3956de089fdc35605910f1359a1d3961c.tar.bz2 |
Merge commit 'martin-s/martin'
Diffstat (limited to 'src/device_link_service.c')
-rw-r--r-- | src/device_link_service.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/device_link_service.c b/src/device_link_service.c index b7d9ee8..9998fd0 100644 --- a/src/device_link_service.c +++ b/src/device_link_service.c @@ -253,6 +253,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. * |