diff options
Diffstat (limited to 'dev')
| -rw-r--r-- | dev/Makefile.am | 9 | ||||
| -rw-r--r-- | dev/msyncclient.c | 180 | 
2 files changed, 2 insertions, 187 deletions
| diff --git a/dev/Makefile.am b/dev/Makefile.am index f7ac84a..72c00a3 100644 --- a/dev/Makefile.am +++ b/dev/Makefile.am @@ -4,7 +4,7 @@ AM_CFLAGS = $(GLOBAL_CFLAGS) $(libglib2_CFLAGS) $(libgnutls_CFLAGS) $(libtasn1_C  AM_LDFLAGS = $(libglib2_LIBS) $(libgnutls_LIBS) $(libtasn1_LIBS) $(libgthread2_LIBS)  if ENABLE_DEVTOOLS -noinst_PROGRAMS = ideviceclient lckd-client afccheck msyncclient filerelaytest housearresttest +noinst_PROGRAMS = ideviceclient lckd-client afccheck filerelaytest housearresttest  ideviceclient_SOURCES = ideviceclient.c  ideviceclient_CFLAGS = $(AM_CFLAGS) @@ -21,11 +21,6 @@ afccheck_CFLAGS = $(AM_CFLAGS)  afccheck_LDFLAGS = $(AM_LDFLAGS)  afccheck_LDADD = ../src/libimobiledevice.la -msyncclient_SOURCES = msyncclient.c -msyncclient_CFLAGS = $(AM_CFLAGS) -msyncclient_LDFLAGS = $(AM_LDFLAGS) -msyncclient_LDADD = ../src/libimobiledevice.la -  filerelaytest_SOURCES = filerelaytest.c  filerelaytest_CFLAGS = $(AM_CFLAGS)  filerelaytest_LDFLAGS = $(AM_LDFLAGS) @@ -38,4 +33,4 @@ housearresttest_LDADD = ../src/libimobiledevice.la  endif # ENABLE_DEVTOOLS -EXTRA_DIST = ideviceclient.c lckdclient.c afccheck.c msyncclient.c filerelaytest.c housearresttest.c +EXTRA_DIST = ideviceclient.c lckdclient.c afccheck.c filerelaytest.c housearresttest.c diff --git a/dev/msyncclient.c b/dev/msyncclient.c deleted file mode 100644 index b9e39e6..0000000 --- a/dev/msyncclient.c +++ /dev/null @@ -1,180 +0,0 @@ -/* - * msyncclient.c - * Rudimentary interface to the MobileSync service. - * - * 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 <stdio.h> -#include <string.h> -#include <errno.h> - -#include <libimobiledevice/libimobiledevice.h> -#include <libimobiledevice/lockdown.h> -#include <libimobiledevice/mobilesync.h> - -static char check_string(plist_t node, char* string) -{ -	char ret = 1; -	char* msg = NULL; -	plist_type type = plist_get_node_type(node); -	if (PLIST_STRING == type) { -		plist_get_string_val(node, &msg); -	} -	if (PLIST_STRING != type || strcmp(msg, string)) { -		printf("%s: ERROR: MobileSync client did not find %s !\n", __func__, string); -		ret = 0; -	} -	free(msg); -	msg = NULL; -	return ret; -} - -static mobilesync_error_t mobilesync_get_all_contacts(mobilesync_client_t client) -{ -	if (!client) -		return MOBILESYNC_E_INVALID_ARG; - -	mobilesync_error_t ret = MOBILESYNC_E_UNKNOWN_ERROR; -	plist_t array = NULL; - -	array = plist_new_array(); -	plist_array_append_item(array, plist_new_string("SDMessageSyncDataClassWithDevice")); -	plist_array_append_item(array, plist_new_string("com.apple.Contacts")); -	plist_array_append_item(array, plist_new_string("---")); -	plist_array_append_item(array, plist_new_string("2009-01-09 18:03:58 +0100")); -	plist_array_append_item(array, plist_new_uint(106)); -	plist_array_append_item(array, plist_new_string("___EmptyParameterString___")); - -	ret = mobilesync_send(client, array); -	plist_free(array); -	array = NULL; - -	ret = mobilesync_receive(client, &array); - -	plist_free(array); -	array = NULL; - -	array = plist_new_array(); -	plist_array_append_item(array, plist_new_string("SDMessageGetAllRecordsFromDevice")); -	plist_array_append_item(array, plist_new_string("com.apple.Contacts")); - -	ret = mobilesync_send(client, array); -	plist_free(array); -	array = NULL; - -	ret = mobilesync_receive(client, &array); - -	plist_t contact_node; -	plist_t switch_node; - -	contact_node = plist_array_get_item(array, 0); -	switch_node = plist_array_get_item(array, 0); - -	while (NULL == switch_node -	    && check_string(contact_node, "com.apple.Contacts") -	    && check_string(switch_node, "SDMessageDeviceReadyToReceiveChanges")) { - -		plist_free(array); -		array = NULL; - -		array = plist_new_array(); -		plist_array_append_item(array, plist_new_string("SDMessageAcknowledgeChangesFromDevice")); -		plist_array_append_item(array, plist_new_string("com.apple.Contacts")); - -		ret = mobilesync_send(client, array); -		plist_free(array); -		array = NULL; - -		ret = mobilesync_receive(client, &array); - -		contact_node = plist_array_get_item(array, 0); -		switch_node = plist_array_get_item(array, 0); -	} - -	array = plist_new_array(); -	plist_array_append_item(array, plist_new_string("DLMessagePing")); -	plist_array_append_item(array, plist_new_string("Preparing to get changes for device")); - -	ret = mobilesync_send(client, array); -	plist_free(array); -	array = NULL; - -	array = plist_new_array(); -	plist_array_append_item(array, plist_new_string("SDMessageProcessChanges")); -	plist_array_append_item(array, plist_new_string("com.apple.Contacts")); -	plist_array_append_item(array, plist_new_dict()); -	plist_array_append_item(array, plist_new_bool(0)); - -	plist_t dict = plist_new_dict(); -	plist_array_append_item(array, dict); -	plist_t array2 = plist_new_array(); -	plist_dict_insert_item(dict, "SyncDeviceLinkEntityNamesKey", array2); -	plist_array_append_item(array2, plist_new_string("com.apple.contacts.Contact")); -	plist_array_append_item(array2, plist_new_string("com.apple.contacts.Group")); -	plist_dict_insert_item(dict, "SyncDeviceLinkAllRecordsOfPulledEntityTypeSentKey", plist_new_bool(0)); - -	ret = mobilesync_send(client, array); -	plist_free(array); -	array = NULL; - -	ret = mobilesync_receive(client, &array); -	plist_free(array); -	array = NULL; - -	return ret; -} - -int main(int argc, char *argv[]) -{ -	uint16_t port = 0; -	lockdownd_client_t client = NULL; -	idevice_t phone = NULL; - -	if (argc > 1 && !strcasecmp(argv[1], "--debug")) -		idevice_set_debug_level(1); - -	if (IDEVICE_E_SUCCESS != idevice_new(&phone, NULL)) { -		printf("No device found, is it plugged in?\n"); -		return -1; -	} - -	if (LOCKDOWN_E_SUCCESS != lockdownd_client_new_with_handshake(phone, &client, "msyncclient")) { -		idevice_free(phone); -		return -1; -	} - -	lockdownd_start_service(client, "com.apple.mobilesync", &port); - -	if (port) { -		mobilesync_client_t msync = NULL; -		mobilesync_client_new(phone, port, &msync); -		if (msync) { -			mobilesync_get_all_contacts(msync); -			mobilesync_client_free(msync); -		} -	} else { -		printf("Start service failure.\n"); -	} - -	printf("All done.\n"); - -	lockdownd_client_free(client); -	idevice_free(phone); - -	return 0; -} | 
