/** * Sends a DLMessageStatusResponse to the device. * * @param client The MobileBackup client to use. * @param status_code The status code to send. * @param status1 A status message to send. Can be NULL if not required. * @param status2 An additional status plist to attach to the response. * Can be NULL if not required. * * @return MOBILEBACKUP2_E_SUCCESS on success, MOBILEBACKUP2_E_INVALID_ARG * if client is invalid, or another MOBILEBACKUP2_E_* otherwise. */ mobilebackup2_error_t mobilebackup2_send_status_response(mobilebackup2_client_t client, int status_code, const char *status1, plist_t status2) { if (!client || !client->parent) return MOBILEBACKUP2_E_INVALID_ARG; plist_t array = plist_new_array(); plist_array_append_item(array, plist_new_string("DLMessageStatusResponse")); plist_array_append_item(array, plist_new_uint(status_code)); if (status1) { plist_array_append_item(array, plist_new_string(status1)); } else { plist_array_append_item(array, plist_new_string("___EmptyParameterString___")); } if (status2) { plist_array_append_item(array, plist_copy(status2)); } else { plist_array_append_item(array, plist_new_string("___EmptyParameterString___")); } mobilebackup2_error_t err = mobilebackup2_error(device_link_service_send(client->parent, array)); plist_free(array); return err; }
/** * Sends mobilebackup data to the device * * @note This function is low-level and should only be used if you need to send * a new type of message. * * @param client The mobilebackup client * @param plist The location of the plist to send * * @return an error code */ mobilebackup_error_t mobilebackup_send(mobilebackup_client_t client, plist_t plist) { if (!client || !plist) return MOBILEBACKUP_E_INVALID_ARG; return mobilebackup_error(device_link_service_send(client->parent, plist)); }
/** * Sends mobilesync data to the device * * @note This function is low-level and should only be used if you need to send * a new type of message. * * @param client The mobilesync client * @param plist The location of the plist to send * * @return an error code */ mobilesync_error_t mobilesync_send(mobilesync_client_t client, plist_t plist) { if (!client || !plist) return MOBILESYNC_E_INVALID_ARG; return mobilesync_error(device_link_service_send(client->parent, plist)); }