diff options
| author | 2010-01-24 02:46:38 +0100 | |
|---|---|---|
| committer | 2010-01-24 02:46:38 +0100 | |
| commit | 9a6fa170d226d1557e89f5e5252d1e0c61158ff5 (patch) | |
| tree | 70243c3e2b8d758111b14f8aa20994f30d56c02c /src | |
| parent | 4ded564cbc58bd513ece9ff9f8c5a6948759bfb7 (diff) | |
| download | libimobiledevice-9a6fa170d226d1557e89f5e5252d1e0c61158ff5.tar.gz libimobiledevice-9a6fa170d226d1557e89f5e5252d1e0c61158ff5.tar.bz2 | |
Add function to handle the ProcessMessage in the DeviceLink service
Diffstat (limited to 'src')
| -rw-r--r-- | src/device_link_service.c | 20 | ||||
| -rw-r--r-- | src/device_link_service.h | 1 |
2 files changed, 21 insertions, 0 deletions
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 | |||
| 252 | return err; | 252 | return err; |
| 253 | } | 253 | } |
| 254 | 254 | ||
| 255 | device_link_service_error_t device_link_service_process_message(device_link_service_client_t client, plist_t message) | ||
| 256 | { | ||
| 257 | if (!client || !message) | ||
| 258 | return DEVICE_LINK_SERVICE_E_INVALID_ARG; | ||
| 259 | |||
| 260 | if (plist_get_node_type(message) != PLIST_DICT) | ||
| 261 | return DEVICE_LINK_SERVICE_E_INVALID_ARG; | ||
| 262 | |||
| 263 | plist_t array = plist_new_array(); | ||
| 264 | plist_array_append_item(array, plist_new_string("DLMessageProcessMessage")); | ||
| 265 | plist_array_append_item(array, message); | ||
| 266 | |||
| 267 | device_link_service_error_t err = DEVICE_LINK_SERVICE_E_SUCCESS; | ||
| 268 | if (property_list_service_send_binary_plist(client->parent, array) != PROPERTY_LIST_SERVICE_E_SUCCESS) { | ||
| 269 | err = DEVICE_LINK_SERVICE_E_MUX_ERROR; | ||
| 270 | } | ||
| 271 | plist_free(array); | ||
| 272 | return err; | ||
| 273 | } | ||
| 274 | |||
| 255 | /** | 275 | /** |
| 256 | * Generic device link service send function. | 276 | * Generic device link service send function. |
| 257 | * | 277 | * |
diff --git a/src/device_link_service.h b/src/device_link_service.h index e14d897..8345d57 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(iphone_device_t device, uint16_t port, device_link_service_client_t *client); | 44 | device_link_service_error_t device_link_service_client_new(iphone_device_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_process_message(device_link_service_client_t client, plist_t message); | ||
| 47 | device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client); | 48 | device_link_service_error_t device_link_service_disconnect(device_link_service_client_t client); |
| 48 | device_link_service_error_t device_link_service_send(device_link_service_client_t client, plist_t plist); | 49 | device_link_service_error_t device_link_service_send(device_link_service_client_t client, plist_t plist); |
| 49 | device_link_service_error_t device_link_service_receive(device_link_service_client_t client, plist_t *plist); | 50 | device_link_service_error_t device_link_service_receive(device_link_service_client_t client, plist_t *plist); |
