summaryrefslogtreecommitdiffstats
path: root/src/MobileSync.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/MobileSync.c')
-rw-r--r--src/MobileSync.c148
1 files changed, 0 insertions, 148 deletions
diff --git a/src/MobileSync.c b/src/MobileSync.c
deleted file mode 100644
index 827ed35..0000000
--- a/src/MobileSync.c
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * MobileSync.c
- * Contains functions for the built-in MobileSync client.
- *
- * Copyright (c) 2009 Jonathan Beck All Rights Reserved.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <plist/plist.h>
-#include <string.h>
-#include <stdlib.h>
-#include <arpa/inet.h>
-
-#include "MobileSync.h"
-#include "device_link_service.h"
-#include "debug.h"
-
-#define MSYNC_VERSION_INT1 100
-#define MSYNC_VERSION_INT2 100
-
-/**
- * Convert an device_link_service_error_t value to an mobilesync_error_t value.
- * Used internally to get correct error codes when using device_link_service stuff.
- *
- * @param err An device_link_service_error_t error code
- *
- * @return A matching mobilesync_error_t error code,
- * MOBILESYNC_E_UNKNOWN_ERROR otherwise.
- */
-static mobilesync_error_t mobilesync_error(device_link_service_error_t err)
-{
- switch (err) {
- case DEVICE_LINK_SERVICE_E_SUCCESS:
- return MOBILESYNC_E_SUCCESS;
- case DEVICE_LINK_SERVICE_E_INVALID_ARG:
- return MOBILESYNC_E_INVALID_ARG;
- case DEVICE_LINK_SERVICE_E_PLIST_ERROR:
- return MOBILESYNC_E_PLIST_ERROR;
- case DEVICE_LINK_SERVICE_E_MUX_ERROR:
- return MOBILESYNC_E_MUX_ERROR;
- case DEVICE_LINK_SERVICE_E_BAD_VERSION:
- return MOBILESYNC_E_BAD_VERSION;
- default:
- break;
- }
- return MOBILESYNC_E_UNKNOWN_ERROR;
-}
-
-mobilesync_error_t mobilesync_client_new(iphone_device_t device, uint16_t port,
- mobilesync_client_t * client)
-{
- if (!device || port == 0 || !client || *client)
- return MOBILESYNC_E_INVALID_ARG;
-
- device_link_service_client_t dlclient = NULL;
- mobilesync_error_t ret = mobilesync_error(device_link_service_client_new(device, port, &dlclient));
- if (ret != MOBILESYNC_E_SUCCESS) {
- return ret;
- }
-
- mobilesync_client_t client_loc = (mobilesync_client_t) malloc(sizeof(struct mobilesync_client_int));
- client_loc->parent = dlclient;
-
- /* perform handshake */
- ret = mobilesync_error(device_link_service_version_exchange(dlclient, MSYNC_VERSION_INT1, MSYNC_VERSION_INT2));
- if (ret != MOBILESYNC_E_SUCCESS) {
- debug_info("version exchange failed, error %d", ret);
- mobilesync_client_free(client_loc);
- return ret;
- }
-
- *client = client_loc;
-
- return ret;
-}
-
-mobilesync_error_t mobilesync_client_free(mobilesync_client_t client)
-{
- if (!client)
- return MOBILESYNC_E_INVALID_ARG;
- device_link_service_disconnect(client->parent);
- mobilesync_error_t err = mobilesync_error(device_link_service_client_free(client->parent));
- free(client);
- return err;
-}
-
-/** Polls the iPhone for MobileSync data.
- *
- * @param client The MobileSync client
- * @param plist A pointer to the location where the plist should be stored
- *
- * @return an error code
- */
-mobilesync_error_t mobilesync_recv(mobilesync_client_t client, plist_t * plist)
-{
- if (!client)
- return MOBILESYNC_E_INVALID_ARG;
- mobilesync_error_t ret = mobilesync_error(device_link_service_receive(client->parent, plist));
-#ifndef STRIP_DEBUG_CODE
- if (ret != MOBILESYNC_E_SUCCESS) {
- return ret;
- }
- char *XMLContent = NULL;
- uint32_t length = 0;
- plist_to_xml(*plist, &XMLContent, &length);
- debug_info("plist size: %i\nbuffer :\n%s", length, XMLContent);
- free(XMLContent);
-#endif
- return ret;
-}
-
-/** Sends MobileSync data to the iPhone
- *
- * @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;
-
-#ifndef STRIP_DEBUG_CODE
- char *XMLContent = NULL;
- uint32_t length = 0;
- plist_to_xml(plist, &XMLContent, &length);
- debug_info("plist size: %i\nbuffer :\n%s", length, XMLContent);
- free(XMLContent);
-#endif
- return mobilesync_error(device_link_service_send(client->parent, plist));
-}